Your SlideShare is downloading. ×
0
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Advanced webOS
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Advanced webOS

2,036

Published on

Justin Tulloss goes in-depth with JavaScript and webOS.

Justin Tulloss goes in-depth with JavaScript and webOS.

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

No Downloads
Views
Total Views
2,036
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
111
Comments
0
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide


  • Leaving a lot of time for Q&A.













  • Works for both dashboards and popups















  • Transcript

    • 1. Advanced webOS Justin Tulloss Sr. Software Engineer April 24, 2010
    • 2. Overview • Multi-Stage basics • Dashboards • Popups • Relaunching • The Future • Q&A
    • 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. Multi-Stage Basics
    • 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. Basic APIs
    • 7. From a Scene Assistant
    • 8. Stage Types • Card • Dashboard • Popup
    • 9. Dashboards and Banners
    • 10. Example: MainAssistant
    • 11. Example: DashboardStageAssistant
    • 12. Example: Message View
    • 13. Example: MessageAssistant
    • 14. Popups
    • 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. Example: New ChildStageAssistant
    • 17. Example: Pushing Dashboard Scene Moved
    • 18. Example: Creating a Popup
    • 19. Example: Popup Scene
    • 20. Example: Popup Assistant
    • 21. Example: Very Simple Popup
    • 22. Relaunching
    • 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. AppAssistant • Shared across all child stages • Handles relaunching • Convenient place to stick shared state • Try not to share state
    • 25. Example: App Assistant
    • 26. Example: Setting Default Stage
    • 27. Example: Launch Parameters in Banner
    • 28. The Future
    • 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. Q &A

    ×