29.06.2015 Views

Nokia Browser for Series 40

Nokia Browser for Series 40

Nokia Browser for Series 40

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Faculty Summit <br />

September 28th, 2012 <br />

Bandung <br />

rayrizaldy@gits.co.id


<strong>Nokia</strong> <strong>Series</strong> <strong>40</strong> Full Touch Faculty Summit <br />

Session 1: Introduction <br />

Session 2: UI & Screen Elements <br />

Session 3: Web App <br />

Session 4: Interaction & Input <br />

Session 5: Graphics & Multimedia <br />

Session 6: Network & Location <br />

Session 7: Common Problems & Tips


<strong>Series</strong> <strong>40</strong> <br />

Plat<strong>for</strong>m <br />

Introduction


Devices, New Features <br />

Java Runtime 2.0 <br />

Tools, LWUIT, Tool Tips


› SDK 2.0 <br />

› SDK 1.1 <br />

› Touch-­‐and-­‐type <br />

Device Family <br />

› Non-­‐touch <br />

› S<strong>40</strong> 6th Edition FP1 <br />

› S<strong>40</strong> 6th Edition <br />

› S<strong>40</strong> 5th Edition Fp1 <br />

› ...


› Full Screen Menus <br />

› Keyboard check <br />

<strong>Series</strong> <strong>40</strong> <br />

Plat<strong>for</strong>m: New <br />

and Enhanced <br />

Features <br />

› Back button <br />

› Category bar <br />

› Status bar <br />

› Header bar <br />

› Forms and text input


› Full screen and commands <br />

menu <br />

<strong>Series</strong> <strong>40</strong> <br />

Plat<strong>for</strong>m: New <br />

and Enhanced <br />

Features <br />

› Badge API <br />

› Theming <br />

› Pinch gesture <br />

› Multi-­‐touch <br />

› Fixed and dynamic <br />

orientation


› Font STYLE_LIGHT <br />

<strong>Series</strong> <strong>40</strong> <br />

Plat<strong>for</strong>m: New <br />

and Enhanced <br />

Features <br />

› VideoDecode control <br />

› Maps new features <br />

› Locale listener <br />

› Using new sensors <br />

› Additional system properties


Asha 305, 2.5G, Dual SIM, Resistive Touch


Asha 306, 2.5G, WLAN, Resistive Touch


Asha 311, WLAN, 3G, Capacitive Touch


(Device View Video) <br />

Asha 305, Asha 311


<strong>Series</strong> <strong>40</strong> Phones <br />

developer.nokia.com/Devices<br />

Filter by <strong>Series</strong> <strong>40</strong> Edition or<br />

Java Runtime version (new phones)


<strong>Series</strong> <strong>40</strong> & Java Runtime <br />

Java Runtime <strong>Series</strong> <strong>40</strong> Version Phones<br />

2.0.0 <strong>Series</strong> <strong>40</strong> ...<br />

1.1.0 <strong>Series</strong> <strong>40</strong> Asha 200, 201, 302, 303<br />

1.0.0 <strong>Series</strong> <strong>40</strong> Asha 202, 203, C2-00, C2-02, C2-03, C2-05, C2-06,<br />

X2-02, X2-05<br />

N/A <strong>Series</strong> <strong>40</strong> 6th Edition, FP 1 Asha 300, C3-01, X3-02<br />

N/A <strong>Series</strong> <strong>40</strong> 6th Edition C2-01, C3-00, X2-00, X2-01, 6303i, 7230, 6350, 6750,<br />

3720, ...<br />

N/A <strong>Series</strong> <strong>40</strong> 6th Edition Lite C1-01, C1-02<br />

N/A <strong>Series</strong> <strong>40</strong> 5th Edition, FP1 2690, 3208, 6600i, 2730, 2700, 6208, 6600, 8800, ...<br />

