Difference between revisions of "Human Interface Guidelines"

From WebOS-Ports
Jump to navigation Jump to search
Line 25: Line 25:
 
[http://github.com/webOS-ports/org.webosports.app.calendar/ Calendar on Github]
 
[http://github.com/webOS-ports/org.webosports.app.calendar/ Calendar on Github]
  
<!--[http://webos-ports.github.com/org.webosports.app.contacts/debug.html Contacts]-->
+
[http://webos-ports.github.com/org.webosports.app.contacts/debug.html Contacts]
  
 
[http://github.com/webOS-ports/org.webosports.app.contacts/ Contacts on Github]
 
[http://github.com/webOS-ports/org.webosports.app.contacts/ Contacts on Github]
Line 41: Line 41:
 
[http://github.com/webOS-ports/org.webosports.app.pdf/ PDF on Github]
 
[http://github.com/webOS-ports/org.webosports.app.pdf/ PDF on Github]
  
<!--[http://webos-ports.github.com/org.webosports.app.phone/debug.html Phone]-->
+
[http://webos-ports.github.com/org.webosports.app.phone/debug.html Phone]
  
 
[http://github.com/webOS-ports/org.webosports.app.phone/ Phone on Github]
 
[http://github.com/webOS-ports/org.webosports.app.phone/ Phone on Github]
Line 49: Line 49:
 
[http://github.com/webOS-ports/org.webosports.app.settings/ Settings on Github]
 
[http://github.com/webOS-ports/org.webosports.app.settings/ Settings on Github]
  
[http://webos-ports.github.com/org.webosports.app.testr/debug.html Testr] check with Morphis
+
[http://webos-ports.github.com/org.webosports.app.testr/debug.html Testr]  
  
 
[http://github.com/webOS-ports/org.webosports.app.testr/ Testr on Github]
 
[http://github.com/webOS-ports/org.webosports.app.testr/ Testr on Github]

Revision as of 12:27, 14 January 2014

This page details the steps that need to be taken in order to create a webOS Ports styled UI in EnyoJS. Developers wanting to write core-apps for Open webOS should use this as a guideline.

Basic User Interface

The main user interface in a webOS Ports app generally focuses on a screen size-aware enyo.Panels kind and a gesture area (virtual or otherwise).

The top-level kind is a container for the main app and a virtual gesture area, which is hidden on platforms that provide window.PalmSystem.

The main app normally contains an enyo.Panels kind. This should use a CollapsingArranger by default, which is best for tablets and desktop browsers. The reflow function should be implemented and check enyo.Panels.isScreenNarrow(), switching between CollappsingArranger (wide) and CoreNaviArranger (narrow) when necessary.

The first panel should contain the app's main menu, which is referred to as the Menu Panel. The second panel contains the content associated with the main menu's options, and usually starts off blank. This is the Content Panel- Most often a second enyo.Panels kind is nested inside this one to allow for easy transitions between content.

Reference Apps

The best references to work from when implementing a webOS Ports style UI are the existing core app rewrites:

Browser

Browser on Github

Calculator

Calculator on Github

Calendar

Calendar on Github

Contacts

Contacts on Github

First Use

First Use on Github

Memos

Memos on Github

PDF

PDF on Github

Phone

Phone on Github

Settings

Settings on Github

Testr

Testr on Github