Transcript of "M-Learning application development with open source"
Building M-Learning ApplicationsWith Open Source●Context● What is e-learning?● What is m-learning?● Why m-learning?● Technical Terminology●Application Development● Native or not?● Which native platform?● Overview of frameworks,● Back-ends● Toolkits
Jumping Bean Open Source Development 3What is E-Learning?● Common understanding - use of the webtechnologies to:– Delivery educational content potentially independentof face time,– Enhance material with audio, video,– Enhanced interaction between students, materialand teachers,– Assist with course administration & management,● Tends to be content heavy, sedentary, focusedattention I.e sit at a PC
Jumping Bean Open Source Development 4What is M-Learning?● Common understanding - use of mobiledevices to assist with learning & teaching,● Augments other learning/teachingapproaches such as instructor lead classes,e-learning,● Form factor dictates smaller contentchunks, shorter time focused ondevice/screen● Affordances still being established
Jumping Bean Open Source Development 5Why M-Learning?● More people have mobile phones than PCs,● Well know & much talked about high penetration,● People have their devices with them all the time, low“boot up time” to access applications,● Common to have internet access with devicepurchased airtime can be used for calls or data, I.eperceived no “extra” cost,● Opportunity to make use of unproductive time.Standing in queues, travelling to work
Jumping Bean Open Source Development 6Why Open Source for M-Learning?● Ability to adapt applications/tools to localcontext - not only content i.e creativecommons● Leverage existing work,● Quality code - secure,● No dependencies,● Open source development is itself alearning methodologycontinued
Jumping Bean Open Source Development 7Terminology● Mobile Platform – operating system, api,application store I.e Android, iOS, Blackberry● Software Stack– SDK (Software Development Kit) – Usuallyrefers to “native” development from the vendorsof the mobile platform– Development framework – 3rd party softwareframework/stack to support development ofmobile applications
Jumping Bean Open Source Development 8Application Development
Jumping Bean Open Source Development 9Considerations for Software StackSelection● Target users device demographics,● Existing developer skills base,● Flexibility -– Rapid pace of change,– People still experimenting with best practise, findingout what works,● Back-end system integration requirements,● Affordability of devices for students,● Type of coverage, internet speeds, data costs
Jumping Bean Open Source Development 10Native or Not?What is native?● Native use the sdk for the targeted platform● Pros– Native look & feel,– Perception that native apps are better● Cons– Only runs on the target platform,– Have to rewrite the app to target multipleplatforms
Jumping Bean Open Source Development 11What is non-native● Not officially supported technology stack for thetarget platform● Pros– Target multiple devices with a single code base– Reuse existing knowledge● Cons– Non native look & feel,– Perception of slowness,– Feature lag,– Check for sustainability
Jumping Bean Open Source Development 12Non Native Frameworks
Jumping Bean Open Source Development 13Which Platform for Native Development?
Jumping Bean Open Source Development 14Android Native Platform● Android is the best choice– Wide range of devices in terms of features andprices– Other platforms are aimed at the top-end of themarket– Lower barriers to entry● For IOS you need– Mac book– Enrol in iOS developer programme $99/year to be able todeploy
Jumping Bean Open Source Development 15Non-Native Frameworks● Frameworks based on language support”– HTML5 +CCS3 frameworks● Large skills base,– PHP,– Ruby,– Python,– ….
Jumping Bean Open Source Development 16Open Source FrameworksFramework LanguagesHTML 5, RubyHTML5,C++HTML5HTML5HTML5,PHP
Jumping Bean Open Source Development 17Common Open Source Backends● Popular open source projects provideservice for mobile integration– Drupal – services module, provides oAuth,– Moodle – different initiatives● Apps,● Extensions
Jumping Bean Open Source Development 18Toolkits● Aris Games – platform for mobile games,tours and interactive stories (augmentedreality)● Molly – Mobile portal platform Django andPython for developing a location-awaremobile portal with particular emphasis onHigher Education.● OMLet – Open mobile learning toolkit
Jumping Bean Open Source Development 19Toolkits● ICTWorks - The Mobile Learning Toolkit forICT4D Trainers
Jumping Bean Open Source Development 20Examle of Toolkit Architecture
Jumping Bean Open Source Development 21The EndE-Learning Africa 2013Twitter @mxc4G+ MClarke4@gmail.comwww.JumpingBean.co.za