Reviving a 16-year old Mac App

Today we released Whisk 2.0: a lightweight web page editor with a live preview that updates as you type. The name may be new, but the mac app’s origins are in shareware called HyperEdit that I started while in college over 16 years ago. It is hard to believe I’ve worked on an app old enough to get its driver’s license!

I can’t help but reminisce — touching such an old codebase transported me back in time. 2003 saw the release of Apple’ 3rd iPod, Mac OS X 10.2 Jaguar, and the initial launch of Safari. The movies and music of that year were forgettable, and thankfully no Matrix sequels came out.

Steve Jobs releasing Safari

Steve Jobs releasing Safari 1.0 during the WWDC 2003 keynote.

HyperEdit began its life as I sat in a session at Apple’s Worldwide Developer Conference (aka WWDC) that year. Gramps unveiled the ability to embed Safari’s WebKit engine into any application. Apple’s marketing was in overdrive touting its rendering speed, a major competitive advantage over the incumbent Internet Explorer.

I decided to put their claims to the test by firing up the Xcode 1.0 beta on a commandeered white iBook. I placed a text view next to the Safari WebView to see if it could keep up with my typing. Sure enough, it could! My friends sitting next to me came up with all kinds of other stress tests like trying out JavaScript or embedding images and video files. Not only did it handle these performantly, it became immediately clear this form of editing with a live preview was an awesome way to write web pages.

I loved being able to experiment with snippets of HTML, and thought others may find it useful too. From there, I worked to make it a more usable editor and released the first HyperEdit beta a few months later.

HyperEdit Screen Shot

An early screenshot of HyperEdit

Throwing software up on VersionTracker (the Product Hunt of its day) was enough to get users and gain press. One early user and journalist, Charles Arthur, wrote a story in The Independent about my endeavor. For a 21-year-old, my worldview was impacted knowing an app I crafted was worth reporting about. He wrapped up the piece with:

[Jonathan] hopes the donations will fund the purchase of a “cheap laptop”, so that he can work on his next, bigger shareware idea. I look forward to it.

I did get that laptop (an iBook G4), but the next shareware idea would have to wait eight years until after my stint at Apple. Charles went on to become The Guardian’s Technology Editor for a while, and now continues to cover technology. I’ve learned he still uses HyperEdit.

With encouragement from that passionate group of beta testers, I was able to bring out version 1.0 a little less than a year later. A few updates followed. Yet HyperEdit was frequently put on the back burner while I focused on my corporate job and subsequently on developing Hype. Some of HyperEdit’s code lived there: the source editor is the same in both apps. I personally kept using HyperEdit and it continued to have a dedicated user base asking for updates. Whisk 2.0 was a labor of love, meant as a fulfillment to the promise of an update for these users.

Most of the development work for Whisk was in modernizing the source code. In 2020 there are plenty of new choices for Mac app development like Swift, SwiftUI, and Catalyst, but Whisk remains old-school Objective-C and Cocoa. Therefore a lot of the work was in replacing deprecated APIs or copying over modern app features from Hype into Whisk. The user interface got an overhaul and now both look like they were developed by the same company. Drawers are gone.

Whisk 2.0

Whisk 2.0

From a user perspective, it is striking how certain areas of Mac app distribution have changed since 2003:

  • Internet distribution was common, but magazine CD-ROMs were still a great way to get a curated selection of these shareware apps to try. As late as 2005 I was approached to include HyperEdit on a magazine’s cover CD.
  • Calling apps “shareware” fell out of favor in place of “freemium,” which went along with the rise of subscription software and server-backed apps. (For that matter, “apps” would not be common vernacular until the iPhone.)
  • Applications like HyperEdit would often have a “Read Me First.rtfd” file packaged with them; a hold over from classic mac days before users would find software on the internet and therefore documentation would need to be placed alongside the application.
  • The Disk Image (.dmg) files and the “drag to Applications folder” flow wasn’t common. These became more popular due to the Applications folder gaining significance due to features like Launchpad and becoming the best option to avoid macOS security restrictions placed on unsigned zip files.
  • There was no common method for apps to update themselves! The Sparkle framework did not hit the scene until 2006. In fact, only the last release of HyperEdit integrated Sparkle, which means it has never been used (until now). Some apps created their own mechanisms, but otherwise this is why sites like VersionTracker were essential.
  • The Mac App Store was introduced in January of 2011. The hope was it would become a definitive source for great apps, but external distribution is common with many important apps (either due to sandboxing or wanting to avoid Apple’s cut).

From a developer perspective, distributing software is significantly harder. In 2003, you could switch the config to Release, hit build, zip the app, and then put on a web server. In 2020, distributing requires learning the intricacies of certificates, code signing, provisioning profiles, hardening, notarization, .dmg creation, gatekeeper, and paying a $99 per year fee. From a mac technology perspective, I don’t think it is an exaggeration to say the amount required to learn to distribute software exceeds the amount I needed to know to write the first beta of HyperEdit! I wonder if it would have gotten off the ground if I started today.

It has been fun taking HyperEdit out of the attic to create Whisk. I’m using it this very moment to compose this post, and still love the live preview workflow inside a native mac app. Given the isolated COVID-19 world we find ourselves in, time traveling back to the simpler time of 2003 was an enjoyable distraction.

As the HyperEdit 1.x versions stood the test of time for 16 years, I am hopeful Whisk will also be built to last.

Get the Tumult Whisk fully-functional 14-day trial.