Problem Statement
In the Spring 2011, I took a User Interface course to satisfy a requirement for my MS SWE.

The purpose of the course:

  • To explore the role of the human in the design and implementation of software.
  • To prepare students to design and evaluate the quality of an interface between computer software and the human user.
  • To provide an understanding of how to design software interfaces that are appropriate for the user, be familiar with a variety of interface design strategies, and be able to evaluate the quality of a software interface.

The course included a project which needed to implement a moderate-sized application with an appropriate user interface.

The default project was to build a Book Rating system which allowed the user to search for books and add to/delete from a virtual book shelf. However, I was looking for a real world project which would give me an opportunity to work with developing a mobile application.

A friend of mine owned a mobile device that limited the number of bookmarks he could save on his phone. I decided I would create a web-based application that would allow him to store as many bookmarks or links as he wanted, he would only have to bookmark only one site on his phone AND it had an admin application with user interface accessible via the web (on his pc). The application was called: M.I. Links.

Possible options
There were a number of mobile frameworks I considered e.g. IOS SDK, Android SDK, JMobile? (java-based), .NET mobile and something HTML/CSS based.

Final Solution
Since I did not have sufficient time to ramp up on the extensive mobile frameworks, I decided to stick with HTML/CSS with a little javascript mixed in.

Technology & Feature Highlights
At that time, I was job hunting for a developer position and interviewed with a company that developed their internal applications with Struts and which required the use of STRUTS and Sencha ExtJs .

While I didn't get the position (I didn't know Struts at the time), I really liked the implementation of ExtJs? so I decided to incorporate it into this project.

The authentication leverages a Sencha module and integrates a mySQL back-end. During this project, I was introduced to and continue to use MySQL? workbench for all my DBA needs.

Still to do

  • Fix the broken features like updating information and adding links.
  • Debug the problem with the display on a mobile device.
  • Create 'formal' documentation to capture the requirements and specifications.

Lots of documentation exists on this project as we had certain milestones requirements during the course of the semester. I just need to aggregate it all in a formal document.