I really think the writing is on the wall. The way we navigated within or mobile sets across the board will shift between touch/multi-touch and tactile keyboard as a standard across all mobile manufacturers. iPhone was not the first to provide touch capabilities to a phone/PDA however the way it works is very natural to the average joe and brings the navigation to the figures with gestures, and flicks. Samsung is releasing their ‘Instinct’ phone that also provides touch capabilities. I read yesterday that Windows Mobile 7 will introduce new UI and touch capabilities merging the SmartPhone OS with the PPC OS finally 🙂 Also with the next version of Windows multi-touch capabilities will be introduced into the OS and support will exist even for existing tablet PCs. The only device provider that I have not heard much about when it comes to touch support is RIM but I suspect that as the playing field levels it is only a natural direction for them to go in.
Given all of the shifts to touch on these devices it really bodes well for technologies like Silverlight/WPF and other Rich UI development environments.
One of the things I have been thinking about lately is mobile navigation. For example in the Sage Mobile Platform you drill down from form to form to see the information you are looking for be contacts, accounts, or opportunities. The forms are tab bases so you further drill down to a tab and navigating back and forth is through a collection of menu/tool button choices and popping screens.
My Ideas of Next Generation Navigation
The platform follows a pretty specific pattern and is more the likely shared by other menu platforms. Login->Select a Menu Item->Search for your data->view/change your data->save->close search->Start again. I am starting to think in a more view port methodology where composed entities are snapped together end to end and these entities are bound by a central context. If I can be clearer, there is no reason that a screen of data needs to display completely related material, or if it does it can display it in completely different ways. An individual ‘View’ is made up of many interchangeable pieces that can be snapped together end to end. This takes away the ‘TAB’ UI metaphor and allow gesture navigation between tiles where the navigation shape can be box, or linear based. Tying the movements from one tile to another tile would be handled by the transition engine (Scrolling, replace, .. kinds of transitions) .
Given that these views are created by snapping together individual tiles the level of composition increases and allows for individual control over navigation and flow. For example say to me my contact information for a given user is the most important thing. Right now I have to do one of 2 things, select contacts->search for the contact->edit the contact or add the contact->Navigate to the Favorites->edit contact. Ok, I now have decided that I am going into see that contact, instead of searching for the contact again and again (review address to get there, while waiting for the meeting, potentially in meeting to review details) I can ‘Tear’ off the contact and associated it to my main view where the details of that contact are up-front and central.
This approach also opens up the capabilities around dashboards, and reports on mobile devices as you can easily navigate around a much larger view simply by gesturing.