Ah, the late 90s. We knew everything. We knew that phones, TVs and PCs were going to "converge" until there was no real difference between them. We knew that the web was exploding and was going to keep exploding. "Broadband", that is, speeds faster than 56kb, was going to be everywhere. We knew that mobile computing was going to be big and that the web would necessarily look different on a phone as opposed to a big monitor with a keyboard and mouse.
Honest. I remember people talking about all this in the hallways and in the restaurants that always seemed to have at least two VCs interfacing animatedly in the booth behind you, before I left the Valley.
And we were right. Unfortunately, we were wrong about a few of things as well, like whether this was all going to happen "right now, at internet speed" or over the course of decades. And whether a company had to actually show a profit to be worth a gazillion bucks. And this idea that in order to have half a chance in this blindingly fast new world, you had to become the "first mover" no matter the cost. And buildings like this. I mean, who would want to work there?
Now that web-and-video-enabled phones with decent bandwidth are commonplace, what does the web look like on them? Well, if you actually try to use your phone's browser, it looks pretty unimpressive. Pages come up in tiny print. If you try to zoom in so you can actually read them, they may or may not reformat so as not to spill over the edge of the screen. Selecting links or navigating to the right text box can be pot luck. In all, pretty dismal.
Not that there haven't been efforts to make web pages look and feel differently if the browser is running on a phone. There certainly have been, and again, I recall some of those efforts from back in the day. But that's often not what happens. What happens instead, often, is an app.
I can read this blog on a phone browser, if I want to, and it looks OK, because Blogger has machinery in place to present it in "feed" form, without all the formatting of the full web version. This is exactly in line with the "one web site for all browsers" model, but it takes considerable extra effort. If I go to a random web site, including major ones, I may or may not arrive at something useful. At the end of the day, phones are just too different from the big-screen/mouse/keyboard setup.
To deal with the small screen, limited keyboard facilities and other peculiarities, phones have to do things significantly differently:
- Much less text fits on the screen and typing is often cumbersome, so graphics play a larger visual role.
- The layout changes, often radically. Elements appear and disappear depending on where attention is focused. Buttons are more common than links. Input elements like buttons and text boxes tend to have reserved chunks of real estate, as opposed to being part of a big page that scrolls.
- A touch screen favors gestures like swiping, pinch/spread for zooming out or in, long press instead of some altered flavor of click (right-click, shift-click, control-alt-meta-cokebottle-click ...), and so forth.
- Autocomplete is even more important.
- A phone is more apt to lose and regain connectivity, so it often makes sense to cache results deliberately, as opposed to counting on some generic caching layer to hold on to whatever happens to be around at the moment.
- Phones are mobile, so physical location can play a much bigger role. Not a lot of turn-by-turn GPS web pages out there.
- Phones are phones. You might switch from listening to a song to taking a call at any moment. To some extent different apps on the phone have to cooperate to make this happen smoothly.
Put this all together and it's going to be next to impossible to maintain a web site that can automatically look good on all the major browsers and all the major phone platforms. A better solution is to separate the information in the web site from its presentation and develop the PC/laptop presentation more or less separately from the phone presentation.
That explains why a good portion of apps are essentially web sites redone for the phone. As long as the separation is done reasonably cleanly, this is the right call. A weather web site and a weather phone app ideally share the same raw weather information, and probably a fair bit of common elements like icons for "sunny" and "fair to partly cloudy", but the web designer doesn't need to figure out how to recognize and handle a swipe gesture and the phone designer can dispense with a lot of web markup machinery.
It took me a while to pick up on this, not because it's that hard to notice but because I'm a little slow that way. "Apps", huh? Sure are a lot of them, and a lot that sound like web sites. What's the point? Must be some sort of marketing gimmick. But of course apps are not a gimmick at all.