iLabs; status and how to use the iLabs Mobile Toobox Hilde Lovett & Else Nordhagen, November 2008 www.ilabs.no
iLabs; status and how to use the iLabs Mobile Toobox
Hilde Lovett & Else Nordhagen, November 2008www.ilabs.no
Agenda
• what we have done in iLabs so far
• how you can use iLabs Mobile Developers Toolbox
2
iLabs team
3
Hilde Lovett
Bjørn Remseth
Rene Geers
Stian Børresen
Else Nordhagen
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
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
5
<HTML>
6
09/29/08
Service Commerce
Platform
Platform as a service
Web servicesin the cloud
Utilitycomputing
Software as a service
Services in the cloud, where businesses live
8
Telecom as a serviceContent distribution
Managed ServiceProvider (MSP)
Source: inspired by “What cloud computing really means”
✓ open and documented APIs
✓ self service agreements
✓ pay for what you use
✓ support edges
✓ easy to scale when successful
✓ global presence
Social Networks
7
09/29/08
The edges of the cloud where people live
7
Source: inspired by “What cloud computing really means”
open source has become the rule on the mobile phone
8
widget platforms
mobile web-based applications
harmonisation layer
operating systemFX mobile
NOKIA S40
Cocoa
Today Google, Nokia, Apple & Sun all has open source as part
of their strategies
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
iLabs Mobile Developers Toolbox (beta)
ATOM XMPP
open mini
blogger
open mini
chatter
widger
open mini
browser
<HTML><ATOMS>
Help developers create mobile Internet applications
The toolbox provides example applications and libraries for Java enabled phones
Open Source Licence: L-GPL
allowing commercial use
HTML
Status Toolbox
11
Sourceforge, Nov 08: 699 downloadsiLabsmobiletoolbox.dev.java.net: Norway, China, US, India, Italy, Lithuania, Finland, Philipines, Croatia, Bangladesh
12
iLabs so far: open source opens doors
WellCom (EU, Telenor R&I)
Green touch (Arkitekthøyskolen)
Vaccination program (IFI, UiO)
The informed individual(misc. organisations)
Canadian company
How you cab use iLabs Mobile Toolbox
• Design goals
• The library for Java ME programmers
• Widger: Server side scripting of mobile applications
13
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
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
16
OpenMiniChatter – dry run:
17
OpenMiniChatter - dry run - use of TabView
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:
19
Where we started - where we ended up:
1. Plain JME programming
2. Social Networking : easiest to render HTML content from others
3. HTML : also used to make the 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
JMEapp.
.jad&.jarUI
elements
.html
20
xml & html
J2ME programs vs. server side XML
J2MEApp. J2ME
Widger
App.
App.
App.
Widgets
J2MEApp. J2ME
App.
.jadand.jarfiles
.jad&.jar
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: http://demo.ilabs.no/widgerdoc/index.php
22
UngWeb in Møre og Romsdal Fylkeskommune
23
UngeWeb: Widlet for ONE news item:
24
XML for widlet for one news item:
<?xml version="1.0" encoding="windows-1252"?><widlet ver="0.2" id=”tabbednyhet"> <view type="tabs" id="main">
<view type="panel" id="panel1" title="Nyhet 1" icon="/img/FolderExplorer.png" show="true"> <view type="web" id="web1" url="nyhet1.html"></view> <action type="loadiwg" label="Nyheter" url="nyheter.iwg" button="right"/> </view>
<view type="panel" id="panel2" title="Kommentarer" icon="resource://FolderExplorer.png"> <view type="web" id="web2" url="nyhet1_kommentarer.html"></view> <action type="reloadurl" label="Oppdater" for="web2" /> <action type="loadiwg" label="Nyheter" url="nyheter.iwg" button="right"/> </view>
<view type="panel" id="panel3" title="Skriv selv" icon="resource://BlogView.png"> <view type="web" id="web3" url="nyhet1_skrivSelv.html"></view> <action type="loadiwg" label="Nyheter" url="nyheter.iwg" button="right"/> </view>
</view></widlet>
25
Integrate with authoring tools:
UngWeb
Edit with eZ publish
Generates HTML and .iwg
Widger
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
Proxy
Widger
The serviceserver
27
Two servers and one client:
The TwitterServer
Widger/Twitter adapter (in example demo running on an iLabs server)
Widger running theTwitter Widlet
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.
29
Advantages and Disadvantages:
• Advantages
• Shorter development time
• Simpler client programs– handles more phones
– smaller– faster
• No need to download application again when updating service.
• 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
• Disadvantages
• You need a server• .. that scales• Need to handle security issues
on the server• Limited functionality on client
side, but you can always code JME since its open source!
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