Article Index |
---|
Palm webOS by O'Reilly - Chapter 1 Summary - Part 1 |
webOS User Interface |
All Pages |
This is part 1 of the "cliffs notes" version of Chapter 1 of Palm webOS "Rough Cuts" by O'Reilly Media. We're going to be summarizing each chapter as it's released, in case you don't have time to read the whole (in this case, 26-page) doc. We will also be leaving out stuff that you probably already know (e.g. "Palm webOS is Palm's next generation operating system.")
Tomorrow we'll be posting the rest of the Chapter 1 summary, which gets into more technical details of the Mojo framework. Update: Posted.
Chapter 1 - Overview of webOS
Introduction
- webOS designed around multi-tasking: background processes, event handling without losing context.
- Integrates power of a window-based operating system with the symplicity of a browser.
- Designed to run on variety of hardware with different screen resolutions and aspect ratios, with or without keyboards and works best with a touchpanel though doesn't require one. [devices without keyboards would provide on-screen keyboards?]
- Because UI and application model built on web browser, range of suitable hardware platforms is wide.
- webOS applications built following typical practices for AJAX applications.
Application Model
- Typical native application model: data, logic, UI integrated within executable installed on native OS; direct access to OS services and data.
- AJAX apps deliver richer experience than standard HTML apps; responsiveness is enhanced by feedback provided in close-to-real time as opposed to traditional web apps that must refresh to provide feedback.
- Connected applications that leverage dynamic data or web services are becoming predominant form of modern application.
- webOS app model combines ease of development and maintenance of a web application with deep integration available to native apps.
- [Take-away: Palm is telling us that these are not stunted, limited "web apps" (a la iPhone web SDK). They are as powerful as native apps.]
Application Framework and OS
- Apps can embed UI widgets with editing, navigation and display features.
- Framework includes event handling, notification services and a multi-tasking model.
- Create and manage persistent data using HTML5 storage functions
Access data from:
- webOS core apps including Contacts and Calendars
- basic system services including Location services, Accelerometer data, XMPP messaging
- webOS System manager provides range of system UI features:
- navigation
- app launching and lifecycle management
- event management and notifications
- system status
- local and web searches
- rendering HTML/CSS/JavaScript code
- Don't have to build webOS app to make your content available to webOS devices; can use standard web page/web app
- Other applications included with webOS: contacts, calendar, tasks, memos, phone, browser, email, messaging
- Included in "initial release": camera, photo viewer, audio/video player, map application
- App suite will vary depending on model and carrier
User Interface
Navigation
- Based on gestures with optional extensions
- Main gestures: tap, back, scroll [back motion made on dedicated gesture area]
- Other gestures: pan, zoom, drag & drop, switch applications, switch views, search, filter lists, launch applications
Launcher
- Upon webOS startup, there is a status bar at top of screen and quick launch bar at bottom
- From launcher view, a search can be performed on contacts, installed applications, or web
- Launched app becomes foreground; quick launch bar dismissed.
- Status bar always visible except full-screen mode (can be requested by any app)
- All transitions in webOS are smooth
Card View
- Applications can have floating icons that open a sub menu, dialog, or alternate view.
- Pressing center button at any time brings up card view, which displays applications as sequence of cards that can be scrolled through to switch to another application
- Cards can be:
- reordered
- thrown away (closes application)
- quick launch bar appears while in card view
- multitasking=goodness because:
- One activity may require multiple applications; e.g. writing an email and looking up information on the web; reading an urgent email that arrives as you are writing
- Certain activities may be more efficiently done in parallel, e.g. writing several emails at once
Notifications and the Dashboard
- When switching to new application, previous application continues to run as background application
- Background applications can:
- get events
- read/write data
- access services
- repaint themselves (i.e. update their interface with new information)
- Background apps can communicate with user through two types of notifications:
- Popup - Non-modal dialogs - fixed heght with one button; disruptive - appropriate for time sensitive or urgent notifications - users are forced to take action but not immediately
- Banner - Non-modal icon and single non-styled string of text; displayed in slow crawl along bottom of screen in "notification bar"; can leave behind summary icon in notification bar as reminder.
- Tapping notification bar brings up dashboard.
- Dashboard lists summary of notifications and updates/mini UIs posted by background apps and headless apps [see headless apps, below]
- Notification bar and Dashboard manage interruptions and events without disrupting current activities.
- Headless applications run exclusively in dashboard; do not have card view; an example is a weather application. [These would be similar to dashboard widgets in Mac OS X or sidebar gadgets in Vista.]
User Interface Principles
- Principles/values that support enhanced user experience with webOS devices:
- Physical metaphors: direct interaction with application objects and features, instant response to actions
- Sense of place: Repeatable, reversible actions, stable object placement and visual transitions
- Up-to-date data: Pushing/pulling the latest data so the user is never looking at stale data; managing on-device cached data for offline use
- Fast and simple: All features should be designed for instant response; minimal learning curve and efficient for experienced users
- Minimize steps for common functions: Frequently executed commands on-screen, less frequently in menus.
- Don't block the user: Where possible, don't use modal controls
- Consistency: Help the user learn quickly by utilizing consistent UI paradigms.<
- Palm apps have always been built around direct interaction model: user touches screen to select, navigate, edit.
- Palm webOS apps have significantly expanded vocabulary for interaction, but start at same place.
Check back for Part 2 tomorrow! Update: Posted.
0 Comments