SlideShare a Scribd company logo
1 of 35
Download to read offline
Openmokast: An open
mobile broadcasting
software stack for
handheld devices

                Presented at FOSSLC Summercamp 2009
                                        Ottawa, Canada
                                by Jean-Michel Bouffard
                          <jean-michel.bouffard@crc.ca>
Summary

✔   Broadcasting to handheld problem
✔   The Openmoko platform
✔   Implementing open mobile broadcasting in the
    Openmokast project
✔   Conclusion




                                                   2
Broadcasting to handheld problem

✔   Typical mobile phones only support applications that
    use the network operator controlled infrastructures:
     ✔   CDMA2000 -> 1X, EV-DO
     ✔   GSM -> GPRS, EDGE, 3G
✔   For this reason, innovation in mobility is difficult
✔   Broadcasting networks and applications have
    traditionally been ignored by network operators and
    mobile devices manufacturers




                     ATSC-M/H
                                                           3
Broadcasting to handheld problem

✔   The solution to mobile innovation is to create open
    phone project based on open source software




    www.android.com   www.openmoko.org   www.trolltech.com

                                                             4
Broadcasting to handheld problem

      ✔   Each project implements a complete software stack
          with a middleware for mobile services




www.openmoko.org                                         www.android.com




                                     www.trolltech.com
                                                                       5
Broadcasting to handheld problem

✔   No stack supported broadcasting!
✔   The Openmokast project was launched to support the
    creation of independent broadcast-enabled handsets
    by studying the specific requirements for mobile
    multimedia broadcasting (MMB) applications in the
    context of the previously mentioned open platforms and
    by integrating corresponding software building blocks
    into them




                                                         6
The Openmoko platform
- Why?

✔   The Openmoko project was selected for preliminary
    development for many reasons
     ✔   Completely open software stack based on Linux
     ✔   Only hardware components with open API are part of the
         devices
     ✔   The complete specs and the CAD files for of the devices were
         released under a CC license
     ✔   The hardware engineering process is openly discussed in the
         project's mailing lists and wiki pages
     ✔   The community is largely involved
         in the software development and
         good communication was
         established over different online
         collaboration tools
                                                                        7
The Openmoko platform
- What?

✔   The Openmoko project was initiated by FIC and
    Openmoko, Inc. in novembre 2006
✔   The project covers two main areas
     ✔   Hardware devices design and engineering
     ✔   Software development
✔   The mission of the project is to “free your phone” by
    allowing users to
     ✔   Add and modify the software to their needs
     ✔   Add new hardware components
     ✔   Have full access to the phone capabilities




                                                            8
The Openmoko platform
- Hardware

✔   Openmoko released two different devices so far
     ✔   A preliminary developer preview, the Neo 1973
     ✔   The current stable device, the Neo FreeRunner




                 Neo 1973           Neo FreeRunner
            codename GTA01         codename GTA02
            (released July 2007)   (released July 2008)
                                                          9
The Openmoko platform
- Hardware specifications
               ✔   High resolution touch screen 2.84” (43mm x 58mm)
                   480x640 pixels
               ✔   128MB SDRAM memory
               ✔   256 MB integrated flash memory (expandable with
                   microSD or microSDHC card)
               ✔   microSD slot supporting up to 8GB SDHC cards
               ✔   Internal GPS module
               ✔   Bluetooth
               ✔   802.11 b/g WiFi
               ✔   400Mhz ARM processor
               ✔   2 * 3D accelerometers
               ✔   2 LEDs illuminating the two buttons on the rim of the
                   case (one bicolor [blue|orange] behind the power button,
                   1 unicolor [red] behind the aux button)
               ✔   Tri-band GSM and GPRS
               ✔   USB Host function with 500mA power, allowing to power
                   USB devices for short periods


                                                                           10
The Openmoko platform
- Software architecture

✔   The typical software stack
    for embedded devices can
    be represented in Layers
    as depicted here
✔   The middleware layer
    provides:
     ✔   The standard services offered
         to the applications by the operating system
     ✔   The communication link between the applications
✔   The middleware assures:
     ✔   Compatibility of the applications that uses the platform
     ✔   Interoperability between the applications

                                                                    11
The Openmoko platform
- Software architecture




                          12
The Openmoko platform
- Software architecture

