Wednesday, March 3, 2010

A rough sketch of a software project

Indeed, I'm a graduate student of Software Engineering, and one of the classes I'm taking now is Software Engineering. In this class, we have to design a software product as class project. We don't need to do any coding, but we need to finish the detail design document like defining screen shots until the end of the semester.

I picked a communication aid for iPad as my project. I just completed a rough sketch of it, which is following. Please let me know if you have comments or suggestions.

Project Proposal.

Communication Pad for Cerebral Palsy and other disabled.

Talk aid with icons or combination of icons was good, but we needed to remember all patterns of words. For example, "Sunday" is [calender]+[Sun]. It's like to learn another language, and it takes time to learn. It's also a hardware device which costs $5,000. I understand that it is from the scale of economy. i.e. the market is too small to fit in mass production.

If we make it as software and put it into personal devices like tablet PC (iPad, for example), the cost of the device can be reduced dramatically. This is my motivation to design the communication aid software.

Besides, a talk aid has being a small computer, but the memory is not big. If it has bigger memory, then it can cache the sentences we typed in. We can reuse the sentences later in other conversation. Also I realized that time and place can be counted as dimensions of communication. We say "Good morning" in morning, and "Good night" at night. So if we put clock into the software, then users of the software just need to push greeting icon. Another example is place. Think about shopping in grocery store, "Please pick that fruit for me and put it into my basket" or "Please take cash from my wallet which is in my little bag" is common phrase I like to use. If the software got the current point that the user is standing or sitting in his wheelchair. The software can guess which messages the user use frequently. Nowadays, GPS can help with this.

Moreover we use blog or twitter to communicate with others. We usually put updates on it. Although it is not always a good idea to make the conversations open, but if the aid gather the messages from these internet sites, users can use them in every little conversations with friends or people around then when the user see them in person.

So I like to work on this software device for my Software Engineering class project in this semester.