oautholaf
As the Wikipedia page states, a sizable pool of people went to work on Safari 1.0 (and some are still working on Safari). Others went to Apple to work on the Finder or Core Graphics.
Another big chunk of people went to Danger to work on the T-Mobile Sidekick.
But the company shut down. No one was left besides the CFO.
Today at my large tech company, QA is mostly contract employees validating test plans that the normal engineers author. Zero autonomy or ownership offered.
Never buying DJI again.
Other sources, such as Chet Haas's book, make it clear that what became the G1 was already on the roadmap. It was just prioritized.
- Clear client side state where you can. - Write signed out/expired tokens to something with a cheap heavy read/eventual consistency model - Fail to signed in if unavailable - Acknowledge that you are gaining latency/availability/ lower costs by trading some precision
I am aware of a very large website most folks use every day that did this for more than a decade and it worked fine.
For us -- and I think this is common -- the persistent WebSocket connection allowed a set of assumptions around the shared state of the client and server that would have to be re-negotiated when reconnecting. The fact that this renegotiation was non-trivial was a major driver in selecting WebSockets in the first place. With HTTP, regardless of HTTP2 or QUIC, your application protocol very much is set up to re-negotiate things on a per-request basis. And so the issues I list don't tend to affect HTTP-based applications.
In particular, I found this:
- Our well-known cloud hosting provider's networks would occasionally (a few times a year) disconnect all long-lived TCP sockets in an availability zone in unison. That is, an incident that had no SLA promise would cause a large swath of our customers to reconnect all at once.
- On a smaller scale, but more frequently: office networks of large customers would do the same thing.
- Some customers had network equipment that capped the length of time of that a TCP connection could remain open, interfering with the preferred operation
- And of course, unless you do not want to upgrade your server software, you must at some point restart your servers (and again, your cloud hosting provider likely has no SLA on the uptime of an individual machine)
- As is pointed out in the article, a TCP connection can cease to transmit data even though it has not closed. So attention must be paid to this.
If you use WebSockets, you must make reconnects be completely free in the common case and you must employ people who are willing to become deeply knowledgeable in how TCP works.
WebSockets can be a tremendously powerful tool to help in making a great product, but in general they are almost always will add more complexity and toil with lower reliability.
(edited typos)
Note also that this article mentions the Danger Hiptop and folks who worked on it. Some folks who worked on that worked on iPhone 1.0 and some even still work on iPhones!
Now, Google Maps has an Incognito mode, but now I know I must use it when buying surprise presents.
The problem is this interaction is impossible to anticipate, and makes me not want my preferences on communal devices at all.
But certainly the tradeoff for this type-info-vtable "witness table" and much more heavy boxing must impact the data cache miss rate. What's the tradeoff end up being in practical terms? Is it worth it?
Also, although it seems there's features that let you "freeze" a type, is there a practical way that a non-language expert could ever profile and discover that they may want to use such a feature to improve performance?
Especially given that Swift programs on iOS probably only dynamically link to the system libraries, this seems like a powerful language feature to enable something that could have been achieved by writing the Swift system libraries as typed facades around a typeless core, which you so often see in C++ STL implementations.
But no I have not data.
In general I am enthusiastic about federated signin, but I don't want to do business with Facebook.
But part of your experience could be because, as the article describes, since 2005 the incumbent telco (the ILEC) no longer has to provide the CLEC (sonic) wholesale rates on its lines. Sonic may have no choice.
The origin of modern MacOS/iOS is definitely open source.
As someone who was at Microsoft during this era and down in Silicon Valley in the 2000's, I'm very much glad that it did happen. Although I did make money while I was at Microsoft, it's difficult for me to imagine how the things I worked on after I left (such as an early consumer smartphone) would have been possible with Microsoft at full strength.
Slack forms safety engineering team to reduce outages
But yeah, it was way better than CDE and Motif in it's day, but still on the margins.