Assignment 2

Title

OutfITerator

Problem

Our app will assist a user in selecting outfits. There are many possible combinations and occasions and this stores them in a comprehensive, searchable database. A user will store pictures with their appropriate tags and be able to search by tag for an outfit for every temperature and occasion.

Users

People interested in fashion or just concerned with looking nice on a day to day basis, primarily females ages 12-35 and males ages 15-25 will be the primary users of our app.


Persona 1:
Sam is a 24 year old professional; he wears suits and works at Saks Fifth Ave in the menswear department. He has a million ties and is an avid basketball fan.

Persona 2:
Emilio is 19 and goes to college and heard about this app from a friend. He doesn't like to do laundry or spend much time getting dressed, but wants to use this to impress girls. He spends a lot of his free time in the gym and the library on campus.

Persona 3:
Laura is a 32 year old mother of two. She goes out to mom lunches weekly and is working part time as a substitute teacher. She also takes public transportation and enjoys walking around the city.

Persona 4:
Nicole, 18, is about to go to college she is very involved in clubs and goes to a lot of events with her friends; parties and such. She has a huge closet and too many pieces of clothing to count.

Task Scenarios

1. Taking a photo

Sam is getting ready to leave for his job in the menswear department of Saks Fifth Avenue. He pulls out his favorite grey pinstriped suit, mint green shirt, and green and purple paisley tie. He’s feeling great in this outfit and wants to remember it for another time. He grabs his smartphone,opens up his OutfITerator application, and snaps a photo of himself so he’ll remember it for another day. He’s now ready for a successful day at work.

 

2. Saving a photo with desired tags

Nicole just graduated high school and as a gift from her mother, she got a new gold lace shirt. Nicole can’t wait to show it off at her best friend’s 18th birthday party tonight. The question is, what should she wear it with? Jeans? No, too casual. Shorts? Not quite warm enough for a nearly summer evening. Black shimmery leggings? Perfect. Now all she needs is to remember this outfit for when a similar occasion comes up. She picks up her smartphone, takes a photo of herself in the outfit, and saves it under the tags“evening out” and “warm weather” and “five stars.” Now she’s all set for a great night tonight and many in the future.

 

3. Searching for a type of outfit

It’s 8:00 am and Emilio just got out of bed. He wants tohave a full hour at the gym before his 9:30 am class on the other side ofcampus, so he doesn’t have much time. He knows that a lot of the girls go tothe gym in the morning, so he needs to find the perfect workout outfit thatboth looks and feels great. He grabs his phone, opens the OutfITerator application,and selects the “gym” tag. He then flicks through the twelve pictures of himselfin workout outfits and chooses his red and black one. He’s now ready to hit thegym with speed and confidence.

 

4. Adding new categories/tags for a photo

Sam (see Task Scenario 1) has taken a photo of his spiffygrey-suited self before for work, but since he was in a rush, he only botheredto save it under the tag “work day.” When he comes home from work and changesout of his outfit, he smiles as he lays the clothes out on the bed. It was agreat outfit. Not excellent, but great. He picks up his smartphone, opens theOutfITerator application, opens the picture of himself that he took thatmorning, and types in the tag “four stars.” Now when he scrolls through thephotos in his “work” category, this picture will be displayed close to the topbecause of its fairly high ranking—just where it should be.

 

5. Changing the tags of a photo

Nicole (see Task Scenario 3) is now 21 years old; it was threeyears ago that she got that gold lace shirt for high school graduation that sheloved so much. That shirt is still in her closet, but instead of hanging in thefront with her favorite and most worn clothing, it has migrated its way to theback.  Gold was a color that was all therage then, but now it just seems excessive. And lace used to be the essence ofgirly sophistication, but now it just seems trashy. She picks up hersmartphone, opens the OutfITerator application, and selects the photo of herwearing the shirt. She taps the tag that says “five stars,” and replaces itwith the tag “two stars.” Now it won’t come up right at the top every time sheopens the app and looks under the tag “evening out.”  

 

6. Deleting a photo

