Post on 10-May-2015
Nokia XTechnical SessionMobile Camp – 27/06/2014 Moscow
Attila Csipa, Technology Wizard, Microsoft
Nokia X
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
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
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
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
+ +
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
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
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.
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!
75% Android applications work unmodified25% require
small changes
Another job well done!
https://publish.nokia.com
75% Android applications work unmodified25% require
small changes
We got you covered!
https://developer.nokia.com
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!
34
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
Baseline Platform
Android 4.1
-------------------------------
Nokia X Software Platform 1.0
based on AOSP V 4.1
Google Maps
In-App Billing
Cloud Messaging
Nokia X Adapting to Nokia 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
<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
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
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
By default – DON’T TOUCH IT
(all changes at platform, not API level)
Adopting Android UI to Nokia X UI requires tests
Nokia X uses HDPI bucket
Different font (like Nokia Pure) might mean different text length
Android’s Menu (3.0 and older) is replaced by Nokia’s Options
menu.
Registration
Publishing (NO yearly fees!)
Analyser
Service SDK
Nokia In Application Payment
Downloads and Ads
Nokia Developer Offers
DVLUP developer program
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
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
Nokia X Thanks for your time!GO! PORT!http://publish.nokia.com