Nokia X Tech session – Same code base, new user base

44
Nokia X Technical Session DroidCon 2014 Tel Aviv Attila Csipa, Technology Wizard, Microsoft

description

This is a deep dive session exploring Nokia X development. The session will include a platform overview, in-depth looks at the compatibility analysis tool, Nokia Services SDK, and porting scenarios including managing dependencies and optimizing code to publish across the Nokia Store and other platforms. A question and answer session will follow the presentation. As presented in DroidCon Tel Aviv 2014 by: Attila Csipa, Microsoft http://il.droidcon.com

Transcript of Nokia X Tech session – Same code base, new user base

Page 1: Nokia X Tech session – Same code base, new user base

Nokia XTechnical SessionDroidCon 2014 Tel Aviv

Attila Csipa, Technology Wizard, Microsoft

Page 2: Nokia X Tech session – Same code base, new user base

Nokia X

Page 3: Nokia X Tech session – Same code base, new user base

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: Nokia X Tech session – Same code base, new user base
Page 5: Nokia X Tech session – Same code base, new user base

Cumulative global volume for Smartphones under $100 – Expected to be ~1.4B for 2014-2017 **Volume of Smartphones between $36 and $99 for 2014 is expected to be 256MNokia Mobile Phones volume of 2012 was over 300M phones

0%

20%

40%

60%

80%

100%

2013 2014 2015 2016 2017

$300-

$191-$299

$100-$190

$36-$99

0-$35

Source: Strategy Analytics

Page 6: Nokia X Tech session – Same code base, new user base
Page 7: Nokia X Tech session – Same code base, new user base
Page 8: Nokia X Tech session – Same code base, new user base
Page 9: Nokia X Tech session – Same code base, new user base

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 10: Nokia X Tech session – Same code base, new user base
Page 11: Nokia X Tech session – Same code base, new user base
Page 12: Nokia X Tech session – Same code base, new user base

+ +

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 13: Nokia X Tech session – Same code base, new user base
Page 14: Nokia X Tech session – Same code base, new user base

15

Android Open Source Project 4.1.2

(API level 16)

Android 3rd party

applications

Nokia X Software Platform 1.0 Nokia

StoreNokia

UX

In-App Payment

API

HEREAPI

NotificationsAPI

Page 15: Nokia X Tech session – Same code base, new user base
Page 16: Nokia X Tech session – Same code base, new user base

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 17: Nokia X Tech session – Same code base, new user base

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 18: Nokia X Tech session – Same code base, new user base

75% Android applications work unmodified25% require

small changes

Another job well done!

https://publish.nokia.com

Page 19: Nokia X Tech session – Same code base, new user base

75% Android applications work unmodified25% require

small changes

We got you covered!

https://developer.nokia.com

Page 20: Nokia X Tech session – Same code base, new user base
Page 21: Nokia X Tech session – Same code base, new user base
Page 22: Nokia X Tech session – Same code base, new user base

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 23: Nokia X Tech session – Same code base, new user base
Page 24: Nokia X Tech session – Same code base, new user base
Page 25: Nokia X Tech session – Same code base, new user base

6/19/2014 28

Page 26: Nokia X Tech session – Same code base, new user base

6/19/2014 29

Page 27: Nokia X Tech session – Same code base, new user base
Page 28: Nokia X Tech session – Same code base, new user base

31

Page 29: Nokia X Tech session – Same code base, new user base

An API level 16 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 30: Nokia X Tech session – Same code base, new user base

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 31: Nokia X Tech session – Same code base, new user base

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 32: Nokia X Tech session – Same code base, new user base

<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 33: Nokia X Tech session – Same code base, new user base

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 34: Nokia X Tech session – Same code base, new user base

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 35: Nokia X Tech session – Same code base, new user base

By default – DON’T TOUCH IT

(all changes at platform, not API level)

Page 36: Nokia X Tech session – Same code base, new user base

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 37: Nokia X Tech session – Same code base, new user base

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

menu.

Page 38: Nokia X Tech session – Same code base, new user base

Registration

Publishing (NO yearly fees!)

Analyser

Service SDK

Page 39: Nokia X Tech session – Same code base, new user base

Nokia In Application Payment

Downloads and Ads

Nokia Developer Offers

DVLUP developer program

Page 40: Nokia X Tech session – Same code base, new user base

Registration via nokia.developer.com or events. Fulfillment via DVLUP.

• Hockeyapp – Crash Reports, Feedback, Distribution, Analytics – 3 months

• Infragistics – UI libraries -1 year

• Bugsense – Crash analytics and bug reporting – 3 months

• Xamarin – Nokia X components (free)

Developer offers for Nokia X

Page 41: Nokia X Tech session – Same code base, new user base

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 42: Nokia X Tech session – Same code base, new user base

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 43: Nokia X Tech session – Same code base, new user base
Page 44: Nokia X Tech session – Same code base, new user base

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