N/A <strong>Series</strong> <strong>40</strong> 5th Edition, FP1 Lite 2220, 2720, 2320, 2330, 5000...<br />

N/A <strong>Series</strong> <strong>40</strong> 5th Edition 3610, 6263, 6555, 7500, 6267


CLDC MIDP 248<br />

MSA<br />

185<br />

JTWI<br />

75<br />

File<br />

82<br />

BT<br />

135<br />

Media<br />

172<br />

Web<br />

RPC<br />

172<br />

Web<br />

XML<br />

177<br />

SATS<br />

AAPD<br />

U<br />

177<br />

SATS<br />

ACRY<br />

PT<br />

2.0.0 1.1 2.1 1.1 - 1.0 1.1 1.2 1.0 1.0 1.0 1.0 1.0 1.1 2.0 1.0 1.1 1.1 1.1 1.1 1.0 1.6 2.0<br />

179<br />

Locati<br />

on<br />

184<br />

3D<br />

205<br />

Mess<br />

aging<br />

211<br />

Conte<br />

nt<br />

226<br />

SVG<br />

234<br />

Audio<br />

3D<br />

234<br />

Came<br />

ra<br />

234<br />

Music<br />

256<br />

Senso<br />

r<br />

<strong>Nokia</strong><br />

UI<br />

IAP<br />

1.1.0 - - 1.1 1.0<br />

1.0.0 - - 1.1b -<br />

S<strong>40</strong><br />

6th,<br />

FP1<br />

S<strong>40</strong><br />

6th<br />

S<strong>40</strong><br />

6th<br />

Lite<br />

S<strong>40</strong><br />

5th<br />

FP1<br />

S<strong>40</strong><br />

5th<br />

FP1 L<br />

S<strong>40</strong><br />

5th<br />

- - 1.1b -<br />

√ - √ - 1.1 -<br />

- √ - - - - - - -<br />

√ - 1.1 - √ 1.0 - 1.0 - -<br />

- √ - - - - - - - - - - - -<br />

√ - 1.1 1.0 1.0 - 1.1 - √ 1.0 - 1.0 - -


(HelloWorld Video)


Screen <br />

Elements


Full Touch Elements <strong>for</strong> a Better UI <br />

Virtual Keypad <br />

Category Bar <br />

Icon Command


Virtual <br />

Keyboard <br />

› Multi-­‐tap or QWERTY <br />

› Portrait mode <br />

› System property tells virtual or <br />

physical keyboard type <br />

› Control screen resize events <br />

› Custom keyboards <br />

› KeyboardVisibilityListener <br />

› Great UX: You can open and <br />

close the keyboard <strong>for</strong> the user


› Check not null on <br />

