4. HOW - Technology

113 views
Skip to first unread message

Dev4x - Moonshot Education Project

unread,
Feb 27, 2015, 12:42:33 PM2/27/15
to dev4x---moonshot-...@googlegroups.com
This topic is to discuss the creation of an Open Source platform capable of supporting all our required functionality.

Bodo Hoenen

unread,
Feb 28, 2015, 10:48:38 AM2/28/15
to dev4x---moonshot-...@googlegroups.com
An interesting mix of platforms and technology

I'm taking part in the ADL xAPI design cohort we are working on making TiddlyWiki be able to support xAPI. Tiddlywiki is highly portable and able to operate offline, clones, remixed, etc really easily. It can be used to author content of various types. Once TiddlyWiki has a xAPI implementation then it can be used similar to a LMS. H5P is a project that allows the creation of great HTML5 content that we can use in TiddlyWiki. Didaxy in another project for the creation, cloning, remixing of eTextbooks. 

Misha Eydman

unread,
Mar 6, 2015, 3:54:22 PM3/6/15
to dev4x---moonshot-...@googlegroups.com
Hi all!

I would like to start an open discussion on specific technical details for various components we need to implement or integrate with existing functionality. Let me now try to break down everything into digestible parts and hopefully we can devise an action plan to get things moving for each one:

1. Hardware (Low cost tablet with networking capabilities) - let's assume for now that we will use an off-the-shelf Android tablet such as this (http://www.ebay.com/itm/10-1-USA-Google-Android-4-4-Tablet-PC-8GB-Dual-Camera-10-Inch-1GB-RAM-WIFI-MID-/321524823140?_trksid=p2141725.m3641.l6393)

2. Application Shell - While I am not fully confident yet, it seems the basic requirement is that we are able to interface with other content sources or apps and be able to connect to them through API or read data stored on device. There are a few technologies which we could use to build the app, all with their own benefits and drawbacks, which we will need to analyze. Here are a few approaches we could use:
a) HTML - this is relatively simple, since we can use existing HMTL skills to build the framework. Generally HTML apps are smaller footprint and less graphic intensive, Facebook moved away from HTML a few years ago. I am pretty confident that creating the UI part will be nearly impossible using HTML app. Question: can we interface the HTML shell with a Unity UI part? If we are going this route, we can use a cross-platform HTML framework such as Apache Cordova.
b) Native Android Application - ultimately I think this is the route we will need to take as it will allow us much larger flexibility with integration of other components which may be developed by our partners.
c) Unity Shell - this may be just my ignorance here, but I assume it is also possible to use Unity to develop an application shell? If it is, then this could also be a good MVP approach since it will require less integration as we will use a common framework for all development.

3. Exploration UI - this is essentially going to a part of the Application Shell and given the high interactivity and dynamic vector based map generation, seems Unity would be a good choice to start.

4. User Profile - essentially, we are building and off-line LMS, we need to be able to display a simple screen show user's progress and assessment details. To prove our approach we will need to use xAPI to store and retrieve progress data from the profile. 

5. Offline Content & Resource Library - we need to have the content which will be launched form the Exploration UI. There is a wide variety of content which will be made available such as videos, written content, apps encompassing one to multiple lesson units and complete lesson plans currently residing in various LMS platforms. The main agenda here is to take some of this content off-line and make it available through the app. Here are few examples of the type of content we should see in the app:
ELA - ???
Skills (Hygiene, etc) - ???

6. Learning Tree & Content Metadata - this is going to be one of the core innovations of this platform, a comprehensive map of individual lesson units. I think we all recognize the complexity of this effort, it will be very hard to create a global map containing everything. My suggestion is we build on top of existing efforts (Learning Registry and Genome projects). We can also start by integrating common curriculum standards, such as CCSS or WNCP, and then build on top of it by adding other lesson types. I know I am generalizing, but that's the concept here. The other part of this is defining the Metadata standards, which are needed to accurately map each lesson unit to a piece of content. The LRMI project is likely what we should utilize, basically it requires that educational content is marked up with metadata defined by them.

7. Encryption - for the purposes of MVP, we can utilize native encryption algorithms such as AES. We can look at other options once we start full app development.

8. Text to Speech, Browser, Media Player, Reader - these are all available as native Android applications and we can utilize them within our app without much additional effort.

Please treat this as an open ended conversation and comment or contribute in any way you can.

Jeff Bennett

