SlideShare a Scribd company logo
1 of 23
Download to read offline
Titanium+Plus Modules and Javascript Bridges: Controlling Hardware with a Web Language




                           Rob Chohan
                  Chief Technologist, ePi Rational
                           (C) 2011 ePi Rational, LLC
2001: A Space Odyssey
   Start around 57'20''
Streaming BBC Channel 12 to Space
Sweet Spot = Hardware + Software + Content
Mobile Architecture,
extending Titanium example

  One Barcode app idea to rule them all!!!



                                  Titanium –
                                  Open source User Interface
                                  & Hardware API Library

(Software to be written to tie these together)


                                  Zxing or Zebra Crossing –
                                  Open source barcode library
                                  encode/decode



           iOS         Android


    Killer Barcode App = Camera +
Libraries that are ripe for
                     Titanium+Plus
• DropBox                           • My Tracks, Map or Lat/Long?
                                                      -117.117203,   32.784180
• Airpush                                             -117.116966,
                                                      -117.116501,
                                                                     32.784218
                                                                     32.784386
                                                      -117.116501,   32.784439
                                                      -117.116341,   32.784527
• Square                                              -117.116280,   32.784618



• Networking

• Google Analytics*


• A cryptographically secure RNG
  that your app needs that
  Javascript can't provide (e.g.,
  SecureRandom)
How To:
               Appcelerator makes it easy
                     to get started




•   Titanium generates stubs
•   From their it is up to you to fill in the blanks
•   Pull in your favorite JAR, Java, or Obj-C or C++ code
•   Build and distribute on the Appcelerator Marketplace
Hardware that could be
          interesting to Titanium
                Developers

• Barometer

• WiFi

• Bluetooth

• Near Field Communications (NFC)

• ANT+

• GPS
Barometer



• Motorola chose a   What is a Barometer good for
  Digital Pressure   (courtesy of the chip manufacturer, Bosch)

  Sensor in their    • Enhancement of GPS
  Motorola Xoom        navigation
                     • Indoor and outdoor
                       navigation
                     • Leisure and sports
                     • Weather forecast
                     • Vertical velocity indication
Barometer,
                Javascript example


• This is a perfect example of how Titanium+Plus can be extended
• Barometer usage (targeting Motorola XOOM)

var baro = require('epi.baro');
data = baro.getBaro();  // in milliBars, of course
Titanium+Module Implementation for
             a Barometer on Android
public void onSensorChanged(SensorEvent event) {
long curTime = System.currentTimeMillis();
    switch (event.sensor.getType()) {
      case Sensor.TYPE_PRESSURE:
        if (lastUpdate == -1 || (curTime - lastUpdate) > mTime){ 
          float pressure = event.values[0];
        }
        break;
        
      case Sensor.TYPE_ACCELEROMETER:
        if (lastUpdate == -1 || (curTime - lastUpdate) > mTime){  
          float x = event.values[0];
          float y = event.values[1];
          float z = event.values[2];
        }
        break;
    }
}
Screen from Motorola Xoom, Native App by Noosters
       500+ Downloads as of Sep 2011
Screen from Motorola Xoom, Native App by Guild Software
        5,000+ Downloads as of Sep 2011
Screen from Motorola Xoom, Native App by David Momenso
         100+ Downloads as of Sep 2011
Titanium+Plus Modules
 helps to lower the bar
Data Mining on Android
         Bluetooth Hardware Apps,
         Data mined from AndBOT.com, April 2011



•   Bluetooth   Samples
•   Bluetooth   Bar Widget
•   Bluetooth   Backport for pre-Android 2.0
•   Bluetooth   Fileshare - Bluex
•   Bluetooth   On/Off for Droid
•   Bluetooth   Remote
•   Bluetooth   text & paint Chat
•   Bluetooth   Terminal
•   Bluetooth   Widget

Very useful apps, but what else can be done?
Bluetooth now becomes
          very interesting for
            Titanium Users

