[HN Gopher] Show HN: I took over Painteresque, a 14 year old Obj...
___________________________________________________________________
Show HN: I took over Painteresque, a 14 year old Objective-C app
and rebuilt it
Around 3 weeks ago, I came across a reddit post from someone who
was looking to see if anyone was interested in taking over a 12-14
year old objective c app which hadn't been on the app store for
many years. I responded and decided to do it. The app is called
Painteresque. It lets you turn photos to charcoal drawings,
paintings etc while doing all the processing locally on device:
https://apps.apple.com/ca/app/painteresque-photo-to-sketch/i...
The app is entirely free to use, has no ads, third party analytics,
trackers, subscriptions or other junk. It does offer 5 options for
tips (which are basically consumable in app purchases), portion of
which I will share with the original developer. However, based on
my past experiences with tips, they are rarely given by users.
Here's a screenshot of the OLD app:
https://i.imgur.com/fPhoqlp.jpeg The old app was built like 12-14
years ago in a combination of objective c and vanilla C. The
"filters" were built in C while the UI was in objective c. The
codebase was so old that it wasn't even using ARC (Automatic
Reference Counting). The app would also instantly crash because
back in those days, using the camera or adding photos to photo
library didn't require declaring permission things like
`NSCameraUsageDescription`, `NSLocationWhenInUseUsageDescription`.
Also had to remove obsolete frameworks to get it to run on devices
iOS 12 onwards. It was also not built for retina displays, nor
handling safe area layout guides. After fixing all these things, I
got the old app to work on phone. But the UI was very rough and
rudimentary. Back in those days, it would get approved by Apple.
But nowadays, Apple is very strict about these things. So, I
decided to rebuild the app from scratch in Swift with, what I
think, is a better UI design. I still used the old vanilla C code
for the filters with some small changes and extra filters of my
own. But the rest of the UI is all from scratch. I also
incorporated things like `NSOperationQueue` for background
processing of the image filtration as it can take a few seconds to
generate. I incorporated caching of the images, preview thumbnails
etc. to disk because the current phones have cameras which take
humongous photos that can use a lot of ram if kept in memory. The
only package dependency the app uses is SnapKit to make auto layout
simpler. The UI is made with code instead of storyboards. The App
Store screenshots are all made by me from scratch using Photopea, a
browser alternative to Photoshop. The app icon is still the old
icon, except I changed the background to be an off-white color
instead of the old blue color to make it look a bit more modern.
Overall, this process took about 3 weeks. Most of the important
work was done in about 1.5-2 weeks. The rest of the time was spent
adding things like tipping in app purchases, UI improvements,
tweaking the filters, adding feedback button etc. The App Store
review was fast. I submitted at 6:30 PM and it was approved at 4
AM. Also got an update approved last night to fix some slowness
issue when opening new images. The new app on iOS is only around
1.8 MB, most of it used by images for the buttons and app icon.
Ask me anything you'd like about this experience. Have any of you
taken over an old app and rebuilt it?
Author : busymom0
Score : 7 points
Date : 2025-03-01 18:30 UTC (4 hours ago)
(HTM) web link (apps.apple.com)
(TXT) w3m dump (apps.apple.com)
| Gys wrote:
| You did a good job! Will try it later.
|
| > The app is entirely free to use, has no ads, third party
| analytics, trackers, subscriptions or other junk. It does offer 5
| options for tips (which are basically consumable in app
| purchases), portion of which I will share with the original
| developer. However, based on my past experiences with tips, they
| are rarely given by users.
|
| I noticed the 'in app purchases' remark. Generally (not in this
| case) a little annoying, good that you explain. Because Apple
| does not seem to offer a more clear option to explain what these
| purchases may be, feature wise of price wise. Sorry for the rant
| :/
___________________________________________________________________
(page generated 2025-03-01 23:01 UTC)