Wednesday, August 24, 2011

Getting started 2: requirement analysis

I'll try to first build the minimal set of features that provide something of value to the end user. Then keep on adding to that, for as long as the time runs out. The minimal thing I could think of:

  • Allow user to add simple text items to a list
  • Persist the values locally
  • Allow user to view the list
  • Allow deleting items (well, this is optional, but very simple)

This should be straightforward. After this, I can proceed with adding more features one by one to make the app actually useful:
  • Allow adding tags when creating new items
  • Allow filtering the list view with tags
  • Allow editing list items (both value and tags)

After these, the app will still be pretty simple, but fulfills the core TagList concept. At this point a small amount of UI polish. Probably needs help from my wife and her artistic eye :)

After these, it's getting to the optional (but still very interesting) features:
  • Advanced list filtering with logical expressions: (TagA && (TagB || !TagC)) and such. Kind of a nerdy feature, but appeals to me.
  • Additional metadata for the list entries, such as GPS position and time (creation/deadline). Might ruin the simplicity of the whole thing, so need to be careful here as well.
  • Sharing of items between users. Needs a backend server. I've been looking at doing something on the Google App Engine, this could be the chance. But this is a pretty big feature, as it needs at least some basic permissions/security. And the syncing protocol. Will need a separate planning session to think of how to make this work, and then split it to smaller pieces. Still a big part of making this actually useful. Think of sharing shopping lists between family members or roommates.

Now that I think of it, the sharing feature would be really nice to show off in the job interview. Would make the application much more interesting and complete. But doesn't seem likely in this timeframe. Should have started earlier!

No comments:

Post a Comment