What is a Bluetooth good for in the context
of Titanium
 • Chat programs
 • Getting data from custom sensor
   boards

var btLib = require('epi.bt');
bt = btLib.turnOnRadio();  
// discovery
bt.discovery();
// pairing
// exchanging of data
San Diego Based Fitness Startup



• San Diego based startup         Mobile Phone
  focusing on Bicycle fitness
• Patent pending nutrition and
  hydration algorithm for
  cyclists
• 100% bootstrapped
• Developed a custom sensor
  board with
   o wheel revolution counters
   o digital pressure barometer
   o another type of pressure
     sensor
   o Bluetooth 3 radio            Custom Device
                                  comm over Bluetooth
San Diego Based Fitness Startup
                  why Titanium worked for them




• 100% bootstrapped                              Mobile Phone
• team is comprised of
   o 1 firmware
   o 1 electrical engineer
   o 1 Titanium Dev
   o 1 Bluetooth Dev
   o 1 Marketing
• Each team member was
  able to focus on their
  particular part
• Team currently at funding
  stage
                                                 Custom Device
                                                 comm over Bluetooth
Bluetooth on Android &
       Titanium+Plus



• Android module built for
  Android 1.6                    • Many pitfalls
                                    o older firmware and Android
• Relies on the Bluetooth             phones (wait for supported
                                      hardware!)
  Backport open source jar          o building for Titanium
  from Sosuke Masui, Japan            required modifying the
                                      Python build scripts for both
• Development was started back        the Module and the
  before Bluetooth was                Application
                                    o Android resources!!!,
  supported on Android 2.0
                                      created a two-step build
                                      process
                                    o Port to iOS coming after
                                      funding
Localization Notes on
          Titanium+Plus with Android
• Android res files for each locale (en, ja, es, ...)
Titanium+Plus Modules and Javascript Bridges: Controlling Hardware with a Web Language




                     Rob Chohan
            Chief Technologist, ePi Rational
                      (C) 2011 ePi Rational, LLC

More Related Content

Similar to Controlling Hardware with Titanium+Plus Modules

Appcelerator Titanium Intro
Appcelerator Titanium IntroAppcelerator Titanium Intro
Appcelerator Titanium IntroNicholas Jansma
 
Introduction to Appcelerator Titanium
Introduction to Appcelerator TitaniumIntroduction to Appcelerator Titanium
Introduction to Appcelerator TitaniumAdam Paxton
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...Amir Zmora
 
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015SenZations Summer School
 
Intro to Appcelerator Titanium - Code for Fort Lauderdale 2015
Intro to Appcelerator Titanium - Code for Fort Lauderdale 2015Intro to Appcelerator Titanium - Code for Fort Lauderdale 2015
Intro to Appcelerator Titanium - Code for Fort Lauderdale 2015Adam Paxton
 
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)Victor Pascual Ávila
 
LPWAN Cost Webinar
LPWAN Cost WebinarLPWAN Cost Webinar
LPWAN Cost WebinarBrian Ray
 
The Big Easy: Native Mobile App Development with Appcelerator Titanium and Ja...
The Big Easy: Native Mobile App Development with Appcelerator Titanium and Ja...The Big Easy: Native Mobile App Development with Appcelerator Titanium and Ja...
The Big Easy: Native Mobile App Development with Appcelerator Titanium and Ja...Adam Paxton
 
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...Amir Zmora
 
Internet of Things 101 - Part II
Internet of Things 101 - Part IIInternet of Things 101 - Part II
Internet of Things 101 - Part IIYoonseok Hur
 
콘텐츠 플랫폼 구조 분석
콘텐츠 플랫폼 구조 분석콘텐츠 플랫폼 구조 분석
콘텐츠 플랫폼 구조 분석Jaehyeuk Oh
 
Building the Ultimate Device Matrix
Building the Ultimate Device MatrixBuilding the Ultimate Device Matrix
Building the Ultimate Device MatrixCarly Vanderwert
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Todaydavyjones
 
