SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
Free your phone
   Shaastra 2008 – IIT Madras



Sudharshan 'Sup3rkiddo' S
Agenda

●   Software development in mobile phones
●   Freesmartphone.org framework
●   FSO and freedesktop.org
●   D-Bus primer (a gooey chocolate)
●   Framework daemon components
●   Code walkthrough, zhone
●   A bit about Openmoko
Mobile Software Development
●   Variety of software stacks
    –   Symbian
    –   Windows CE/Mobile
    –   EZX
    –   Android
    –   J2ME
    –   And a lot more
Mobile Software development
●   Variety of hardware capabilities
    –   Camera
    –   GPS
    –   Music player
    –   Touch screen
    –   USB
    –   Accelerometers
    –   And many more
The problem
●   We solve the problem with hardware
    abstraction layers
    –   Neod for Openmoko
    –   Ohm for Maemo
    –   Zaurusd for OpenZaurus
    –   Machined for GPE
..all doing the same damn thing
Wouldn't it be nice if...
What is freesmartphone.org?


 “freesmartphone.org is a collaboration platform
for opensource and open discussion software
projects working on interoperability and shared
technology for Linux-based Smartphones”
                           --
http://wiki.freesmartphone.org
Design goals
●   Be platform agnostic, doesn't matter where you are
    running the code
●   Be language agnostic as well. If it has Dbus bindings you
    are home.
●   Be simple and small. Example, HAL vs. Device subsystem
    of the FSO framework
●   Integrate tightly with the hardware for performance
●   Lastly, “re-use existing technologies, but not overdo it”
Why re-invent something that freedesktop.org is
                              already doing?

●   FDO focuses on interoperability and standards between
    different Desktop Environments, ex: KDE, Gnome, XFCE
●   FSO focuses on interoperability between entire software
    platforms for Smartphones and similar devices
●   (Well, we still use Dbus and thats from FDO)
●   As, the name implies freedesktop.org is for Desktops.
    And Desktops != Mobile phones
D-Bus Primer

●   One of the coolest things to have happened in the
    FOSS world.
●   Inter-process Communication for mortals
D-Bus in one line




Expose an object with an interface on a System
               or Session Bus
D-Bus in FSO framework

●   Use system bus. So only one instance of the code will run.
●   Example. GetCapacity method from
    org.freesmartphone.Device.PowerSupply interface running
    on org.freesmartphone.odeviced system bus
How it all comes together, a quick demonstration
Zhone, walkthrough


  Because APIs
without a consumer
    suck. A code
   walkthrough of
zhone (Zen Phone)
Links and Resources
●   http://www.freesmartphone.org
●   http://git.freesmartphone.org ← code
●   http://wiki.openmoko.org/wiki/OpenmokoFramewor
●   http://dbus.freedesktop.org/
●   http://www.sudharsh.wordpress.com
Yay, Thanks




This talk wouldn't have been possible without the
      hackers at Openmoko and other FOSS
              contributors. Cheers!

Contenu connexe

En vedette

T-121-5300 (2008) User Interface Design 10 - UIML
T-121-5300 (2008) User Interface Design 10 - UIMLT-121-5300 (2008) User Interface Design 10 - UIML
T-121-5300 (2008) User Interface Design 10 - UIMLmniemi
 
Bc 04 08 Lr Tom V2
Bc 04 08 Lr Tom V2Bc 04 08 Lr Tom V2
Bc 04 08 Lr Tom V2tparkeboca
 
Strategic Usability
Strategic UsabilityStrategic Usability
Strategic Usabilitymniemi
 
T-121.5300 Käyttoliittymasuunnittelu - Mallit
T-121.5300 Käyttoliittymasuunnittelu - MallitT-121.5300 Käyttoliittymasuunnittelu - Mallit
T-121.5300 Käyttoliittymasuunnittelu - Mallitmniemi
 
T-121-5300 (2008) User Interface Design 9 - Process
T-121-5300 (2008) User Interface Design 9 - ProcessT-121-5300 (2008) User Interface Design 9 - Process
T-121-5300 (2008) User Interface Design 9 - Processmniemi
 
Sql – Structured Query Language
Sql – Structured Query LanguageSql – Structured Query Language
Sql – Structured Query Languagepandey3045_bit
 
Database Containerization Platform Checklist
Database Containerization Platform ChecklistDatabase Containerization Platform Checklist
Database Containerization Platform ChecklistAdeesh Fulay
 
