Our previous post was a user story about a woman wants to use a to-do list app to manage her Christmas shopping. The post outlined some of her ‘wants ‘(‘expectations or user stories) from the to-do list app. In this post I aim to look at all the user stories and try to understand them from a technical and implementation perspective. Let’s have a look at all her user stories, starting with
User story 1: Categorize
“I want to be able to categorize gifts for the person I am buying it for“
The first thing that comes to mind is, grouping i.e. a parent child relationship. So my understanding of her expectations from a to-do list app is that she wants to create individual lists for people. e.g.
Her son Paul for whom she needs to buy
- a new cologne, a gym bag, and a Flash drive
The next would be her daughter Betty for whom she needs to buy
- a new bicycle , a pair of shoes and renew her gym membership
How can we deliver this via a to-do list app?
In terms of implementing these into a to-do list app, the requirements are as follows,
- The first change that would be needed would be to the database to allow for a table to store a person name or a category that has a list of child records. The child records would be the gift name i.e. items of a to-do list.
- The next stage of implementation would be to consult a UI designer and discuss how this would look in the app itself.
- Once we have the design, then it would be a matter of delegating the work to both front-end and backend developers to implement this change. Followed by extensive testing or ‘crash proofing ‘ it before release.
User story 2: Location
“I want to be able to specify where I am buying the gifts from”
Hmm…. I think what she wants from this is for every item she adds to her to-do list she wants to specify a location from the map for it e.g. for the to-do “buy a new gym bag” she may want to specify the exact location by putting a marker somewhere on Pitt Street on the map.
How can we deliver this via a to-list app?
In the app when a to-do is added the user should also be able to see a map i.e. MapKit or Google Maps SDK and drop a pin on it. The pin would give us a location i.e. latitude and longitude for it that we can store in the database. We would also need to work with a UI designer to come up with a way of showing the location specified for a to-do.
User story 3: An internet search?
“When I note down the gift items, I want the app to suggest where I can get the gift item, at the best price“
Her expectations from this are simple, she wants to know what’s the best deal for the product she’s buying. E.g. she adds a to-do item buy a new mountain bike and the app would then [trigger a search for the best deals for a mountain bike for her.
How do we deliver this via a to-do list app?
Hmm not sure about this. Adding this feature is more complex than some of her other wants. My only guess at implementing this would be to call some third party API by passing her location as well as the search terms from her to-do. Then come up with a design to display the results of the API call via a pop-up or so. Owing to the complexity of this feature it would require much more development and testing time than the previous ones to implement.
User story 4: Task delegation
“I want to be able to send my list to someone so if I don’t have time, they can buy it for me“
This is a really good time management technique that she’s hoping to use. It’s a case of finishing your to-do by task delegation when there are time limitations. E.g. if she realizes that she’s only bought 5 out of 12 items in her shopping list and and it’s already 5:30 pm, she wants to be able to send that list to someone else to finish shopping.
How do we deliver this via a to-do list app?
I think the simplest way to achieve this would be to have the ability to select to-do from the list and then send those to-do to someone via sms, email etc. To get more technical the iOS UIActivityViewController comes to mind.
User story 5: Reminders?
“I want to be able to keep track of the gifts that I purchased and be reminded on what I forgot“
Hmm…. I think this is a bit self-explanatory. Maybe you can tell me your thoughts on this? What do you reckon? How should we implement this? Write something for me in the comments below.
As usual, if you find any of my posts useful and want to support me, buy or even try one of our products and leave us a review on the app store.