CommNexus San Diego Presentation
CommNexus San Diego PresentationCommNexus San Diego Presentation
CommNexus San Diego PresentationJeff Haynie
 
DESIGN West 2013 Presentation: Accelerating Android Development and Delivery
DESIGN West 2013 Presentation: Accelerating Android Development and DeliveryDESIGN West 2013 Presentation: Accelerating Android Development and Delivery
DESIGN West 2013 Presentation: Accelerating Android Development and DeliveryDavid Rosen
 
Keynote: Techday7 appcelerator titanium
Keynote: Techday7 appcelerator titaniumKeynote: Techday7 appcelerator titanium
Keynote: Techday7 appcelerator titaniumTechday7
 
History of Mobile, Mobile application development and secret to be a great de...
History of Mobile, Mobile application development and secret to be a great de...History of Mobile, Mobile application development and secret to be a great de...
History of Mobile, Mobile application development and secret to be a great de...Md Razon Hossain
 

Similar to Controlling Hardware with Titanium+Plus Modules (20)

Appcelerator Titanium Intro
Appcelerator Titanium IntroAppcelerator Titanium Intro
Appcelerator Titanium Intro
 
Introduction to Appcelerator Titanium
Introduction to Appcelerator TitaniumIntroduction to Appcelerator Titanium
Introduction to Appcelerator Titanium
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
 
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015
 
Intro to Appcelerator Titanium - Code for Fort Lauderdale 2015
Intro to Appcelerator Titanium - Code for Fort Lauderdale 2015Intro to Appcelerator Titanium - Code for Fort Lauderdale 2015
Intro to Appcelerator Titanium - Code for Fort Lauderdale 2015
 
Teksun Corporate Overview 2014
Teksun Corporate Overview 2014Teksun Corporate Overview 2014
Teksun Corporate Overview 2014
 
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
 
LPWAN Cost Webinar
LPWAN Cost WebinarLPWAN Cost Webinar
LPWAN Cost Webinar
 
The Big Easy: Native Mobile App Development with Appcelerator Titanium and Ja...
The Big Easy: Native Mobile App Development with Appcelerator Titanium and Ja...The Big Easy: Native Mobile App Development with Appcelerator Titanium and Ja...
The Big Easy: Native Mobile App Development with Appcelerator Titanium and Ja...
 
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
 
Internet of Things 101 - Part II
Internet of Things 101 - Part IIInternet of Things 101 - Part II
Internet of Things 101 - Part II
 
콘텐츠 플랫폼 구조 분석
콘텐츠 플랫폼 구조 분석콘텐츠 플랫폼 구조 분석
콘텐츠 플랫폼 구조 분석
 
Building the Ultimate Device Matrix
Building the Ultimate Device MatrixBuilding the Ultimate Device Matrix
Building the Ultimate Device Matrix
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
 
CommNexus San Diego Presentation
CommNexus San Diego PresentationCommNexus San Diego Presentation
CommNexus San Diego Presentation
 
Introducing Titanium
Introducing TitaniumIntroducing Titanium
Introducing Titanium
 
tiConf (la dediff)
tiConf (la dediff)tiConf (la dediff)
tiConf (la dediff)
 
DESIGN West 2013 Presentation: Accelerating Android Development and Delivery
DESIGN West 2013 Presentation: Accelerating Android Development and DeliveryDESIGN West 2013 Presentation: Accelerating Android Development and Delivery
DESIGN West 2013 Presentation: Accelerating Android Development and Delivery
 
Keynote: Techday7 appcelerator titanium
Keynote: Techday7 appcelerator titaniumKeynote: Techday7 appcelerator titanium
Keynote: Techday7 appcelerator titanium
 
History of Mobile, Mobile application development and secret to be a great de...
History of Mobile, Mobile application development and secret to be a great de...History of Mobile, Mobile application development and secret to be a great de...
History of Mobile, Mobile application development and secret to be a great de...
 

