« Back to blog

20 years of loading spinner

I hate waiting.

In terms of interaction design the web doesn't do anything. It just puts your data on the other side of the planet, certainly further than the other side of the room.

We used to wait for CPUs and memory and hard disks. Now we wait for the network too. And so, as with HTML5, we wait to go back to the future (1985).

Of course it's a trade-off. Each time you do a Google search you invoke massive power, more than you could ever afford the geeks will point out*

But that's missing the point. The remote UI will rarely be faster than a local UI. Check yourself - you're using a local text editor**, local web page renderer, local file system GUI. In fact everything you interact with is really local. Remote sucks (use a ssh or more primitive terminal to a really remote machine and you will prove this easily).

I should point out that this doesn't make the web much less interesting or that it will die anytime soon. But it does tell us that we can advance interaction design locally as well as on the web, and gives some considerable support to the app phenomena.

I do think that apps and the web will fuse as this consideration is taken into account. Fast start, local storage, cached results, cached code for that matter, fast local graphics are all advantages that the desktop, phones and other devices have. 

Whatever development trends there are in hardware point this way too. Moore's law continues to outstrip network development. I have little idea why it is so retarded, but there it is. Even in the best case networks have a hard limit of the speed of light.

The time taken for a photon to travel from NY to SF is approx 20ms. Your server may be closer, but taking technology into account (like optical fibre and switches) it's not *that* much closer. http://www.wolframalpha.com/input/?i=san+francisco+to+new+york

Dear ol' Cray's line was that it only takes 1ns for an electron to travel a foot for comparison. That's DVI, HDMI, USB BlueTooth, CPU<->Memory and so on. 

What's the point? We are still waiting for a web that can never catch up. We should think in terms of internet + local clients (apps). The web renderer/browser is one of those, and fair generic workhorse, but it's nothing special and a pretty lousy GUI client. What other requires the intersection of 3 languages to make it work?

I mean to say that GUI development appears to be a Cinderella from the 80's, when in fact it is a relevant today as it was 15 years ago. Finding form, good programming paradigms, faster, better and surer ways of making great interfaces remains as live a problem today as it was in 1995.

Your user is right here, their data is over there. It's an interesting problem, but it's not the only one in town.

 

* This is clearly not true, you may well be able to afford a fractional amount of an Intel CPU (even > 1.0) to do some exciting work for you. Mass searches have to be cheap after all.

 

** The HTML text editor has been pushed to evolve to the point where it's a half decent text editor, but it's still a local GUI control. This is not a success of the web, it is the continuing success of the local GUI for interaction.