
Reviving a 16-year-old Mac App - tumultco
https://blog.tumult.com/2020/05/04/reviving-a-16-year-old-mac-app/
======
saagarjha
> 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.

I had to manually create, sign, and notarize a Mac app the other day and it
was total madness. It took multiple tabs of Apple documentation ( _new_
documentation, I might add, created this year because everyone complained last
year about how the process was impenetrable) and back-and-forth with some
seasoned Mac devs before I had something that would launch successfully on a
fully updated, GateKeepered system.

~~~
kick
This may be a question you get a lot, and I apologize in advance if it is,
but: Why use Mac, if it makes so simple of things difficult?

~~~
_jal
App signing has always been inexplicably horrible; other than Cupertino
contempt for their developers, I really don't know what would explain it, it
certainly doesn't have to be that way.

But things have gotten worse for developers recently with Catalina. I should
note that I don't write mac-specific code - I mainly write things that target
Linux servers.

The Mac has long been the best unix workstation on the market. It is solid,
generally stable (although that's been slipping), and certainly has by far the
best window manager. It has nice consumer apps for when you need them and is a
solid, if not always up to date, unix. The hardware is generally great.

Then the sandboxing, weird parallel fire permission systems/quarantining, new
filesystem conventions/restrictions and so on made it incredibly difficult to
treat, well, like a unix workstation.

We'll probably keep using Macs at work out of inertia, and it is a lot easier
for me to use other resources there. And my personal Mac laptop is probably
good for quite a while yet - I tend to get 7+ years out of them. But this is
the end of the road for me and the Mac. I require that my tools do what I tell
them, not the other way around.

~~~
tincholio
> The Mac has long been the best unix workstation on the market. It is solid,
> generally stable (although that's been slipping), and certainly has by far
> the best window manager. It has nice consumer apps for when you need them
> and is a solid, if not always up to date, unix. The hardware is generally
> great.

I was on that same line of thinking until some time ago when my old macbook
pro died, and I ended up again on Linux, on a thinkpad. I'm currently running
Manjaro (plasma + i3), and tbh, the Mac's window manager is awful once you get
used to the power of i3. Dev experience (for anything but Mac/iOS apps) is
probably better on Linux, too...

If you haven't used Linux in a while (as was my case), I can highly recommend
it.

~~~
schwartzworld
Yeah, modern plug and play distros like Ubuntu are not the Linux of
yesteryear.

------
stevoski
I created a commercial Mac desktop app in 2008. I sold it off late last year
(2019).

It stopped being fun somewhere along the way. This was partly because I never
knew what new requirement Apple was going to add with each new annual release
of macOS. Would my app work? Would it not work? How many days, weeks, or more
of work would I need to do to keep my app working while not actually making it
better for my users?

------
lorenzfx
> 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.

This mirrors my feeling. It might be easier to learn to program say TypeScript
or Go today than it was to learn php or C in the late 90s, but actually
creating a complete program, distributing it, having it run or accessed by
users is much harder than when I learned to program back then.

~~~
kccqzy
Same story in cloud. It takes less effort to write the program than to
properly set up CI/CD, permissions, auth, auto-scaling, backup, monitoring,
and so many more.

~~~
searchableguy
I think that's doing it wrong because you don't need those features until you
do... At which point you should invest in them. Otherwise, I don't see the
benefit of having them. If all you end up with is one user.

~~~
kccqzy
> If all you end up with is one user.

This isn't what I'm talking about. With just one user, even for desktop
software the complexities of distributing the software are negligible.

------
spongeb00b
Maybe I was just the right age as a teenager back then and it does feel cliche
to say, but there really was something special and magical about Mac software
like this back in those days. I miss the pinstripes and aqua glossiness, but
also the fact that software in other platforms just seemed so boring in
comparison!

~~~
tumultco
Removing color from toolbar/sidebar icons and fixing all line weights reduces
the personality of software as well as increasing usability cognition. Even
with years of use, I still have trouble quickly discerning the difference
between many of Mail.app's toolbar buttons!

------
dhosek
I was thinking initially that it'd be an especially challenging thing bringing
code from OS 9 into the modern era, then I realized that MacOS (formerly OS X)
is almost twenty years old.

I've got some old PHP code that dates back to the 90s and is still running
although I had to make some changes when my web host EOL'd PHP5 (I'd note that
some of the files have a .php4 suffix).

------
bluedino
The old app really still looks quite nice. Even windows 98-era apps look
pretty good in a way.

One part of me doesn't like how much space is wasted by the new Mac UI trends
shown in the second screenshot, mostly the left side panel. But I understand
screens are different these days as well.

~~~
jcfields
I think Mac apps have settled into a pleasant place for the most part, though
I'm not a fan of the look of Apple's newer apps like the App Store and News.

I'm glad that the brighter colors are more subdued now, annoying UI elements
like drawers and palette windows have mostly been replaced by inspector panes,
and brushed metal is long gone.

~~~
Nextgrid
Yep these new apps (including the "Marzipan" or "Catalyst" or whatever it's
called) are pure garbage both in terms of design and usability.

------
ashishb
The 99$ annual fee is ridiculous. Big companies don't talk about it because it
is a regressive tax. It hurts hobbyist more than anyone else.

~~~
dan1234
I don’t think Apple want hobbyist apps in the store. They want apps that will
create revenue and the fee creates a filter of sorts.

It would be good to be able to side load hobby apps, but that’s never
happening.

The fee does also get you 2 tech support requests, which should connect you
with their engineers if you need help (never needed this, can’t say how
extensive it is).

Also, I did read somewhere that they waive the fee for some
nonprofit/education institutions.

~~~
ashishb
Google Play store has a 25$ one-time fee. Much more affordable IMHO than 99$
annual fee. If I am being charged a 99$ fee, I simply can't share my creation
without finding a way to make money off of my users. That isn't easy. Future
hobbyists will be created on non-Apple platforms.

~~~
PeterisP
That's the whole point - making it not too affordable so that users browsing
the App Store don't have to wade through too many nonserious hobbyist apps.
Lowering the bar too much hurts users.

I mean, all this is about _mass distribution to unsophisticated consumers_ ,
not hobbyists - without that $99 you can work on your hobby projects and you
can share them with other hobbyists; the only place where that $99 is a
barrier is the distribution channel to _non-hobbyist_ users.

In essence, the message from Apple to hobbyist developers is to 'go big or go
home' \- if you're seriously developing something useful, then $99 is
insignificant; and if the time effort you're putting in that app is not much,
much more than $99 then it's reasonable to draw a line that they don't want
such hobby projects on the app store. You can experiment with it and share it
in small communities and when (if!) you think this project has become serious
enough to go beyond hobbyists to the mass market, only then you need to pull
out that symbolic $99 to demonstrate that you mean it.

------
Razengan
> _In 2003, you could switch the config to Release, hit build, zip the app,
> and then put on a web server._

You can still do that.

~~~
userbinator
...and that's how a lot of stuff is released on GitHub, but you can't get into
Apple's walled garden that way.

~~~
Razengan
You can still distribute macOS apps on your own, just have to get users to
trust you.

Why do you want to publish on the Mac App Store? If you think there's an
advantage, then the costs are justified.

~~~
cwizou
Sadly, this does not work for everything, as users can't always override the
notarization requirement that was introduced in Catalina. I had the issue with
Aerial, it's a screensaver which, technically, is a plugin and not an
application. As such, the user will never get prompted for anything (and I'm
putting aside the compounding effect/slight madness that screensavers are now
a plugin to an appex to two different applications with different permissions
set ! Oh Catalina...).

The only solution was to sign/notarize it, and I have to admit it took me more
than a few days to figure it out, as finding exactly what works for
distributing a plugin was not documented. And this is just to distribute a
usable plugin on GitHub !

------
lemax
This feels similar to Glitch, FKA HyperDev, Fog Creek's developer playground.

------
rcarmo
I still use Tumult's Hype 3 (Pro, I think) to do HTML5 animations - it's
pretty great, even if moving to 4/Pro for the (very few) features I'd like to
have seems a bit steep at $99.

Whisk appeals to me because I _know_ it's going to be a polished, lightweight
app, but with VS Code having quite usable previews I don't see the value of
its current price point (to me).

~~~
tumultco
Note that we do have upgrade discounts available, and if you purchased v3
after Oct 14, 2017 it is a free upgrade to the corresponding v4 edition.

[https://tumult.com/hype/support/upgrade-
discounts/](https://tumult.com/hype/support/upgrade-discounts/)

------
elsurudo
Cool story. In a way I'm surprised one would try to adapt the old code after
so much time has passed, rather than just starting fresh. It can definitely be
interesting, just more... frustrating.

~~~
soapdog
I guess Objective-C/Cocoa might have not changed much between the last
HyperEdit version and now. If the developer organized his codebase well,
replacing the old webview with the new stuff and so on should be less work
than rewriting the whole app (IMHO).

I haven't coded for the mac in more than a decade but what I remember from
ObjC/Cocoa was that it was quite pleasant to use and very powerful. By
powerful I mean that the ratio between LoC and smiles on my face was skewed
towards smiling.

~~~
elsurudo
That's true. I maintain a couple of obj-C iOS apps (one of those ~10 years
old) and apart from framework upgrades (iOS 6-7 was a big one) and dealing
with a few deprecations, it's been surprisingly friction-free.

macOS is probably even more stable.

Swift, on the other hand... it's been a moving target for sure, and I'm glad I
didn't just rewrite everything (like I did for one app).

------
earthboundkid
Every modern web framework has auto reload, so this is an app that’s only
targeting people who know HTML well enough to hand write a page but don’t know
about modern web development. Good luck, but I can’t imagine it’s a growing
market.

~~~
njhaveri
I build my website with Jekyll 4 and use livereload, but have actually found
some use out of this tool for writing small snippets. Seeing your CSS come to
life with every keystroke in real time (without having to press CMD+S in your
IDE) is surprisingly useful.

The main use-case where this tool has been useful, though, is when I'm working
on my Mac app that uses WKWebView and Javascript pretty extensively. It's much
faster to get little JS snippets right compared to the really slow build+run
cycle in Xcode.

~~~
saagarjha
Jekyll is kind of slow :(

~~~
njhaveri
After I upgraded to Jekyll 4, stopped using the GitHub pages gem (deploying to
Netlify instead), it's been WAY faster for me personally!