More from Axway Appcelerator

Axway Appcelerator - Titanium SDK 6.1.0 - Status, Releases & Roadmap
Axway Appcelerator - Titanium SDK 6.1.0 - Status, Releases & RoadmapAxway Appcelerator - Titanium SDK 6.1.0 - Status, Releases & Roadmap
Axway Appcelerator - Titanium SDK 6.1.0 - Status, Releases & RoadmapAxway Appcelerator
 
2014 Dublin Web Summit by Jeff Haynie
2014 Dublin Web Summit by Jeff Haynie2014 Dublin Web Summit by Jeff Haynie
2014 Dublin Web Summit by Jeff HaynieAxway Appcelerator
 
Stop Debating, Start Measuring
Stop Debating, Start MeasuringStop Debating, Start Measuring
Stop Debating, Start MeasuringAxway Appcelerator
 
Mobile & The New Experience Economy (And What it Means for IT)
Mobile & The New Experience Economy  (And What it Means for IT)Mobile & The New Experience Economy  (And What it Means for IT)
Mobile & The New Experience Economy (And What it Means for IT)Axway Appcelerator
 
Apps, APIs & Analytics: What "Mobile First" Really Means
Apps, APIs & Analytics: What "Mobile First" Really MeansApps, APIs & Analytics: What "Mobile First" Really Means
Apps, APIs & Analytics: What "Mobile First" Really MeansAxway Appcelerator
 
Appcelerator Presentation Template
Appcelerator Presentation TemplateAppcelerator Presentation Template
Appcelerator Presentation TemplateAxway Appcelerator
 
Codestrong 2012 keynote jonathan rende, appcelerator's vp of products
Codestrong 2012 keynote   jonathan rende, appcelerator's vp of productsCodestrong 2012 keynote   jonathan rende, appcelerator's vp of products
Codestrong 2012 keynote jonathan rende, appcelerator's vp of productsAxway Appcelerator
 
Codestrong 2012 keynote jeff haynie, appcelerator's ceo
Codestrong 2012 keynote   jeff haynie, appcelerator's ceoCodestrong 2012 keynote   jeff haynie, appcelerator's ceo
Codestrong 2012 keynote jeff haynie, appcelerator's ceoAxway Appcelerator
 
Codestrong 2012 keynote how to build a top ten app
Codestrong 2012 keynote   how to build a top ten appCodestrong 2012 keynote   how to build a top ten app
Codestrong 2012 keynote how to build a top ten appAxway Appcelerator
 
Codestrong 2012 breakout session at&t api platform and trends
Codestrong 2012 breakout session  at&t api platform and trendsCodestrong 2012 breakout session  at&t api platform and trends
Codestrong 2012 breakout session at&t api platform and trendsAxway Appcelerator
 
Codestrong 2012 breakout session what's new in titanium studio
Codestrong 2012 breakout session   what's new in titanium studioCodestrong 2012 breakout session   what's new in titanium studio
Codestrong 2012 breakout session what's new in titanium studioAxway Appcelerator
 
Codestrong 2012 breakout session using appcelerator cloud services in your ...
Codestrong 2012 breakout session   using appcelerator cloud services in your ...Codestrong 2012 breakout session   using appcelerator cloud services in your ...
Codestrong 2012 breakout session using appcelerator cloud services in your ...Axway Appcelerator
 
Codestrong 2012 breakout session the role of cloud services in your next ge...
Codestrong 2012 breakout session   the role of cloud services in your next ge...Codestrong 2012 breakout session   the role of cloud services in your next ge...
Codestrong 2012 breakout session the role of cloud services in your next ge...Axway Appcelerator
 
Codestrong 2012 breakout session new device platform support for titanium
Codestrong 2012 breakout session   new device platform support for titaniumCodestrong 2012 breakout session   new device platform support for titanium
Codestrong 2012 breakout session new device platform support for titaniumAxway Appcelerator
 
