SlideShare a Scribd company logo
Creating  Mobile Widgets Ricardo Varela Mobile Engineering Lead OverTheAir hack fest – London - Apr 4 th
Background Mobile development? That is such a good idea! “ Write once, run anywhere”
Fast forward..
The solution?
Yahoo! to the rescue We mean… to our own rescue too!
Widgets Our open platform for mobile development Simple declarative XML language, blueprint (based on XForms) Objective: give your app the maximum distribution possible!
Blueprint guidelines Breadth over depth Get your content out to everybody Simplicity + good results Graceful degradation + best-of-class experience “ Write once, run in as much as possible”
Minimum Effort Write once..
Maximum Fidelity Run everywhere we can..
Game plan Open platform to enable YOU to create mobile content in an easier way! Searching for the killer mobile app
References Yahoo! Mobile Widgets SDK Blueprint http://mobile.yahoo.com/ http://mobile.yahoo.com/developers http://mobile.yahoo.com/gallery# Yahoo Go client / HTML client http://beta.m.yahoo.com
Blueprint Simple declarative XML language based on XForms Semantic, template-based Used in both snippets & widgets
Snippets Live in the mobile home page Have 2 views: normal Extended [opt]
Widgets Have their own set of pages Accessed from carousel
Side note: rss views RSS views come for free To set up a simple RSS View, write a  config.xml  file in which the source url   (widget or snippet) specifies the source of the RSS feed
Carousel
Blueprint roadmap Phase 1 (in beta) server-side logic Phase 1.5 support for oneSearch/Connect/Place May just turn into... Phase 2 Full data model, MVC
Blueprint sample <!-- hello_app.xml --> <page> <content> <section> <module> <trigger> <label>Click Me!</label> <load-page event=&quot;activate“ page=&quot;greet.xml&quot; /> </trigger> </module> </section> </content> </page> <!-- greet.xml --> <page id=&quot;greet&quot;> <content> <section> <module> <header layout=&quot;simple&quot;> <layout-items> <block  class=&quot;title&quot;>Greeting</block> </layout-items> </header> <block>Hello World!</block> </module> </section> </content> </page>
Blueprint structure: widgets
Blueprint structure: snippets
Display structure
Display controls Blocks, placards, image lists, data input (simple, multiline, passwd)… Coming soon: maps, searchbox,… Check the doc in the SDK
Building widgets Get SDK http://mobile.yahoo.com/developers Generate 2 code “facets”: Submission package  Server code
Building widgets (ii) Start from a template (samples included) Modify config, add images.. Implement server-side code Test on browser! Submit test via: http://mobile.yahoo.com/developers/test/upload   When ready, submit to gallery Profit!
Submission package Includes config files, images and metainfo Stored in Yahoo servers
Sample config file <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <config xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=“http://mobile.yahoo.com/widgets/schema/1.0/config/” xmlns=&quot;http://mobile.yahoo.com/widgets/schema/1.0/config/&quot;> <title>HelloWorld Example</title> <version>1.0</version> <identifier>helloworld-example-rv</identifier> <description>A Hello World Widget.</description> <icon>icon</icon> <author organization=&quot;Yahoo!&quot; href=&quot;http://www.yahoo.com&quot;>Ricardo Varela</author> <widget base=&quot;http://phobeo.com/hacks/yahoowidgets/hellowidget&quot;> <preview> <icon>icon</icon> <label>Hello world!</label> </preview> <shortcuts> <item default=&quot;true&quot;> <label>Main</label> <href>helloworld.php</href> </item> </shortcuts> </widget> </config>
Sample gallery file <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <gallery xmlns=&quot;http://mobile.yahoo.com/widgets/schema/1.0/gallery/&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance“ xsi:schemaLocation=&quot;http://mobile.yahoo.com/widgets/schema/1.0/gallery/ http://mobile.yahoo.com/widgets/schema/1.0/gallery/&quot;> <description lang=&quot;en&quot;>A simple hello world widget for testing</description> <tags> <tag>hello</tag> <tag>world</tag> <tag>example</tag> </tags> </gallery>
Images Best results: upload them Must supply multiple sizes <name>_<width>x<height>.<extension> Just reference by name <image reference=&quot;icon&quot; size=&quot;small&quot;/> Fill-styles only work on uploaded images
Server code Create the php files in your server Pointed from config Notes: Remember to set content type ( application/x-ywidget+xml or application/x-ysnippet+xml)
Server code (ii) Can be static… <page>  <content>  <section> <module>  <header layout=&quot;simple&quot;>  <layout-items>    <block class=&quot;title&quot;>Blueprint XML</block>  </layout-items>  </header>  <block>Hello World!</block>  </module></section> </content></page>
Server code (iii) Or use blueprint php library… (not pasted, see code)
The result
And now… it’s up to you!
Note: Work in progress! …  really, we feel your pain… For more help: Dev Guide  Developers Group http:// tech.groups.yahoo.com/group/yhoomobiledevelopers
Thanks! Ricardo Varela [email_address]