✔   Middleware services for Openmoko
     ✔   High level
           ✔ Usage, Event, Preferences, Context, Telephony,

             Networking, PIM
     ✔   Low level
           ✔ Device Control, GSM




                                             Defined and
                                              implemented under the
                                              FSO Framework at
                                              FreeSmartPhone.org

                                                                  13
The Openmoko platform
- Distributions
✔   The official Openmoko distribution is OM2008.12
     ✔   illume window manager
     ✔   opkg package management system based on the Itsy Package
         Management System for embedded devices




                                                                14
The Openmoko platform
- Distributions

                   ✔   Distributions can be
                       classified in three groups
                        ✔   OM Inc. driven
                        ✔   OM Community driven
                        ✔   Non-OM driven
                   ✔   OM community has
                       generated a large
                       contribution
                   ✔   Other less significant
                       distributions were also
                       successfully ported for OM
                       devices

                                                    15
The Openmoko platform
- Applications

✔   Development for OM is really active in the community
✔   Main sources to find OM applications:
     ✔   Openmoko wiki's master application list for the Openmoko
         smartphones
           ✔ http://wiki.openmoko.org/wiki/Applications


           ✔ 114 applications listed in 13 categories


     ✔   opkg - A software directory for Openmoko phones
           ✔ http://www.opkg.org/


           ✔ 79 applications listed in 10 categories


     ✔   Because OM2008.x is a full featured Linux based system
         including a full X server, almost any Linux application could be
         rebuilt and packaged for the distribution


                                                                            16
The Openmoko platform
- Applications examples

✔   Numptyphysics
     ✔   Drawing puzzle game
     ✔   Use a physics engine
         specifically written for games


                              ✔   TangoGPS
                                   ✔   Fast and lightweight mapping
                                       application
                                   ✔   Uses the FreeRunner hardware
                                         ✔ GPS for real-time positioning


                                         ✔ Wifi connection for maps updates


                                   ✔   Uses maps data from the
                                       Openstreetmap project
                                                                          17
The Openmoko platform
- Is it for you?

✔   The Openmoko project is still a “work in progress”
✔   Intended audience
     ✔   Linux users
     ✔   Software developers
     ✔   And ultimately, general consumers (the project is not there yet)
✔   Usability
     ✔   GSM voice calls functional but voice quality could be improved
     ✔   SMS messaging functional
     ✔   Wifi networking functional
     ✔   GPS functional
     ✔   Multimedia capabilities such as audio/video playout unstable
     ✔   Buggy Sleep/resume capabilities, hence battery life is limited

                                                                          18
The Openmoko platform
- Possibilities
                                                     Neo FreeRunner
✔   Platform of choice for:                                   +
                                                           Debian
     ✔   FOSS embedded development                            +
          ✔ Supports virtually any available    high end Accton 802.11b/g
            software technology from the                  wifi card
                                                              =
            “Linux world”                        Portable network security
          ✔ Advanced hardware capabilities            testing platform
     ✔   Embedded system integration
          ✔ Available hardware specifications

            enables easy modifications

✔   OM is not a phone, it's a portable Linux computer
    that just happen to have phoning capabilities


                                                                         19
Openmokast project
- Scope

✔   Openmoko was selected as the first development
    platform for the project
✔   The missing parts:
     ✔   Compatible (SDIO, USB or ???) broadcasting receiver
     ✔   Linux drivers for the receiver
     ✔   Broadcasting stack to control the receivers and access the
         data
     ✔   Applications to decode the multimedia streams
     ✔   Nice integration inside the Neo FreeRunner




                                                                      20
Openmokast project
- Hardware

✔   Compatible broadcasting receiver
     ✔   MTECH UDR-A3L T-DMB/DAB (Digital Multimedia/Audio
         Boardcasting) USB Receiver for PC & Laptop
     ✔   Capable of receiving high quality audio and video mobile
         broadcasting services
                            ✔   Fully compliant to ETSI EN 300 401 (Eureka-147)
                            ✔   RF frequency range:
                                  ✔  Band III: 174 to 240MHz
                                  ✔  China band III: 168.160 to 221.568MHz
                                  ✔  L band: 1452 to 1492MHz (UDR-A3L)
                            ✔   Transmission mode: all modes with auto detection
                            ✔   Channel decoding: single channel decoding
                            ✔   Decoding capacity:
                                  ✔ Audio service: up to 384Kbps
                                  ✔ Video service: up to 1.5Mbps
                            ✔   RF input connector: 50 ohms RF SMA connector

                                                                                   21