unread,
Mar 7, 2015, 1:28:04 PM3/7/15
to dev4x---moonshot-...@googlegroups.com
I did an update on the Proof of Concept (POC) using HTML to frame content and launch Android Apps directly. It is pretty lean, but shows some of the things HTML can do on Android. The Intent code added to the AndroidManifest.xml for the ZXing Scanner App is really nice and allows apps with this code added to work locally launched from a web page on Android. 

Perhaps someone knows some other tricks to do this kind of thing. That would be very helpful. It may not look glamorous, but it shows it can do a lot if approached properly. I expect something from this might be a part of the blended solution. 

Here is a link to info on the href html to launch ZXing Scanner app with Intent on Android. 


I am currently trying to find a way to fool Android and launch apps with the more conventional html link to Open from the Play Store. I would think there is a way to trick this or find an app/approach that would simply open the app if installed. In any case, the below style link can open any app that is installed on a device from HTML but requires Internet Connection just to issue the local "open" command:


There are many other things that can be done with html. Right now, mostly tinkering with hotspots and app launching disconnected from the Internet. Read the readme.txt at this link if you want to play with it. Any help is appreciated. 

Jeff Bennett

unread,
Mar 7, 2015, 1:42:37 PM3/7/15
to dev4x---moonshot-...@googlegroups.com
I have been working with the Maslo Player solution a bit. I really like the Player App approach to formatted lessons. There is some server integration to populate the user devices that was done for good reason, and could work for us, but isn't necessary at all. 

The software is a great idea and looks fairly well coded and robust. I have not yet found an open community that is actively supporting it. But the code is open and the components are there. Certainly worth a look.

Here is a link to the github code for Maslo components:


I have all the components working in a variety of states. Thanks to Matt for the point on rebuilding the APK. 

I can now author lessons, publish them to the server, run the local forked Android App with my own AWS ec2 address. There is a slight issue with the PHP on the server I think. While the lessons I authored were published when authenticated by the server and stored on the server, something is not quite matching the rather thin instructions. I have not yet run down whether this is an oversight in documentation, a bug in the php or a bug/configuration issue introduced by me. 

Mostly, someone with some PHP skills could help me out quite a bit. Else, I will keep hacking at it rather clumsily but almost there in any case. 


Bodo Hoenen

unread,
Mar 10, 2015, 1:32:18 PM3/10/15
to dev4x---moonshot-...@googlegroups.com
Here are the current tasks on this project that are either still unassigned or where help is still needed. If you can help please reach out and comment on this thread. 

  • Active (Help still needed): Develop MVP V1.0.
  • Active (Help Still needed): Develop UX/UI concepts, and exploration interface.
  • Unassigned: Find projects or organizations that are developing 'Skills Maps', 'Learning Maps', 'Knowledge Graphs', 'Cognitive Graphs' (there are many different names that this is being called) and see what they are doing, find out if they are open to developing this together, see if they are open to developing this as an open source project.
  • Unassigned: Find mechanisms and examples of how others have created crowd sourced projects that we can leverage and learn from. A good example is: www.zooniverse.org. create a report that lists out the various options we have, the considerations we need to take into account and the recommendations you have.

meera ravi

unread,
Apr 2, 2015, 3:43:33 PM4/2/15
to dev4x---moonshot-...@googlegroups.com
Hello again!

I'd like to work on assimilating a report on crowd sourced and citizen science projects. I'll keep an eye out for access to the resource page so I can get started. 

Meera 

Misha Eydman

unread,
Apr 2, 2015, 5:21:21 PM4/2/15
to dev4x---moonshot-...@googlegroups.com
Meera,

It sounds like there are actually two separate tasks here. One are where we need help is identifying similar open source projects and taking note on their process and how we could mimic that here. The other task, which is more relevant to the Content area would be to research and catalog educational content available under Creative Commons license of similar. Feel free to pick up either one. The first one doesn't require a specific format and you can respond on this thread once you have some information. For the content research effort, we are using the following document to catalog everything: https://docs.google.com/spreadsheets/d/16xf1SxiVGihMOtnzXLX-HDM9nz7VO_cmA9Kalvm3JMw/edit?usp=sharing.

Misha

Misha Eydman

unread,
May 7, 2015, 11:55:15 AM5/7/15
to dev4x---moonshot-...@googlegroups.com
Hi All,

I would like to get a sense on when would be the best time to have our bi-weekly Technology Committee meeting. Please indicate your preferences in the following poll. As a reminder, the next session is scheduled for Thu, May 14.


