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

Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 

Dernier (20)

Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 

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!