More Related Content

PPTX
J Query Presentation
PPTX
10 things to make you a Great Mobile Web Developer
PPT
Web APIs & Google APIs
PPT
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
PPTX
Html5 inputs
PDF
PWA - The hidden stories about the future of the web
PPTX
Make mobile web apps rock
J Query Presentation
10 things to make you a Great Mobile Web Developer
Web APIs & Google APIs
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Html5 inputs
PWA - The hidden stories about the future of the web
Make mobile web apps rock

What's hot (20)

ODP
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
PPTX
That's crazy! how to build single page web apps
ODP
Optimizing Drupal for Mobile Devices
PPTX
University Hackathon Kit
PPTX
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise
PPT
Mobile library on drupal cil2011
PPT
Fast Loading JavaScript
PPTX
LinkedIn Platform at LeWeb 2010
PPT
Intro on GWT & Google APIs (Vikram Rangnekar, COO of Socialwok.com)
PPTX
WordPress Theming
PPT
Pinned Sites in Internet Explorer 9
PPTX
Choosing the Right Mobile Development Platform (Part 2)
PDF
Conditional Love - Using WordPress Conditional Tags to Write More Effective T...
PPT
WordPress Development Confoo 2010
PPTX
06 UI Layout
KEY
Html5 nl
PPT
Gadgets Intro (Plus Mapplets)
PPTX
SEO Before Yoast: WordCamp Rhode Island
PPTX
Web Front End Performance
PPTX
5 single page application principles developers need to know
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
That's crazy! how to build single page web apps
Optimizing Drupal for Mobile Devices
University Hackathon Kit
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise
Mobile library on drupal cil2011
Fast Loading JavaScript
LinkedIn Platform at LeWeb 2010
Intro on GWT & Google APIs (Vikram Rangnekar, COO of Socialwok.com)
WordPress Theming
Pinned Sites in Internet Explorer 9
Choosing the Right Mobile Development Platform (Part 2)
Conditional Love - Using WordPress Conditional Tags to Write More Effective T...
WordPress Development Confoo 2010
06 UI Layout
Html5 nl
Gadgets Intro (Plus Mapplets)
SEO Before Yoast: WordCamp Rhode Island
Web Front End Performance
5 single page application principles developers need to know
Ad

Viewers also liked (20)

PPS
Double Vision
PPT
Meet Croatia through pictures
PDF
yahoo mobile widgets
PDF
Message from Diamond Financial
PDF
Verb 2
PDF
Notes on the diet of seven terretrial frogs in three agroecosystems
PDF
Xauusd outlook jan 9 , 15
PPTX
El sistema solar xD]
PDF
March Madness WebQuest
PPT
GTA Food and Beverage
PPTX
It’s about time history as method phdclass
PPT
The University of Southern Mississippi 40th Anniversary Gala 2008
PPT
Anglo Technical Recruitment presentation
PPT
Alcohol Presentation
PDF
WAC Network APIs @ OverTheAir 2011
PPT
Yahoo Mobile Widget Vision
PPS
Cosmology And Astronomy
PDF
Over The Air 2010: Privacy for Mobile Developers
PPS
Amazing Foodscape Scenery
PDF
introduction to data processing using Hadoop and Pig
Double Vision
Meet Croatia through pictures
yahoo mobile widgets
Message from Diamond Financial
Verb 2
Notes on the diet of seven terretrial frogs in three agroecosystems
Xauusd outlook jan 9 , 15
El sistema solar xD]
March Madness WebQuest
GTA Food and Beverage
It’s about time history as method phdclass
The University of Southern Mississippi 40th Anniversary Gala 2008
Anglo Technical Recruitment presentation
Alcohol Presentation
WAC Network APIs @ OverTheAir 2011
Yahoo Mobile Widget Vision
Cosmology And Astronomy
Over The Air 2010: Privacy for Mobile Developers
Amazing Foodscape Scenery
introduction to data processing using Hadoop and Pig
Ad

