38 ms·
Speed Is the Killer Feature
- dragontamer 6y ago> When you touched a Razr or a Palm phone, there was a delay. It felt sluggish and slow. I always felt like resistive screens were more responsive than capacitive screens. Case in point: My 3DS resistive screen and Palm Centro responded instantly. I think their downside was the necessary use of the stylus (because of the additional precision, their UIs required you to pull out the stylus before you could do anything effective). What the Apple iPod Touch / iPhone did, was allow you to touch without using a stylus. Anyway, I read this post as if its a mirror-image of my reality. The one thing I remember about Apple's capacitive push was that it felt slower than what I was used to. Honest. -------- With that being said: I've played fighting games vs opponents who can 1-frame link and counter-throws within 7-frames (115 milliseconds). I'm well aware of the human-brain's capability to process data far faster than most people realize. Musicians, Video Game players, Athletes... I expect most of them to have reaction speeds well above average: below the 200ms typical human. Even then, "average" humans have far better reaction speeds and ability to perceive things that happen in factions-of-a-second (at least, once you make them aware of those things). UI-speed is absolutely a great feature. I just disagree that Apple's iPod Touch or iPhone was a good representation of that.
- throwaway189262 6y agoAnecdotal, but speed and refresh rate are really important for gaming. I thought >60fps was a gimmick, but a friend's new screen convinced me otherwise. It's visually obvious up to around 120fps. Moving the mouse around, I can see increase in frame rate to about 200hz. I upgraded my monitor to 144hz, got a low delay mouse and headset (some headsets have over 400ms delay and audio response is faster than visual!). My ranking in games I've played for years has gone up about 1 standard deviation. I'm at my record high ranking in every game and it continues to rise. Likely biased study, but Nvidia found an eyebrow raising difference in player performance when using higher refresh rates. https://www.nvidia.com/en-us/geforce/news/geforce-gives-you-the-edge-in-battle-royale/ https://www.nvidia.com/en-us/geforce/news/geforce-gives-you-...
- aequitas 6y agoI still play games in =<60fps, I see it like training in a gravity room ;) Jokes aside, I'm happy I haven't had the same experience as you for gaming. Because then I would have to buy into high performance gaming. I can now happily play a game on something like Stadia or my old Macbook without having to feeling something is wrong or missing. Kinda like how watching movies on VHS was fine until HD came along. Now every artifact or resolution drop in a video is an annoyance.
- universa1 6y agoWell that mostly depends on the kind of games you play... most Esports titles probably benefit from a higher refresh rate/more fps... While most Singleplayer games, except the occasional shooter, probably don't... With mmo's somewhere in between... It also quickly becomes very technical, as not only the display latency is interesting, but also the input latency.
- throwaway189262 6y agoIt depends on the game. I play competitive shooters which I've gotten worse at as I age... PC upgrades have given me 50ms reaction time advantage. Nearly what I lost since my early 20s. Feels nice to be "good" at games again
- ThePadawan 6y agoSimilar anecdote: I recently investigated tablets to use for drawing. Everybody online said the non-plus-ultra was the iPad Pro, even compared to other name-brand devices from Samsung/Microsoft. So I tried them both, and wow. 120fps and a screen optimized for low delay really makes an enormous difference. With all other tablets, it was more a question of "well how more or less awkward does this feel to use", where that question didn't even come up with the iPad. I know this sounds like shilling, but I recommend just trying it out on a real device sometime, even or especially if you have no intent of buying one.
- throwaway189262 6y agoGaming stuff is also low delay. My screen tested at 4ms and gaming mouse at 6ms. Newer studies have shown recognition of events as fast as 13ms. https://news.mit.edu/2014/in-the-blink-of-an-eye-0116 https://news.mit.edu/2014/in-the-blink-of-an-eye-0116 More than 30ms of delay is noticable. My old screen + mouse had a delay of ~50 crudely tested. My old bluetooth headset was over 400ms! I totally believe you that delay is noticable. I haven't used iPhone, but Android has terrible UI lag virtually everywhere (pointless animations don't help, pro tip you can turn these off in developer options)
- baxtr 6y ago> Yet teams consistently overlook speed. Instead, they add more features (which ironically make things slower). Products bloat over time and performance goes downhill. This. Yet, I’d say it’s not the teams. In my experience it’s usually management that demands new features and doesn’t care about speed.
- onion2k 6y agoYet, I’d say it’s not the teams. In my experience it’s usually management that demands new features and doesn’t care about speed. This line of reasoning makes me sad. It highlights so many problems in a company that a developer is having to deal with; - Seeing 'management' and 'devs' as opposing teams shows a lack of communication and a lack of understanding from everyone involved. - A company where managers aren't willing to listen to developers is never going to put out a great product. Developers have expertise and know what they're doing. - A company where developers think they know best is never going to put out a great product either. Managers also have expertise and know what they're doing. - If the "managers" dictating that features are added are "higher ups" rather than product managers then the company is never going to put out a great product because the people who talk to the customers and look at usage metrics should be driving the product roadmap. Customer needs should be driving what gets added. - Developers who aren't putting up a fight to write good, fast code because they're not being listened to stop caring about what they're building, and that means there's very likely to be other problems like significant bugs, tech debt, etc. That just grinds you down and stresses you out. All in all, if your opinion is "the product I build sucks because managers make it suck" you probably need to find a new job. Not every company is like that. Find a good one.
- corty 6y agoI think it might be necessary to just frame speed as a problem everyone can relate to, Ferengi as well as developers. One possibility for speed as in latency would be to pre-agree on a latency budget (as in realtime-systems: if you exceed that deadline, your system has failed). Then have everyone be aware of how they spend that latency budget. Say the latency deadline is at 500ms for your website to full interactivity. Currently you are at 320ms. Marketing wants to include some analytics scripts. Include them in the test page, measure the added latency, then check against your deadline: added 200ms, we are now at 520ms. Do we reject marketing's wishes or do we make the design dept. cut back on their image load times, maybe they can get from 130ms to 90ms? How about investing in better caching to get 100ms? That way you can discuss numbers and can quantify how something impacts the overall experience. Budgets is something everyone can understand, and taking a big gulp out of a limited budget is something no-one wants to be seen doing.
- jonplackett 6y agoThis I think is a key reason Netflix is a default ‘channel’ in my mind, whereas Apple TV, amazon prime and Disney plus are all just apps. Netflix is faster in every way. There’s a button on my TV specifically to launch it, the videos start faster, fast forwarding is faster, there’s less buffering in general. Every single touch point is fast. And it’s because they put the effort in where the others didn’t.
- tumblewit 6y agoNetflix is so much superior to Prime. Prime has a hard time maintaining 1080p but Netflix has such varying bitrates from as low as 1mbps to as high as 20mbps while watching The crown. And the best part is how snappy the app itself is and instantly starts playing anything. Apple and Prime have a lot of work to do. Prime is possibly the worst streaming platform currently. Though their own fire stick is superior in every way compared to iOS apps or the web app.
- darkteflon 6y agoI’m in Japan, with an English-language Amazon account, yet Prime insists on displaying Japanese subtitles on absolutely every thing I watch. Doesn’t matter what the original language of the content is, doesn’t provide an option to turn it off. Huge, bright white subtitles - much bigger than what Netflix uses. Been this way for years. Sometimes I have fantasies about sending an email direct to Jeff Bezos just to say: dude, did you know about this? Suffice to say, I don’t watch much Prime.
- danielscrubs 6y agoSeems like all streaming providers have issues with global licensing. Why can’t I pick from all the languages that the provider has available? Why lock it per country Netflix?
- ALittleLight 6y agoMay be dumb to say, but have you checked to confirm you don't have subtitles enabled? If you bring up the player controls you notice a little "cc" in the lower right hand corner (at least in the English version as shown on my TV). If you click on the cc you can configure the closed captions, turning them off or on, changing language, or changing color.
- tempestn 6y agoI would argue that the key differentiator of the first iPhone was screen size. It was the first popular phone where essentially the entire face of the phone was dedicated to screen, made possible by a software keyboard. By today's standards it's tiny, but at the time nothing else came close. Trying to do anything on any other phone was impossibly cramped by comparison. Especially using the web, since there was no such thing as a mobile or responsive page then, so you needed a phone with the screen real-estate to use desktop websites. The iPhone was the first phone to make this less than utterly painful. All that said, I do agree with the general thesis. Evernote has just come up with a huge update of all their apps, having ported them all to Electron to standardize development. The only problem is, they're all brutally slow compared to the native apps that preceded them, and it truly ruins the experience.
- Tepix 6y agoThe iPhone was also the first mobile phone with a touchscreen that worked really well with just your fingers.
- trymas 6y agoAlso AFAIK, iPhone was first mainstream device with multi-touch. At the time I had limited experience, but personally I thought touch screens would never work, because they were slow, imprecise and unresponsive (often worked with special pen only) and then iPhone came with buttery smooth experience and multi-touch. Mind blown.
- baybal2 6y agoNo, HTC was the first one to explore a touch only interface. Even before the HTC Touch, their WinMo version allowed for touch only operation for 3-4 years.
- dagw 6y agoAnd before that there was the Ericsson R380. None of them could really be described as working "really well". If you wanted to you could perhaps argue that the PalmPilot was the first touch only portable device that worked "really well", but that wasn't a phone (and you'll have lots of angry Newton fans telling you that are wrong). Or you could try to make an argument for the Treo, but it wasn't really "touch only". As someone who has used every device mentioned above (and owned at least half of them), I personally feel comfortable calling the iPhone the first phone with a touch only interface that worked "really well"
- seanwilson 6y ago> Speed during Checkout - Every second of page load time kills conversion rates. A 1 second delay reduces conversion rate by 7%. I think it's fine to say faster page loading makes users happier and will increase conversions but you should avoid generalising with such specific figures (I see this often with page speed article titles where they mention conversion rates changes to 4 significant figures). It's going to vary wildly based on the product, audience, price, exclusivity, custom loyalty etc. and you'll get diminishing returns as well. The impact page speed has on amazon.com conversions isn't going to be the same as on your side-project website for lots of reasons.
- Theodores 6y agoThe metrics this is based on need to be known. If you deliberately add a second to the checkout and measure the conversion rate it will go down. But to then talk of reducing latency creates this much extra conversion rate is a lie. There is an oft touted figure from when they deliberately slowed the BBC website to assess engagement. However, truth is that speed is good.
- thitcanh 6y agoSpeed is half of the picture sometimes. I once managed to book a flight on Google Flights and basically completed the purchase in less than a minute. An airline’s website could load instantly and still wouldn’t compare to just having a decent checkout experience. It’s incredible that nobody has 1-click flight bookings a-la-Amazon yet.
- habosa 6y agoSpeed is still the differentiator on iPhones. After 10 years of Android I switched to iOS and it's like someone greased up the whole experience. I didn't realize how much waiting / stuttering I was taking for granted on Android. I can never go back to Android now. I'm sure if you studied the phones under a high speed camera we'd be talking about differences of only tens of ms but when you tap something 1000x a day it really adds up. It's just like how most programmers are hyper sensitive to text editor latency.
- perryizgr8 6y agoWhich android phone were you using and which iphone did you switch to? Asking because I'm very skeptical that iphone and android have any significant difference in daily usage speeds.
- piperswe 6y agoPersonally I experienced a similar thing switching from a Galaxy S10+ to an iPhone XS.
- perryizgr8 6y agoHmm, fair point since those are similar gen and both flagships. Personally I switched from an S10 to Iphone 11, and was absolutely repulsed by the horrible screen on the iphone. They both felt similar in terms of UI responsiveness. But due to the screen I went back to the S10.
- curist 6y agoSomewhat related: https://danluu.com/input-lag/ https://danluu.com/input-lag/
- perryizgr8 6y agoExactly, modern android flagships are at par or better than Iphone when it comes to touch latency. Most people who express the sentiment "OMG iphone is so smooth" went from $200 Moto G to $1000 Iphone X. Compare in the same class, and you will find that both OSes are comparable.
- ZephyrBlu 6y agoAll I have to say is that the "what would it be like to live with lag?" is insane. 1/3 of a second is already insane lag, 3 seconds is just ridiculous.
- Tepix 6y agoAgree. In VR to achieve "presence" you aim for 20ms of lag, or less. For voice calls you want 100ms max.
- sverhagen 6y agoSpeed is important. And when something is near or completely unusable, that's a bug. It is also a quality attribute that we architect for, to some, limited extent. Otherwise, speed is "just" a feature like any other, and Product Management should tell me where it ranks in priority.
- DarwinMailApp 6y agoI can certainly attest to this. Every second support email in the early days of https://www.darwinmail.app https://www.darwinmail.app was from users who were wondering why the website wasn't faster to load and operate. I knew that this was going to slowly kill the product if I didn't focus on optimising the speed immediately. I also heard somewhere that even a 0.01 increase in load times for Amazon's website would cost them somewhere in the region of 100's of millions. 1. I gathered feedback from all users that said the website was slow (in any way and in any page/component/workflow). 2. I created a Trello board https://trello.com/c/PPuhLtW0/95-upgrade-performance https://trello.com/c/PPuhLtW0/95-upgrade-performance for all the feedback. 3. Since that week of initial performance enhancement research and groundwork, I have essentially been completing todo's on that Trello card and adding more tasks as time goes on. I think the more speed improvements I make, the more I learn about what other parts of the application can be sped up. It's like economics, the more you learn, the more you realise you have so much more to learn :D A few years later and I have not received an email suggesting to increase the speed of the app in several months, although I continue to make speed improvements on a regular basis. Netflix have been my source of inspiration here. They are leagues ahead of every other streaming service and their custom architecture placed at the ISP level is absolutely incredible and paramount to how the deliver content with such amazing speeds.
- mattmanser 6y agoYou never heard of a profiler? Logging? You're going about this all wrong. When fixing performance problems you shouldn't guess, just profile it to find the bottlenecks. I've seen plenty of performance 'fixes' that weren't, pure guesses by developers that did nothing, when a quick profile immediately revealed the culprit. In your case you also need to figure out if it's happening server-side or client-side. I generally start with the server-side logs, get a few days/weeks worth of data, find average page request times, plus how much deviation on those requests, then go from there. That gets you the server-side. For client-side, unfortunately it's a lot harder. Google analytics page load speed, for example, is a pile of crap. But, again, there's a profiler in dev tools, remember js compile time is a significant thing and can slow load time too so check that out as well as the actual run times (js compile time shows in the page load graph).
- sgeisler 6y agoAs a former BlackBerry 10 user (QNX based with C++/QT native apps) that's something that annoys me endlessly about Android. How can a simple action like displaying a small, locally cached playlist take any noticeable time at all?! There is no inherent reason for building Apps in JS+HTML adding a dozen additional layers all costing precious time. Even some "native" (Java) apps seem slow at times. Also switching between apps often causes these to be effectively closed, adding startup time when reopening them (are they really that memory-hungry, why?!). I never had these problems with my BB 10 phones even though these had half the RAM (2G, current Android 4G) and way less cores (2 vs. 8). I wish they hadn't discontinued this awesome platform.
- draklor40 6y agoWhenever I bring up the topic of performance and speed of software, I used to get "Pre-mature optimization is the root of all evil", but in reality, companies are spending billions just to squeeze an additional 1-2% improvement in compilers optimizations,browser engines, kernels and processors. Speed matters. I CAN perceive the latency of using an SPA vs using a native application. I notice. the diff. between executing a GNU binary vs running a js based script.
- ratww 6y ago> "Pre-mature optimization is the root of all evil" I agree with your post. We as a community have completely subverted the meaning of this quote. It is originally about the need to profile your code, and about how programmers instincts often fail them, making them optimize the wrong things. But when it mixed with Startup Culture it morphed into "don't worry about speed, just write whatever shitty code comes into your head and only optimize if a customer complains... scratch that, let's not listen to customer complaints because we know better". Like you said, some companies with good products and some good developers are following what Knuth had to say and are constantly optimizing for speed (but after profiling). Others are engaged in a race to the bottom and are trying to convince everyone else that careless engineering is somewhat better.
- draklor40 6y agoIts easy. You deliver the feature and then optimize its performance. What they dont say is that there is never an end to set of feature requests you will get. No matter how many crappy, unusable features you throw in, there will always be a request to tweak this , tweak that.....
- tasn 6y agoI think you and I interpret "premature optimization is the root of all evil" quite differently. To me it doesn't mean you should write slow code, but rather that you shouldn't omptimise a piece of code before: 1. You actually got it working and you know you need it (so you don't waste your time). 2. You profiled the system and you know the code you are optimising is actually making things slow, and it being slow matters. This applies to every metric, not just performance. For example: don't optimise your top of the funnel when your bottleneck is actually conversion. So measure, and then optimise. Don't optimise prematurely.
- tome 6y agoThe word "latency" is mentioned three times in the article, "speed" fifteen. Yet latency is actually the more precise and accurate word for the concept the article is trying to communicate isn't it?
- pdimitar 6y agoThis might be because I am a former semi-pro Quake3 player but these days I grind my teeth with 95% of all software. Everything feels like it has at least 200ms delay injected, on every transition. I'd honestly pay extra for an iPhone where I can disable ALL motion, too. But that's the least of the problems. I don't want to become the grumpy old grandpa yelling "back in my day!..." but we have waaaaaaaaaaay too much young JS devs who know nothing else. We need to get back to native UIs. Is it awfully hard? Yes it is. Do the users care? No, they don't. Many people want fast UIs. But to be fair to all sides -- there are also a lot of people who don't notice certain slowdowns that I scoff at. So there is a middle ground that won't cost billions to achieve and IMO that should be chased after.
- reassembled 6y agoGame developers know how to make smooth and performant UI, to say nothing of the rest of what goes into writing a game engine, particularly a fast GPU-accelerated engine. I’m starting to think it’s primarily a cultural thing, where it’s just become acceptable in the web dev and Electron app world to ship sluggish, resource-intensive apps. I also feel like more corners are cut and performance issues swept under the rug when devs are not staring down the barrel of the hardware on a daily basis.
- arethuza 6y agoVS Code uses Electron and I can't say I've noticed any performance problems with it - indeed it is quite a bit faster for me than its native-code relative Visual Studio. So responsive Electron apps are certainly possible.
- baybal2 6y agoVs code is an antiexample here. The whole point for then from the start was to not to repeat the Atom fiasco. The entirety of the project was running around of making Webkit not suck. They spent ennormous effort on that.
- 6y ago
- lordnacho 6y agoSlowdown has actually been the only reason I ever replaced a phone. Somehow the manufacturer sent an update and stuff turned to molasses, and that has been my trigger to get a new phone each time. There's no excuse for this, it's not like the apps I use are especially demanding. I've written a few apps on the side, and most of the ones I use should just be your average mashup of buttons, pictures, and REST calls. Besides, the slowdown comes when the OS is updated, so it's probably not the apps changing. I'll never get another Samsung, even though I don't know if they did it deliberately, or if it was even them that did it. Somehow my current phone has lasted 3 years with no appreciable slowing.
- tommilukkarinen 6y agoIt's long time ago so I don't remember well, but at least the camera was not fast (I was working with camera stuff at the point so that's what I paid attention to). It was slow, barren of features and looked like developed hastily by a student. The thing with iPhone was the capasitive screen, which made touch UI work. At the point I had already worked with phone touch UI:s for seven years, and that's the thing that felt like magic.
- ALittleLight 6y agoI've worked on a project that failed and I always felt speed was a real problem. I tried but never succeeded in convincing people that speed was the issue. In our case, our users had a specific flow through the application they would use, and it worked, but it required clicking many (10+) buttons and waiting for a web request on each. People on the team were satisfied that the flow worked and going through it didn't take TOO long... But what people on our side didn't get is that our customers had to go through this flow dozens if not hundreds of times - some users would need to do it this many times regularly. It effectively made our users hate using the product, or they would refuse to, or they'd use it but only a little bit and they'd try to minimize the cost. I tried to get people on our side to experience the pain points, e.g. asking PMs to follow this flow one hundred times, and things like that, but I never could get through to anyone that we should redesign and refocus on making it usable. Maybe a mockup of a faster flow was what was needed to be persuasive there.
- MarkLowenstein 6y agoThere are two levels of slowness being talked about here, both valid. One is that 16ms vs. 60ms response to typing and touch. The other is yours, and I think yours is the more problematic one. Not only do those multi-second waits accumulate through the workday to be a significant fraction of the day, but each one presents an opportunity for the user's mind to wander, or other parallel tasks to be switched to, with a high cost of returning to the current state.
- oehpr 6y agoI've got a team that I am actively trying to convince that this is a problem, and I am scared that I'm failing. We're introducing new components that have deliberately introduced latency to make transitions smoother (and I mean LARGE latency. 500ms large). I brought up the terminal insanity of doing this and got in response "no one has complained about it so far... we can tweak it if you like, but I'm following best practices" (citing nothing). I bring this up with others, and they are lukewarm about it. I feel like our company is in deeeeep shit if I don't convince people this is a problem.
- CinematicStudio 6y agoAgreed 100%! I've redesigned the UI of my timeline (for a video editor) several times, in order to constantly make it faster. It's painful (for me, that is :D), but I know it's the right thing to do.
- baybal2 6y ago> When you touched a Razr or a Palm phone, there was a delay. It felt sluggish and slow. Apple removed the delay between your finger tapping the screen and something happening. Your finger could finally manipulate the UI in realtime, just like in the real world. It felt magical. If there was even a slight delay, the whole experience fell apart. A very strange phone to reference. First iPhone was slow as molasses with all of the excessive visual effects. It was only around OMAP iphones when they first got proper hardware acceleration. Palms were noticably faster than WinMo 6, and WinMo 6 was faster than 5 which was indeed painful to use because of input lag. Ironically, Android is still somwhat slower than WinMo 6 on input lag despite every trick Google is throwing on it. I read somewhere they even tried to wire the input layer directly to hardware acceleration to make scrolling less laggy.
- floatingatoll 6y agoCould someone please show this article to digital board game creators? There are so many great games that waste 50% of my playtime on PowerPoint transitions and smooth movements. It’s so frustrating trying to enjoy a game when you have to watch a ten second animation in order to have a single tile flipped over, or a five second fade just to represent end of turn.
- GuB-42 6y agoThe thing is, the iPhone isn't that fast, but it is able to react quickly to your input by showing you a nice, smooth but slow animation while work is being done in the background. As a result it feels faster. That's something no other smartphone could do. I don't know how things are today but I looks like Android more or less "solved" the problem by throwing powerful hardware at it. The killer feature is not really speed, but low input latency. And this is achieved by taking performance in consideration during development. And contrary to the old "premature optimization is the root of all evil" saying, you have to do it early, because while can be relatively easy to increase throughput, latency is much harder to deal with. This is also part of the success of Google Chrome. While it didn't load pages that much faster than its competition it was great at showing you something quickly. It took ages for Firefox to catch up, and it looks like it did mostly because Chrome became slower over time. How is Servo going BTW?
- p_l 6y agoFunnily enough, first few iPhones were ridiculously underpowered, and there was apparently a lot of tricks being thrown to hide that (things you can learn from salty platform developers XD)
- grishka 6y agoAndroid has always allowed the exact same trick iOS does to make it seem that apps launch quickly — show an "outline" of the UI while the real one loads. Though it does take some drawable and theming wizardry to get it right. Some apps, on both platforms, use this to show a splash screen.
- leadingthenet 6y ago> How is Servo going BTW? Pretty much dead, unfortunately.
- auggierose 6y agoThe iPhone is really REALLY fast. Especially if you program it in Swift and Metal, instead of Javascript.
- 6y ago
- collaborative 6y agoThe UI has to remain 100% responsive. So put that task in a BG thread and show the user that it is being processed (with a progress bar for extra friendliness). Stay away from frameworks that don't have responsive UI - native is best
- buf 6y agoAs a Notion user, I feel this pain daily. The lack of an offline support or a modern fast search is going to push me away. For my personal notes, I'm still organizing it in local files (via vimwiki), but for team notes, Notion needs to step up its game.
- deleted 6y ago[deleted]
- pontifier 6y agoI vividly remember using a kiosk to order a sandwich at a gas station 3 years ago... Not because the sandwich was great, not because it had a great logo, or a great name... The INSTANT I hit the button to complete the order, the built in printer almost spat the ticket at me. I ordered a second sandwich just so I could get a video of that happening again. Edit: Just found and uploaded the video :) https://youtu.be/TX_-dXIpPvA https://youtu.be/TX_-dXIpPvA Edit2: looks like it was a soda, not a second sandwich.
- grishka 6y agoAnd then over here we have a fast food chain whose kiosks are just laughably slow. Scrolling stutters, animations are laggy, and taps take what feels like a second to register. Burgers are okay tho.
- rmorey 6y agoas a frequent patron, I read your comment and KNEW it had to be Wawa!
- domano 6y agoWow, even the printer is fast in itself.
- deleted 6y ago[deleted]
- throwaway81523 6y agoThat's a very normal Seiko (or similar) receipt printer. I spent a lot of time programming them. Humorously, the programming manual is marked "confidential" (I guess to make it hard for anyone to make compatible printers), but there are copies of it all over the web, and there are plenty of compatible printers ;). The POS app that I worked on (not related to the one shown in the video) also went to pretty serious lengths to get rid of the pause between the user pressing "enter" and the receipt coming out. The store operators rightfully insisted on this, because they wanted to keep the checkout lines moving as fast as possible. I liked those printers and remember wanting one for myself even though I had no use for it. They start at around $200 and take up space, so I managed to resist.
- bjarneh 6y agoIsolated we all agree on this, i.e. speed is important. But you constantly see high praise for many of the technologies that facilitate this "slowness" creeping into apps and websites. With each level of abstraction we loose speed; either it's languages that "compile" to other languages, or ORM's, or frameworks that solve different tasks, but when stacked on top of each other; everything feels like mud..
- m463 6y agoless than .1 second response and you are interactive which is a big deal.
- mrvenkman 6y agoThe "ipod" and "ipod Touch" were the reason the iPhone was successful. The speed and reaction time was important too - but I wouldn't call it a "killer feature" - it was necessary because phones weren't slow - actually there was nothing particularly slow about about the RAZR. I don't understand the comparison.
- bob1029 6y agoSpeed is a tricky thing in a complex application. You are ultimately going to be forced to trade latency for horizontal scalability in non-trivial applications with lots of shared state which must also be consumed globally. You can cheat in some weird and fun ways though. For instance, if you say "no user of this system will ever be more than 50ms away", you get to play some really interesting games with vertical scaling and consolidation of compute capability in an all-in way. I.e. server-side technologies ran out of a single datacenter near the userbase. If your latency domain fits it, something like Blazor server side can be an incredible experience for your users. First load is almost immediate because there's virtually no client code. Everything is incremental from there. If you are within 50ms of the server, UI feels instant in my experience. The nature of how applications are developed with this tech means that if your business services are completing requests within the performance budget, you can be almost certain the end user will see the same. Going to the bottom of the rabbit hole, understanding how NUMA impacts performance can make 5+ orders of magnitude difference in latency and throughput. Letting a thread warm up on a hot path and keeping it fed with well-structured data is foundational to ultra-low-latency processing. You can handle well over a million events per second on a single thread on any recent PC using techniques such as LMAX disruptor combined with a web hosting technology like Kestrel. The difference between a class and a struct can be 10x if you get to that level of optimization. I measure user interactions in microseconds in my stack these days. A millisecond is a fucking eternity. You shouldn't be doing a bunch of back and forth bullshit in that kind of latency domain. Stream client events to server as fast as possible, microbatch and process, prepare final DOM changeset and send to client all at once. How could any other client-server architecture be faster than this, especially if we are forced to care about a bucket of shared state?
- ChrisMarshallNY 6y agoThis is absolutely spot-on. That said, I feel like it is sort of belaboring the obvious. I think that our overdependence on dependencies has a lot to do with UI latency.
- ksec 6y agoMay be Speed isn't the right word, Latency would be better. We can look at Input Lag [1], and Microsoft Research's work [2] on Touch Input. Apple's ProMotion being part of that as well. For the past 20 years we have make 10 - 100x improvement in bandwidth at the expense of Latency. Now we need to do more work on it . Especially if we want VR or AR which are extremely latency sensitive. John Carmack [3] used to talk a lot about it when he was still working on Oculus. How it was faster sending something hundreds of miles away than showing it on your computer screen. [1] https://danluu.com/input-lag/ https://danluu.com/input-lag/ [2] https://www.youtube.com/watch?v=vOvQCPLkPt4 https://www.youtube.com/watch?v=vOvQCPLkPt4 [3] https://danluu.com/latency-mitigation/ https://danluu.com/latency-mitigation/
- IshKebab 6y agoThis feels like a bit of history rewriting. Yeah the iPhone was fast, but the real killer feature was the huge responsive screen. No phone until then had had a screen so big, or such a good touchscreen. You could browse desktop web sites! Early Android phones were very slow and janky, yet they still succeeded. There is mountains of enterprise software that is successful despite being insanely slow (cough Teamcenter). Not saying I necessarily disagree with the premise but they chose a poor example.
- lifeisstillgood 6y agoThe lag video is fascinating - I see people who are labelled clumsy, unco-ordinated - but maybe they just have a mental lag. After all the world we 'see' with our eyes is a mental model, a 3D game world anyway.
- ancarda 6y agoThis is one reason why I prefer command line programs and websites like SourceHut and HackerNews over GitHub and Reddit. Also, why I disable or reduce as many animations as I can in graphical software I use. Everything is just too slow -- and it doesn't need to be.
- phkahler 6y ago>> Does your checkout page take 10+ seconds to load? Did you have to wait for a loading indicator multiple times along the way? Those aren't even the right questions. Change 10 seconds to 1 for the checkout page. And then ask if they ever have to watch a loading indicator. We have no hope if we dont set good goals.
- riho 6y agoThis is a big reason why I get frustrated with comments about high refresh rate monitors being mostly for gaming, or it not being that important for productivity applications. There's a reason why it's hard to ever go back, once you've experienced the fluidity of even just your mouse cursor reacting instantly to your movements. If you've ever used the iPad Pro, there's clearly something special about the experience. It just _feels_ better, and for all the same reasons described in the article. 60hz is far from smooth, and that number is a leftover from days past, not what is actually optimal or good. Display technologies unfortunately still have ways to go when it comes to high resolution, color accurate panels, with high refresh rates, but the general direction on the market is that high refresh rates are not available in the "productivity" category of monitors, even if sometimes the manufacturer has panels that would fit the bill. You unfortunately always need to look in the gaming category, which usually lack many of the features you'd like in a more productivity centered display. Such as a fully adjustable stand, high color accuracy and viewing angles, virtual display splitting, or just overall design of the enclosure. I could go on another rant about display enclosure designs... Why isn't there a single company out there (with perhaps the exception of Dell) that's creating nice and minimal display enclosures that aren't covered in cheap plastic and "aesthetic" ornaments? Apple's Cinema Display from 2004 is to this day one of the better looking enclosures out there. I don't think you can blame this on the consumers really. For the higher end market that I'm talking about in general here, I'd be willing to take a bet on if you build it they will come. I'd certainly be praising any company willing to take this on to high heavens. I want a great, fast, accurate panel with a nice, minimal, aluminum enclosure. Is that just too much to ask?
- TacticalCoder 6y ago> ... of even just your mouse cursor reacting instantly to your movements. But you probably haven't, except in, well, games? > 60hz is far from smooth, and that number is a leftover from days past, not what is actually optimal or good. Well it would already be wonderful if we actually had 60 Hz in modern application / devices, including 16 ms response time. I fired up an old game the other day on my arcade cab (CRT screen), some shoot'em up game, and it was silky smooth. I'm pretty sure it was "only" 60 Hz but it was constantly 60 Hz: any input with the joystick or buttons had results the very next frame. This felt so much smoother than any of the army of modern devices I'm using on a daily basis: even if they can animate stuff at high refresh rate, the latency before the animation starts is what makes using them painful. Refresh rate is a thing but so is the latency between when your input and when, visually, it produces a result. I've seen people working on ports from old arcade game where they'd record using high-speed cameras LEDs physically hooked to the joysticks/buttons to make sure that "input at frame x means response at frame x + 1". Short of that your app very probably is not responding in 16 ms or less, unless you really know what you're doing. There was this famous rant by John Carmack where he lamented that on PCs it was faster to do a transatlantic ping than to push one pixel to the screen: I don't know how far we've gone, but when I compared modern devices to my old arcade cab and it's measly 60 Hz (but 16 ms latency), I'm still not impressed. A 120 Hz or 144 Hz or 240 Hz is no good if it takes 35 ms between when you move the mouse and when you see the results on screen: that's not "120 Hz" but 30 Hz. And 30 Hz feels laggier than an 35 years old arcade cab: it is that shameful. 35 years and still feeling more responsive than any productivity app. I remember a recent tool posted here (I think for OS X: maybe an editor) here by someone who was fed up with this extreme "input lag" and was guaranteeing his program would be answering in less than 16ms (maybe was it 24ms, don't remember exactly). But that is an exception. I think you're highly underestimating how smooth 60 Hz already is when there's no input lag. Now, of course, I'm taking 120 Hz or more any day over 60 Hz but we should very badly focus on input lag too. And, sadly, we live in a world where I'd scientifically guesstimate that 99.99% of the programmers are totally unable, due to limitations of their tools (do they have high speed cameras and can they prove how fast things are pushed to the screen?) / knowledge (I'm not John Carmack and modern software stacks sure seems complicated) / languages (let's not start a flame war) / mindset (never optimize anything / 100 MB JavaScript downloads are fine, etc.), to push anything to the screen in 8ms or 4ms. Except for top-notch game programmers working on AAA titles. So 240 Hz monitors, sure: bring them up. But bring me too the programmers and tools needed so that in 4 ms I'll see the result of my inputs.
- bajsejohannes 6y agoIt seems like Apple is moving backwards on this at the moment, though. Perhaps they were more concerned about it when they were trying to get into the market. Examples I can think of: The emoji selector (ctrl+cmd+space) is quite slow. On my brand new macbook, it's a small noticeable pause, and on my old macbook it's several seconds (during which time keyboard input is lost). > If you can’t speed up a specific action, you can often fake it. Perceived speed is just as important as actual speed. Second example is facetime on my iPhone. They fake being fast by showing the last opened screen. For me, it's very often the "most recent calls". The problem is that in the meantime there's been another call. Result: I see the person I want to call back, tap on the screen where they are, observe that the content changes and I call the wrong person. This happens often enough that I should learn, but somehow I don't.
- clarge1120 6y agoThere are different kinds of apps for different use cases. Performance is a feature, but not always necessary. For example, Line of Business (LOB) apps are built with ROI in mind. LOB apps help businesses run more efficiently, and employ the vast majority of developers. These are the most used apps in the world, and company owners are much more interested in functionality, automation, and distribution of apps than performance and usability.
- coldcode 6y agoOur customers wind up spending a lot of time waiting on services to respond watching loaders. Speed on the app is entirely ignored otherwise, you are just happy you got a result. At a previous job people complained about how slow our iPad app was, we measured every single step from tap through service call back to redraw and 90% of the time was in our backend, even with average internet performance.
- fireeyed 6y agoFront end JavaScript framework scourge introduced a lot of this.
- iaml 6y agoNetflix is literally using react and is praised in this thread for their ui performance. JS is not the problem, what you do with it is.
- mangoman 6y agoIn the US, everywhere I've lived, Comcast has been king. But their new TV Boxes are so fucking slow I can't stand it. 2 second delays just to type a number. If any competitor was smart, they'd invest into their boxes' speed and just destroy comcast on that alone.
- anthk 6y agoReplace Comcast with Orange in Spain, and the same experience with an Android TV Box.
- felixding 6y ago> ... a Palm phone, there was a delay. My first impression was "unbelievable" - how on earth would anyone think a Palm device is slow?! Then I followed the link and saw a Palm Tree 750/V... oh, of course, that thing run Windows Mobile. A Palm device running Palm OS is blazing fast! I switched to iPhone from Treo 650 in 2009. Almost everything became much slower. The iPhone software was slow, so was the user interaction (in the sense of UX). Palm only started using Windows in its later years. And there were actually very few Windows Palm phones. Most Palm PDAs and phones run Palm OS and were very, very fast.
- nromiun 6y agoThis is spot on. I was originally using PayTM to pay my bills for phones and TV. And while it was a little bloated and sluggish there was nothing better. But then Google Pay was released, and it was so much faster then anything else on the market. But Google Pay released a new update using the flutter framework. And now even scrolling takes ages to complete. I complained on Play Store but the reply said to check my internet speed. Meanwhile PayTM has also redesigned their app, but unlike Google Pay their updates actually made the app much faster and intuitive. I still check Google Pay from time to time to see if they have fixed their app, but the scrolling is still laggy (it feels like you are in a web page) and the loading page still flickers.
- bombcar 6y ago>(it feels like you are in a web page) Few apps are native anymore, they're all just wrappers around web pages. It sucks.
- atleta 6y agoHe's kind of totally wrong about the phones and thus the speed being THE killer feature. First of all, Symbian phones, which were the market leader smartphones when the iphone was released were pretty fast. So were feature phones (i.e. dumb phones). What iphone was a LOT better at than everyone else was UX. Of which speed is one component, of course. It's funny how much people never get it although it happened in front of us, it happened to us. At the time I was working at Nokia Research and I remember my girlfriend telling me how his boss got this wonderful phone that you can take photos with and you can view them, etc. The funny thing is that I had such a phone since 2001. I have been working with smartphones for 6 years then, she knew it, she listened to me when I told her or others what I was doing (and then listen to others responding "yeah, but phones are for making phone calls"). She saw me browsing the net on my phones (a 9210 communicator and then a 9500), send emails from the beach, etc. Still it somehow didn't register. Because it looked like something that she'd never use. And then the iphone that did a lot less made her and basically everyone understand what a smartphone is. (Even though by then symbian smartphones were pretty common, most people didn't use them as smartphones.) So no, it's not simply the speed. It's the UX. And even if we talk about speed, it's still not the speed, but it's the perception of the speed, which a lot has been written about: delay (lagging) matters a lot even if speed on average is OK.
- Pyramus 6y agoCame here to say exactly the same. I would add the capacitative touch screen as another crucial factor that made the iPhone UX so popular.
- hinkley 6y agoThe capacitive touch and the accelerometer allowed them to make a web browser that could display 'normal' web pages. Up until then everyone had been dicking around with mobile web sites and the lack of ubiquity and cost of doing so... as well as the often hamfisted attempts to assume why you were on the website from mobile... all of these hamstrung mobile browsing adoption. With this in place commerce could begin on the phone. Once everyone added mobile pay options it could end there as well. An now everyone has one, if they can.
- RocketSyntax 6y agoSpeed is a cop out. Engineers love to focus on performance.
- jmacjmac 6y agoI think when you don't have a competitor, being slow is okay. People will use your product but otherwise performance matters. Eventhough it never matters as much as your feature set.
- flavius29663 6y ago> it never matters as much as your feature set How do you explain then that iphones took over the market, even though Nokias had many more features? Speed, or the feeling of speed, was part of it, I am sure
- jmacjmac 6y agoI didn't mean "more features are better". Sometimes, even a single killer feature is better than many features. Speed might be one of the reasons Iphone's success but how about this : If Iphone's were %20 slower than they were, would it take over the market ? I think it would. This doesn't mean being fast didn't help them. My point is, being fast is not enough all alone but being fast with a good feature set is great.
- tuckerpo 6y agoMandatory Handmade shill https://handmade.network/ https://handmade.network/
- swyx 6y agoobviously the HN crowd is in favor of speed, but i would argue some of his examples are proof that speed doesn't matter compared to others. Notion is horrendously slow and i dont understand how other people can choose to use it, but speed clearly isnt even a necessary condition to become a successful product.
- hnnotreddit 6y agoI remember when animations were used in UI for the purpose of masking wait times. On the new web, they're so misused they cause the wait now.
- pul 6y agoI often wonder if my obsession with speed is helping me forward, or holding me back. (I'm working on https://www.nslookup.io https://www.nslookup.io on the side.) There's so much else to be done. Will users really care enough to come back? Is a 20% speed up worth more than a better design or an additional landing page? I don't know...
- theptip 6y agoThis is a popular sentiment around here, because we care about the craft and want to build something that is beautiful/well-made. However, speed is not “the killer feature”. Speed does not add any value in isolation; your app needs to solve a need for the user first. If you don’t have PMF don’t think about speed yet. The article gestures at objectivity by linking some cases where people measured revenue gains from speed improvements, but fails to follow through and actually propose an experiment or ROI calc. If you think your app is slow, run an experiment and measure the impact on conversion. (You can even take a page from Google’s book and _add_ delay with a simple sleep() if you don’t want to spend any time on perf work before you get data. Or just do the first bit of low-hanging fruit and measure the impact.) Talk to your users and ask them what frustrates them in the app. It might be “takes so long to check out”, or it might be “it just lacks feature X that competitor Y has”. I’d suggest it’s unwise to spend time on perf work if you are pre-pmf and the main feedback was the latter. Again, do experiments too because customers don’t always tell you what they need. In particular enterprise users often don’t care as much about speed, as long as you tick all of the boxes. Many users are used to line-of-business software that is slow and buggy, so your bar in B2B is not always high here. Finally do an ROI calculation. If a perf iteration is going to cost you $20k in dev resource, and get you 7% improvement on $10k of monthly revenue, that might not be the right thing to focus on. Ideally you’re looking at features that will improve your top of funnel volume more than that. It’s all a trade-off. It depends on your company’s level of maturity, Product/Market fit, and the value of the marginal feature that you’d be deferring to make your app go faster. If we interpret this to be a political manifesto carrying the message “you should care more about speed/performance”, I’d prefer the meta-level “you should care more about trade-offs and marginal value”.
- vp8989 6y agoMaybe it's because I am not in "the Valley", but this line of thinking makes absolutely no sense to me. You are speaking in generalities, so you are essentially implying that most people are working on software that has not achieved product market fit? How could the majority of people collect a salary working on software that has no users? That makes no sense.
- 6y ago
- brundolf 6y agoTwo points: 1) As programmers we're biased to feel like speed is the most important thing because it's very fun and satisfying to optimize. In reality, for actual users, it's one of many different axes of value that have to be weighed against each other. In some domains it's critical, in some it matters very little, in most cases it's one important factor among many. 2) There are different types of "speed". Generally anything that's supposed to mimic something physical - basic UI feedback, real-time games/simulations, etc - has a much higher speed requirement than some abstract process. Will the process take long enough that it makes sense to show a loading spinner at all? Then the user probably won't mind waiting a couple extra seconds. Will it take <500ms? then the user will approximate it to "instant", and will notice if there's a bit of "lag". > Phones in 2007 had the same features as the iPhone. The Palm Treo even had a touch screen. The difference was speed. If the original iPhone had taken twice as long as the Treo to load a web page, but the touch screen was still more responsive, people still would have perceived it as being "faster". The extra seconds matter less than shaving off the extra milliseconds.
- PTOB 6y agoI am a heavy AutoCAD user. I can type commands faster than today's AutoCAD can grab them. Sometimes it garbles them and executes an alphabetically adjacent command...
- bambax 6y agoAll true. Speed is what users want. Not fancy graphics and certainly not endless confirmations and security assessments.
- benlivengood 6y agoI'm always amused when I need to use FVWM or xfce on old hardware and it's snappier and more responsive than Gnome on newer hardware. About the only thing old hardware can't do is smooth scrolling/resizing/moving and that's all GPU.
- fvwmuser 6y agoThere's nothing stopping you using FVWM or XFCE on newer hardware either.
- dystroy 6y agoDevelopers and marketers often overestimate how much the users will love the impressive and slow effects they pack their products with. I was reminded by this today as I installed Debian on a new computer. Why do Gnome makers imagine it's OK to have the *default* on slow ("Animations") rather than instant ? Do they really think we'll be happy enjoying a 200ms or 500ms delay every time we reduce or open a window ?
- gnyman 6y agoIf you have a iPhone without home button, go to settings, wallet & apple pay and uncheck doouble click side button Now turn off the screen with the power button. Notice the annoying delay when turning off the screen is gone? enjoy :-) Of course you also don't have a way to invoke the wallet manually, but luckily if you put it near a payment terminal it will auto activate Probably won't work if you're a heavy apple wallet user but if you use it only sporadically I personally think it's worth it, I found the delay very annoying when I switched to a homekeyless iphone
- bdickason 6y agoAuthor of the post here - I had no idea there were so many more people out there like me passionate about speed (and frustrated by how slow apps/devices are these days). Thanks everyone for sharing really awesome examples in the comments here - from Games to Receipt Printers to Apps, it's clear that speed is valued. Or... that there's a big opportunity to bring back lightning fast products :)
- golemiprague 6y agoTell it to Tom Brady... Speed is one component of the package but not everything, there are other factors
- digitaltrees 6y agoFor me it was safari. A real web browser. That was the game changer.
- ska 6y agoI think this is overly reductive. Speed (or more likely, perceived speed) is only one part of UX, and how much it matters depends a lot on what else is going on and the users expectation. Even focusing merely on responsiveness feels a bit superficial. Something a bit closer to the core of it is that whenever a user is focused on waiting for your software, it reduces their experience. That can be articulated better I'm sure - and still is only one part of the (complex) equation.
- StillBored 6y agoSpeed, is a minimum requirement of most systems, same as correctness. It seems to me that basically 100% of the UI/UX developers at the big tech companies are woefully ignorant of the fact that there is a massive amount of data and papers written about human computer interaction. I'm guessing that is because few comp-sci programs even touch the topic, rather spending all their time on more esoteric/mathematical topics. In summary, a very large number of studies were done in the 1960s-1980's on the _human_ aspects of user responsiveness (important when timesharing became common), how people learned computer interfaces, and how effective they were at operating them. Despite some of these papers being > 40 years old, none of it has really changed because the studies were about humans, less than computers. The underlying computing may have changed from a time shared terminal to a phone in someones hand connected to a server, but in that time the human cognitive loop hasn't changed. IMHO, and somewhat backed by the science, any system which isn't responding in under 100ms is broken unless its performing something extraordinary. If its actually interactive (like typing on a command prompt) even that is far to slow. User frustration, and loss of attention are real things, and you can bet when given the choice users will pick less frustrating systems. The saving grace for many of these platforms is that the entire industry is trying to be like the fashion industry and follow the latest trends. So it doesn't matter if BigCoX makes a huge UI blunder all the others will follow it down the lemming hole. So tell me why some of the conclusions in a paper like http://larch-www.lcs.mit.edu/~corbato/sjcc62/ http://larch-www.lcs.mit.edu/~corbato/sjcc62/ (1962) are wrong. How about: http://yusufarslan.net/sites/yusufarslan.net/files/upload/content/Miller1968.pdf http://yusufarslan.net/sites/yusufarslan.net/files/upload/co... (1968) Amusingly other classics like https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/acrobat-17.pdf https://www.microsoft.com/en-us/research/wp-content/uploads/... are discovered regularly too (1983).
- renewiltord 6y agoThe iPhone's release was the first concrete time I instantly noticed that tech enthusiasts are shit about understanding tech products. Every normal person described it in glowing terms but /r/technology, Slashdot, and every damned tech enthusiast community spent most of the time talking about Reality Distortion Fields and how Nokia had this or that feature and the iPhone couldn't copy-paste. Stopped listening to these people for product expertise. Even took a chance on Facebook at $19 when HN was gleefully expounding on how this was obvious and the company was doomed. Glad I did that. Did it again when everyone on HN was convinced SMCI was spying for China. Worked out again. I'm going to call it "Tech Enthusiast Inverse Sentiment Index" TEISI. List it on the NYSE and people can make big money doing the opposite of people here. Maybe you get a couple of losses like WeWork and whatever but overall, I think you win.
- Siira 6y agoConfirmation bias, survivorship bias, etc. Make that index if you aren’t just bullshitting.
- renewiltord 6y agoIt's a joke. I'm not enough of an idiot to create a trivially manipulable security.
- lucas_membrane 6y agoNothing to see here. Speed always has been not only the most important thing, but virtually the only important thing. Back before most of you were born, there was a review (in PC Magazine, IIRC) of the category of spreadsheet programs. MBA Analyst dominated the others (visicalc and lotus 123, IIRC) in every category except speed, in which it was OK, but not great. That's why you never heard of it. The speed requirement is closely related to the self-importance fallacy. If a computer needs time to think, maybe we could make good use of a few moments pause, too.
- ulisesrmzroche 6y agoThis is Bullshit with a capital B. The killer feature of the iPhone were looks and apps. It was the first all-in-one (camera, music player, phone, game system, organizer, etc) that didn’t make you a bully target. Not saying Speed is unimportant...I’m saying this is straight up lying. Like back in the AOL days, when dialup was a thing, the internet was dogshit slow, but you still had to get in line to use it. Took hours more often than not. If people valued speed more than anything, aol would have gone bankrupt. People are willing to pay extra for speed but can live without it as long as features are there. This is starting to bug me because for startups, this is bad advice. It’s actually harmful since it’s all about product-market fit at the beginning. You’re better off throwing away code instead of optimizing.
- fairity 6y agoDoes anyone know of a reputable study on how load speed affects conversion rate? I’ve heard many people claim that small increases in page load speeds have been shown to have outsized impact on conversion but have never seen actual studies with proper controls.
- MR4D 6y agoBut not in finance apparently: https://news.ycombinator.com/item?id=26345982 https://news.ycombinator.com/item?id=26345982 Oddly the links were right next to each other.