System.getProperty( <br />

"com.nokia.mid.ui.multipoin<br />

ttouch.version") <br />

Multi-­‐Touch <br />

› Implement <br />

MultipointTouchListener to <br />

receive an array of pointer <br />

IDs <br />

› Minimum is 2 point touch <br />

support


› Receive callbacks as the <br />

phone rotates on 2 axes <br />

-­‐90 pitch <br />

Accelerometers <br />

-­‐180 <br />

roll <br />

-­‐180 <br />

90


› <strong>Nokia</strong>-­‐MIDlet-­‐App-­‐Orientation: <br />

portrait <br />

› Default behaviour <br />

Screen <br />

Orientation <br />

› <strong>Nokia</strong>-­‐MIDlet-­‐App-­‐Orientation: <br />

landscape <br />

› <strong>Nokia</strong>-­‐MIDlet-­‐App-­‐Orientation: <br />

manual <br />

› You must listen <strong>for</strong> change <br />

events. You can then choose if <br />

and how to respond. <br />

› This affects virtual keyboard, etc


› TAP, LONG_PRESS, <br />

LONG_PRESS_REPEATED, <br />

DRAG, DROP, FLICK <br />

Gestures <br />

› New mulit-­‐point gesture: <br />

PINCH <br />

› Custom: Notification on <br />

Gesture <br />

RECOGNITION_START and <br />

RECOGNITION_STOP <br />

› Start position, distance, speed <br />

and direction as needed


Frame <br />

Animation <br />

› Receive callbacks to scroll <br />

naturally <br />

› Low, medium, and high <br />

friction <br />

› Links directly to Gestures <strong>for</strong> <br />

easy use


› Translucent drawing <br />

Procedural <br />

Graphics <br />

› Any size text fonts <br />

› New font: Light


Location <br />

› S<strong>40</strong> is all Network-­‐based <br />

› Very fast <br />

› Low power <br />

› GPS can be a power hog <br />

› Approximate <br />

› Error radius is displayed <br />

› Smaller error in 3G networks <br />

› No turn-­‐by-­‐turn navigation <br />

› Uses a little bit of net data


› One method lets you choose <br />

› Offline CellID <br />

› Online CellID and/or WLAN <br />

<strong>Nokia</strong> <br />

LocationUtil <br />

› Network-­‐assisted GPS (S60) <br />

› Standalone GPS (S60) <br />

› Replaces the odd and painful <br />

LocationProvider.getInstance() <br />

in the JSR-­‐179


› Map Application in the <br />

phone <br />

› Offline maps if loaded <br />

› Own Map Application <br />

› Network-­‐based maps only <br />

› Location-­‐based lookup of <br />

street address <br />

› Find route <br />

› Overlay pointer on the map


Tools <strong>for</strong> <strong>Series</strong> <strong>40</strong> <br />

Web Apps <br />

» <strong>Nokia</strong> Web Tools 1.5<br />

» Eclipse Based (Aptana Studio) web<br />

development environment customized by<br />

<strong>Nokia</strong> <strong>for</strong> <strong>Series</strong> <strong>40</strong> Web apps<br />

» Includes templates, libraries, code snippets,<br />

simulator, debugger, deployment options<br />

unique to <strong>Series</strong> <strong>40</strong> Web Apps development<br />

» Bluetooth Launcher 1.5 <strong>for</strong> on-device<br />

deployment


<strong>Nokia</strong> <strong>Browser</strong> <strong>for</strong> <strong>Series</strong> <strong>40</strong> <br />

» Unique proxy browser with server side JavaScript / Compression engine <strong>for</strong> <strong>Series</strong> <strong>40</strong><br />

» Engine that made <strong>Series</strong> <strong>40</strong> Web Apps possible, because most <strong>Series</strong> <strong>40</strong> devices do not have<br />

enough CPU/RAM to run a full WebKit based web browser<br />

» <strong>Nokia</strong> <strong>Browser</strong> Proxy hosts the Web App client, and acts as a proxy between the <strong>Nokia</strong> <strong>Browser</strong><br />

Client and the Web App server, so can be described as ”Cloud-Assisted Web Runtime”<br />

» Takes web app development <strong>for</strong> lower-end devices to a whole new level!


<strong>Nokia</strong> <strong>Browser</strong> <strong>for</strong> <strong>Series</strong> <strong>40</strong> <br />

» <strong>Nokia</strong> <strong>Browser</strong> main features:<br />

– JavaScript runs on <strong>Nokia</strong> <strong>Browser</strong> Proxy server side<br />

– Application content compressed be<strong>for</strong>e sending to the client<br />

– CSS minimized, images compressed, partial HTML updates whenever possible<br />

» Current <strong>Nokia</strong> <strong>Browser</strong> main constraints:<br />

– HTML 4.01 with CSS 2.0 mobile profile (selected parts of CSS 3 also available)<br />

– No device API access, no home screen widgets


Tools


Java Tool Setup: Advanced User Notes <br />

» Emulator<br />

– Latest JDK 7, 32 bit only (No matter if you have 64 bit Windows)<br />

» NetBeans 7.1<br />

– Install “All” package else Oracle’s J2ME does not integrate properly<br />

» Run NetBeans one time as “Administrator” after <strong>Nokia</strong> Java SDK install<br />

– This integrates SDK docs so you can press ALT F1


SDKs <br />

www.developer.nokia.com/Develop/Java/Tools/<strong>Series</strong>_<strong>40</strong>_plat<strong>for</strong>m_SDKs/


It is important to get the “All” <br />

edition of Netbeans <br />

Otherwise, the Oracle J2ME <br />

Profiler will not work correctly


LWUIT <strong>for</strong> <strong>Nokia</strong> <strong>Series</strong> <strong>40</strong> <br />

http://projects.developer.nokia.com/LWUIT_<strong>for</strong>_<strong>Series</strong>_<strong>40</strong>


LWUIT <br />

Transitions <br />

Video <br />

» Lets see the original LWUIT 1.5 next to the <br />

<strong>Nokia</strong>-­‐optimized version <br />

» Device used: <strong>Nokia</strong> X3 <br />

» Application used <strong>for</strong> the comparison: <br />

LWUITDemo <br />

› Comes with the LWUIT package <br />

» <strong>Nokia</strong> LWUIT on the left, original LWUIT <br />

on the right


Tool Tips


Tool Tips <br />

» Reference problems when importing examples<br />

– Project Properties → Plat<strong>for</strong>m →<br />

<strong>Nokia</strong> SDK 2.0 <strong>for</strong> Java<br />

– Select (at least) all required optional packages<br />

» Emulator<br />

– Keep emulator running all the time<br />

– App doesn’t launch on first deployment after emulator boot<br />

→ click “Run” (F6) again<br />

– Error “Supportive File – Nothing to display”<br />

→ click “Run” (F6) again<br />

– Proxy


Tool Tips <br />

» Phone<br />

– Run <strong>Nokia</strong> Suite and connect phone<br />

– Project Properties → Deploying → Method: <strong>Nokia</strong> Terminal<br />

connected ...<br />

– On phone: app either at end of the menu or in Files → My<br />

Apps<br />

– Best to un-install app from phone be<strong>for</strong>e deploying again<br />

– On-Device-Debugger doesn’t support new Touch APIs yet


Tool Tips <br />

» App not deployed?<br />

– Make sure <strong>Nokia</strong> Suite has connection to phone<br />

– Check if deployment method set in project properties!<br />

No deployment done<br />

(not selected in project properties)<br />

Deployment successful


Tool Tips <br />

» App not deployed?<br />

– Make sure <strong>Nokia</strong> Suite has connection to phone<br />

– Check if deployment method set in project properties!<br />

No deployment done<br />

(not selected in project properties)<br />

Deployment successful


Code Examples <br />

» Online<br />

– http://bit.ly/JavaCodeExamples<br />

» Included in Help<br />

– Emulator → Help → MIDlet Samples<br />

» Maps & Analytics<br />

– C:\<strong>Nokia</strong>\devices\<strong>Nokia</strong>_SDK_2_0_Java<br />

\plugins


Remote Device Access <br />

Enabling Testing on Real Devices <br />

Free <strong>for</strong> <strong>Nokia</strong> Developer Users <br />

Go to RDA: <br />

http://www.developer.nokia.com/Devices/Remote_device_access/ <br />

Watch introductory video: <br />

http://www.developer.nokia.com/Develop/Java/Videos/ <br />

http://www.youtube.com/watch?v=F1odix8k_fg


New Features: <br />

Key Points <br />

1) Full touch is a logical <br />

extension-­‐ apps still run <br />

2) Many new features, so take <br />

advantage of them-­‐optimize <br />

and improve <br />

1. New UI elements <br />

2. Virtual keyboard control <br />

3. Accelerometers <br />

4. Multi-­‐touch <br />

3) Install the right tools in the <br />

right order to save time

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!