Advanced webOS, Stanford

1,552 views

Published on

Justin Tulloss discusses advanced concepts in webOS, including multi-stage apps, banners, and dashboards.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,552
On SlideShare
0
From Embeds
0
Number of Embeds
435
Actions
Shares
0
Downloads
43
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide


  • Leaving a lot of time for Q&A.













  • Works for both dashboards and popups















  • Advanced webOS, Stanford

    1. 1. Advanced webOS Justin Tulloss Sr. Software Engineer April 24, 2010
    2. 2. Overview • Multi-Stage basics • Dashboards • Popups • Relaunching • The Future • Q&A
    3. 3. Why is this so complicated? The web isn’t designed for multi-window apps • Big departure from normal browser behavior • webOS offers a lot of different interactions • Performance issues led to complications • Expected globals (document, window, etc.) • Late recognition of the problem by Palm. Sorry.
    4. 4. Multi- Stage
    5. 5. Things to consider • Do you need another stage? Every time? • What is the most appropriate stage type? • How often do you rely on globals? • Prototype, jquery, document? • What state is shared between children?
    6. 6. Basic APIs
    7. 7. From a scene assistant
    8. 8. Stage Types • Card • Dashboard • Popup
    9. 9. Dashboard s and
    10. 10. Example: MainAssistant
    11. 11. Example: DashboardStageAssistant
    12. 12. Example: Message View
    13. 13. Example: MessageAssistant
    14. 14. Popups
    15. 15. Some new twists • Refactor child stage assistant to be generic • Not all stylesheets are loaded • Some styles are changed to assume a notification • Popups can have their height specified • Closing child windows is easy
    16. 16. Example: New ChildStageAssistant
    17. 17. Example: Pushing dashboard scene moved
    18. 18. Example: Creating a popup
    19. 19. Example: Popup scene
    20. 20. Example: Popup assistant
    21. 21. Example: Very simple popup
    22. 22. Relaunchin g
    23. 23. Relaunching basics • Certain actions cause your app to be “relaunched” • The appManager service passes in arguments • Your AppAssistant can change default launch behavior • You should never have to worry about whether or not your app was already open
    24. 24. AppAssistant • Shared across all child stages • Handles relaunching • Convenient place to stick shared state • Try not to share state.
    25. 25. Example: App Assistant
    26. 26. Example: Setting Default Stage
    27. 27. Example: Launch Parameters in banner
    28. 28. The Future
    29. 29. Upcoming API improvements • Default dashboards no longer require markup boilerplate • Just provide an icon, some text, and a count • Handles going from single item to multiple • SingletonStages • No more stageProxy shenanigans. • Failure cases are handled more elegantly
    30. 30. Q &A

    ×