Write initial draft of concepts for upcoming mobile computing lecture series.

Fri, 13 Jan 2012 19:15:33 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 13 Jan 2012 19:15:33 +0100
changeset 10
8b5e50e4968e
parent 9
8db559aeff4d
child 11
642096a4a05e

Write initial draft of concepts for upcoming mobile computing lecture series.

ldapint/andldapbld.txt file | annotate | diff | comparison | revisions
ldapint/andldapbus.txt file | annotate | diff | comparison | revisions
mobixplat/androidxplat.txt file | annotate | diff | comparison | revisions
packaging/embedlinuxpkg.txt file | annotate | diff | comparison | revisions
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/ldapint/andldapbld.txt	Fri Jan 13 19:15:33 2012 +0100
     1.3 @@ -0,0 +1,177 @@
     1.4 +LDAP integration in Android
     1.5 +Type: Lecture/presentation
     1.6 +Category: Engineering/development
     1.7 +Topic: Networking/Internals/Implementation choices
     1.8 +Audience: Mobile users,
     1.9 +          software engineers,
    1.10 +          network engineers
    1.11 +Duration: 45 minute presentation
    1.12 +
    1.13 +Author and Speaker
    1.14 +------------------
    1.15 +Michael Schloh von Bennewitz
    1.16 +Software Engineer, Europalab Networks
    1.17 +web: http://michael.schloh.com/
    1.18 +email: michael@schloh.com
    1.19 +isdn: +49(89)44239885
    1.20 +voip: sips:michael@schloh.com
    1.21 +xmpp: MSvB
    1.22 +
    1.23 +Biography
    1.24 +---------
    1.25 +Michael Schloh von Bennewitz is a computer scientist specializing in
    1.26 +network software, mobile computing, and client server design. He speaks
    1.27 +at technical events every year. In the past, he has given lectures on
    1.28 +object oriented design, technical writing, network protocols, mobile
    1.29 +OSs, MeeGo development, LDAP integration strategies, and the Qt library
    1.30 +build process. His speaking style is humorous, using gestures and good
    1.31 +eye contact. He walks about the room and writes presentations in SVG
    1.32 +or HTML5.
    1.33 +
    1.34 +Abstract
    1.35 +--------
    1.36 +The lightweight directory access protocol (LDAP) is implemented in
    1.37 +almost all IP hardphones as well as being prevelent in email clients.
    1.38 +Although Active Directory users of Windows technology typically use LDAP
    1.39 +for authentication, a number of directory relevant use cases lead to the
    1.40 +question 'Why do so few mobile operating systems integrate LDAP client
    1.41 +logic?'
    1.42 +
    1.43 +The presentation begins by defining and explaining the LDAP protocol.
    1.44 +Reference is made to some well known client and server implementations
    1.45 +as well as reviewing a hello world example application in ten minutes.
    1.46 +A comparison is drawn to SQL, a similar technology which most have more
    1.47 +experience with. Use cases are explored and judged for their value to
    1.48 +the linux mobile ecosystem and Android OS in particular.
    1.49 +
    1.50 +In past presentations, audiences have put their own use cases
    1.51 +forward and compared LDAP directory concepts with corresponding SQL
    1.52 +alternatives.
    1.53 +
    1.54 +The audience consists of regular android users as well as software
    1.55 +and network engineers familiar with LDAP, SQL, or neither one.
    1.56 +Attendants expect clearly defined LDAP use cases, abstract concepts,
    1.57 +concrete definitions, and a well explained hello world LDAP example
    1.58 +implementation given live.
    1.59 +
    1.60 +It is likely that what attendants take home is not what they thought
    1.61 +about before. Many have little or no exposure to directory services
    1.62 +and will rejoice in learning about LDAP and how easy it is to integrate
    1.63 +and administer. The Linux community stands to benefit greatly from a
    1.64 +reenergized collective effort at integrating LDAP wherever a strong case
    1.65 +for directory service exists. Hello Android, meet LDAP.
    1.66 +
    1.67 +The following text is a lecture outline.
    1.68 +
    1.69 +Main chapters (20 minutes)
    1.70 +--------------------------
    1.71 +  Concepts
    1.72 +    Directory
    1.73 +    Access
    1.74 +    Protocol
    1.75 +    LDAP
    1.76 +    Offspring
    1.77 +      Active directory
    1.78 +    Comparisons
    1.79 +      SQL
    1.80 +      Client storage
    1.81 +
    1.82 +  Business use cases
    1.83 +    Legacy directories
    1.84 +    Network configuration
    1.85 +    Security or license sensitive
    1.86 +
    1.87 +  General use cases
    1.88 +    Authentication
    1.89 +    Contacts integration
    1.90 +    Noncontacts customized
    1.91 +    Certificate storage
    1.92 +    SQL competition
    1.93 +
    1.94 +  Platform provision
    1.95 +    Synchronization
    1.96 +    Read-optimized lookups
    1.97 +    Little network penalty
    1.98 +    Standardized protocol
    1.99 +    Network bound
   1.100 +
   1.101 +  Platform architecture
   1.102 +    What Android API provides
   1.103 +    What Android market offers
   1.104 +    What 3rd party APIs offer
   1.105 +    Compatibility concerns
   1.106 +
   1.107 +  Implementations
   1.108 +    Server-side relevance
   1.109 +    Client SDKs
   1.110 +      Apache [1]
   1.111 +      OpenDS [2]
   1.112 +      UnboundID [3]
   1.113 +      Novell [4]
   1.114 +      Mozilla [5]
   1.115 +      Netscape (renamed Mozilla)
   1.116 +      Oracle JNDI [6] (not available)
   1.117 +      JavaScript (not much)
   1.118 +
   1.119 +Demonstration (15 minutes)
   1.120 +--------------------------
   1.121 +  Download and installation of LDAP client SDK
   1.122 +  Development of Hello LDAP five line application
   1.123 +  Build, package, install, and test app
   1.124 +  Review of selected business use case
   1.125 +
   1.126 +Questions (10 minutes)
   1.127 +----------------------
   1.128 +  Anticipated questions
   1.129 +    Why not just use a (Static|SQL|Lync|other) directory in business?
   1.130 +    What are the disadvantages of SQL or ODBC for similar applications?
   1.131 +    How relevant are directory services other than just for contacts?
   1.132 +    Why would a business not use whatever apps are already in the market?
   1.133 +    Why not depend on a social network for directory services?
   1.134 +
   1.135 +Relevant jokes about...
   1.136 +-----------------------
   1.137 +  Android and Linux
   1.138 +  Directories and legacy apps
   1.139 +
   1.140 +Glossary
   1.141 +--------
   1.142 +  Directory
   1.143 +  Access
   1.144 +  Protocol
   1.145 +  Lightweight Directory Access Protocol (LDAP)
   1.146 +  Active Directory (AD)
   1.147 +  Application Programming Interface (API)
   1.148 +  Software Development Kit (SDK)
   1.149 +  Structured Query Language (SQL)
   1.150 +  Open Database Connectivity (ODBC)
   1.151 +  American National Standards Institute (ANSI)
   1.152 +  International Organization for Standards (ISO)
   1.153 +  Internet Engineering Task Force (IETF)
   1.154 +  Request for Comments (RFC)
   1.155 +
   1.156 +Errata
   1.157 +------
   1.158 +  Errata here.
   1.159 +
   1.160 +Lecture materials
   1.161 +-----------------
   1.162 +This lecture is developed on a public source code revision management
   1.163 +system [7]. It is (or will be) published on a public file server [8].
   1.164 +
   1.165 +Technical requirements
   1.166 +----------------------
   1.167 +A WLAN connection (for remote slide advancement,) internet connectivity
   1.168 +(for demonstration purposes,) and a whiteboard (to sketch diagrams) are
   1.169 +needed for this presentation.
   1.170 +
   1.171 +Links and notes
   1.172 +---------------
   1.173 +  [1] http://directory.apache.org/
   1.174 +  [2] http://www.opends.org/
   1.175 +  [3] http://www.unboundid.com/products/ldap-sdk/
   1.176 +  [4] http://www.novell.com/developer/ndk/ldap_classes_for_java.html
   1.177 +  [5] https://wiki.mozilla.org/Directory
   1.178 +  [6] http://www.oracle.com/technetwork/java/jndi/
   1.179 +  [7] http://scm.europalab.com/lectures/
   1.180 +  [8] ftp://ftp.europalab.com/pub/doc/lect/
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/ldapint/andldapbus.txt	Fri Jan 13 19:15:33 2012 +0100
     2.3 @@ -0,0 +1,177 @@
     2.4 +Directory Services in Mobile Applications
     2.5 +Type: Lecture/presentation
     2.6 +Category: Systems/business
     2.7 +Topic: Networking/Internals/Implementation choices
     2.8 +Audience: Android application developers
     2.9 +Duration: 30 minute presentation
    2.10 +
    2.11 +Author and Speaker
    2.12 +------------------
    2.13 +Michael Schloh von Bennewitz
    2.14 +Software Engineer, Europalab Networks
    2.15 +web: http://michael.schloh.com/
    2.16 +email: michael@schloh.com
    2.17 +isdn: +49(89)44239885
    2.18 +voip: sips:michael@schloh.com
    2.19 +xmpp: MSvB
    2.20 +
    2.21 +Biography
    2.22 +---------
    2.23 +Michael Schloh von Bennewitz is a computer scientist specializing in
    2.24 +network software, mobile computing, and client server design. He speaks
    2.25 +at technical events every year. In the past, he has given lectures on
    2.26 +object oriented design, technical writing, network protocols, mobile
    2.27 +OSs, MeeGo development, LDAP integration strategies, and the Qt library
    2.28 +build process. His speaking style is humorous, using gestures and good
    2.29 +eye contact. He walks about the room and writes presentations in SVG or
    2.30 +HTML5.
    2.31 +
    2.32 +Abstract
    2.33 +--------
    2.34 +Given that LDAP development efforts have been few and weak, a number of
    2.35 +directory relevant use cases lead to the question 'Why do so few mobile
    2.36 +operating systems integrate directory client logic?'
    2.37 +
    2.38 +This lecture begins by explaining concepts and presenting history and
    2.39 +background of directory services relating to a typical Android business
    2.40 +user.
    2.41 +
    2.42 +Consideration of business and general use cases prove the value of LDAP
    2.43 +in mobile applications integrated into the Android OS or as stand alone
    2.44 +apps. A comparison is drawn to what use cases SQL covers.
    2.45 +
    2.46 +Advancing into the topic of what Android could provide as a platform,
    2.47 +business development scenarios are discussed and what advantages
    2.48 +integrating directory services bring.
    2.49 +
    2.50 +A technical view is given of the Android platform architecture. Third
    2.51 +party implementations of applications and development SDKs are
    2.52 +considered.
    2.53 +
    2.54 +A demonstration of developing an Android application using a well known
    2.55 +LDAP Java SDK is concluded with a review of a selected business use
    2.56 +case and consideration of how one would hypothetically procede.
    2.57 +
    2.58 +The audience consists of developers familiar with client server design
    2.59 +and maybe SQL, LDAP, or other directory and database technology.
    2.60 +
    2.61 +Attendants expect clearly defined directory use cases, abstract
    2.62 +concepts, concrete definitions, and a well explained hello world
    2.63 +LDAP development example. The Android community stands to benefit
    2.64 +from a collective effort at integrating LDAP wherever a strong case
    2.65 +for directory service exists.
    2.66 +
    2.67 +The following text is a lecture outline.
    2.68 +
    2.69 +Main chapters (15 minutes)
    2.70 +--------------------------
    2.71 +  Concepts
    2.72 +    Directory
    2.73 +    Access
    2.74 +    Protocol
    2.75 +    LDAP
    2.76 +    Offspring
    2.77 +      Active directory
    2.78 +    Comparisons
    2.79 +      SQL
    2.80 +      Client storage
    2.81 +
    2.82 +  Business use cases
    2.83 +    Legacy directories
    2.84 +    Network configuration
    2.85 +    Security or license sensitive
    2.86 +
    2.87 +  General use cases
    2.88 +    Authentication
    2.89 +    Contacts integration
    2.90 +    Noncontacts customized
    2.91 +    Certificate storage
    2.92 +    SQL competition
    2.93 +
    2.94 +  Platform provision
    2.95 +    Synchronization
    2.96 +    Read-optimized lookups
    2.97 +    Little network penalty
    2.98 +    Standardized protocol
    2.99 +    Network bound
   2.100 +
   2.101 +  Platform architecture
   2.102 +    What Android API provides
   2.103 +    What Android market offers
   2.104 +    What 3rd party APIs offer
   2.105 +    Compatibility concerns
   2.106 +
   2.107 +  Implementations
   2.108 +    Server-side relevance
   2.109 +    Client SDKs
   2.110 +      Apache [3]
   2.111 +      OpenDS [4]
   2.112 +      UnboundID [5]
   2.113 +      Novell [7]
   2.114 +      Mozilla [8]
   2.115 +      Netscape (renamed Mozilla)
   2.116 +      Oracle JNDI [8] (not available)
   2.117 +      JavaScript (not much)
   2.118 +
   2.119 +Demonstration (10 minutes)
   2.120 +--------------------------
   2.121 +  Download and installation of LDAP client SDK
   2.122 +  Development of Hello LDAP five line application
   2.123 +  Build, package, install, and test app
   2.124 +  Review of selected business use case
   2.125 +
   2.126 +Questions (5 minutes)
   2.127 +---------------------
   2.128 +  Anticipated questions
   2.129 +    Why not just use a (Static|SQL|Lync|other) directory in business?
   2.130 +    What are the disadvantages of SQL or ODBC for similar applications?
   2.131 +    How relevant are directory services other than just for contacts?
   2.132 +    Why would a business not use whatever apps are already in the market?
   2.133 +    Why not depend on a social network for directory services?
   2.134 +
   2.135 +Relevant jokes about...
   2.136 +-----------------------
   2.137 +  Android and Linux
   2.138 +  Directories and legacy apps
   2.139 +
   2.140 +Glossary
   2.141 +--------
   2.142 +  Directory
   2.143 +  Access
   2.144 +  Protocol
   2.145 +  Lightweight Directory Access Protocol (LDAP)
   2.146 +  Active Directory (AD)
   2.147 +  Application Programming Interface (API)
   2.148 +  Software Development Kit (SDK)
   2.149 +  Structured Query Language (SQL)
   2.150 +  Open Database Connectivity (ODBC)
   2.151 +  American National Standards Institute (ANSI)
   2.152 +  International Organization for Standards (ISO)
   2.153 +  Internet Engineering Task Force (IETF)
   2.154 +  Request for Comments (RFC)
   2.155 +
   2.156 +Errata
   2.157 +------
   2.158 +  Errata here.
   2.159 +
   2.160 +Lecture materials
   2.161 +-----------------
   2.162 +This lecture is developed on a public source code revision management
   2.163 +system [7]. It is (or will be) published on a public file server [8].
   2.164 +
   2.165 +Technical requirements
   2.166 +----------------------
   2.167 +A WLAN connection (for remote slide advancement,) internet connectivity
   2.168 +(for demonstration purposes,) and a whiteboard (to sketch diagrams) are
   2.169 +needed for this presentation.
   2.170 +
   2.171 +Links and notes
   2.172 +---------------
   2.173 +  [1] http://directory.apache.org/
   2.174 +  [2] http://www.opends.org/
   2.175 +  [3] http://www.unboundid.com/products/ldap-sdk/
   2.176 +  [4] http://www.novell.com/developer/ndk/ldap_classes_for_java.html
   2.177 +  [5] https://wiki.mozilla.org/Directory
   2.178 +  [6] http://www.oracle.com/technetwork/java/jndi/
   2.179 +  [7] http://scm.europalab.com/lectures/
   2.180 +  [8] ftp://ftp.europalab.com/pub/doc/lect/
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/mobixplat/androidxplat.txt	Fri Jan 13 19:15:33 2012 +0100
     3.3 @@ -0,0 +1,141 @@
     3.4 +Mobile Cross-platform Development Frameworks
     3.5 +Type: Lecture/presentation
     3.6 +Category: Engineering/development
     3.7 +Topic: Networking/Internals/Implementation choices
     3.8 +Audience: Android application developers
     3.9 +Duration: 30 minute presentation
    3.10 +
    3.11 +Author and Speaker
    3.12 +------------------
    3.13 +Michael Schloh von Bennewitz
    3.14 +Software Engineer, Europalab Networks
    3.15 +web: http://michael.schloh.com/
    3.16 +email: michael@schloh.com
    3.17 +isdn: +49(89)44239885
    3.18 +voip: sips:michael@schloh.com
    3.19 +xmpp: MSvB
    3.20 +
    3.21 +Biography
    3.22 +---------
    3.23 +Michael Schloh von Bennewitz is a computer scientist specializing in
    3.24 +network software, mobile computing, and client server design. He speaks
    3.25 +at technical events every year. In 2011 he gave two presentations on
    3.26 +MeeGo to the Opensource Treffen as well as presentations on LDAP
    3.27 +integration strategies and the Qt library build process to fellow
    3.28 +developers at the Nokia Developer Summit in Berlin. His speaking style
    3.29 +is humerous, using gestures and good eye contact. He walks about the
    3.30 +room and writes presentations in SVG or HTML5.
    3.31 +
    3.32 +Abstract
    3.33 +--------
    3.34 +With cross-platform mobile development frameworks like jQuery, Dojo, and
    3.35 +Sencha, developers enjoy the ability to write an application for several
    3.36 +APIs. Particularly of benefit to Android developers is the smooth
    3.37 +transition between API versions as well as reduced porting work.
    3.38 +
    3.39 +Many developers write Java code strictly for the Android OS. It may
    3.40 +surprise them to know that for many applications a similar workload
    3.41 +writing HTML code results in a functionally similar APK package.
    3.42 +Concrete benefits are considered as well as limits to this strategy.
    3.43 +Requirements, implementation choices, and distribution using Phonegap
    3.44 +are considered.
    3.45 +
    3.46 +The audience consists of developers familiar with the traditional
    3.47 +development lifecycle of Android applications. Attendants expect a
    3.48 +clearly defined workflow of using trendy cross-platform frameworks and
    3.49 +pro and contra criteria for considering them along with abstract proof
    3.50 +(provided in a demonstration) of concept.
    3.51 +
    3.52 +The Android community stands to benefit from being informed about
    3.53 +current trends in cross-platform mobile development frameworks as many
    3.54 +developers suffer the stumbling block of porting and supporting
    3.55 +applications.
    3.56 +
    3.57 +Please see the file attachment for a lecture outline.
    3.58 +
    3.59 +Main chapters (15 minutes)
    3.60 +--------------------------
    3.61 +  Concepts
    3.62 +    Advantage of cross platform development
    3.63 +    Advantage of (mostly) standardized API
    3.64 +    Work flow of platform dependent development
    3.65 +    Work flow of cross platform development
    3.66 +    Architecture of HTML5/CSS3/Javascript app
    3.67 +      Supporting of runtime processes
    3.68 +
    3.69 +  Frameworks
    3.70 +    JQuery Mobile [1]
    3.71 +    Sencha Touch [2]
    3.72 +    Dojo Toolkit [3]
    3.73 +    Phonegap Toolkit [4]
    3.74 +    Common requirements
    3.75 +
    3.76 +  Constraints
    3.77 +    Performance
    3.78 +    Hardware
    3.79 +    API
    3.80 +
    3.81 +  Case studies
    3.82 +    Well known mobile apps
    3.83 +
    3.84 +Demonstration (10 minutes)
    3.85 +--------------------------
    3.86 +  Hello world in HTML5 for browser
    3.87 +  Package to app manually
    3.88 +  Use Phonegap to prepare distribution
    3.89 +  Extend hello world to process user input
    3.90 +    Using jQuery Mobile
    3.91 +    Using Sencha Touch
    3.92 +    Using Dojo Toolkit
    3.93 +  Automated repackaging
    3.94 +  Submit to market
    3.95 +
    3.96 +Questions (5 minutes)
    3.97 +---------------------
    3.98 +  Anticipated questions
    3.99 +    What is a general rule when considering cross-platform frameworks?
   3.100 +    Where do you find a list of supported features for a given framework?
   3.101 +
   3.102 +Relevant jokes about...
   3.103 +-----------------------
   3.104 +  Android and Linux
   3.105 +  Engineers and developers
   3.106 +
   3.107 +Glossary
   3.108 +--------
   3.109 +  Application Programming Interface (API)
   3.110 +  Software Development Kit (SDK)
   3.111 +  Framework
   3.112 +  World Wide Web Consortium (W3C)
   3.113 +  Structured Vector Graphics (SVG)
   3.114 +  Hypertext Markup Language (HTML)
   3.115 +  Hypertext Transfer Protocol (HTTP)
   3.116 +  Cascading Stylesheets (CSS)
   3.117 +  JavaScript - Casual name for the ECMAScript language, prevelant in
   3.118 +    client-side web applications and standardized in ISO/IEC 16262.
   3.119 +  International Organization for Standards (ISO)
   3.120 +  Ecma International
   3.121 +
   3.122 +Errata
   3.123 +------
   3.124 +  Errata here.
   3.125 +
   3.126 +Lecture materials
   3.127 +-----------------
   3.128 +This lecture is developed on a public source code revision management
   3.129 +system [6]. It is (or will be) published on a public file server [7].
   3.130 +
   3.131 +Technical requirements
   3.132 +----------------------
   3.133 +A WLAN connection (for remote slide advancement,) internet connectivity
   3.134 +(for demonstration purposes,) and a whiteboard (to sketch diagrams) are
   3.135 +needed for this presentation.
   3.136 +
   3.137 +Links and notes
   3.138 +---------------
   3.139 +  [1] http://jquerymobile.com/
   3.140 +  [2] http://www.sencha.com/products/touch/
   3.141 +  [3] http://dojotoolkit.org/
   3.142 +  [4] http://phonegap.com/
   3.143 +  [5] http://scm.europalab.com/lectures/
   3.144 +  [6] ftp://ftp.europalab.com/pub/doc/lect/
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/packaging/embedlinuxpkg.txt	Fri Jan 13 19:15:33 2012 +0100
     4.3 @@ -0,0 +1,170 @@
     4.4 +Embedded Linux Packaging Systems
     4.5 +Type: Lecture/presentation
     4.6 +Category: Engineering/development
     4.7 +Topic: Internals/System architecture/Implementation choices
     4.8 +Audience: Embedded linux developers
     4.9 +Duration: 45 minute presentation
    4.10 +
    4.11 +Author and Speaker
    4.12 +------------------
    4.13 +Michael Schloh von Bennewitz
    4.14 +Software Engineer, Europalab Networks
    4.15 +web: http://michael.schloh.com/
    4.16 +email: michael@schloh.com
    4.17 +isdn: +49(89)44239885
    4.18 +voip: sips:michael@schloh.com
    4.19 +xmpp: MSvB
    4.20 +
    4.21 +Biography
    4.22 +---------
    4.23 +Michael Schloh von Bennewitz is a computer scientist specializing in
    4.24 +network software, mobile computing, and client server design. He speaks
    4.25 +at technical events every year. In the past, he has given lectures on
    4.26 +object oriented design, technical writing, network protocols, mobile
    4.27 +OSs, MeeGo development, LDAP integration strategies, and the Qt library
    4.28 +build process. His speaking style is humorous, using gestures and good
    4.29 +eye contact. He walks about the room and writes presentations in SVG
    4.30 +or HTML5.
    4.31 +
    4.32 +Abstract
    4.33 +--------
    4.34 +The most important concepts of software packaging are explained,
    4.35 +including definitions, package ingredients (software, text, metadata,
    4.36 +other data), leading to an anatomical dissection of various package
    4.37 +types. A mock up package diagram eases understanding. A brief history
    4.38 +of packaging systems, types, and models includes SVR5, DEB, RPM, Bundle,
    4.39 +Ports, IPkg, OPkg, and APK technologies. Dependency resolution, binary
    4.40 +and source packages differenciation, as well as automated package
    4.41 +management concepts are considered. Embedded requirements for packaging
    4.42 +include performance constraints, signing and security, hardware choices,
    4.43 +as well as commercial aspects not within the developer's control. Due
    4.44 +to the trend of online package stores with many big industry players
    4.45 +opening 'markets', a review clarifies what commonalities, differences,
    4.46 +and nuances such paradigms present. Case studies follow, leading to
    4.47 +an understanding of the packaging systems used by Android, OpenWRT,
    4.48 +M0n0wall, Harmattan, WetabOS, Opendreambox, and maybe Tizen.
    4.49 +Demonstations include examination of the RPM-based WetabOS, the
    4.50 +DEB-based Harmattan OS, and the I/OPKG-based Opendreambox on a set-
    4.51 +top box.
    4.52 +
    4.53 +The audience consists of software engineers, system administrators, as
    4.54 +well as advanced users of devices running embedded linux. Attendants
    4.55 +expect clearly defined device groups (telephones, set-top boxes, IVI)
    4.56 +and want to know the characteristics of corresponding packaging systems.
    4.57 +Of importance for both hobby users as well as industry giants hoping to
    4.58 +profit from the trend to 'stores' and 'markets' of software packages,
    4.59 +Linux can answer the question 'what comes next in packaging technology
    4.60 +and software distribution?'
    4.61 +
    4.62 +The following text is a lecture outline.
    4.63 +
    4.64 +Main chapters (20 minutes)
    4.65 +--------------------------
    4.66 +  Concepts
    4.67 +    Definition of packaging
    4.68 +      Software, text, metadata, other data
    4.69 +      Anatomy of various package types
    4.70 +      Mock up package diagram
    4.71 +    History of packaging
    4.72 +      SVR5
    4.73 +      DEB
    4.74 +      RPM
    4.75 +      Bundle
    4.76 +      Ports
    4.77 +      IPkg
    4.78 +      OPkg
    4.79 +      APK
    4.80 +    Dependency resolution
    4.81 +    Binary or source packages
    4.82 +    Automated package management
    4.83 +
    4.84 +  Requirements
    4.85 +    Embedded packaging defined
    4.86 +    Mobile packaging defined
    4.87 +    Performance constraints
    4.88 +    Signing and security
    4.89 +    Hardware choices
    4.90 +      ARM, PC Engines, Panda/Beagle board, Chumby...
    4.91 +    Affecting design choices
    4.92 +
    4.93 +  Commercial aspects
    4.94 +    Trend of online package stores
    4.95 +    Big five (Google, Intel, Nokia, Microsoft, Apple)
    4.96 +    Balancing developer interest with beaurocratic apathy
    4.97 +      Paying money to become an 'official' developer
    4.98 +      Being 'allowed' to develop own applications
    4.99 +      Choice of license, ownership, and business models
   4.100 +      Unwanted nontechnical involvement
   4.101 +
   4.102 +  Case studies
   4.103 +    Android [1]
   4.104 +    OpenWRT [2]
   4.105 +    M0n0wall [3]
   4.106 +    Harmattan [4]
   4.107 +    WetabOS [5]
   4.108 +    Opendreambox [6]
   4.109 +    Tizen [7][8]
   4.110 +
   4.111 +Demonstrations (10 minutes)
   4.112 +---------------------------
   4.113 +  WetabOS on ExoPC tablet (RPM)
   4.114 +  Harmattan on Nokia telephone (DEB)
   4.115 +  Opendreambox on Dream set-top box (I/OPKG)
   4.116 +
   4.117 +Optional discussion (5 minutes)
   4.118 +-------------------------------
   4.119 +  Legacy MeeGo packaging
   4.120 +  Intel AppUp approach
   4.121 +  Packaging Arduino software
   4.122 +
   4.123 +Questions (10 minutes)
   4.124 +----------------------
   4.125 +  Anticipated questions
   4.126 +    How to make a package for a given embedded OS?
   4.127 +    Can a package be prepared on one device and copied to another?
   4.128 +    Can packages be prepared for various architectures with fat binaries?
   4.129 +    Architectural hardware 32-bit, 64-bit, and other CPU properties.
   4.130 +    How do I know which packages are installed on my device or phone?
   4.131 +
   4.132 +Relevant jokes about...
   4.133 +-----------------------
   4.134 +  Packaging systems
   4.135 +  Linux operating system
   4.136 +
   4.137 +Glossary
   4.138 +--------
   4.139 +  Debian package file (DEB)
   4.140 +  Redhat Package Manager (RPM)
   4.141 +  Android Application Package File (APK)
   4.142 +  Silverlight Application Package (XAP)
   4.143 +
   4.144 +Errata
   4.145 +------
   4.146 +  Android is not considered Linux by some.
   4.147 +  M0n0wall does not really run on Linux, rather on FreeBSD.
   4.148 +  Competing 'big five' do not all develop or distribute Linux.
   4.149 +  Some technology is deprecated, for example MeeGo variants.
   4.150 +
   4.151 +Lecture materials
   4.152 +-----------------
   4.153 +This lecture is developed on a public source code revision management
   4.154 +system [9]. It is (or will be) published on a public file server [10].
   4.155 +
   4.156 +Technical requirements
   4.157 +----------------------
   4.158 +A WLAN connection (for remote slide advancement,) internet connectivity
   4.159 +(for demonstration purposes,) and a whiteboard (to sketch diagrams) are
   4.160 +needed for this presentation.
   4.161 +
   4.162 +Links and notes
   4.163 +---------------
   4.164 +  [1] http://developer.android.com/guide/developing/building/
   4.165 +  [2] http://www.openwrt.org/
   4.166 +  [3] http://m0n0.ch/wall/
   4.167 +  [4] http://harmattan-dev.nokia.com/docs/library/
   4.168 +  [5] http://www.4tiitoo.com/wetab-os.en.html
   4.169 +  [6] http://www.dreamboxupdate.com/
   4.170 +  [7] http://www.tizen.org/
   4.171 +  [8] will be considered a valid topic pending advice from Intel reps.
   4.172 +  [9] http://scm.europalab.com/lectures/
   4.173 +  [10] ftp://ftp.europalab.com/pub/doc/lect/

mercurial