Openmokast project
- Hardware

✔   Internal USB test points can be
    used to integrate a USB
    component
     ✔   Schematics available from
         http://openmoko.com
     ✔   Marked on FreeRunner schematic
         as H-TP4901, H-TP4902, H-TP4903,
         H-TP4904
✔   Configuration
     ✔   USB port must be switched from
         device to host mode of operation
     ✔   USB power mode can be selected to
         provide power to the device from the
         FreeRunner battery
                                                22
Openmokast project
- Drivers

✔   Linux drivers
     ✔   Analysis of the communication between the USB receiver and
         its default Windows software was achieved using a USB sniffer
         application
     ✔   The communication protocol was reimplemented on Linux
         using:
            ✔ libusb-0.1 user space USB driver


            ✔ “libusb_augment” extension




                                                                     23
Openmokast project
- Software

✔   Broadcasting software stack
     ✔   Based on a software previously developed at CRC
     ✔   C/C++
     ✔   User interface uses GUI library GTK+
     ✔   Control interface:
          ✔ Text console


          ✔ Telnet console


          ✔ DBus interface org.openmokast.Receiver


     ✔   Data interface:
          ✔ Standard UDP/IP or HTTP streams


✔   Decoder applications
     ✔   Any technology that can use either of the control/data interfaces

                                                                         24
Openmokast project
- Software




                     25
Openmokast project
- Software

✔   Openmokast software stack in action




                                          26
Openmokast project
- API

✔   Goals
     ✔   Make it possible to use broadcasting services from any
         applications
     ✔   Offer an Broadcasting component that could be integrated in
         an open middleware stack
✔   Technology
     ✔   D-Bus Inter-Process Communication (IPC) system




                                                                       27
Openmokast project
- API

✔   D-Bus
     ✔   Used in many embedded and mobile software environment
         such as LiMo, Freedesktop.org, Maemo, etc.
     ✔   Common in main desktop environments such as GNOME and
         KDE 4.
     ✔   Provides a collection
         of binding libraries for
         common programming
         languages such as C,
         C++, Python, Java,
         Vala, etc.




                                                                 28
Openmokast project
- API




                     29
Openmokast project
- Integration

✔   The integration into the Openmokast device required
    the design of a case extension based on the released
    CAD from Openmoko, Inc.




                                                           30
Openmokast project
- Integration