T-0.7050 (2008) Introduction to Post Graduate Studies in Computer Science And...
T-0.7050 (2008) Introduction to Post Graduate Studies in Computer Science And...T-0.7050 (2008) Introduction to Post Graduate Studies in Computer Science And...
T-0.7050 (2008) Introduction to Post Graduate Studies in Computer Science And...mniemi
 

En vedette (9)

T-121-5300 (2008) User Interface Design 10 - UIML
T-121-5300 (2008) User Interface Design 10 - UIMLT-121-5300 (2008) User Interface Design 10 - UIML
T-121-5300 (2008) User Interface Design 10 - UIML
 
Bc 04 08 Lr Tom V2
Bc 04 08 Lr Tom V2Bc 04 08 Lr Tom V2
Bc 04 08 Lr Tom V2
 
Strategic Usability
Strategic UsabilityStrategic Usability
Strategic Usability
 
Quiz
QuizQuiz
Quiz
 
T-121.5300 Käyttoliittymasuunnittelu - Mallit
T-121.5300 Käyttoliittymasuunnittelu - MallitT-121.5300 Käyttoliittymasuunnittelu - Mallit
T-121.5300 Käyttoliittymasuunnittelu - Mallit
 
T-121-5300 (2008) User Interface Design 9 - Process
T-121-5300 (2008) User Interface Design 9 - ProcessT-121-5300 (2008) User Interface Design 9 - Process
T-121-5300 (2008) User Interface Design 9 - Process
 
Sql – Structured Query Language
Sql – Structured Query LanguageSql – Structured Query Language
Sql – Structured Query Language
 
Database Containerization Platform Checklist
Database Containerization Platform ChecklistDatabase Containerization Platform Checklist
Database Containerization Platform Checklist
 
T-0.7050 (2008) Introduction to Post Graduate Studies in Computer Science And...
T-0.7050 (2008) Introduction to Post Graduate Studies in Computer Science And...T-0.7050 (2008) Introduction to Post Graduate Studies in Computer Science And...
T-0.7050 (2008) Introduction to Post Graduate Studies in Computer Science And...
 

Similaire à Freesmartphone.org

Fos sintro pres-dav
Fos sintro pres-davFos sintro pres-dav
Fos sintro pres-davParin Sharma
 
Native mobile application development with Flutter (Dart)
Native mobile application development with Flutter (Dart)Native mobile application development with Flutter (Dart)
Native mobile application development with Flutter (Dart)Randal Schwartz
 
Automated mobile application porting
Automated mobile application portingAutomated mobile application porting
Automated mobile application portinge27
 
Droidcon uk2012 androvm
Droidcon uk2012 androvmDroidcon uk2012 androvm
Droidcon uk2012 androvmdfages
 
Cross platform development
Cross platform developmentCross platform development
Cross platform developmentdftaiwo
 
Open source software siddique
Open source software siddiqueOpen source software siddique
Open source software siddiqueSiddique Ibrahim
 
OLPC presentation in a class on Information Systems Strategy
OLPC presentation in a class on Information Systems StrategyOLPC presentation in a class on Information Systems Strategy
OLPC presentation in a class on Information Systems StrategySameer Verma
 
groovy DSLs from beginner to expert
groovy DSLs from beginner to expertgroovy DSLs from beginner to expert
groovy DSLs from beginner to expertPaul King
 
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesBUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesLinaro
 
IoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorialIoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorialSamsung Open Source Group
 
Pardus Linux English Presentation
Pardus Linux English PresentationPardus Linux English Presentation
Pardus Linux English PresentationEmrah Tokalak
 
XPDS16: Xenbedded: Xen-based client virtualization for phones and tablets - ...
XPDS16:  Xenbedded: Xen-based client virtualization for phones and tablets - ...XPDS16:  Xenbedded: Xen-based client virtualization for phones and tablets - ...
XPDS16: Xenbedded: Xen-based client virtualization for phones and tablets - ...The Linux Foundation
 

Similaire à Freesmartphone.org (20)

Fos sintro pres-dav
Fos sintro pres-davFos sintro pres-dav
Fos sintro pres-dav
 
Foss Presentation
Foss PresentationFoss Presentation
Foss Presentation
 
Native mobile application development with Flutter (Dart)
Native mobile application development with Flutter (Dart)Native mobile application development with Flutter (Dart)
Native mobile application development with Flutter (Dart)
 
ERTS diagram
ERTS diagramERTS diagram
ERTS diagram
 
Webtech 17.11.2009
Webtech 17.11.2009Webtech 17.11.2009
Webtech 17.11.2009
 
Story of java
Story of javaStory of java
Story of java
 
Story of java
Story of javaStory of java
Story of java
 
