Tuesday, March 27, 2007

Browser Acceleration and Orientation

Perhaps the most revolutionary thing about both the iPhone and the Wii is their ability to detect acceleration and orientation. The iPhone automatically converts from landscape to portrait mode depending on which way you hold it, and the Wii was designed to allow tennis strokes, golf shots or boxing matches simply by moving the control.

Ideally, the same functionality should be available on the web. You can imagine a browser that

  • Rotates between landscape and portrait mode, depending on device orientation
  • Scrolls up, down, left and right based on device acceleration

But what if the web developer wanted access to the same information? You can imagine websites that

  • Display maps, orientated to the direction the device is pointing at
  • Provide games based on "pointing", e.g. golf games
  • Provide games based on "moving", e.g. tennis games
The web developer will want to be able to access acceleration and orientation information, and use it to alter HTML, SVG or Flash.

Unfortunately, there's no standard for this on the internet. There is, however, a fairly obvious place where it could go - the javascript event object. In the same way that this object stores the current mouse location (for devices with mice), you can imagine it also storing x, y, and z axis acceleration and orientation (for devices with accelerometers and gyroscopes).

One interesting question concerns privacy. Does it matter that someone could track the orientation or acceleration of your phone, if you were logged on to their website?

Personally, I can't see this happening soon - the demand just isn't there yet. But once phone browsing takes off, after two or three years, it will be very interesting to see how this field develops.

In the meantime, the W3C should look at extending their standards to allow for acceleration and orientation. And phone browser providers, such as Opera, should consider upgrading their browsers to take advantage of the latest in user interface design.

Monday, March 26, 2007

Too many browser menus

Despite the huge recent improvement in browser interfaces – tabbed browsing, inbuilt search, RSS favourites, etc – I still think there’s a long way to go. In particular there are way too many inconsistent menu options.

Using Internet Explorer or Firefox, running on Windows, there is

  • A title bar menu allowing minimize / maximize / close
  • A standard menu, e.g. file / edit / view / tools
  • A set of browser commands, e.g. back / forward / refresh / homepage
  • An address bar
  • A tabs menu
What’s more, they’re all inconsistent – some open new web pages, others open dialog boxes, others execute some action on the existing web page.

The result is that half the screen gets taken up by confusing options and buttons before the content itself appears.

So what hope does a web application like Google Spreadsheets or SAP (themselves containing another two or three menus) have?

I think it’s time for a rethink. So I’ve listed some principles to re-organize the browser.

1. Use a ribbon bar The old file / edit / view / favourites / tools / help menu should be replaced by a new ribbon bar. Ribbon bars are simple, clear, and effective, and would merge the currently overlapping file menu and buttons underneath.

2. Hardware for common options The most selected browsers button are undoubtedly “back”, “forward”, “refresh” and “home”. In fact, they’re so common, and natural, that they deserve their own hardware.

The buttons F1 through F12 on the keyboard are rarely used and even more rarely understood. Why not replace them with “Back”, “Forward”, “Refresh” and “Home” buttons? This would free up screen real estate, and avoid unnecessary and error-prone mouse use.

The benefits are even bigger on touch-screen interfaces like the iPhone – you can imagine the standard buttons fitting underneath the screen.

It’s likely to be hardware vendors pushing this change. But Microsoft managed to get the new “Windows Start” button implemented, and a similar trick now could allow them to claim innovation and alignment with the internet.

3. No dialog boxes Dialog boxes crop up throughout browsers, especially in the tools and options menus. They’re not accessible – you can’t change font settings or view source – and they’re visually confusing, since they look different to web pages.

All these dialog boxes should be replaced by web pages that open up within the browser. There should be a local web page to allow you to edit connection settings or security options. And why doesn’t browser help open in the browser?

4. Reclaim the home page This is the most controversial principle. Your homepage should be set by the browser – you shouldn’t be allowed to change it to anywhere else, whether Google or Myspace.

On the homepage should be:

  • Your favourites (editable)
  • Your RSS feeds (editable)
  • Your history (with options to delete it)
  • Browser options (editable) – e.g. connection settings, security settings, view settings. Some of these will take you to other pages for more detail - see principle 3 above

5. Lose the title bar What use does the windows title bar have, for browsers? It tells you what the title of the page is – but so does the tab bar. It allows you to minimize, maximize, or close a window – but so does the tab bar.

Once you’ve got tabbed browsing, there’s absolutely no use for the title bar. In fact, it gets in the way – not only does it take up screen real estate, but it makes mouse control trickier (it’s far easier to select a button at the top of the page than one 12 pixels down).

So let’s get rid of the title bar!

Simpler, clearer, more concise So there you have it – five principles to get rid of the clutter of modern browsers. There’s plenty of innovation still to come in browser design!

Wednesday, March 21, 2007

Google Mobile Phone

Current rumours suggest Google is preparing a mobile phone. But I would be very surprised if Google got involved in designing hardware - it's not their core competency. Instead, I think the focus will be on a phone communications suite that revolutionizes the way we manage our inboxes, contacts, and calendars.

After all, the excitement surrounding the iPhone proves that people are looking for a better way to manage their personal communications. Blackberries are too corporate and clunky, phone address books are lost when you get a new phone, PC synchronization is a pain, and emails, voicemails, and text messages are all handled in different ways.

So it's worth asking what a mobile phone communications suite, done properly, would include:

  • A unified inbox - email, phone / voicemail, IM, text messages - that synchronizes with Gmail
  • A unified contacts database / phone address book, incorporating presence information, that synchronizes with Gmail contacts
  • A calendar application, incorporating alerts, that synchronizes with Google Calendar

All of this could be achieved using just the phone's web browser, local HTML pages, and synchronization software to transfer data between the phone and Google.

In fact, most of the synchronization software already exists - GData, Google's Atom store of calendar and contacts information. All that's required is an application on the phone to acccess it.

By implementing these ideas, Google would be playing to their strengths - they understand the internet, and this approach brings the basic internet tools of the URL, HTTP, HTML, CSS, and Javascript to the mobile phone.

Immediately, Google would lock in new customers to Gmail and Google Calendar. And one day, I'm sure you will see Google adverts alongside your phone's address book

Personally, I'm excited by this vision. I long for the day where I can access my personal data from any device, especially one as handy as the phone. Let's hope Google follow their instincts and bring the internet to the mobile phone.