Misha

Moodle Muse

unread,
May 14, 2015, 3:03:48 AM5/14/15
to dev4x---moonshot-...@googlegroups.com
Hello

I can't attend the meeting today but wanted to share a Gamification Architecture for the Dev4x project. The document is only a draft of some ideas which I would love to explore further with the Dev4x team. I have mapped a few User Profiles (Player Stories) a point system and feedback mechanisms. I also explain the difference between educational games and gamification. It is more aligned with UX design than game design really, but it uses game elements to solve problems. 


Some ideas are based on this research of Gamification in a MOOC with thousands of participants broken up into a control group, simple Points & Badges, and a Social Gamification group. The latter achieved 40% higher average test scores and 50% better retention. 


Misha Eydman

unread,
May 27, 2015, 3:59:49 PM5/27/15
to dev4x---moonshot-...@googlegroups.com
If anyone is a bit confused about Open Source licensing, you are not alone. Here is a good illustration on compatibility between different licenses:

Masud Khan

unread,
Jun 18, 2015, 1:01:37 AM6/18/15
to dev4x---moonshot-...@googlegroups.com
Hi all,

At the technology hangout we were discussing technologies to use, in particular programming langauges.  We were talking about a few languages in particular including Erlang, Javascript, Python and Java.  Just wanted to share a few simple charts to add to the conversation:


It shows the prevalence of the different languages in different parts of the internet (github projects, forums, google searches, etc).  We were talking about a few different considerations in choosing a technology including how easy it'll be to find developers who know the language, and I think Java seems the most well known.

Hope there's another discussion soon - I wish I could've stayed for the whole thing :)

Misha Eydman

unread,
Jun 30, 2015, 4:14:30 PM6/30/15
to dev4x---moonshot-...@googlegroups.com
Masud, great point. We will definitely need to consider popularity and resource availability when selecting development framework. Another important aspect to consider would be which language / framework will have the greatest growth potential and ease of entry. For example, C may be popular, but is not an easy language to learn, while JS may be less common, however provides a short learning curve for a novice, which in our case may be more valuable when creating open source software. 

I also wanted to remind everyone that our regular hangout schedules are posted in our Dev4X Calendar. Please check in often as the web conference links may change.

Patrick Morris-Suzuki

unread,
Jul 18, 2015, 10:36:18 AM7/18/15
to dev4x---moonshot-...@googlegroups.com
JavaScript is extremely common now.

I would also suggest you consider portability, especially if you are considering entering the Adult Literacy XPRIZE as well, which would require an iOS version of your submission as well.

Thibault Sorret

unread,
Aug 10, 2015, 7:00:03 PM8/10/15
to dev4x---moonshot-...@googlegroups.com
Hello!

Just had a meeting with Jack Mostow (from the Carnegie Mellon / Project Listen team) on speech recognition software. Here's how he described it to me: speech recognition depends on three ingredients:

1) Phonemic model = input signal and match is
2) Knowledge model = pronunciation of a dictionary word's phonemic/sequence sequence
3) Language model = predicts what the learner will say

The settings are adjusted to give an output of the recognition. The difficulty we face would lie in teaching/listening to individual phonemes.

----

Previous related post for context:

I'm looking at some voice recognition software that have phonemic awareness. I've found an add-on to pocket sphinx called http://www.politepix.com/rejecto/.

It's available for English and Spanish. I'm going to reach out to see if they're willing to extend this to Swahili. Would this be helpful? I'm deep in my pool of ignorance when it comes to both the tech and pedagogy of this :D

Misha Eydman

unread,
Nov 23, 2015, 8:32:26 AM11/23/15
to Dev4x - Moonshot Education Project, dev4x-p...@freelists.org
Our next Technology Community Hangout is coming up!


The meetings will take place on last Tuesday of every month at 5PM EST. The purpose of this hangout is to have an open discussion on various technical and architectural aspects as they relate to Dev4X Educational Platform development.

Please join us for the next discussion on Tue, Nov 24th.


Keep track of all our events through our calendar page:
https://sites.google.com/site/dev4xmoonshoteducationproject/home-page/timeline/meeting-calendar

Here is the permanent Hangout link for the upcoming Hangout: 
https://plus.google.com/hangouts/_/dev4x.com/dev4x-tech-comm

Reply all
Reply to author
Forward
0 new messages