Automated mobile application porting
Automated mobile application portingAutomated mobile application porting
Automated mobile application porting
 
Droidcon uk2012 androvm
Droidcon uk2012 androvmDroidcon uk2012 androvm
Droidcon uk2012 androvm
 
Touch your NetBSD
Touch your NetBSDTouch your NetBSD
Touch your NetBSD
 
Cross platform development
Cross platform developmentCross platform development
Cross platform development
 
Open source software siddique
Open source software siddiqueOpen source software siddique
Open source software siddique
 
OLPC presentation in a class on Information Systems Strategy
OLPC presentation in a class on Information Systems StrategyOLPC presentation in a class on Information Systems Strategy
OLPC presentation in a class on Information Systems Strategy
 
Portable OS & Portable Application
Portable OS & Portable ApplicationPortable OS & Portable Application
Portable OS & Portable Application
 
groovy DSLs from beginner to expert
groovy DSLs from beginner to expertgroovy DSLs from beginner to expert
groovy DSLs from beginner to expert
 
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesBUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
 
IoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorialIoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorial
 
Pardus Linux English Presentation
Pardus Linux English PresentationPardus Linux English Presentation
Pardus Linux English Presentation
 
Introduction to Plone
Introduction to PloneIntroduction to Plone
Introduction to Plone
 
XPDS16: Xenbedded: Xen-based client virtualization for phones and tablets - ...
XPDS16:  Xenbedded: Xen-based client virtualization for phones and tablets - ...XPDS16:  Xenbedded: Xen-based client virtualization for phones and tablets - ...
XPDS16: Xenbedded: Xen-based client virtualization for phones and tablets - ...
 

Dernier

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Dernier (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

Freesmartphone.org

  • 1. Free your phone Shaastra 2008 – IIT Madras Sudharshan 'Sup3rkiddo' S
  • 2. Agenda ● Software development in mobile phones ● Freesmartphone.org framework ● FSO and freedesktop.org ● D-Bus primer (a gooey chocolate) ● Framework daemon components ● Code walkthrough, zhone ● A bit about Openmoko
  • 3. Mobile Software Development ● Variety of software stacks – Symbian – Windows CE/Mobile – EZX – Android – J2ME – And a lot more
  • 4. Mobile Software development ● Variety of hardware capabilities – Camera – GPS – Music player – Touch screen – USB – Accelerometers – And many more
  • 5. The problem ● We solve the problem with hardware abstraction layers – Neod for Openmoko – Ohm for Maemo – Zaurusd for OpenZaurus – Machined for GPE
  • 6. ..all doing the same damn thing
  • 7. Wouldn't it be nice if...
  • 8. What is freesmartphone.org? “freesmartphone.org is a collaboration platform for opensource and open discussion software projects working on interoperability and shared technology for Linux-based Smartphones” -- http://wiki.freesmartphone.org
  • 9. Design goals ● Be platform agnostic, doesn't matter where you are running the code ● Be language agnostic as well. If it has Dbus bindings you are home. ● Be simple and small. Example, HAL vs. Device subsystem of the FSO framework ● Integrate tightly with the hardware for performance ● Lastly, “re-use existing technologies, but not overdo it”
  • 10. Why re-invent something that freedesktop.org is already doing? ● FDO focuses on interoperability and standards between different Desktop Environments, ex: KDE, Gnome, XFCE ● FSO focuses on interoperability between entire software platforms for Smartphones and similar devices ● (Well, we still use Dbus and thats from FDO) ● As, the name implies freedesktop.org is for Desktops. And Desktops != Mobile phones
  • 11. D-Bus Primer ● One of the coolest things to have happened in the FOSS world. ● Inter-process Communication for mortals
  • 12. D-Bus in one line Expose an object with an interface on a System or Session Bus
  • 13. D-Bus in FSO framework ● Use system bus. So only one instance of the code will run. ● Example. GetCapacity method from org.freesmartphone.Device.PowerSupply interface running on org.freesmartphone.odeviced system bus
  • 14. How it all comes together, a quick demonstration
  • 15. Zhone, walkthrough Because APIs without a consumer suck. A code walkthrough of zhone (Zen Phone)
  • 16. Links and Resources ● http://www.freesmartphone.org ● http://git.freesmartphone.org ← code ● http://wiki.openmoko.org/wiki/OpenmokoFramewor ● http://dbus.freedesktop.org/ ● http://www.sudharsh.wordpress.com
  • 17. Yay, Thanks This talk wouldn't have been possible without the hackers at Openmoko and other FOSS contributors. Cheers!