16 Comments
User's avatar
Varun Godbole's avatar

I loved this list! Is there a counter-example/outlier from this list from your career where you were like, "I can't believe that worked as well as it did!"

Expand full comment
Steven Sinofsky's avatar

🙏 thank you. Remoting. A lot of easy solutions to complexity were about doing screen-sharing-like solutions. At the time there were some lame commercial hacks and just X windows. The idea of doing screen sharing over any unreliable network was a joke. And every time someone tried to build a solution on that it was always "we need faster networking" or "a better protocol at a different layer". Then we got a faster network and much better and more stable graphics as well as web applications and suddenly even video with sound was working over remoting. Now it is so crazy good your iPhone works on a Mac and you can't even tell. Nathan Myhrvold (CTO) once wrote a memo "When you think about it the idea of X Windows [remoting] seems pretty dumb. Then you think about it some more and it is really even dumber than that." [early 1990s]. So that's one example.

Expand full comment
Varun Godbole's avatar

haha wow that's an amazing example, because we totally take remoting for granted now. I wonder if some of the most "useful" software features are those that work despite all the stuff on this post and the list that motivated this post? Because the natural tendency of engineers is to keep making things more complex. That is, I wonder if there's some sort of interesting bias there.

Expand full comment
Rare Fren's avatar

> I would contrast this with Mac OS evolution where abstractions that seemed odd appeared useful two releases later because there was a plan.

Interesting. I was born a bit too late to experience the heyday of OS evolution in the 1990s-2000s. Would love to read more about what kinds of abstractions Apple got right.

Expand full comment
Steven Sinofsky's avatar

An example I might use for this is how they evolved Keychain to password manager. Another might be how they evolved files or USB on iOS. The revealed a little bit over time without simply porting macOS even though they could have done much more initially given the origins of iOS.

Expand full comment
David Rasmussen's avatar

I’ve lost count the number of times I had to tell people sync is hard. Every time they were sure I was exaggerating. Every time they learned the hard way…

Expand full comment
Steven Sinofsky's avatar

I bet you have!

Expand full comment
Dan Lucraft's avatar

What does "Let's just sync the data" refer to, practically? Is this about automated syncing between databases? Or about ... things like syncing data between FE and BE?

Expand full comment
Steven Sinofsky's avatar

It might be a foreign concept if you assume everything is in AWS and there's always high speed connectivity. But a lot of solutions are built assuming irregular connectivity or disconnected use that require sync to the cloud. This is particularly the case with "files" (like dropbox).

Expand full comment
Ben Whaley's avatar

I would like to better understand the details behind Martin’s list. Does he provide any further info? Especially regarding system load and control loops.

Expand full comment
Steven Sinofsky's avatar

Perhaps join martins thread in X. Link in post.

Expand full comment
Ben Whaley's avatar

That would entail me rejoining X, which I will not do given the hateful and dangerous rhetoric from that company’s leadership. Will seek alternative ways to connect!

Expand full comment
Paul Berger's avatar

Great read. Thanks. Easy to see you’ve baked a few cakes :)

Expand full comment
Terry Crowley's avatar

I thought I'd write up a few longer thoughts: https://terrycrowley.medium.com/system-ideas-that-sound-good-bb863495947e

Expand full comment
Steven Sinofsky's avatar

Shared on X and replied :-)

Expand full comment
Chris Ebert's avatar

Thanks for sharing these. Great insights as always.

Expand full comment