17
Can your app parle Francais? Internationalization with the Intel XDK

Can your App parle Francais?

Embed Size (px)

DESCRIPTION

At #idf2014, Presenting how we used the Intel XDK to create the mobile app for Smartnotify.us. The app is available in French and English and I've included some tips and tricks about internationalization and what you should worry about when deploying your app. We use moment.js and i18n.js in the background. Let's #hackcommunications

Citation preview

Page 1: Can your App parle Francais?

Can your app parle Francais?

Internationalization with the Intel XDK

Page 2: Can your App parle Francais?

Distributed Communications Platform

We help our customers Hack Communications

@smartnotify

Page 3: Can your App parle Francais?

Developers need to integrate…

And hope they scale and stay compliant

And worry about multiple data warehouse

And worry about updating the API calls

And create reports that span all channels

And find time to build some automation

And how about some Algo for Sales + Marketing?

Page 4: Can your App parle Francais?

@smartnotifyRingo

John

Paul

Georges

Joan

SmartNotify API

Simplify your life in 3 lines of codevar ft = new FileTransfer();

!var upload_options; //your message, your recipient list

!ft.upload(imageLocation, "smartmedia.asmx/UploadMediaMessages", SaveMessageSuccess, SaveMessageFail, upload_options);

Page 5: Can your App parle Francais?

@smartnotify

Our mobile app

API Geo-Location

Internationalization HMTL5

Low compute

Page 6: Can your App parle Francais?
Page 7: Can your App parle Francais?

Our Setup

XDK i18.js Moment.js Local Cache

Code + Test Language Files Date format User Preferences

+ Simple to Setup + Simplest to Setup + Simple

- No real-time update - Device pref. vs. User Pref - Potential security risk for compliance app (not ours)

@smartnotify

Page 8: Can your App parle Francais?

Example

@smartnotify

Page 9: Can your App parle Francais?

Calling i18 & moment

@smartnotify

navigator.globalization.getLocaleName(…) deviceLanguage = locale.value; // get the device locale language loadBundles(language, ‘Application'); //load the proper language files (i18+moment) !//How we call moment.js //Yes we could abstract the date format as well. if (language==='en'){ //mm/dd/yy setup dtTheDate = moment($(TheDateFromService).lang(language).format('MMMM Do YYYY’); }

Page 10: Can your App parle Francais?

@smartnotify

Internationalization in the XDK

http://goo.gl/2Z5fbL for more info

Page 11: Can your App parle Francais?

Testing GeoLocation

@smartnotify

• Simulate Movement • Simulate entering a Zone • (next step) Testing with GPX (route)

Lessons learnt!• No need to record every point! • Code to the lowest common phone denominator

Page 12: Can your App parle Francais?

Profiling GeoLocation

@smartnotify

Page 13: Can your App parle Francais?

Internationalization hints

@smartnotify

Page 14: Can your App parle Francais?

1. A Theater is not a Theatre

@smartnotify

Page 15: Can your App parle Francais?

2. Culture goes beyond words

@smartnotify

Page 16: Can your App parle Francais?

3. Talk the talk (when they ask)

@smartnotify

Page 17: Can your App parle Francais?

www.smartnotify.us [email protected]

@smartnotify #hackcommunications Download on iOS and App Store