9 reasons your web browser is holding back the Internet

9 reasons your web browser is holding back the Internet

I was chatting with a fellow technologist today, and he posed an intriguing question to me, “What would you improve in all web browsers?”

This question is enticing because of it’s breadth. It’s fairly easy to find flaws with a particular browser.

Netscape NavigatorTo point out how Safari makes it difficult to find tabs because it doesn’t show favicons. Or to point to Internet Explorer’s annoying bottom pop-up as another example of Microsoft intruding on the pure web experience. Firefox has a notably dated look, and together with Safari the ‘separate text entry field to search’ thing gets old really quickly. Even Chrome isn’t perfect. It could learn a thing from Safari’s downloader.

Yet that wasn’t the question he posed – he wanted to know how browsers, as a class of application, fell short of delivering the optimal experience.

I had a few thoughts I shared with him, but upon further pondering I believe there are 9 things that all web browsers can improve on. By no means do I suggest that these are easy problems. Arguably all browsers have them precisely because they are difficult to solve.

The demon of network lag

Everyone is focused on speed. Google led the charge, first with search, then with Chrome. These days it’s a given that javascript and rendering performance are important. Even Microsoft has stepped up to deliver a responsive web browser in IE9.

Yet despite all the progress in browsers, and despite the fast FiOS networks (mine clocks in at a not insignificant 30Mbps) the browser still feels like… a browser. There is a noticeable lag between the user and their content. Between the user and their app. The browser falls far short of native applications when it comes to latency and responsiveness. It’s obvious that there is a network in-between – an intermediary gating the overall experience.

Tabs, tabs everywhere but not a window manager in sight

Every operating system has a built in way of managing windows. An optimal way to switch between different applications that are natively supported first class actions. Whether it’s the humble alt-tab on Windows, or the more esoteric launcher on Mac, the OS does a great job giving users the tools to manage their windows.

All of this falls apart when browser tabs are thrown into the mix. If you’ve ever hunted for the tab you knew was open somewhere, then you know what I’m talking about. The only obvious way to find it is hunting through every tab in every window for the browser. Sometimes these different open windows are even buried behind the same icon on the task bar or dock.

Let’s login again, and again, and again

I login to my machine. I login to my web browser. I login to my website. Why? Why do I need to login three times?

This shows another integration point that is sorely needed between the operating system, browser and websites. In an ideal world there would be a single login identity which controlled everything from OS to browser to website. Possibly with some federated authentication model built in at one of those stages.

Chrome OS is the closest here, merging the OS and browser login. From everything I can tell, Microsoft will deliver a similar experience in Windows 8. Yet this still doesn’t solve the challenge of login to web sites.

Perhaps Google will solve this by pushing Google ID as a login provider. Or perhaps Microsoft will extend their partnership with Facebook to allow Facebook connect to extend up into the browser and OS.

Regardless, this is no easy problem, and no browser vendor is, or should be, willing to give up control of the user login to a competitor.

We’re all surfing like it’s 1999

If you think about it, the browser hasn’t evolved all that much in the last 10 years. It’s still a frame that contains some controls and a web page. Sure, Safari and Chrome pioneering the smaller frame, and Opera merged a few redundant controls together. IE took it a step further by moving the address bar onto the same row as the tabs. But it’s still a frame.

I’m excited by the work that is being done firstly by the Firefox Junior team for iOS, and then by the Internet Explorer team for the Metro experience for IE10. They’re pushing the browser frame further into the background and letting the website itself shine.

Yet this is still just a variation on a them – making the frame smaller and smaller.

I shudder to suggest this, but perhaps IE web slices has an interesting notion – bring dynamic web content out of the frame and into a more contextual environment. In it’s crudest form one could imagine web-widgets. At it’s best one could imagine rich mashups that were independent of whether either site or app was aware mashing up was taking place.

There’s a whole web out there, but all I see are these 5 sites

Admit it. You go to a few sites every day and that’s it. Occasionally you’ll Google something and browse somewhere else, but most of the time you stick to the same news site, social network, mail client and a few other old faithfuls.

This is insidious, because at first it doesn’t seem like a problem. Why should I try to find anything else if what I have is working? Yet without intending to, the nature of how browsers encourage storage and recovery of websites confines users to a small set of sites.

There’s no notion of discovery unless a user first takes the action to search. Even if I’m reading an article that has 15 relevant other sources the web browser just sits there patiently, waiting for me to ask for those.

Web app stores are a small step in the right direction – a curated and searchable showcase of (hopefully) premium content. We’re already starting to see discovery layered on top of this in the form of features and recommendations.

Yet there is still a world of untapped potential out there for browsers to help me find applicable content and appropriate apps.

Apps are unlinkable

I need to give credit to Uri Schonfeld for this insight. With the advent of “web 2.0” AJAX style apps, the web has devolved into an unlinkable mess. What was once an elegant and reliable construct – the hyperlink – is now a bastardized form that relies on state derived from the server, session and browser. This makes it impossible for a link to be a canonical reference to an item, and among other things, introduces the sharing problem.

Unlinkable mess meets the sharing river of Styx

Each app has been forced to implement sharing in a proprietary way. I forward an email one way, share a document another, and share a status update yet a third way. And it gets even worse when I try to do so across services. The link itself is broken behind client side shenanigans and auth trickery.

The web has no robust notion of verbs. To share. To print. These and more depend on nuance and context that hampers deeper innovation.

My kingdom for a camera (or GPS)

If you compare a web browser to a native tablet or desktop app, the difference in device access fairly quickly becomes apparent. Arguably this area is furtherest along, with evolving standards already allowing access to video devices, and more on the way for access to other hardware like GPS.

Abstraction and intermediaries

At it’s heart the web browser is really just an operating system on top of another operating system. It provides a thin layer of glass that subtly distorts all applications that lie beyond it. These web apps are caught in the nether world of being not quite a native app, and not quite pure web content. And as such you never quite feel fully at home – it’s more like living with a close friend. No matter how many times they say, “Mi casa es su casa” you still can’t quite bring yourself to eat ice-cream straight from the carton.

Moving the web forward

I believe the web has tremendous opportunity to grow, evolve and mature. I think if browsers did these 9 things differently, and appreciably better, the web would move forward faster.

For all who love the web, I pose the same question to you, “What would you improve in all web browsers?”


Image from Arahman Shehri

Join the Discussion

avatar
  Subscribe  
Notify of