Today is Software Freedom Day and as a user of technology you should think about the programs that you use and understand the importance of the free software movement.
Depending on who you talk to, “free” it can mean different things but in terms of Software Freedom Day, “free software” refers to freedom and not price. Some of the core beliefs of both free software movement is that computers users should have the freedom to:
- use the software for any purpose
- study the software and modify it to suit their needs
- distribute copies, either gratis or for a fee, and
- distribute modified copies to help their community
Do watch the following video for Richard Stallman (RMS) explaining Software Freedom Day and has some great insight into GNU and GNU/Linux
I thought it was appropriate that I release the code for the SMARTER eVCS as an open source project dual licensed under the GPL V3 and MIT License. As I previously mentioned I hope that this will foster some community development and be a point for people to involve themselves in a community project of a different kind that I believe has yet to be done in Brunei.
The code is available at https://github.com/thewheat/SMARTER-eVCS-webapp
It requires CakePHP for now and was built on an older version of CakePHP and somethings on the todo list are as follows
- Move to AJAX instead of full page load for the user front end (admin can stay as is for now)
- Responsive/Mobile site design
- User login with each user having ability to manage multiple profiles
- Possible remove the need for CakePHP all together to make it lighter
Next up will be the Android app source code release and also deploying the demo app online for people to play around and test. In the meantime, anybody willing to support, contribute or help can leave a comment / fork the code / spread the news. Any and all forms of participation is truly appreciated.
A couple of months back I started attending some meetups here in Melbourne and over a month ago I was able to attend my BarCampMelbourne (my first BarCamp!) and it was a great experience. What struck me most as I look back, is that there aren’t any kind of meetups like this back home in Brunei, at least to my knowledge. Events and meetups such as these rely on people giving back to the community and for regular meet-ups, to be consistent about it.
At one meetup, there was a company saying that they wanted to open source part of their product in order to give back to the community but it would take time for them to do so as it would take time for them to sort out their code and make it nice enough to publish: especially since it would represent the company. Sometimes they also have to separate out what code that they can release as open source, as some code may be libraries used which they may not have rights to distribute. I acknowledge that no company wants to put out bad code or give out something that isn’t theirs to give, but I also acknowledge that it is a point for procrastination: an excuse or crutch to fall back on and also possibly thinking that the code/work isn’t good enough. Or perhaps that is just me.
I pledged to code the SMARTER Android app over 1 and a half years ago and I did deploy a webapp for them to use to internally as well as an Android app what utilized the exported data from the webapp. After that I was caught up in finishing up my work before heading off to Australia and I guess I fell off the wagon in terms of developing that system further and keeping in contact with SMARTER as a whole. So by next week I hope to open source both the webapp and Android app and follow up with them, if there is anything further that can be done. I know the programs aren’t perfect, I know the code isn’t perfect, I know that there is room for improvement and I know that there is work to be done.
Over the next few weeks I’ll try document what I’ve done and also future goals that we hope to achieve. I used the word ‘we‘ as I hope to get other developers / contributors on board. I want this to be a base for contributing back to the community of Brunei and I am open to contributors / suggestions / feedback.
(Image from http://www.smarterbrunei.org)
So it’s been just over 2.5 months since posted the specifications of the SMARTER eVCS. I did manage to show them a working demo in January but February and March were busy months and did not manage to spend as much time as I wanted on this project. Had to learn some Android development and so far have managed to load images stored on the SD card as well as ability to traverse directories (which corresponds to selecting a picture in the demo). Also finally managed to add some more functionality in terms of voice feedback to the web system and demo’d the new update last Friday.
Tonight I should be meeting up with Alex, one of the teachers, with SMARTER to compile the necessary photos/images/voice clips so that there can be a complete working demo with proper cases for Farid (the son of SMARTER’s president Malai Hj Abdullah bin Hj Malai Othman). I’m still wondering if this is going to be a long term kind of project or are there any other non-profit organizations looking for help with any systems they require? I would love to help them out and also work with volunteers on implementing these projects. I did talk to Zulfadly of Anak.IT and mentioned it on the Anak.IT Facebook group but more volunteers are always welcome.
Do play around with the online working demo. Any feedback is appreciated. Do not that the current version (not updated online yet) has the ability to change profile picture and some general tweaks. Hope to update the online version soon.
To-Do (Near Future)
- Export feature to compile the necessary files to be transferred to SD card of Android app
- Android app that is self-contained (requires no pairing with desktop/web system aside from easy generation of file structure)
- Improve Flash voice performance
To-Do (Further Future)
- Record audio straight from the browser
- Customize straight from Android app
P.S. HTML 5 audio is a pain as not all browsers support the same format. Had to resort to Flash to play audio but this gives a performance hit. The initial Flash media player I was using to play MP3 did not autoplay in Chrome so had to use a different Flash player which seems much slower. But this is a rant / post for another day =)
With respect to the previous post SMARTER Seeks Help to Develop App for ‘e-pad’, I did manage to meet with Malai, the founder of SMARTER, on Friday afternoon and have a discussion with him regarding my interest to volunteer for this project. I managed to detail out some specifications of the system and general information regarding their current systems. Do read the following and if you can contribute do comment below or tweet me @thewheat
Current Flipbook System
- Currently SMARTER utilizes physical flipbooks in order to help autistic persons communicate. These are physical booklets that have to be brought around and can be cumbersome. The wish is to digitize this flipbook system and to be used on an Android tablet [there are 2 models currently in possession: one with a 7" screen and the other an 8" screen. (links are to similar Android tablets of that screen size)]
- There is a self-made flipbook system using Microsoft Powerpoint that lets the user click on an action and be brought to a new slide showing the next task/action to take, but this requires a lot of manual effort in creating the flipbook and results in a large file size just for a single activity (17.7MB Powerpoint file for a 25 slide flipbook with 25 different actions/task). This is too cumbersome and needs to be improved
Existing PowerPoint Flipbook
- Flipbooks can be categorized into 2 categories
Current Flipbook Samples
- Sequential types are used for activities such as “Washing Hands” which has a sequence which is shown below and other non-sequential activities such as “I want to go shopping”, or “I want to go home””Washing Hands” sequence:
- Open Tap
- Wet Hands
- Get Soap
- Lather Soap
- Rinse Hands
- Dry Hands
Flipbooks are customized per person (autistic people identify with photos if they in the photos performing that action/task)
Proposed Application Specifications:
- The application should have a graphical representation of the possible actions / activities for the user to select
- Each item may have sub-items (e.g. First item is “I want to go shopping”, sub-items can be “I want to go to The Mall”, “I want go to Hua Ho” or “I want to go Yayasan”)
- Voice clips can be played back went an item is selected (e.g. TapToTalk which speaks the action such as “I want to go out”)
- For sequential activities, there should be an indication of the “next action” to inform the autistic person that there is a pending action to do (during my discussion with Malai, he mentioned that if there is no indication of a next step they could spend all their time doing a current action/task)
- Pictures and voices must be customizable and be able to be changed by the guardians of the user.
- Similar applications: TapToTalk, Voice4u, AACSpeechBuddy
Proposed Plan Of Action
- For the initial stage, I propose a web-based working demo due to the following reasons:
- it will allow relatively quick changes and mockups
- it will allow for discussion of features as the actual Android application is developed
- it can serve as a replacement for the current Powerpoint flipbook system and thus have increased efficiency in creating new flipbooks
- I have put together a working demo where users can add items (called categories) and specify sub-items to be displayed.
eCVS Demo System
eCVS Demo System - Edit Category
How You Can Help
- Perhaps when the system is more fully functional you can help will data population by adding categories, finding sample images, doing voice recordings.
- Give some feedback or thoughts on anything that you see: there may be something that you have thought about that has not occurred to any of use. Knowledge sharing beneficial to all =)
- If you have anything to contribute, do let leave a comment stating how you could help