Webapp Required

October 21st, 2008  |  Published in appschool2008

When I heard that Contrast were going to go ahead and develop my latest project I started putting some requirements together. I’m not really a fan of verbose requirements specifications and while I think the easiest to work from are wireframes with notes, I just put together a list in a shared google spreadsheet. Here is what they were.

ID Description
1 A user registration system asks for two email addresses. One for the person registering and one for the person they would like to invite to be their buddy.

2 If the buddy is already registered then the new user appears in their buddy list and they are notified
3 An email address, password and name are taken at registration. Email address is unqiue.
4 A user with no buddies can invite another person (using an email address) and see a list of their outstanding invites and nothing else.
5 Once someone has an active user in their buddy list, they can set the visbility of tasks between them. By default both users can not see one anothers tasks. When an invite it taken up, each party is notified and asked to set visibility between them.Users also set whether the other party can add tasks to their list.
6 Notifications per buddy can be set from no notification, notification summary (daily), and live notification (immediate) for a list of tasks completed by a buddy
7 A ‘calendar’ view displays by day with five slots in each day for tasks.
8 Buddy task lists are displayed side by side with the users personal task list.
9 Clicking on a day slot allows an in place edit of that slot with a single line of text allowed.
10 A dialog to the right of the in place edit appears allowing the user to set the task as private and create/select a tag for the task
11 Tags created by one user appear for use in buddies task lists
12 Tasks can be dragged to a date in the calendar view on their list or on any buddies list.they have access to
13 A user can ‘tick’ any of their tasks as done/undone
14 A report screen shows statistics such as % of completed tasks, avg time to completion of a task, longest undone tasks
15 A notification settings screen allows the user to receive notifications by email/sms/twitter
16 The system shall allow users to subscribe to free and paid plans integrated with worldpay select junior
17 Free plan allows a single buddy
18 When a user sends out a new invite, they can either pay 9 dollars per month or set an amount that the invitee must pay
19 The system keeps track of all payments made by a user and displays those payments on their account screen
20 A user can reset their own password
21 A user can delete tags they have created
22 Sending a message to the system by text will add it as a task on the next available slot
23 The system will text a summary of the five tasks for that day

Non-functional requirements
101 The code shall be source controlled at svn://smartnote.ie
102 A backup task will run nightly
103 The application shall be a joy to use

By the time we had finished the initial analysis on Monday – these change changed somewhat. The guys had lots of good ideas and there was a certain amount of balancing between what would work and what was feasabie in the time allowed. Actually, the tight timeframe helped to focus the mind a little on what features were really necessary. We dropped tagging for example and opted for a Paypal subscription rather than the oft time consuming integration with something like Worldpay. So here is what we ended up with.

Registration

  1. Registration will ask for 2 users, but one will be optional
  2. Email addresses will be unique and taken at registration
  3. Users can invite up to 1 person on a free account. After that , it’s $9 per additional user.
  4. During registration, the type of account is chosen, team based or mentor based.
  5. Registration will allow users to pick their own domain names (e.g. contrast.5tings.com)

Payment plans

  1. Account holder of a company is responsible for payment.
  2. Mentor is responsible for payment for each of accounts he uses.
  3. All plans are calculated at $9 x number of users (minus 2 free ones)

Payment Processing

  1. Payment processing will be done through PayPal

Interactions

  1. Calendar view displays user, their team mates, and all 5 tasks for the week.
  2. Sat/Sun is optional , and configurable by account holder or mentor
  3. Tasks can be dragged from slot to slot.
  4. All interactions will be done “in-place” on the main screen.
  5. There will be no tags used in the system

Notifications

  1. Notifications can take place by email/sms/twitter
  2. Notifications are configurable “Account settings”

SMS

  1. SMS will be used for task allocation (e.g. “Collect Contract” to 087-5tings will add it to the next available slot)
  2. SMS can be used as a notification (e.g. “Your 5 tasks today are 1. 2. 3. 4. 5. etc)

Reporting

  1. There will be a Report screen showing how the team is getting on. The nature of which is still to be decided

Leave a Response