ilabs status and toolbox

31
iLabs; status and how to use the iLabs Mobile Toobox Hilde Lovett & Else Nordhagen, November 2008 www.ilabs.no

Upload: hilde-lovett

Post on 29-Nov-2014

2.321 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: iLabs Status and Toolbox

iLabs; status and how to use the iLabs Mobile Toobox

Hilde Lovett & Else Nordhagen, November 2008www.ilabs.no

Page 2: iLabs Status and Toolbox

Agenda

• what we have done in iLabs so far

• how you can use iLabs Mobile Developers Toolbox

2

Page 3: iLabs Status and Toolbox

iLabs team

3

Hilde Lovett

Bjørn Remseth

Rene Geers

Stian Børresen

Else Nordhagen

Page 4: iLabs Status and Toolbox

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

Page 5: iLabs Status and Toolbox

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>

Page 6: iLabs Status and Toolbox

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

Page 7: iLabs Status and Toolbox

7

09/29/08

The edges of the cloud where people live

7

Source: inspired by “What cloud computing really means”

Page 8: iLabs Status and Toolbox

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

Page 9: iLabs Status and Toolbox

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

Page 10: iLabs Status and Toolbox

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

Page 11: iLabs Status and Toolbox

Status Toolbox

11

Sourceforge, Nov 08: 699 downloadsiLabsmobiletoolbox.dev.java.net: Norway, China, US, India, Italy, Lithuania, Finland, Philipines, Croatia, Bangladesh

Page 12: iLabs Status and Toolbox

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

Page 13: iLabs Status and Toolbox

How you cab use iLabs Mobile Toolbox

• Design goals

• The library for Java ME programmers

• Widger: Server side scripting of mobile applications

13

Page 14: iLabs Status and Toolbox

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

Page 15: iLabs Status and Toolbox

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

Page 16: iLabs Status and Toolbox

16

OpenMiniChatter – dry run:

Page 17: iLabs Status and Toolbox

17

OpenMiniChatter - dry run - use of TabView

Page 18: iLabs Status and Toolbox

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:

Page 19: iLabs Status and Toolbox

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

Page 20: iLabs Status and Toolbox

20

xml & html

J2ME programs vs. server side XML

J2MEApp. J2ME

Widger

App.

App.

App.

Widgets

J2MEApp. J2ME

App.

.jadand.jarfiles

.jad&.jar

Page 21: iLabs Status and Toolbox

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

Page 22: iLabs Status and Toolbox

22

UngWeb in Møre og Romsdal Fylkeskommune

Page 23: iLabs Status and Toolbox

23

UngeWeb: Widlet for ONE news item:

Page 24: iLabs Status and Toolbox

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>

Page 25: iLabs Status and Toolbox

25

Integrate with authoring tools:

UngWeb

Edit with eZ publish

Generates HTML and .iwg

Widger

Page 26: iLabs Status and Toolbox

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

Page 27: iLabs Status and Toolbox

27

Two servers and one client:

The TwitterServer

Widger/Twitter adapter (in example demo running on an iLabs server)

Widger running theTwitter Widlet

Page 28: iLabs Status and Toolbox

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.

Page 29: iLabs Status and Toolbox

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!

Page 30: iLabs Status and Toolbox

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

Page 31: iLabs Status and Toolbox

thank you for the attention

• we meet at www.ilabs.no

31