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!"
🙏 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.
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.
> 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.
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.
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…
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?
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).
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.
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!
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!"
🙏 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.
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.
> 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.
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.
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…
I bet you have!
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?
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).
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.
Perhaps join martins thread in X. Link in post.
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!
Great read. Thanks. Easy to see you’ve baked a few cakes :)
I thought I'd write up a few longer thoughts: https://terrycrowley.medium.com/system-ideas-that-sound-good-bb863495947e
Shared on X and replied :-)
Thanks for sharing these. Great insights as always.