Codestrong 2012 breakout session mobile platform and infrastructure
Codestrong 2012 breakout session   mobile platform and infrastructureCodestrong 2012 breakout session   mobile platform and infrastructure
Codestrong 2012 breakout session mobile platform and infrastructureAxway Appcelerator
 
Codestrong 2012 breakout session making money on appcelerator's marketplace
Codestrong 2012 breakout session   making money on appcelerator's marketplaceCodestrong 2012 breakout session   making money on appcelerator's marketplace
Codestrong 2012 breakout session making money on appcelerator's marketplaceAxway Appcelerator
 
Codestrong 2012 breakout session live multi-platform testing
Codestrong 2012 breakout session   live multi-platform testingCodestrong 2012 breakout session   live multi-platform testing
Codestrong 2012 breakout session live multi-platform testingAxway Appcelerator
 
Codestrong 2012 breakout session leveraging titanium as part of your mobile...
Codestrong 2012 breakout session   leveraging titanium as part of your mobile...Codestrong 2012 breakout session   leveraging titanium as part of your mobile...
Codestrong 2012 breakout session leveraging titanium as part of your mobile...Axway Appcelerator
 
Codestrong 2012 breakout session i os internals and best practices
Codestrong 2012 breakout session   i os internals and best practicesCodestrong 2012 breakout session   i os internals and best practices
Codestrong 2012 breakout session i os internals and best practicesAxway Appcelerator
 

More from Axway Appcelerator (20)

Axway Appcelerator - Titanium SDK 6.1.0 - Status, Releases & Roadmap
Axway Appcelerator - Titanium SDK 6.1.0 - Status, Releases & RoadmapAxway Appcelerator - Titanium SDK 6.1.0 - Status, Releases & Roadmap
Axway Appcelerator - Titanium SDK 6.1.0 - Status, Releases & Roadmap
 
2014 Dublin Web Summit by Jeff Haynie
2014 Dublin Web Summit by Jeff Haynie2014 Dublin Web Summit by Jeff Haynie
2014 Dublin Web Summit by Jeff Haynie
 
Making the Mobile Mind Shift
Making the Mobile Mind ShiftMaking the Mobile Mind Shift
Making the Mobile Mind Shift
 
Stop Debating, Start Measuring
Stop Debating, Start MeasuringStop Debating, Start Measuring
Stop Debating, Start Measuring
 
Mobile & The New Experience Economy (And What it Means for IT)
Mobile & The New Experience Economy  (And What it Means for IT)Mobile & The New Experience Economy  (And What it Means for IT)
Mobile & The New Experience Economy (And What it Means for IT)
 
Apps, APIs & Analytics: What "Mobile First" Really Means
Apps, APIs & Analytics: What "Mobile First" Really MeansApps, APIs & Analytics: What "Mobile First" Really Means
Apps, APIs & Analytics: What "Mobile First" Really Means
 
Appcelerator Presentation Template
Appcelerator Presentation TemplateAppcelerator Presentation Template
Appcelerator Presentation Template
 
Codestrong 2012 keynote jonathan rende, appcelerator's vp of products
Codestrong 2012 keynote   jonathan rende, appcelerator's vp of productsCodestrong 2012 keynote   jonathan rende, appcelerator's vp of products
Codestrong 2012 keynote jonathan rende, appcelerator's vp of products
 
Codestrong 2012 keynote jeff haynie, appcelerator's ceo
Codestrong 2012 keynote   jeff haynie, appcelerator's ceoCodestrong 2012 keynote   jeff haynie, appcelerator's ceo
Codestrong 2012 keynote jeff haynie, appcelerator's ceo
 
Codestrong 2012 keynote how to build a top ten app
Codestrong 2012 keynote   how to build a top ten appCodestrong 2012 keynote   how to build a top ten app
Codestrong 2012 keynote how to build a top ten app
 