Similar to Creating Yahoo Mobile Widgets (20)

ODP
IBM Lotus Notes Domino XPages and XPages for Mobile
PPT
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
PPT
Introduction to Alfresco Surf Platform
PPTX
Spring Surf 101
PPT
Silver Light By Nyros Developer
PPT
jQuery Mobile
PPT
Yahoo Mobile Widgets
PPT
BluePrint Mobile Framework
PPS
Flash Templates- Joomla!Days NL 2009 #jd09nl
PPS
Flash templates for Joomla!
PPT
Rey Bango - HTML5: polyfills and shims
PPT
Web 2.0 Lessonplan Day1
POT
Browser extension
POT
Browser extension
PPT
Enterprise AIR Development for JavaScript Developers
PPT
Internet Explorer 8 for Developers by Christian Thilmany
PPT
Ajax to the Moon
PPT
Building Web Hack Interfaces
PPT
Migration testing framework
PPT
Ruby & Python with Silverlight O RLY? YA RLY!
IBM Lotus Notes Domino XPages and XPages for Mobile
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
Introduction to Alfresco Surf Platform
Spring Surf 101
Silver Light By Nyros Developer
jQuery Mobile
Yahoo Mobile Widgets
BluePrint Mobile Framework
Flash Templates- Joomla!Days NL 2009 #jd09nl
Flash templates for Joomla!
Rey Bango - HTML5: polyfills and shims
Web 2.0 Lessonplan Day1
Browser extension
Browser extension
Enterprise AIR Development for JavaScript Developers
Internet Explorer 8 for Developers by Christian Thilmany
Ajax to the Moon
Building Web Hack Interfaces
Migration testing framework
Ruby & Python with Silverlight O RLY? YA RLY!

Recently uploaded (20)

PPTX
Machine Learning_overview_presentation.pptx
PPTX
Spectroscopy.pptx food analysis technology
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Cloud computing and distributed systems.
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
cuic standard and advanced reporting.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
DOCX
The AUB Centre for AI in Media Proposal.docx
Machine Learning_overview_presentation.pptx
Spectroscopy.pptx food analysis technology
MYSQL Presentation for SQL database connectivity
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Encapsulation_ Review paper, used for researhc scholars
MIND Revenue Release Quarter 2 2025 Press Release
Digital-Transformation-Roadmap-for-Companies.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Cloud computing and distributed systems.
Programs and apps: productivity, graphics, security and other tools
Reach Out and Touch Someone: Haptics and Empathic Computing
Mobile App Security Testing_ A Comprehensive Guide.pdf
sap open course for s4hana steps from ECC to s4
cuic standard and advanced reporting.pdf
Electronic commerce courselecture one. Pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Advanced methodologies resolving dimensionality complications for autism neur...
The Rise and Fall of 3GPP – Time for a Sabbatical?
The AUB Centre for AI in Media Proposal.docx

