Summer of Code/2010/Adaptive UI Framework for Different Age Groups
TODO
- Apply in melange, google's web app before April 9
- Check the image requirements (Restart). Make changes to code and upload a new image if necessary.
About me
- What is your name?
- Mohan Raj Rajamanickam
- What is your email address?
- mohanraj dot cit at gmail dot com
- What is your Sugar Labs wiki username?
- Mohanr
- What is your IRC nickname?
- mohanr
- What is your primary language?
- English
- Where are you located, and what hours do you tend to work?
- Vancouver, Canada. I am a morning person and usually not very productive after 9pm.
- Have you participated in an open-source project before? If not, why do you want to work on an open-source project this summer?
- I have not contributed code directly so far. My contributions have been limited to a number of bug reports and ideas spread across several projects.
I was instrumental in introducing Linux in my undergraduate CS department back in 2001. I have been wanting to contribute to Open-source ever since. I had dreamed of making significant contributions when I quit my corporate job and joined an NGO as the IT manager. But my time there was spent in developing and deploying the IT infrastructure using 100% Open-source software (Plone, Django, Zope, MySQL, Apache, TeX, Ubuntu). I have had this deep desire to contribute. This would often turn to guilt especially when I would be awed by some feature in the Open-source software stack that I use (Linux has been my Primary OS since 2002). I am back in school doing my CS masters now and I think this summer, this SOC could pave way for me to finally take the role of a Open-source developer and community contributor.
About your project
- What is the name of your project?
- Adaptive UI Framework for Different Age Groups
TODO
- Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?
- Can we design UI targeted at different age groups of children such that it improves their experience (usability) with the system ? Can such UI designed specifically for different age groups also facilitate learnability of the UI (the system features that it abstracts) as they move from one age group to another ? (culminating in a desktop, for e.g. from Ubuntu-sugar-remix to Ubuntu).
- We would need to architect and build a UI abstraction layer that would enable users of different age groups to experience the system differently. This should be achieved requiring minimal change on part of the rest of the code base, especially activities.
- Scope:
A UI abstraction framework is too much work: for something that we aren't even sure we need. And I won't be able to do it in 3 months single handedly. So I could start paving way for what could eventually become a framework, but still manage to do something useful for the community in these 3 months. Lets take the feature of discoverability of keyboard shortcuts and context menus. I could start working on bringing this feature into Sugar. But do younger children need keyboard shortcuts? Can the clues for enhancing discoverability of such features lead to confusion for those who dont need it? So depending upon the age of the child using the system (obtained from user profile), the system could choose to expose certain clues or not. I think this can be done in 3 months.
- What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.
- Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant.
You and the community
- If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.
- Sugar Labs will be working to set up a small (5-30 unit) Sugar pilot near each student project that is accepted to GSoC so that you can immediately see how your work affects children in a deployment. We will make arrangements to either supply or find all the equipment needed. Do you have any ideas on where you would like your deployment to be, who you would like to be involved, and how we can help you and the community in your area begin it?
- What will you do if you get stuck on your project and your mentor isn't around?
- How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?
Miscellaneous
- We want to make sure that you can set up a development environment before the summer starts. Please send us a link to a screenshot of your Sugar development environment with the following modification: when you hover over the XO-person icon in the middle of Home view, the drop-down text should have your email in place of "Restart." See the image on the right for an example. It's normal to need assistance with this, so please visit our IRC channel, #sugar on irc.freenode.net, and ask for help.
- What is your t-shirt size?
- XXL
- Describe a great learning experience you had as a child.
- I have been star-eyed kid passionate about absolute energy conservation for as long as I can remember; drawing plans and trying to build perpetual motion systems during playtime. I am not sure when or how it happened, but eventually I began to realize that perfect energy conservation might not be possible. That friction, trade-off and losses are an inevitable part of the equation.
I still catch myself wanting to design the perfect architecture, write the perfect program or buy the perfect laptop that will last perpetually. I have to remind myself often that Engineering (and much of life) is a balancing act of making the most elegant compromises in the given time frame (and improvise later). Its been a tough and valuable lesson.
- Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?
Note: you will post this application on the wiki in the category Category:2009 GSoC applications. We encourage you to browse this category and comment on the talk page of other applications. Also, others' comments and your responses on the talk page of your own application are viewed favorably, and, while we don't like repetitive spam, we welcome honest questions and discussion of your project idea on the mailing list(s) (primarily sugar-devel for technical issues and It's An Education Project for educational issues) and/or IRC.
The NeL project has some good general recommendations for writing proposals. We endorse them all; although Sugar is (regrettably) not test driven development (yet - your project could change that!), we encourage GSoC code to include tests.