Codestrong 2012 breakout session at&t api platform and trends
Codestrong 2012 breakout session  at&t api platform and trendsCodestrong 2012 breakout session  at&t api platform and trends
Codestrong 2012 breakout session at&t api platform and trends
 
Codestrong 2012 breakout session what's new in titanium studio
Codestrong 2012 breakout session   what's new in titanium studioCodestrong 2012 breakout session   what's new in titanium studio
Codestrong 2012 breakout session what's new in titanium studio
 
Codestrong 2012 breakout session using appcelerator cloud services in your ...
Codestrong 2012 breakout session   using appcelerator cloud services in your ...Codestrong 2012 breakout session   using appcelerator cloud services in your ...
Codestrong 2012 breakout session using appcelerator cloud services in your ...
 
Codestrong 2012 breakout session the role of cloud services in your next ge...
Codestrong 2012 breakout session   the role of cloud services in your next ge...Codestrong 2012 breakout session   the role of cloud services in your next ge...
Codestrong 2012 breakout session the role of cloud services in your next ge...
 
Codestrong 2012 breakout session new device platform support for titanium
Codestrong 2012 breakout session   new device platform support for titaniumCodestrong 2012 breakout session   new device platform support for titanium
Codestrong 2012 breakout session new device platform support for titanium
 
Codestrong 2012 breakout session mobile platform and infrastructure
Codestrong 2012 breakout session   mobile platform and infrastructureCodestrong 2012 breakout session   mobile platform and infrastructure
Codestrong 2012 breakout session mobile platform and infrastructure
 
Codestrong 2012 breakout session making money on appcelerator's marketplace
Codestrong 2012 breakout session   making money on appcelerator's marketplaceCodestrong 2012 breakout session   making money on appcelerator's marketplace
Codestrong 2012 breakout session making money on appcelerator's marketplace
 
Codestrong 2012 breakout session live multi-platform testing
Codestrong 2012 breakout session   live multi-platform testingCodestrong 2012 breakout session   live multi-platform testing
Codestrong 2012 breakout session live multi-platform testing
 
Codestrong 2012 breakout session leveraging titanium as part of your mobile...
Codestrong 2012 breakout session   leveraging titanium as part of your mobile...Codestrong 2012 breakout session   leveraging titanium as part of your mobile...
Codestrong 2012 breakout session leveraging titanium as part of your mobile...
 
Codestrong 2012 breakout session i os internals and best practices
Codestrong 2012 breakout session   i os internals and best practicesCodestrong 2012 breakout session   i os internals and best practices
Codestrong 2012 breakout session i os internals and best practices
 

Recently uploaded

Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 

Recently uploaded (20)

Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 