Creating Yahoo Mobile Widgets

  • 1. Creating Mobile Widgets Ricardo Varela Mobile Engineering Lead OverTheAir hack fest – London - Apr 4 th
  • 2. Background Mobile development? That is such a good idea! “ Write once, run anywhere”
  • 5. Yahoo! to the rescue We mean… to our own rescue too!
  • 6. Widgets Our open platform for mobile development Simple declarative XML language, blueprint (based on XForms) Objective: give your app the maximum distribution possible!
  • 7. Blueprint guidelines Breadth over depth Get your content out to everybody Simplicity + good results Graceful degradation + best-of-class experience “ Write once, run in as much as possible”
  • 9. Maximum Fidelity Run everywhere we can..
  • 10. Game plan Open platform to enable YOU to create mobile content in an easier way! Searching for the killer mobile app
  • 11. References Yahoo! Mobile Widgets SDK Blueprint http://mobile.yahoo.com/ http://mobile.yahoo.com/developers http://mobile.yahoo.com/gallery# Yahoo Go client / HTML client http://beta.m.yahoo.com
  • 12. Blueprint Simple declarative XML language based on XForms Semantic, template-based Used in both snippets & widgets
  • 13. Snippets Live in the mobile home page Have 2 views: normal Extended [opt]
  • 14. Widgets Have their own set of pages Accessed from carousel
  • 15. Side note: rss views RSS views come for free To set up a simple RSS View, write a config.xml file in which the source url (widget or snippet) specifies the source of the RSS feed
  • 17. Blueprint roadmap Phase 1 (in beta) server-side logic Phase 1.5 support for oneSearch/Connect/Place May just turn into... Phase 2 Full data model, MVC
  • 18. Blueprint sample <!-- hello_app.xml --> <page> <content> <section> <module> <trigger> <label>Click Me!</label> <load-page event=&quot;activate“ page=&quot;greet.xml&quot; /> </trigger> </module> </section> </content> </page> <!-- greet.xml --> <page id=&quot;greet&quot;> <content> <section> <module> <header layout=&quot;simple&quot;> <layout-items> <block class=&quot;title&quot;>Greeting</block> </layout-items> </header> <block>Hello World!</block> </module> </section> </content> </page>
  • 22. Display controls Blocks, placards, image lists, data input (simple, multiline, passwd)… Coming soon: maps, searchbox,… Check the doc in the SDK
  • 23. Building widgets Get SDK http://mobile.yahoo.com/developers Generate 2 code “facets”: Submission package Server code
  • 24. Building widgets (ii) Start from a template (samples included) Modify config, add images.. Implement server-side code Test on browser! Submit test via: http://mobile.yahoo.com/developers/test/upload When ready, submit to gallery Profit!
  • 25. Submission package Includes config files, images and metainfo Stored in Yahoo servers
  • 26. Sample config file <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <config xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=“http://mobile.yahoo.com/widgets/schema/1.0/config/” xmlns=&quot;http://mobile.yahoo.com/widgets/schema/1.0/config/&quot;> <title>HelloWorld Example</title> <version>1.0</version> <identifier>helloworld-example-rv</identifier> <description>A Hello World Widget.</description> <icon>icon</icon> <author organization=&quot;Yahoo!&quot; href=&quot;http://www.yahoo.com&quot;>Ricardo Varela</author> <widget base=&quot;http://phobeo.com/hacks/yahoowidgets/hellowidget&quot;> <preview> <icon>icon</icon> <label>Hello world!</label> </preview> <shortcuts> <item default=&quot;true&quot;> <label>Main</label> <href>helloworld.php</href> </item> </shortcuts> </widget> </config>
  • 27. Sample gallery file <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <gallery xmlns=&quot;http://mobile.yahoo.com/widgets/schema/1.0/gallery/&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance“ xsi:schemaLocation=&quot;http://mobile.yahoo.com/widgets/schema/1.0/gallery/ http://mobile.yahoo.com/widgets/schema/1.0/gallery/&quot;> <description lang=&quot;en&quot;>A simple hello world widget for testing</description> <tags> <tag>hello</tag> <tag>world</tag> <tag>example</tag> </tags> </gallery>
  • 28. Images Best results: upload them Must supply multiple sizes <name>_<width>x<height>.<extension> Just reference by name <image reference=&quot;icon&quot; size=&quot;small&quot;/> Fill-styles only work on uploaded images
  • 29. Server code Create the php files in your server Pointed from config Notes: Remember to set content type ( application/x-ywidget+xml or application/x-ysnippet+xml)
  • 30. Server code (ii) Can be static… <page> <content> <section> <module> <header layout=&quot;simple&quot;> <layout-items> <block class=&quot;title&quot;>Blueprint XML</block> </layout-items> </header> <block>Hello World!</block> </module></section> </content></page>
  • 31. Server code (iii) Or use blueprint php library… (not pasted, see code)
  • 33. And now… it’s up to you!
  • 34. Note: Work in progress! … really, we feel your pain… For more help: Dev Guide Developers Group http:// tech.groups.yahoo.com/group/yhoomobiledevelopers
  • 35. Thanks! Ricardo Varela [email_address]