I never thought that I would build a new JS runtime. But I did help build one, and it's the most reliable JS runtime in existence. Read this blog post to learn more! 😊
New post: Building Reliable Distributed Systems in Node
This introduces the concept of durable execution, which is used by @Stripe, @Netflix, @Coinbase, @Snapchat, and many others to solve a wide range of problems in distributed systems.
https://t.co/e0m0d2m8E1
I gave a talk at @graphqlsummit on how to build a reliable and scalable AI group chat app. I went over:
- Architecture
- Federated GraphQL Subscriptions
- Durable execution
Any questions, or suggestions for improvement? 🙏
https://t.co/mtiozz0Tym
I'm impressed and delighted by @cursor_ai. It's definitely been saving me a significant amount of time. I gave the prompt:
add a joinGroup mutation and call it when the user clicks "Join Chat"
to o1-preview with codebase context, and it suggested almost perfect edits to 5 files across 3 projects in my monorepo—a @nextjs app, an @apollographql federation subgraph, and a @temporalio worker. The only issue was using Temporal's Signal + Query instead of Update, which is understandable given the lack of an Update example in the codebase and the unlikelihood of it being in o1's training data.
You’d be surprised what you can learn by reading more of the Internet than anyone thinks is reasonable.
You’d also be surprised how many people consider themselves cogs in a machine, with a bit of knowledge of what their gears touch and then no real interest beyond that.
@jakozaur@GergelyOrosz I could see improving Tesla’s current quarter financials making sense as a priority while they’re not compute constrained https://t.co/hr4USq5uZQ
To feel the speed difference between act-on-press and act-on-release, try this demo:
https://t.co/V4kotkIvfT
Code:
https://t.co/KWpIVd4vog
To get faster route changes in Next.js, upvote this feature request:
https://t.co/txRdIX94xh
To feel the speed difference between act-on-press and act-on-release, try this demo:
https://t.co/V4kotkIvfT
Code:
https://t.co/KWpIVd4vog
To get faster route changes in Next.js, upvote this feature request:
https://t.co/txRdIX94xh
To feel the speed difference between act-on-press and act-on-release, try this demo:
https://t.co/V4kotkIvfT
Code:
https://t.co/KWpIVd4vog
To get faster route changes in Next.js, upvote this feature request:
https://t.co/txRdIX94xh
Act on press
This is a UI design hill I will die on, and it dismays me how often and hard I have had to fight for it.
Almost all interaction methods have a “press” and “release” event associated with them. Whenever possible, you should “do the thing” when you get the press event instead of waiting for the release event, because it makes the interaction feel substantially more responsive, and it reduces user errors by not allowing the focus to slide out of the hot box between press and release.
Even a “ballistic tap”, where your finger is intentionally bouncing off the button or touch surface, involves several tens of milliseconds delay between the press and release, and most button presses have well over a hundred ms dwell time. There is a delight in interfaces that feel like they respond instantly to your wishes, and the benefit to every single user is often more important than additional niche features.
Game developers, with simple UI toolkits, tend to get this right more often, but “sophisticated” app designers will often fight hard against it because it is mostly incompatible with options like interactive touch scrolling views, long press menus, and drag and drop.
Being able to drag scroll a web page or view with interactive controls in it is here to stay, and nets out way better than having to use a separate scroll bar, but there are still tons of fixed position controls that should act on press, and it is good UI design to favor them when possible.
In the early days of mobile VR, the system keyboard was a dedicated little OpenGL app that responded instantly. With full internationalization it became prudent to turn it into a conventional Android app, but the default act-on-release button behavior made it feel noticeably crappier. The design team resisted a push to change it, and insisted on commissioning a user study, which is a corporate politics ploy to bury something. I was irritated at how they tried to use leading questions and tasks, but It still came back one of the clearest slam-dunks I have seen for user testing – objectively less typos, expressed preference, and interview comments about the act-on-press version feeling “crisper” and “more responsive”.
So, I won that one, but the remaining times I brought it up for other interfaces, I did not, and you still see act-on-release throughout the Meta VR system interfaces.