# HG changeset patch # User Michael Schloh von Bennewitz # Date 1326478533 -3600 # Node ID 8b5e50e4968e5c292be8b0eac8a6b89b938521dd # Parent 8db559aeff4d60fb402d697851a9db92ea0765c1 Write initial draft of concepts for upcoming mobile computing lecture series. diff -r 8db559aeff4d -r 8b5e50e4968e ldapint/andldapbld.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ldapint/andldapbld.txt Fri Jan 13 19:15:33 2012 +0100 @@ -0,0 +1,177 @@ +LDAP integration in Android +Type: Lecture/presentation +Category: Engineering/development +Topic: Networking/Internals/Implementation choices +Audience: Mobile users, + software engineers, + network engineers +Duration: 45 minute presentation + +Author and Speaker +------------------ +Michael Schloh von Bennewitz +Software Engineer, Europalab Networks +web: http://michael.schloh.com/ +email: michael@schloh.com +isdn: +49(89)44239885 +voip: sips:michael@schloh.com +xmpp: MSvB + +Biography +--------- +Michael Schloh von Bennewitz is a computer scientist specializing in +network software, mobile computing, and client server design. He speaks +at technical events every year. In the past, he has given lectures on +object oriented design, technical writing, network protocols, mobile +OSs, MeeGo development, LDAP integration strategies, and the Qt library +build process. His speaking style is humorous, using gestures and good +eye contact. He walks about the room and writes presentations in SVG +or HTML5. + +Abstract +-------- +The lightweight directory access protocol (LDAP) is implemented in +almost all IP hardphones as well as being prevelent in email clients. +Although Active Directory users of Windows technology typically use LDAP +for authentication, a number of directory relevant use cases lead to the +question 'Why do so few mobile operating systems integrate LDAP client +logic?' + +The presentation begins by defining and explaining the LDAP protocol. +Reference is made to some well known client and server implementations +as well as reviewing a hello world example application in ten minutes. +A comparison is drawn to SQL, a similar technology which most have more +experience with. Use cases are explored and judged for their value to +the linux mobile ecosystem and Android OS in particular. + +In past presentations, audiences have put their own use cases +forward and compared LDAP directory concepts with corresponding SQL +alternatives. + +The audience consists of regular android users as well as software +and network engineers familiar with LDAP, SQL, or neither one. +Attendants expect clearly defined LDAP use cases, abstract concepts, +concrete definitions, and a well explained hello world LDAP example +implementation given live. + +It is likely that what attendants take home is not what they thought +about before. Many have little or no exposure to directory services +and will rejoice in learning about LDAP and how easy it is to integrate +and administer. The Linux community stands to benefit greatly from a +reenergized collective effort at integrating LDAP wherever a strong case +for directory service exists. Hello Android, meet LDAP. + +The following text is a lecture outline. + +Main chapters (20 minutes) +-------------------------- + Concepts + Directory + Access + Protocol + LDAP + Offspring + Active directory + Comparisons + SQL + Client storage + + Business use cases + Legacy directories + Network configuration + Security or license sensitive + + General use cases + Authentication + Contacts integration + Noncontacts customized + Certificate storage + SQL competition + + Platform provision + Synchronization + Read-optimized lookups + Little network penalty + Standardized protocol + Network bound + + Platform architecture + What Android API provides + What Android market offers + What 3rd party APIs offer + Compatibility concerns + + Implementations + Server-side relevance + Client SDKs + Apache [1] + OpenDS [2] + UnboundID [3] + Novell [4] + Mozilla [5] + Netscape (renamed Mozilla) + Oracle JNDI [6] (not available) + JavaScript (not much) + +Demonstration (15 minutes) +-------------------------- + Download and installation of LDAP client SDK + Development of Hello LDAP five line application + Build, package, install, and test app + Review of selected business use case + +Questions (10 minutes) +---------------------- + Anticipated questions + Why not just use a (Static|SQL|Lync|other) directory in business? + What are the disadvantages of SQL or ODBC for similar applications? + How relevant are directory services other than just for contacts? + Why would a business not use whatever apps are already in the market? + Why not depend on a social network for directory services? + +Relevant jokes about... +----------------------- + Android and Linux + Directories and legacy apps + +Glossary +-------- + Directory + Access + Protocol + Lightweight Directory Access Protocol (LDAP) + Active Directory (AD) + Application Programming Interface (API) + Software Development Kit (SDK) + Structured Query Language (SQL) + Open Database Connectivity (ODBC) + American National Standards Institute (ANSI) + International Organization for Standards (ISO) + Internet Engineering Task Force (IETF) + Request for Comments (RFC) + +Errata +------ + Errata here. + +Lecture materials +----------------- +This lecture is developed on a public source code revision management +system [7]. It is (or will be) published on a public file server [8]. + +Technical requirements +---------------------- +A WLAN connection (for remote slide advancement,) internet connectivity +(for demonstration purposes,) and a whiteboard (to sketch diagrams) are +needed for this presentation. + +Links and notes +--------------- + [1] http://directory.apache.org/ + [2] http://www.opends.org/ + [3] http://www.unboundid.com/products/ldap-sdk/ + [4] http://www.novell.com/developer/ndk/ldap_classes_for_java.html + [5] https://wiki.mozilla.org/Directory + [6] http://www.oracle.com/technetwork/java/jndi/ + [7] http://scm.europalab.com/lectures/ + [8] ftp://ftp.europalab.com/pub/doc/lect/ diff -r 8db559aeff4d -r 8b5e50e4968e ldapint/andldapbus.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ldapint/andldapbus.txt Fri Jan 13 19:15:33 2012 +0100 @@ -0,0 +1,177 @@ +Directory Services in Mobile Applications +Type: Lecture/presentation +Category: Systems/business +Topic: Networking/Internals/Implementation choices +Audience: Android application developers +Duration: 30 minute presentation + +Author and Speaker +------------------ +Michael Schloh von Bennewitz +Software Engineer, Europalab Networks +web: http://michael.schloh.com/ +email: michael@schloh.com +isdn: +49(89)44239885 +voip: sips:michael@schloh.com +xmpp: MSvB + +Biography +--------- +Michael Schloh von Bennewitz is a computer scientist specializing in +network software, mobile computing, and client server design. He speaks +at technical events every year. In the past, he has given lectures on +object oriented design, technical writing, network protocols, mobile +OSs, MeeGo development, LDAP integration strategies, and the Qt library +build process. His speaking style is humorous, using gestures and good +eye contact. He walks about the room and writes presentations in SVG or +HTML5. + +Abstract +-------- +Given that LDAP development efforts have been few and weak, a number of +directory relevant use cases lead to the question 'Why do so few mobile +operating systems integrate directory client logic?' + +This lecture begins by explaining concepts and presenting history and +background of directory services relating to a typical Android business +user. + +Consideration of business and general use cases prove the value of LDAP +in mobile applications integrated into the Android OS or as stand alone +apps. A comparison is drawn to what use cases SQL covers. + +Advancing into the topic of what Android could provide as a platform, +business development scenarios are discussed and what advantages +integrating directory services bring. + +A technical view is given of the Android platform architecture. Third +party implementations of applications and development SDKs are +considered. + +A demonstration of developing an Android application using a well known +LDAP Java SDK is concluded with a review of a selected business use +case and consideration of how one would hypothetically procede. + +The audience consists of developers familiar with client server design +and maybe SQL, LDAP, or other directory and database technology. + +Attendants expect clearly defined directory use cases, abstract +concepts, concrete definitions, and a well explained hello world +LDAP development example. The Android community stands to benefit +from a collective effort at integrating LDAP wherever a strong case +for directory service exists. + +The following text is a lecture outline. + +Main chapters (15 minutes) +-------------------------- + Concepts + Directory + Access + Protocol + LDAP + Offspring + Active directory + Comparisons + SQL + Client storage + + Business use cases + Legacy directories + Network configuration + Security or license sensitive + + General use cases + Authentication + Contacts integration + Noncontacts customized + Certificate storage + SQL competition + + Platform provision + Synchronization + Read-optimized lookups + Little network penalty + Standardized protocol + Network bound + + Platform architecture + What Android API provides + What Android market offers + What 3rd party APIs offer + Compatibility concerns + + Implementations + Server-side relevance + Client SDKs + Apache [3] + OpenDS [4] + UnboundID [5] + Novell [7] + Mozilla [8] + Netscape (renamed Mozilla) + Oracle JNDI [8] (not available) + JavaScript (not much) + +Demonstration (10 minutes) +-------------------------- + Download and installation of LDAP client SDK + Development of Hello LDAP five line application + Build, package, install, and test app + Review of selected business use case + +Questions (5 minutes) +--------------------- + Anticipated questions + Why not just use a (Static|SQL|Lync|other) directory in business? + What are the disadvantages of SQL or ODBC for similar applications? + How relevant are directory services other than just for contacts? + Why would a business not use whatever apps are already in the market? + Why not depend on a social network for directory services? + +Relevant jokes about... +----------------------- + Android and Linux + Directories and legacy apps + +Glossary +-------- + Directory + Access + Protocol + Lightweight Directory Access Protocol (LDAP) + Active Directory (AD) + Application Programming Interface (API) + Software Development Kit (SDK) + Structured Query Language (SQL) + Open Database Connectivity (ODBC) + American National Standards Institute (ANSI) + International Organization for Standards (ISO) + Internet Engineering Task Force (IETF) + Request for Comments (RFC) + +Errata +------ + Errata here. + +Lecture materials +----------------- +This lecture is developed on a public source code revision management +system [7]. It is (or will be) published on a public file server [8]. + +Technical requirements +---------------------- +A WLAN connection (for remote slide advancement,) internet connectivity +(for demonstration purposes,) and a whiteboard (to sketch diagrams) are +needed for this presentation. + +Links and notes +--------------- + [1] http://directory.apache.org/ + [2] http://www.opends.org/ + [3] http://www.unboundid.com/products/ldap-sdk/ + [4] http://www.novell.com/developer/ndk/ldap_classes_for_java.html + [5] https://wiki.mozilla.org/Directory + [6] http://www.oracle.com/technetwork/java/jndi/ + [7] http://scm.europalab.com/lectures/ + [8] ftp://ftp.europalab.com/pub/doc/lect/ diff -r 8db559aeff4d -r 8b5e50e4968e mobixplat/androidxplat.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mobixplat/androidxplat.txt Fri Jan 13 19:15:33 2012 +0100 @@ -0,0 +1,141 @@ +Mobile Cross-platform Development Frameworks +Type: Lecture/presentation +Category: Engineering/development +Topic: Networking/Internals/Implementation choices +Audience: Android application developers +Duration: 30 minute presentation + +Author and Speaker +------------------ +Michael Schloh von Bennewitz +Software Engineer, Europalab Networks +web: http://michael.schloh.com/ +email: michael@schloh.com +isdn: +49(89)44239885 +voip: sips:michael@schloh.com +xmpp: MSvB + +Biography +--------- +Michael Schloh von Bennewitz is a computer scientist specializing in +network software, mobile computing, and client server design. He speaks +at technical events every year. In 2011 he gave two presentations on +MeeGo to the Opensource Treffen as well as presentations on LDAP +integration strategies and the Qt library build process to fellow +developers at the Nokia Developer Summit in Berlin. His speaking style +is humerous, using gestures and good eye contact. He walks about the +room and writes presentations in SVG or HTML5. + +Abstract +-------- +With cross-platform mobile development frameworks like jQuery, Dojo, and +Sencha, developers enjoy the ability to write an application for several +APIs. Particularly of benefit to Android developers is the smooth +transition between API versions as well as reduced porting work. + +Many developers write Java code strictly for the Android OS. It may +surprise them to know that for many applications a similar workload +writing HTML code results in a functionally similar APK package. +Concrete benefits are considered as well as limits to this strategy. +Requirements, implementation choices, and distribution using Phonegap +are considered. + +The audience consists of developers familiar with the traditional +development lifecycle of Android applications. Attendants expect a +clearly defined workflow of using trendy cross-platform frameworks and +pro and contra criteria for considering them along with abstract proof +(provided in a demonstration) of concept. + +The Android community stands to benefit from being informed about +current trends in cross-platform mobile development frameworks as many +developers suffer the stumbling block of porting and supporting +applications. + +Please see the file attachment for a lecture outline. + +Main chapters (15 minutes) +-------------------------- + Concepts + Advantage of cross platform development + Advantage of (mostly) standardized API + Work flow of platform dependent development + Work flow of cross platform development + Architecture of HTML5/CSS3/Javascript app + Supporting of runtime processes + + Frameworks + JQuery Mobile [1] + Sencha Touch [2] + Dojo Toolkit [3] + Phonegap Toolkit [4] + Common requirements + + Constraints + Performance + Hardware + API + + Case studies + Well known mobile apps + +Demonstration (10 minutes) +-------------------------- + Hello world in HTML5 for browser + Package to app manually + Use Phonegap to prepare distribution + Extend hello world to process user input + Using jQuery Mobile + Using Sencha Touch + Using Dojo Toolkit + Automated repackaging + Submit to market + +Questions (5 minutes) +--------------------- + Anticipated questions + What is a general rule when considering cross-platform frameworks? + Where do you find a list of supported features for a given framework? + +Relevant jokes about... +----------------------- + Android and Linux + Engineers and developers + +Glossary +-------- + Application Programming Interface (API) + Software Development Kit (SDK) + Framework + World Wide Web Consortium (W3C) + Structured Vector Graphics (SVG) + Hypertext Markup Language (HTML) + Hypertext Transfer Protocol (HTTP) + Cascading Stylesheets (CSS) + JavaScript - Casual name for the ECMAScript language, prevelant in + client-side web applications and standardized in ISO/IEC 16262. + International Organization for Standards (ISO) + Ecma International + +Errata +------ + Errata here. + +Lecture materials +----------------- +This lecture is developed on a public source code revision management +system [6]. It is (or will be) published on a public file server [7]. + +Technical requirements +---------------------- +A WLAN connection (for remote slide advancement,) internet connectivity +(for demonstration purposes,) and a whiteboard (to sketch diagrams) are +needed for this presentation. + +Links and notes +--------------- + [1] http://jquerymobile.com/ + [2] http://www.sencha.com/products/touch/ + [3] http://dojotoolkit.org/ + [4] http://phonegap.com/ + [5] http://scm.europalab.com/lectures/ + [6] ftp://ftp.europalab.com/pub/doc/lect/ diff -r 8db559aeff4d -r 8b5e50e4968e packaging/embedlinuxpkg.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/packaging/embedlinuxpkg.txt Fri Jan 13 19:15:33 2012 +0100 @@ -0,0 +1,170 @@ +Embedded Linux Packaging Systems +Type: Lecture/presentation +Category: Engineering/development +Topic: Internals/System architecture/Implementation choices +Audience: Embedded linux developers +Duration: 45 minute presentation + +Author and Speaker +------------------ +Michael Schloh von Bennewitz +Software Engineer, Europalab Networks +web: http://michael.schloh.com/ +email: michael@schloh.com +isdn: +49(89)44239885 +voip: sips:michael@schloh.com +xmpp: MSvB + +Biography +--------- +Michael Schloh von Bennewitz is a computer scientist specializing in +network software, mobile computing, and client server design. He speaks +at technical events every year. In the past, he has given lectures on +object oriented design, technical writing, network protocols, mobile +OSs, MeeGo development, LDAP integration strategies, and the Qt library +build process. His speaking style is humorous, using gestures and good +eye contact. He walks about the room and writes presentations in SVG +or HTML5. + +Abstract +-------- +The most important concepts of software packaging are explained, +including definitions, package ingredients (software, text, metadata, +other data), leading to an anatomical dissection of various package +types. A mock up package diagram eases understanding. A brief history +of packaging systems, types, and models includes SVR5, DEB, RPM, Bundle, +Ports, IPkg, OPkg, and APK technologies. Dependency resolution, binary +and source packages differenciation, as well as automated package +management concepts are considered. Embedded requirements for packaging +include performance constraints, signing and security, hardware choices, +as well as commercial aspects not within the developer's control. Due +to the trend of online package stores with many big industry players +opening 'markets', a review clarifies what commonalities, differences, +and nuances such paradigms present. Case studies follow, leading to +an understanding of the packaging systems used by Android, OpenWRT, +M0n0wall, Harmattan, WetabOS, Opendreambox, and maybe Tizen. +Demonstations include examination of the RPM-based WetabOS, the +DEB-based Harmattan OS, and the I/OPKG-based Opendreambox on a set- +top box. + +The audience consists of software engineers, system administrators, as +well as advanced users of devices running embedded linux. Attendants +expect clearly defined device groups (telephones, set-top boxes, IVI) +and want to know the characteristics of corresponding packaging systems. +Of importance for both hobby users as well as industry giants hoping to +profit from the trend to 'stores' and 'markets' of software packages, +Linux can answer the question 'what comes next in packaging technology +and software distribution?' + +The following text is a lecture outline. + +Main chapters (20 minutes) +-------------------------- + Concepts + Definition of packaging + Software, text, metadata, other data + Anatomy of various package types + Mock up package diagram + History of packaging + SVR5 + DEB + RPM + Bundle + Ports + IPkg + OPkg + APK + Dependency resolution + Binary or source packages + Automated package management + + Requirements + Embedded packaging defined + Mobile packaging defined + Performance constraints + Signing and security + Hardware choices + ARM, PC Engines, Panda/Beagle board, Chumby... + Affecting design choices + + Commercial aspects + Trend of online package stores + Big five (Google, Intel, Nokia, Microsoft, Apple) + Balancing developer interest with beaurocratic apathy + Paying money to become an 'official' developer + Being 'allowed' to develop own applications + Choice of license, ownership, and business models + Unwanted nontechnical involvement + + Case studies + Android [1] + OpenWRT [2] + M0n0wall [3] + Harmattan [4] + WetabOS [5] + Opendreambox [6] + Tizen [7][8] + +Demonstrations (10 minutes) +--------------------------- + WetabOS on ExoPC tablet (RPM) + Harmattan on Nokia telephone (DEB) + Opendreambox on Dream set-top box (I/OPKG) + +Optional discussion (5 minutes) +------------------------------- + Legacy MeeGo packaging + Intel AppUp approach + Packaging Arduino software + +Questions (10 minutes) +---------------------- + Anticipated questions + How to make a package for a given embedded OS? + Can a package be prepared on one device and copied to another? + Can packages be prepared for various architectures with fat binaries? + Architectural hardware 32-bit, 64-bit, and other CPU properties. + How do I know which packages are installed on my device or phone? + +Relevant jokes about... +----------------------- + Packaging systems + Linux operating system + +Glossary +-------- + Debian package file (DEB) + Redhat Package Manager (RPM) + Android Application Package File (APK) + Silverlight Application Package (XAP) + +Errata +------ + Android is not considered Linux by some. + M0n0wall does not really run on Linux, rather on FreeBSD. + Competing 'big five' do not all develop or distribute Linux. + Some technology is deprecated, for example MeeGo variants. + +Lecture materials +----------------- +This lecture is developed on a public source code revision management +system [9]. It is (or will be) published on a public file server [10]. + +Technical requirements +---------------------- +A WLAN connection (for remote slide advancement,) internet connectivity +(for demonstration purposes,) and a whiteboard (to sketch diagrams) are +needed for this presentation. + +Links and notes +--------------- + [1] http://developer.android.com/guide/developing/building/ + [2] http://www.openwrt.org/ + [3] http://m0n0.ch/wall/ + [4] http://harmattan-dev.nokia.com/docs/library/ + [5] http://www.4tiitoo.com/wetab-os.en.html + [6] http://www.dreamboxupdate.com/ + [7] http://www.tizen.org/ + [8] will be considered a valid topic pending advice from Intel reps. + [9] http://scm.europalab.com/lectures/ + [10] ftp://ftp.europalab.com/pub/doc/lect/