Controlling Hardware with Titanium+Plus Modules

  • 1. Titanium+Plus Modules and Javascript Bridges: Controlling Hardware with a Web Language Rob Chohan Chief Technologist, ePi Rational (C) 2011 ePi Rational, LLC
  • 2.
  • 3. 2001: A Space Odyssey Start around 57'20''
  • 4. Streaming BBC Channel 12 to Space
  • 5. Sweet Spot = Hardware + Software + Content
  • 6. Mobile Architecture, extending Titanium example One Barcode app idea to rule them all!!! Titanium – Open source User Interface & Hardware API Library (Software to be written to tie these together) Zxing or Zebra Crossing – Open source barcode library encode/decode iOS Android Killer Barcode App = Camera +
  • 7. Libraries that are ripe for Titanium+Plus • DropBox • My Tracks, Map or Lat/Long? -117.117203, 32.784180 • Airpush -117.116966, -117.116501, 32.784218 32.784386 -117.116501, 32.784439 -117.116341, 32.784527 • Square -117.116280, 32.784618 • Networking • Google Analytics* • A cryptographically secure RNG that your app needs that Javascript can't provide (e.g., SecureRandom)
  • 8. How To: Appcelerator makes it easy to get started • Titanium generates stubs • From their it is up to you to fill in the blanks • Pull in your favorite JAR, Java, or Obj-C or C++ code • Build and distribute on the Appcelerator Marketplace
  • 9. Hardware that could be interesting to Titanium Developers • Barometer • WiFi • Bluetooth • Near Field Communications (NFC) • ANT+ • GPS
  • 10. Barometer • Motorola chose a What is a Barometer good for Digital Pressure (courtesy of the chip manufacturer, Bosch) Sensor in their • Enhancement of GPS Motorola Xoom navigation • Indoor and outdoor navigation • Leisure and sports • Weather forecast • Vertical velocity indication
  • 11. Barometer, Javascript example • This is a perfect example of how Titanium+Plus can be extended • Barometer usage (targeting Motorola XOOM) var baro = require('epi.baro'); data = baro.getBaro();  // in milliBars, of course
  • 12. Titanium+Module Implementation for a Barometer on Android public void onSensorChanged(SensorEvent event) { long curTime = System.currentTimeMillis();     switch (event.sensor.getType()) {       case Sensor.TYPE_PRESSURE:         if (lastUpdate == -1 || (curTime - lastUpdate) > mTime){            float pressure = event.values[0];         }         break;                case Sensor.TYPE_ACCELEROMETER:         if (lastUpdate == -1 || (curTime - lastUpdate) > mTime){             float x = event.values[0];           float y = event.values[1];           float z = event.values[2];         }         break;     } }
  • 13. Screen from Motorola Xoom, Native App by Noosters 500+ Downloads as of Sep 2011
  • 14. Screen from Motorola Xoom, Native App by Guild Software 5,000+ Downloads as of Sep 2011
  • 15. Screen from Motorola Xoom, Native App by David Momenso 100+ Downloads as of Sep 2011
  • 16. Titanium+Plus Modules helps to lower the bar
  • 17. Data Mining on Android Bluetooth Hardware Apps, Data mined from AndBOT.com, April 2011 • Bluetooth Samples • Bluetooth Bar Widget • Bluetooth Backport for pre-Android 2.0 • Bluetooth Fileshare - Bluex • Bluetooth On/Off for Droid • Bluetooth Remote • Bluetooth text & paint Chat • Bluetooth Terminal • Bluetooth Widget Very useful apps, but what else can be done?
  • 18. Bluetooth now becomes very interesting for Titanium Users What is a Bluetooth good for in the context of Titanium • Chat programs • Getting data from custom sensor boards var btLib = require('epi.bt'); bt = btLib.turnOnRadio();   // discovery bt.discovery(); // pairing // exchanging of data
  • 19. San Diego Based Fitness Startup • San Diego based startup Mobile Phone focusing on Bicycle fitness • Patent pending nutrition and hydration algorithm for cyclists • 100% bootstrapped • Developed a custom sensor board with o wheel revolution counters o digital pressure barometer o another type of pressure sensor o Bluetooth 3 radio Custom Device comm over Bluetooth
  • 20. San Diego Based Fitness Startup why Titanium worked for them • 100% bootstrapped Mobile Phone • team is comprised of o 1 firmware o 1 electrical engineer o 1 Titanium Dev o 1 Bluetooth Dev o 1 Marketing • Each team member was able to focus on their particular part • Team currently at funding stage Custom Device comm over Bluetooth
  • 21. Bluetooth on Android & Titanium+Plus • Android module built for Android 1.6 • Many pitfalls o older firmware and Android • Relies on the Bluetooth phones (wait for supported hardware!) Backport open source jar o building for Titanium from Sosuke Masui, Japan required modifying the Python build scripts for both • Development was started back the Module and the before Bluetooth was Application o Android resources!!!, supported on Android 2.0 created a two-step build process o Port to iOS coming after funding
  • 22. Localization Notes on Titanium+Plus with Android • Android res files for each locale (en, ja, es, ...)
  • 23. Titanium+Plus Modules and Javascript Bridges: Controlling Hardware with a Web Language Rob Chohan Chief Technologist, ePi Rational (C) 2011 ePi Rational, LLC