Thursday, February 28, 2013

Introducing the Education Kit

UPDATE:  If you want to give a small donation to the project - I have made a bitcoin address for the purpose:  1HbqRbycQ9p4ntdNkR7MzYnpVaeyfXW1Ny

Since I first visited my wife's home town in San Luis Potosi, Mexico, I have been contemplating on how I could apply some of the knowledge gained through years of work as a software engineer to do good in a region that is very rich on natural resources - but starting to lose the battle against a declining economy, crime and most of all - brain drain.

In 2010, I started working with a technical high-school there on solutions that would boost the offering of educational content - and at the same time, introduce students to software development, empowering the teachers and students to do more, while not creating unnecessary overhead. 

After a great deal of iterations on different ideas and designs, we settled on a model that would give the best benefit to the students at a very low cost, utilizing technology already present:  Nokia S40 and other devices running J2ME apps.

Some years have passed and today we have a range of very affordable hardware available that can do much more than run simple J2ME apps.

The Education Kit


For the last half year, I have been working on creating a brand new experience, building on the same basic concept done in collaboration with the technical school in Mexico.

Some of the schools outside the larger cities in the areas I have been in in Mexico, don't have much more than an outside basketball court and a few connected rooms with chairs and a TV inside.  NOTE:  Of course this is worst case - but it's nice to know that the worst case is covered by the design.

The whole thing will be based around HTML5/WebApps and the primary target platform delivered, consists of a Raspberry Pi running a software stack with node.js on the server side and a customized Qt5/QML2 WebKit2 WebApps centric browser on the client side.  The Raspberry Pi may not be the most powerful board available, but it's quite affordable and connects to old and new TVs out of the box.

Why not use <insert your favorite technology here>?


The decision to use WebApps as technology for the exercises and not e.g. python or .net is the following:

  • It is becoming the industry standard for apps (phones, tablets, desktops, ...).  Even Microsoft is going in that direction.
  • It's fairly easy to get started with HTML and JavaScript
  • Many local technical schools typically offer courses in... Delphi, Visual FoxPro, Visual Basic, no C/C++ but HTML and JavaScript! - mainly for web design, but still:  The base knowledge is present.

So - what's the scope?


Everything is designed to live up to the following requirements:

  • It must be VERY easy to use for both teachers and students.
  • All WebApps exercises must strive to be directly supplementing the existing curricula
  • Every exercise must be possible to complete within a standard session (~ 45 mins)
  • Every exercise must have some stretch goal that involves injecting code (JavaScript) directly into the WebApp (to introduce software development)
One example is a color mixing app that is part of the standard official apps, where the normal exercise tasks involve matching colors using subtractive and additive color systems - and the stretch goal is:  "make the application write how many percent of each primary color is in the mix on screen".

Working outside the box


As one of the goals of the project is to function as a catalyst for the young bright minds to come up with new software/hardware solutions with local businesses, an addition to the minimal setup will also include an Arduino based board and libraries for the WebApps to easily be able to interact with connected motors and sensors.  This will provide a foundation for industrial prototypes that will otherwise be hard to access in these regions.  Where it makes sense, exercises will be able to interact with connected hardware, e.g. a color sensor would make a lot of sense to use in connection with a color mixer exercise.

Additionally, because of the split of the server and client, it will be possible for schools with LAN connectivity to hook up the device and offer several students to work on exercises from the same box at the same time.  Another possibility could be to have a WiFi dongle attached to the RaspberryPi, providing access to exercises to students with WiFi enabled devices in the classroom.


Where to go from here?


Well - the next milestone is a talk at OpenSourceDays 2013 in Denmark.  

In parallel, I am working hard on getting the system ready, as well as looking for additional help, potential sponsors, publishers for content and schools for pilots.

If you want to support this in any way, leave a comment and I will get back to you!

3 comments:

  1. Hi there,
    I landed on your page while searching for chromium embedded system. I m in process of using the web technology for making the desktop app, mobile app. There are lot of business logic which cannot be share in scripting language. I have almost completed by research now and settle to use QTWebview. My requirement is i should be able to access the hardware function as well.
    I liked your idea of using Rashberry Pi. That is good board. I got one sitting in table as well.
    Why connecting hardware is important because it open a lot more possiblity rather than restricting only to software.
    What i seek to achive is front end logic in HTML, js, css and backend with python using QT and package it to run on all plateform.

    If you are still working on this project and my work can assist you in any way then let me know.

    ReplyDelete
    Replies
    1. Hi Maanas,

      it can seem like a big jungle when one needs to settle on certain technology for a new system. In our case, I think we went through 3 or 4 iterations before finding a combination that would cater for all of the known needs (at the time) - e.g. performance, portability, security, flexibility, etc.

      We are very much still working on the project and you can see a bit more here: http://www.empirikit.com

      br
      Lars

      PS Thanks for offering to help! :-) Can you tell me a bit more about your project - and in which way you'd like to contribute (if possible)?

      Delete
  2. Very good idea, y can keep it here - secure virtual data room, it will help y keep all your information safe and well managed.
    Thx for your blog.

    ReplyDelete