Mobile/AddonsTrainingWeek/SpeakerNotesB: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with "==User Interface Considerations== * UI is very different. Read about the [https://wiki.mozilla.org/Mobile/Fennec/Extensions/UserInterface mobile UI guidelines]. ** You will not b...")
 
Line 17: Line 17:
* Different XUL structure
* Different XUL structure
** No TabBrowser
** No TabBrowser
** No main menu - Site Menu provides some space for commands
** No main menu - [https://wiki.mozilla.org/Mobile/Fennec/Extensions/UserInterface/Site_Menu Site Menu] provides some space for commands
** Context menu uses a restrictive design
** [https://wiki.mozilla.org/Mobile/Fennec/Extensions/UserInterface/Context_Menu Context Menu] uses an extensible, but restrictive design
* Multi-process
* [https://wiki.mozilla.org/Mobile/Fennec/Extensions/Electrolysis Multi-process]
** No direct DOM access
** No direct DOM access
** No DOM event bubbling
** No DOM event bubbling
** Move DOM sensitive into frame scripts
** Move DOM sensitive into frame scripts
** Learn how to use IPC messaging
** Learn how to use IPC messaging

Revision as of 16:15, 21 October 2010

User Interface Considerations

  • UI is very different. Read about the mobile UI guidelines.
    • You will not be able to assume the desktop XUL overlays will "just work".
    • Dialogs and Preferences are handled very differently.
    • Screen size becomes very important and a limiting factor. Work on your layout.
    • Maintaining "touch-friendly" widgets is critical.
    • Simplify everything.
  • Guidelines
    • Minimize your UI
    • Delay initialization
    • Blend into the application
    • Support touch and panning
    • Support portrait and landscape
    • Read the best practices document for more pointers.

Common How-tos

  • Different XUL structure
    • No TabBrowser
    • No main menu - Site Menu provides some space for commands
    • Context Menu uses an extensible, but restrictive design
  • Multi-process
    • No direct DOM access
    • No DOM event bubbling
    • Move DOM sensitive into frame scripts
    • Learn how to use IPC messaging