iLabs Status and Toolbox


Published on

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

iLabs Status and Toolbox

  1. 1. iLabs; status and how to use the iLabs Mobile Toobox Hilde Lovett & Else Nordhagen, November 2008
  2. 2. Agenda • what we have done in iLabs so far • how you can use iLabs Mobile Developers Toolbox 2
  3. 3. iLabs team Rene Geers Bjørn Remseth Hilde Lovett Stian Børresen Else Nordhagen 3
  4. 4. Starting point The rules of the game are changing Existing business-, collaboration and innovation models are challenged seems to create joint value in an attractive way for the involved players We do not know how this game will be played Hypothesis: Use of open source software, open apis and -standards will create attractive collaboration communities for faster and better (mobile) service innovation 4
  5. 5. Starting point • open source on mobile: – start with JavaME (Sun intention to open source all sw, large footprint) – now Open Source on the mobile is the rule • open apis: – start with Googles open APIs – now Cloud Computing is the rule • open standards – goes without saying <HTML> 5
  6. 6. Services in the cloud, where businesses live Telecom as a Content distribution service Platform as Software as a service a service ✓ open and documented APIs ✓ self service agreements ✓ pay for what you use Utility computing ✓ support edges Managed Service ✓ easy to scale when Provider (MSP)‫‏‬ successful ✓ global presence Web services Service in the cloud Commerce Platform 8 Social Networks 09/29/08 6 Source: inspired by “What cloud computing really means”
  7. 7. The edges of the cloud where people live 7 09/29/08 7 Source: inspired by “What cloud computing really means”
  8. 8. open source has become the rule on the mobile phone Today Google, Nokia, Apple & widget platforms Sun all has open source as part of their strategies mobile web-based applications Cocoa harmonisation layer NOKIA S40 FX mobile operating system 8
  9. 9. Highlights • May 07: Launch of iLabs Mobile Developers Toolbox • June 07: Launch Facebook client • Sept 07: Open Source in Mobile (OSIM), Madrid • April 08: Relaunch & Stand på GoOpen with Telenor • May 08: NKUL, One Laptop pr Child • June 08: Open Nordic Mobile, Frinett partner • August 08: No 3 in Telenor R&I “venture-cup” • September 08: JavaZone, NOKIOS ‣ Attention inside and outside Telenor ‣ Growing community of users and contributors ‣ Input to projects in Telenor 9
  10. 10. iLabs Mobile Developers Toolbox (beta) Help developers create mobile Internet applications The toolbox widger provides example open open open applications mini mini mini and libraries for blogger chatter browser Java enabled phones ATOM XMPP HTML Open Source Licence: L-GPL allowing commercial use <HTML> <ATOMS>
  11. 11. Sourceforge, Nov 08: 699 downloads Status Toolbox Norway, China, US, India, Italy, Lithuania, Finland, Philipines, Croatia, Bangladesh 11
  12. 12. iLabs so far: open source opens doors Green touch (Arkitekthøyskolen) WellCom (EU, Telenor R&I) The informed individual (misc. organisations) Canadian Vaccination program company (IFI, UiO) 12
  13. 13. How you cab use iLabs Mobile Toolbox • Design goals • The library for Java ME programmers • Widger: Server side scripting of mobile applications 13
  14. 14. Design goals: • Hide heterogeneity of devices • One binary per application (no conditional compilation!) • Remove common JME pitfalls. – Screen handling (Forms, Canvas) – Event handling (Buttons, Menus) • Simplify layout control of subwindows • Simplify drawing of text, pictures etc. • Standard way for handling menus, tabbed views • Leverage existing code for HTML, XMPP, ATOMS, Blogger... • Do not require an external proxy 14
  15. 15. Example: Open Mini Chatter • A Google Talk client • Uses components: – Menus – Forms – Username /Password – Tabbed view – Switching between chats – HtmlView – for chat content – XMPP – Network protocol 15
  16. 16. OpenMiniChatter – dry run: 16
  17. 17. OpenMiniChatter - dry run - use of TabView 17
  18. 18. Lesson I: • It’s not that hard to write useful, portable JME programs anymore ;) • Most layout code in our demo programs end up being based on HTML, even when we’re not really doing web browsing. • But we can make it even easier: 18
  19. 19. Where we started - where we ended up: 1. Plain JME programming JME 2. Social Networking : easiest to app. render HTML content from others UI elements .jad&.jar 3. HTML : also used to make the .html user interface 4. AHA: nice, UI just like the web :-) 5. => Server side scripting as mobile programming method. 6. Enabling developer to make their own mobile applications without writing JME 19
  20. 20. J2ME programs vs. server side XML J2ME App. J2ME J2ME Widger App. J2ME App. .jad&.jar App. App. .jad and .jar xml & html files App. Widgets 20
  21. 21. WIDGER: Widlets through markup • A Widger (an application) • that runs runs Widlets (pieces of functionality living in the widger sandbox) • that holds Views (showing some kind of content) that have • Actions (that makes things happen). Documentation: 21
  22. 22. UngWeb in Møre og Romsdal Fylkeskommune 22
  23. 23. UngeWeb: Widlet for ONE news item: 23
  24. 24. XML for widlet for one news item: <?xml version=quot;1.0quot; encoding=quot;windows-1252quot;?> <widlet ver=quot;0.2quot; id=”tabbednyhetquot;> <view type=quot;tabsquot; id=quot;mainquot;> <view type=quot;panelquot; id=quot;panel1quot; title=quot;Nyhet 1quot; icon=quot;/img/FolderExplorer.pngquot; show=quot;truequot;> <view type=quot;webquot; id=quot;web1quot; url=quot;nyhet1.htmlquot;></view> <action type=quot;loadiwgquot; label=quot;Nyheterquot; url=quot;nyheter.iwgquot; button=quot;rightquot;/> </view> <view type=quot;panelquot; id=quot;panel2quot; title=quot;Kommentarerquot; icon=quot;resource://FolderExplorer.pngquot;> <view type=quot;webquot; id=quot;web2quot; url=quot;nyhet1_kommentarer.htmlquot;></view> <action type=quot;reloadurlquot; label=quot;Oppdaterquot; for=quot;web2quot; /> <action type=quot;loadiwgquot; label=quot;Nyheterquot; url=quot;nyheter.iwgquot; button=quot;rightquot;/> </view> <view type=quot;panelquot; id=quot;panel3quot; title=quot;Skriv selvquot; icon=quot;resource://BlogView.pngquot;> <view type=quot;webquot; id=quot;web3quot; url=quot;nyhet1_skrivSelv.htmlquot;></view> <action type=quot;loadiwgquot; label=quot;Nyheterquot; url=quot;nyheter.iwgquot; button=quot;rightquot;/> </view> </view> </widlet> 24
  25. 25. Integrate with authoring tools: Generates HTML UngWeb and .iwg Edit with eZ publish Widger 25
  26. 26. Lesson II: Mobile phones do not support all protocols • Protocol code is painful and error prone to write in JME, – e.g. HTTPS :-( – FaceBook, Twitter, FEIDE (ID login), ... • Workaround: external proxies that offload complexity The service server Proxy Widger 26
  27. 27. Two servers and one client: The Twitter Widger/Twitter adapter Server (in example demo running on an iLabs server) Widger running the Twitter Widlet 27
  28. 28. Widget Twitter dry run: Server side login and formatting using forms and simple html. In this case all pages are created on our server, not twitters. Saves bytes and fixes problems with phone heterogeneity and weaknesses. 28
  29. 29. Advantages and Disadvantages: • Advantages • Disadvantages • Shorter development time • You need a server • Simpler client programs • .. that scales – handles more phones • Need to handle security issues – smaller on the server – faster • Limited functionality on client • No need to download application side, but you can always code again when updating service. JME since its open source! • Less network traffic on client due to tailored content on your server • Better tools on server side for program development than JME... • Easy to upgrade application 29
  30. 30. Where we are now.. And where to go.. • It works! on a lot of phones. • Its rather clean, easy to use and extend. • Documentation in the code and examples - and working applications. But no tutorials. • Several users outside of the core team. • Server side configuration enables new groups to make applications for mobile phones! • Lots of ideas for making it better! • Extend with phone specific functions, like the camera plugin, and telco assets (OMTP standardization initiative) • Further develop the server side configuration idea • Grow the developer and user community 30
  31. 31. thank you for the attention • we meet at 31