Proposal by Nahuel Garbezza for Arduino Web Interface

Proposed by Nahuel Garbezza (profile, biography)

How will I do that project

I'll start by learning the Arduino library and analyzing the different alternatives regarding the architecture (Amber/Seaside), then I will start with a basic website, and then improving it incrementally with new controls and widgets to get something easy to use.

I'll be constantly in contact with the community to ask if I need help or feedback. I'll blog all the progress I'll be doing through the project.

What methodologies will I use

One-week iterations, a set of tasks discussed and prioritized with the mentors, and Test-Driven Development where I can (I know it is difficult to do it for a UI). I will try as much as I can to demonstrate the progress I'll be doing to my mentors. I'll version my code using Monticello and Filetree.

Suggested timeline and milestones

1 week to understand how the existing Arduino library works, and decide the technologies to use (Amber and/or Seaside)
2 weeks to build a prototype of the user interface with a few basic controls, communicating with the real API
4 weeks to complete all the controls, and to create extra components that can be useful to the users (such as charts)
2 weeks to improve the design and user experience
2 weeks to make refactors, document and discuss further work

Where I see the risks

Making all the controls and components generic enough to cover most of the possible uses of an Arduino. Showing them in a usable way to the user can be difficult.

How the results will look like

A web interface that will allow both novice and expert users to control their arduino projects from anywhere.

Updated: 30.4.2013