Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical...

39
Nokia X Technical Session Mobile Camp – 27/06/2014 Moscow Attila Csipa, Technology Wizard, Microsoft

Transcript of Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical...

Page 1: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

Nokia XTechnical SessionMobile Camp – 27/06/2014 Moscow

Attila Csipa, Technology Wizard, Microsoft

Page 2: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

Nokia X

Page 3: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

768MB RAM

4GB SD in sales pack

NokiaX+

4” WVGA (480x800)

Dual SIM + SD Card

Dual Core 1GHz

Snapdragon

NokiaX

89*EUR

99*EUR

5” WVGA (480x800)

Dual SIM + SD Card

5MP AF + flash

2MP front facing

NokiaXL

109*EUR

Page 4: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

4.3” CB WVGA (480x800)

Dual SIM + SD Card

Dual Core 1.2GHz + 1GB RAM

5MP AF + flash

Nokia X2

4” WVGA (480x800)

Dual SIM + SD Card

Dual Core 1GHz

Snapdragon

NokiaX

89*EUR

99*EUR

5” WVGA (480x800)

Dual SIM + SD Card

5MP AF + flash

2MP front facing

NokiaXL

109*EUR

Page 5: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services
Page 6: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

Growth P.A. (‘13–’17)

+21%Affordable smartphones <$99

Strategy Analytics view on the global smartphone market 2013–2017, May 2013, Nokia analysis

Trend: Affordable smartphones connect the next billion

Page 7: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services
Page 8: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services
Page 9: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services
Page 10: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

POPULATION

CREDIT CARDS

US

317M

686M

KOREA

50M

96M

VIETNAM

89M

2M

INDIA

1200M

24M

INDONESIA

237M

10M

The lack of credit cards excludes huge audience

Page 11: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services
Page 12: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services
Page 13: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

+ +

Standout design that’s built to last

Flow between your favourite apps in a smoother, faster way

Nokia X distinctly Nokia with a little extra

Page 14: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services
Page 15: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

Android Open Source Project 4.3

(API level 18)

Android 3rd party

applications

Nokia X Software Platform 2.0 Nokia

StoreNokia

UX

In-App Payment

API

HEREAPI

NotificationsAPI

Page 16: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services
Page 17: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

HERE Maps Nokia Push Notifications Nokia In-App Payments

Here maps provides

complete offline

experiences like no other

maps service.

Simple yet powerful

notifications service.

World’s largest operator

billing network.

Page 18: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

75% Android applications work unmodified25% require

small changes

Nokia X Service APIsNokia In-App Purchase

HERE Maps

Nokia Notifications

(replace Google APIs)

Application ready to publish in Nokia Store.

No porting, no coding just publish!

Page 19: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

75% Android applications work unmodified25% require

small changes

Another job well done!

https://publish.nokia.com

Page 20: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

75% Android applications work unmodified25% require

small changes

We got you covered!

https://developer.nokia.com

Page 21: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services
Page 22: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services
Page 23: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

Nokia X Analyser

developer.nokia.com

Submit .apk to

Nokia Store

75% work

unmodified

Port using

Nokia X

Services SDK

25% need

a little retouch

Up to

8h porting*

*For most apps, depending on application complexity and number of used APIs that need porting

We give you easy to use online and offline tools to check your applications within seconds!

Page 24: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

34

Page 25: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

An API level 18 Android Virtual Device (AVD) with the Nokia X services enabled

Both ARM & X86 images (HAXM accelerated, really fast!)

Works with ADB!

Nokia X Emulator

Page 26: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

Baseline Platform

Android 4.1

-------------------------------

Nokia X Software Platform 1.0

based on AOSP V 4.1

Google Maps

Google

In-App Billing

Google

Cloud Messaging

Nokia X Adapting to Nokia Services

Page 27: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

The Google and Nokia services can coexist in the applications

Make sure you fail gracefully!

You can load and use the one that is present at runtime

A one time investment in terms of developer effort

Allows submission of same APK to Google Play and the Nokia Store

Address more users with a single release

Simultaneous release of same version (QA permitting) in all stores

Nokia X One APK approach

Page 28: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

<permission android:name="(your_app_pkg).permission.C2D_MESSAGE"

android:protectionLevel="signature" />

<uses-permission android:name="(your_app_pkg).permission.C2D_MESSAGE" />

<uses-permission android:name="com.nokia.pushnotifications.permission.RECEIVE" />

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

<application ... > ...

<receiver android:name="com.nokia.push.PushBroadcastReceiver"

android:permission="com.nokia.pushnotifications.permission.SEND">

<intent-filter>

<action android:name="com.nokia.pushnotifications.intent.RECEIVE" />

<action android:name="com.nokia.pushnotifications.intent.REGISTRATION" />

<category android:name="(your_app_pkg)" />

</intent-filter>

</receiver>

<receiver android:name="com.google.android.gcm.GCMBroadcastReceiver"

android:permission="com.google.android.c2dm.permission.SEND" >

<intent-filter>

<action android:name="com.google.android.c2dm.intent.RECEIVE" />

<action android:name="com.google.android.c2dm.intent.REGISTRATION" />

<category android:name="(your_app_pkg)" />

</intent-filter>

</receiver>

<service android:name=".PushIntentService" />

<service android:name=".GCMIntentService" />

</application>

Nokia X One APK approach – common manifest

Page 29: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

try {

PushRegistrar.checkDevice(this);

// (continue with Nokia Notifications logic)

} catch (UnsupportedOperationException e1) {

try {

GCMRegistrar.checkDevice(this);

// (continue with GCM logic)

} catch (UnsupportedOperationException e2) {

// neither notification service is available

}

}

Nokia X One APK approach – runtime detection

Page 30: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

No need to reinvent the wheel!

The Nokia X SDK plugin contains One APK examples for all Nokia X APIs

Latest versions also available on GitHub

https://github.com/nokia-developer/nokia-x-in-app-payment-samples

https://github.com/nokia-developer/nokia-x-here-maps-samples

https://github.com/nokia-developer/nokia-x-notifications-samples

Nokia X One APK approach – samples

Page 31: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

By default – DON’T TOUCH IT

(all changes at platform, not API level)

Page 32: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

Adopting Android UI to Nokia X UI requires tests

Nokia X uses HDPI bucket

Different font (like Nokia Pure) might mean different text length

Page 33: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

Android’s Menu (3.0 and older) is replaced by Nokia’s Options

menu.

Page 34: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

Registration

Publishing (NO yearly fees!)

Analyser

Service SDK

Page 35: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

Nokia In Application Payment

Downloads and Ads

Nokia Developer Offers

DVLUP developer program

Page 36: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

Targeted & Curated App Challenges

Engage via Gamification & Rewards

Over $5M worth of Rewards and Campaigns

Redeem earned points for Phones, Accessories, Dev Tools and App Promotion

DVLUP Nokia’s rewards program

Page 37: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

Nokia X Summary Nokia X is Microsoft’s new platform with Android at it’s coreNokia X porting is easy and fastNokia X opens new markets to your existing apps

Page 38: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services
Page 39: Attila Csipa, Nokia X – a platform introduction for developers, outlining its technical foundations, tooling and services

Nokia X Thanks for your time!GO! PORT!http://publish.nokia.com