✔   Extension prototypes were manufactured with a 3D
    printer by Cimetrix (http://cimetrixsolutions.com/) at an
    acceptable cost




                                                                31
Openmokast project
- Integration

✔   Final Openmokast prototype




                                 32
Conclusion
- Future work

✔   Google Android
     ✔   Linux based but all applications
         must be implemented in Java
     ✔   Currently ported for the Openmoko
         FreeRunner
     ✔   An Android version of Openmokast
         is currently in development
✔   Challenges
     ✔   Main broadcasting codecs are not
         available
     ✔   Underlying Linux distribution is
         missing common libraries


                                             33
Conclusion

✔   More information at:
     ✔   Openmokast - Resources for Open Mobile Broadcast Devices
         http://openmokast.org
     ✔   Openmoko - Open. Mobile. Free.
         http://wiki.openmoko.org
     ✔   opkg - A software directory for Openmoko phones
         http://www.opkg.org/

✔   Development tutorial:
     ✔   Getting started with open mobile development on the
         Openmoko platform
         http://www.fosslc.org/drupal/node/157



                                                                    34
THANK YOU




            35

More Related Content

Viewers also liked (6)

Twitter, Facebook, Blog: What's the Value?
Twitter, Facebook, Blog: What's the Value?Twitter, Facebook, Blog: What's the Value?
Twitter, Facebook, Blog: What's the Value?
 
Emr6500 final presentation
Emr6500 final presentationEmr6500 final presentation
Emr6500 final presentation
 
Dgl group debate
Dgl group debateDgl group debate
Dgl group debate
 
Rise summer bridge proposal -hab
Rise summer bridge proposal -habRise summer bridge proposal -hab
Rise summer bridge proposal -hab
 
Services Drupalcamp Stockholm 2009
Services Drupalcamp Stockholm 2009Services Drupalcamp Stockholm 2009
Services Drupalcamp Stockholm 2009
 
Redesign Powerpoint
Redesign Powerpoint Redesign Powerpoint
Redesign Powerpoint
 

Similar to Openmokast: An open mobile broadcasting software stack for handheld devices

nokia and opensource n800
nokia and opensource n800nokia and opensource n800
nokia and opensource n800
winsopc
 
Massive Data Collection
Massive Data CollectionMassive Data Collection
Massive Data Collection
Leandro Agro'
 
Mobile Data Revolution
Mobile Data RevolutionMobile Data Revolution
Mobile Data Revolution
Ziv Baum
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212
Yoojoo Jang
 

Similar to Openmokast: An open mobile broadcasting software stack for handheld devices (20)

Openmokast: The open broadcasting software stack for mobile devices
Openmokast: The open broadcasting software stack for mobile devicesOpenmokast: The open broadcasting software stack for mobile devices
Openmokast: The open broadcasting software stack for mobile devices
 
Ibc 2009 F Lefebvre Poster Presentation
Ibc 2009 F Lefebvre Poster PresentationIbc 2009 F Lefebvre Poster Presentation
Ibc 2009 F Lefebvre Poster Presentation
 
nokia and opensource n800
nokia and opensource n800nokia and opensource n800
nokia and opensource n800
 
Bug Labs Gov Web
Bug Labs Gov WebBug Labs Gov Web
Bug Labs Gov Web
 
Sinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerSinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the corner
 
Leandro Agrò
Leandro AgròLeandro Agrò
Leandro Agrò
 
Massive Data Collection
Massive Data CollectionMassive Data Collection
Massive Data Collection
 
IoT Seminar (Jan. 2016) - (7) joaquin prado - oma developer toolkit
IoT Seminar (Jan. 2016) - (7) joaquin prado - oma developer toolkitIoT Seminar (Jan. 2016) - (7) joaquin prado - oma developer toolkit
IoT Seminar (Jan. 2016) - (7) joaquin prado - oma developer toolkit
 
Firefox OS
Firefox OSFirefox OS
Firefox OS
 
The UNICORE Project: Unikraft and OpenNebula
The UNICORE Project:  Unikraft and OpenNebulaThe UNICORE Project:  Unikraft and OpenNebula
The UNICORE Project: Unikraft and OpenNebula
 
CSUC - UNICORE Project: UNIKernel Power
CSUC - UNICORE Project: UNIKernel PowerCSUC - UNICORE Project: UNIKernel Power
CSUC - UNICORE Project: UNIKernel Power
 
UNICORE Project: Unikernel Power
UNICORE Project: Unikernel PowerUNICORE Project: Unikernel Power
UNICORE Project: Unikernel Power
 
Mobile Data Revolution
Mobile Data RevolutionMobile Data Revolution
Mobile Data Revolution
 
Bug Labs Automotive Web
Bug Labs Automotive WebBug Labs Automotive Web
Bug Labs Automotive Web
 
developementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptxdevelopementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptx
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212
 
Eclipse Paho Progress Report - EclipseCon 2012
Eclipse Paho Progress Report - EclipseCon 2012Eclipse Paho Progress Report - EclipseCon 2012
Eclipse Paho Progress Report - EclipseCon 2012
 
Android Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and VersionsAndroid Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and Versions
 
JavaFX Uni Parthenope
JavaFX Uni ParthenopeJavaFX Uni Parthenope
JavaFX Uni Parthenope
 
UplinQ - qualcomm® smart gateway the home network as a development platform
UplinQ - qualcomm® smart gateway the home network as a development platformUplinQ - qualcomm® smart gateway the home network as a development platform
UplinQ - qualcomm® smart gateway the home network as a development platform
 

More from Jean-Michel Bouffard

More from Jean-Michel Bouffard (12)

La voile - classe d'Alex-Ann - Novembre 2017
La voile - classe d'Alex-Ann - Novembre 2017La voile - classe d'Alex-Ann - Novembre 2017
La voile - classe d'Alex-Ann - Novembre 2017
 
Ingénieur - classe de Maulaurie - novembre 2016
Ingénieur - classe de Maulaurie - novembre 2016Ingénieur - classe de Maulaurie - novembre 2016
Ingénieur - classe de Maulaurie - novembre 2016
 
La voile - classe de Maulaurie - déc. 2015
La voile - classe de Maulaurie - déc. 2015La voile - classe de Maulaurie - déc. 2015
La voile - classe de Maulaurie - déc. 2015
 
FM-RDS developments at CRC
FM-RDS developments at CRCFM-RDS developments at CRC
FM-RDS developments at CRC
 
Getting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platformGetting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platform
 
Web2.0: Les caractéristiques et les technologies qui définissent la nouvelle ...
Web2.0: Les caractéristiques et les technologies qui définissent la nouvelle ...Web2.0: Les caractéristiques et les technologies qui définissent la nouvelle ...
Web2.0: Les caractéristiques et les technologies qui définissent la nouvelle ...
 
La télévision Haute-Définition (TVHD) sur Linux
La télévision Haute-Définition (TVHD) sur LinuxLa télévision Haute-Définition (TVHD) sur Linux
La télévision Haute-Définition (TVHD) sur Linux
 
Linux - Configuration du Système
Linux - Configuration du SystèmeLinux - Configuration du Système
Linux - Configuration du Système
 
MythTV: Installation et Démonstration
MythTV: Installation et DémonstrationMythTV: Installation et Démonstration
MythTV: Installation et Démonstration
 
Large Scale Distribution of Popular Internet “User Generated Content” to Mobi...
Large Scale Distribution of Popular Internet “User Generated Content” to Mobi...Large Scale Distribution of Popular Internet “User Generated Content” to Mobi...
Large Scale Distribution of Popular Internet “User Generated Content” to Mobi...
 
Multimodal Applications for Mobile Multimedia Broadcasting
Multimodal Applications for Mobile Multimedia BroadcastingMultimodal Applications for Mobile Multimedia Broadcasting
Multimodal Applications for Mobile Multimedia Broadcasting
 
An IP Based File Delivery Platform for Mobile Multimedia Broadcasting
An IP Based File Delivery Platform for Mobile Multimedia BroadcastingAn IP Based File Delivery Platform for Mobile Multimedia Broadcasting
An IP Based File Delivery Platform for Mobile Multimedia Broadcasting
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 

Openmokast: An open mobile broadcasting software stack for handheld devices

  • 1. Openmokast: An open mobile broadcasting software stack for handheld devices Presented at FOSSLC Summercamp 2009 Ottawa, Canada by Jean-Michel Bouffard <jean-michel.bouffard@crc.ca>
  • 2. Summary ✔ Broadcasting to handheld problem ✔ The Openmoko platform ✔ Implementing open mobile broadcasting in the Openmokast project ✔ Conclusion 2
  • 3. Broadcasting to handheld problem ✔ Typical mobile phones only support applications that use the network operator controlled infrastructures: ✔ CDMA2000 -> 1X, EV-DO ✔ GSM -> GPRS, EDGE, 3G ✔ For this reason, innovation in mobility is difficult ✔ Broadcasting networks and applications have traditionally been ignored by network operators and mobile devices manufacturers ATSC-M/H 3
  • 4. Broadcasting to handheld problem ✔ The solution to mobile innovation is to create open phone project based on open source software www.android.com www.openmoko.org www.trolltech.com 4
  • 5. Broadcasting to handheld problem ✔ Each project implements a complete software stack with a middleware for mobile services www.openmoko.org www.android.com www.trolltech.com 5
  • 6. Broadcasting to handheld problem ✔ No stack supported broadcasting! ✔ The Openmokast project was launched to support the creation of independent broadcast-enabled handsets by studying the specific requirements for mobile multimedia broadcasting (MMB) applications in the context of the previously mentioned open platforms and by integrating corresponding software building blocks into them 6
  • 7. The Openmoko platform - Why? ✔ The Openmoko project was selected for preliminary development for many reasons ✔ Completely open software stack based on Linux ✔ Only hardware components with open API are part of the devices ✔ The complete specs and the CAD files for of the devices were released under a CC license ✔ The hardware engineering process is openly discussed in the project's mailing lists and wiki pages ✔ The community is largely involved in the software development and good communication was established over different online collaboration tools 7
  • 8. The Openmoko platform - What? ✔ The Openmoko project was initiated by FIC and Openmoko, Inc. in novembre 2006 ✔ The project covers two main areas ✔ Hardware devices design and engineering ✔ Software development ✔ The mission of the project is to “free your phone” by allowing users to ✔ Add and modify the software to their needs ✔ Add new hardware components ✔ Have full access to the phone capabilities 8
  • 9. The Openmoko platform - Hardware ✔ Openmoko released two different devices so far ✔ A preliminary developer preview, the Neo 1973 ✔ The current stable device, the Neo FreeRunner Neo 1973 Neo FreeRunner codename GTA01 codename GTA02 (released July 2007) (released July 2008) 9
  • 10. The Openmoko platform - Hardware specifications ✔ High resolution touch screen 2.84” (43mm x 58mm) 480x640 pixels ✔ 128MB SDRAM memory ✔ 256 MB integrated flash memory (expandable with microSD or microSDHC card) ✔ microSD slot supporting up to 8GB SDHC cards ✔ Internal GPS module ✔ Bluetooth ✔ 802.11 b/g WiFi ✔ 400Mhz ARM processor ✔ 2 * 3D accelerometers ✔ 2 LEDs illuminating the two buttons on the rim of the case (one bicolor [blue|orange] behind the power button, 1 unicolor [red] behind the aux button) ✔ Tri-band GSM and GPRS ✔ USB Host function with 500mA power, allowing to power USB devices for short periods 10
  • 11. The Openmoko platform - Software architecture ✔ The typical software stack for embedded devices can be represented in Layers as depicted here ✔ The middleware layer provides: ✔ The standard services offered to the applications by the operating system ✔ The communication link between the applications ✔ The middleware assures: ✔ Compatibility of the applications that uses the platform ✔ Interoperability between the applications 11
  • 12. The Openmoko platform - Software architecture 12
  • 13. The Openmoko platform - Software architecture ✔ Middleware services for Openmoko ✔ High level ✔ Usage, Event, Preferences, Context, Telephony, Networking, PIM ✔ Low level ✔ Device Control, GSM Defined and implemented under the FSO Framework at FreeSmartPhone.org 13
  • 14. The Openmoko platform - Distributions ✔ The official Openmoko distribution is OM2008.12 ✔ illume window manager ✔ opkg package management system based on the Itsy Package Management System for embedded devices 14
  • 15. The Openmoko platform - Distributions ✔ Distributions can be classified in three groups ✔ OM Inc. driven ✔ OM Community driven ✔ Non-OM driven ✔ OM community has generated a large contribution ✔ Other less significant distributions were also successfully ported for OM devices 15
  • 16. The Openmoko platform - Applications ✔ Development for OM is really active in the community ✔ Main sources to find OM applications: ✔ Openmoko wiki's master application list for the Openmoko smartphones ✔ http://wiki.openmoko.org/wiki/Applications ✔ 114 applications listed in 13 categories ✔ opkg - A software directory for Openmoko phones ✔ http://www.opkg.org/ ✔ 79 applications listed in 10 categories ✔ Because OM2008.x is a full featured Linux based system including a full X server, almost any Linux application could be rebuilt and packaged for the distribution 16
  • 17. The Openmoko platform - Applications examples ✔ Numptyphysics ✔ Drawing puzzle game ✔ Use a physics engine specifically written for games ✔ TangoGPS ✔ Fast and lightweight mapping application ✔ Uses the FreeRunner hardware ✔ GPS for real-time positioning ✔ Wifi connection for maps updates ✔ Uses maps data from the Openstreetmap project 17
  • 18. The Openmoko platform - Is it for you? ✔ The Openmoko project is still a “work in progress” ✔ Intended audience ✔ Linux users ✔ Software developers ✔ And ultimately, general consumers (the project is not there yet) ✔ Usability ✔ GSM voice calls functional but voice quality could be improved ✔ SMS messaging functional ✔ Wifi networking functional ✔ GPS functional ✔ Multimedia capabilities such as audio/video playout unstable ✔ Buggy Sleep/resume capabilities, hence battery life is limited 18
  • 19. The Openmoko platform - Possibilities Neo FreeRunner ✔ Platform of choice for: + Debian ✔ FOSS embedded development + ✔ Supports virtually any available high end Accton 802.11b/g software technology from the wifi card = “Linux world” Portable network security ✔ Advanced hardware capabilities testing platform ✔ Embedded system integration ✔ Available hardware specifications enables easy modifications ✔ OM is not a phone, it's a portable Linux computer that just happen to have phoning capabilities 19
  • 20. Openmokast project - Scope ✔ Openmoko was selected as the first development platform for the project ✔ The missing parts: ✔ Compatible (SDIO, USB or ???) broadcasting receiver ✔ Linux drivers for the receiver ✔ Broadcasting stack to control the receivers and access the data ✔ Applications to decode the multimedia streams ✔ Nice integration inside the Neo FreeRunner 20
  • 21. Openmokast project - Hardware ✔ Compatible broadcasting receiver ✔ MTECH UDR-A3L T-DMB/DAB (Digital Multimedia/Audio Boardcasting) USB Receiver for PC & Laptop ✔ Capable of receiving high quality audio and video mobile broadcasting services ✔ Fully compliant to ETSI EN 300 401 (Eureka-147) ✔ RF frequency range: ✔ Band III: 174 to 240MHz ✔ China band III: 168.160 to 221.568MHz ✔ L band: 1452 to 1492MHz (UDR-A3L) ✔ Transmission mode: all modes with auto detection ✔ Channel decoding: single channel decoding ✔ Decoding capacity: ✔ Audio service: up to 384Kbps ✔ Video service: up to 1.5Mbps ✔ RF input connector: 50 ohms RF SMA connector 21
  • 22. Openmokast project - Hardware ✔ Internal USB test points can be used to integrate a USB component ✔ Schematics available from http://openmoko.com ✔ Marked on FreeRunner schematic as H-TP4901, H-TP4902, H-TP4903, H-TP4904 ✔ Configuration ✔ USB port must be switched from device to host mode of operation ✔ USB power mode can be selected to provide power to the device from the FreeRunner battery 22
  • 23. Openmokast project - Drivers ✔ Linux drivers ✔ Analysis of the communication between the USB receiver and its default Windows software was achieved using a USB sniffer application ✔ The communication protocol was reimplemented on Linux using: ✔ libusb-0.1 user space USB driver ✔ “libusb_augment” extension 23
  • 24. Openmokast project - Software ✔ Broadcasting software stack ✔ Based on a software previously developed at CRC ✔ C/C++ ✔ User interface uses GUI library GTK+ ✔ Control interface: ✔ Text console ✔ Telnet console ✔ DBus interface org.openmokast.Receiver ✔ Data interface: ✔ Standard UDP/IP or HTTP streams ✔ Decoder applications ✔ Any technology that can use either of the control/data interfaces 24
  • 26. Openmokast project - Software ✔ Openmokast software stack in action 26
  • 27. Openmokast project - API ✔ Goals ✔ Make it possible to use broadcasting services from any applications ✔ Offer an Broadcasting component that could be integrated in an open middleware stack ✔ Technology ✔ D-Bus Inter-Process Communication (IPC) system 27
  • 28. Openmokast project - API ✔ D-Bus ✔ Used in many embedded and mobile software environment such as LiMo, Freedesktop.org, Maemo, etc. ✔ Common in main desktop environments such as GNOME and KDE 4. ✔ Provides a collection of binding libraries for common programming languages such as C, C++, Python, Java, Vala, etc. 28
  • 30. Openmokast project - Integration ✔ The integration into the Openmokast device required the design of a case extension based on the released CAD from Openmoko, Inc. 30
  • 31. Openmokast project - Integration ✔ Extension prototypes were manufactured with a 3D printer by Cimetrix (http://cimetrixsolutions.com/) at an acceptable cost 31
  • 32. Openmokast project - Integration ✔ Final Openmokast prototype 32
  • 33. Conclusion - Future work ✔ Google Android ✔ Linux based but all applications must be implemented in Java ✔ Currently ported for the Openmoko FreeRunner ✔ An Android version of Openmokast is currently in development ✔ Challenges ✔ Main broadcasting codecs are not available ✔ Underlying Linux distribution is missing common libraries 33
  • 34. Conclusion ✔ More information at: ✔ Openmokast - Resources for Open Mobile Broadcast Devices http://openmokast.org ✔ Openmoko - Open. Mobile. Free. http://wiki.openmoko.org ✔ opkg - A software directory for Openmoko phones http://www.opkg.org/ ✔ Development tutorial: ✔ Getting started with open mobile development on the Openmoko platform http://www.fosslc.org/drupal/node/157 34
  • 35. THANK YOU 35