Laura is a busy mother of two young boys. She has been usingthe OutfITerator application since before she had children, so she has yearsand years of her favorite outfits stored for easy access and inspiration. Whilecrawling on the floor with her boys during an elaborate set-up of the toy traintracks, she tore the sleeve of the blue flowered shirt she was wearing. Knowingshe won’t be able to wear it again, she picked up her smartphone, opened theOutfITerator application and deleted the photo of herself wearing the shirt.

Tasks

1. Taking a photo
  • Goal - To capture an image of the outfit intended to be stored in the database.
  •  Preconditions - You must be wearing the complete outfit, there must be good lighting and ambiance to take a good picture, and you must have a way to hold the phone or camera to capture the picture.
  • Subtasks - Get dressed in the outfit you want.
  • Exceptions - You could get a poor quality photo, in which case you just retake it.
This task will be repeated many times - once for every time you add a new outfit to the database. Without this initial step of taking a good picture, there's nothing for the program to base its algorithms on and therefore, it'd render the program rather useless. There are no time constraints really - just the amount of time it takes to put on the outfit and take the picture, which initially for database population shouldn't take that long, especially if you're planning on wearing the outfit anyway and just want to add it to the database.    

2. Saving a photo with desired tags    
  • Goal - To save the captured photo in the database and assign it descriptive tags to be able to recall the information quickly and efficiently. 
  • Preconditions - You would have had to take a photo in the screen prior to be able to save and tag it.
  • Subtasks - Assign tags to the captured photo for good indexing. Assign a rating of outfit (hate it <-> love it) to that particular ensemble.
  • Exceptions - Misspelled tags, "fat finger" syndrome selecting an inappropriate tag - however those issues can be easily rectified by the modification step later on in the process.
This task will be repeated just as many times as the photo taking task. In general, you're going to have to be clicking a fair amount to make sure you're putting the outfit into the right categories. This task might take a while at first when you're initially populating the database with the tags you wish to use, but in the future when you're able to reuse the tags you've already used, the task will take considerably less time.

3. Searching for a type of outfit
  • Goal - To find the perfect outfit for whatever occasion you're preparing for.
  • Preconditions - The database must be populated with some outfits before you search - otherwise you'll end up with empty queries. The items in the database must also be tagged and rated (a requirement for task 2)
  • Subtasks - Selecting multiple classes/categories to filter your outfit search.
  • Exceptions - Empty queries will throw exceptions in the program - each query must have a fallback to "none" or "all".This task will be the most repeated task in the program. 
Once you have amassed a good sized database of images of your outfits, you would from then on simply use the search function to sort through the outfits by type via the tagging mechanism. Different search filters will be defined by the user (in the form of defining tag names) and stored as boolean values in a database table where the header of each column is the name of the tag. This way, we can easily get good results out of a simple program. The amount of time required to complete this task is minimal. At worst, this should take 2 minutes.

4. Adding new categories/tags for a photo
  • Goal – To add new tags to a photo before storing so that you can search for it later.
  • Preconditions – You have to have already taken the photo of your outfit.
  • Subtasks – Type the tags to associate with the picture.
  • Exceptions – You could mistype tags, so you could edit them later if you need to.This task will be necessary for every addition and will take some time for the user to input all of the desired information and save it. 
It will also take some time to update the database. The time constraints could mean that it would take a fair amount of time to get most of the database initialized.

5. Changing the tags of a photo
  • Goal – To edit tags for better searching.
  • Preconditions – You must have the outfit to be edited already stored and open.
  • Subtasks – none
  • Exceptions – You could change something incorrectly, creating the need for an undo or cancel function.
This task will be occur often, since you will probably find mistakes of decide to wear an outfit to other occasions. It has little time constraints since all you would have to do id edit the text and save the changes to update the database.

6. Deleting a photo
  • Goal – To delete an outfit if you don’t like it or don’t have it anymore.
  • Preconditions – You must be at the photo you would like to delete.
  • Subtasks – Find the outfit for deletion.
  • Exceptions – If you accidentally select delete you must confirm deletion, so you can cancel.
This task will be essential for deleting old outfits and mistakes. It would be necessary to know which outfits you are intending to delete and will take a minimal amount of clicking to complete.

Roles

We all worked as software Architects and Business analysts for this portion of the project. We analyzed the needs of users and thought about how to develop our design around the task scenarios in a user friendly way.