Exploring the Future Potential of AI-Enabled Smartphone Processors
M-Learning application development with open source
1. Building M-Learning Applications
With 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
3. Jumping Bean Open Source Development 3
What is E-Learning?
● Common understanding - use of the web
technologies to:
– Delivery educational content potentially independent
of face time,
– Enhance material with audio, video,
– Enhanced interaction between students, material
and teachers,
– Assist with course administration & management,
● Tends to be content heavy, sedentary, focused
attention I.e sit at a PC
4. Jumping Bean Open Source Development 4
What is M-Learning?
● Common understanding - use of mobile
devices to assist with learning & teaching,
● Augments other learning/teaching
approaches such as instructor lead classes,
e-learning,
● Form factor dictates smaller content
chunks, shorter time focused on
device/screen
● Affordances still being established
5. Jumping Bean Open Source Development 5
Why 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 device
purchased airtime can be used for calls or data, I.e
perceived no “extra” cost,
● Opportunity to make use of unproductive time.
Standing in queues, travelling to work
6. Jumping Bean Open Source Development 6
Why Open Source for M-Learning?
● Ability to adapt applications/tools to local
context - not only content i.e creative
commons
● Leverage existing work,
● Quality code - secure,
● No dependencies,
● Open source development is itself a
learning methodology
continued
7. Jumping Bean Open Source Development 7
Terminology
● Mobile Platform – operating system, api,
application store I.e Android, iOS, Black
berry
● Software Stack
– SDK (Software Development Kit) – Usually
refers to “native” development from the vendors
of the mobile platform
– Development framework – 3rd party software
framework/stack to support development of
mobile applications
9. Jumping Bean Open Source Development 9
Considerations for Software Stack
Selection
● Target users device demographics,
● Existing developer skills base,
● Flexibility -
– Rapid pace of change,
– People still experimenting with best practise, finding
out what works,
● Back-end system integration requirements,
● Affordability of devices for students,
● Type of coverage, internet speeds, data costs
10. Jumping Bean Open Source Development 10
Native 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 multiple
platforms
11. Jumping Bean Open Source Development 11
What is non-native
● Not officially supported technology stack for the
target 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
13. Jumping Bean Open Source Development 13
Which Platform for Native Development?
14. Jumping Bean Open Source Development 14
Android Native Platform
● Android is the best choice
– Wide range of devices in terms of features and
prices
– Other platforms are aimed at the top-end of the
market
– Lower barriers to entry
● For IOS you need
– Mac book
– Enrol in iOS developer programme $99/year to be able to
deploy
15. Jumping Bean Open Source Development 15
Non-Native Frameworks
● Frameworks based on language support”
– HTML5 +CCS3 frameworks
● Large skills base,
– PHP,
– Ruby,
– Python,
– ….
16. Jumping Bean Open Source Development 16
Open Source Frameworks
Framework Languages
HTML 5, Ruby
HTML5,C++
HTML5
HTML5
HTML5,PHP
17. Jumping Bean Open Source Development 17
Common Open Source Backends
● Popular open source projects provide
service for mobile integration
– Drupal – services module, provides oAuth,
– Moodle – different initiatives
● Apps,
● Extensions
18. Jumping Bean Open Source Development 18
Toolkits
● Aris Games – platform for mobile games,
tours and interactive stories (augmented
reality)
● Molly – Mobile portal platform Django and
Python for developing a location-aware
mobile portal with particular emphasis on
Higher Education.
● OMLet – Open mobile learning toolkit
19. Jumping Bean Open Source Development 19
Toolkits
● ICTWorks - The Mobile Learning Toolkit for
ICT4D Trainers
20. Jumping Bean Open Source Development 20
Examle of Toolkit Architecture
21. Jumping Bean Open Source Development 21
The End
E-Learning Africa 2013
Twitter @mxc4
G+ MClarke4@gmail.com
www.JumpingBean.co.za