Project Requirements
Executive Summary
Our client wishes to educate the public about the conservation of Alberta ecosystems through an interactive mobile application. The final product should enable users to scan artwork depicting local Alberta flora and fauna on the outer sides of a trailer and access information about them on thier phones. Additionally, the product will incorporate interactive games with this scanning feature for a more engaging experience. The primary feature of this product is its ability to scan and identify the artwork on the outside of the trailer, and the target audience comprises children and teenagers.
Project Glossary
Augmented reality (AR) - is the real-time use of information in the form of text, graphics, audio and other virtual enhancements integrated with real-world objects. It is this "real world" element that differentiates AR from virtual reality.
Vinyl Print - is a poster/sign that we can scan using the camera on our mobile phones that initiate the AR animals that the user can interact with.
Ecosystem - is a biological community of interacting organisms and their physical environment.
Trailer - A 6 feet by 10 feet container with wheels that is pulled by a vehicle
Games - multiple trivia mini games users can play to enhance their learning experience
Flora - Plants
Fauna - Animals
Scanning - The process of taking a picture with a camera, and getting a response in a different form
User Stories
US 1.01 - Scanning Stickers
As a user, I want to be able to scan a vinyl animal sticker, so that I can get information of the corresponding animal or play mini-games.
- Acceptance Test:
- For a scannable item we should have more than 90% accuracy.
US 2.01 - UI For Children
As a user, I want a UX to be tailored for early junior high / older elementary school kids, so that it is attractive to me and makes me want to use the product.
- Acceptance Test:
- Client agrees with UI/UX design.
US 2.02 - View Info
As a user, I want to be able to view information about an animal, so that I can learn about it.
- Acceptance Test:
- All required information is present and accurate.
US 2.03 - Scan The Animal Game
As a user, I want to play a game called “Scan the animal”, so that I can have fun while testing my ability to see my animal naming skills.
- Acceptance Test:
- Provides a name of animal to scan
- Scanning a sticker corresponding to the animal name shows you are correct and gives points.
- Scanning the wrong sticker does not give points and shows that you are incorrect.
- Keep on repeating till timeout.
US 2.04 - Get Jokes
As a user, I want to get puns and jokes from animals I scan, so that I can laugh at the jokes.
- Acceptance Test:
- Users can click on the option to listen to a joke.
- Animal tells a joke.
- Jokes are funny.
US 2.05 - More Games
As a user, I want to play multiple different games, so I can have more fun.
- Acceptance Tests:
- No game breaking bugs when playing games.
US 2.06 - Track Points
As a user, I want the app to track my points during the games, so I can have a competitive environment with fellow gamers.
- Acceptance Test:
- Points are given according to the situation.
- Highest score is stored
US 3.01 - Select Modes
As a user, I want to be able to select from two modes on the application, so that I can use the application to either play games or learn.
- Acceptance Test:
- Selecting “Learn” pulls up a scanner, to scan stickers to get info.
- Selecting “Play” gives us options to play different games.
US 3.02 - View Profile
As a user, I want a profile page, so I can see my achievements and badges.
- Acceptance Tests:
- Click button to open profile page
- Check information for accuracy
US 3.03 - Reward System
As a user, I want a reward system involving badges, points and achievements, so that I can have a sense of progress in the app.
- Acceptance Test:
- Rewards are given after a milestone is achieved.
US 3.04 - Sign Up
As a user, I want to be able to sign up to the app, so that my mini-game history (and other stuff) is saved.
- Acceptance Test:
- User profile is saved to the database.
US 3.05 - Login
As a user, I want to be able to login to the app from different devices, so that my progress is not lost when I switch to a new device.
- Acceptance Test:
- Same profile of the user shows up when they log in.
US 3.06 - Leaderboard
As a user, I want to see a leaderboard of the highest scores, so that I can see myself on the board after scoring high points.
- Acceptance Test:
- Leaderboard ranks users according to highest scores, according to different games.
US 3.07 - Collect Badge
As a user, I want to collect animal badges after I scan them, so that I can feel like a pokemon master.
- Acceptance Tests:
- Badges received when scanning animals for the first time.
- Do not receive badges twice for scanning the same animal.
US 4.01 - Update database
As an admin, I want an easy way to update my database, so that I can update information such as species names and descriptions.
- Acceptance Test:
- Client can easily enter more information to the database by adding images and descriptions through a GUI
US 4.02 - Monitor Accounts
As an admin, I want an easy way to check user information, so that I can manage the event easily.
Acceptance Tests:
- Get information of users who are attending the events easily from the database.
US 4.03 - Available in Stores
As an admin, I want the app to be on the app store or play store, so that users can comfortably download the app in a conventional way.
- Acceptance Test:
- App available on the stores.
MoSCoW
Must Have
- US 1.01 - Scanning Sticker
- US 2.01 - UI For Children
- US 2.02 - View Info
- US 2.03 - Scan The Animal Game
- US 2.04 - Get Jokes
- US 3.03 - Reward System
Should Have
- US 2.05 - More Games
- US 2.06 - Track Points
- US 3.01 - Select Modes
- US 3.02 - View Profile
- US 3.04 - Sign Up
Could Have
- US 3.05 - Login
- US 3.06 - Leaderboard
- US 3.07 - Collect Badge
- US 4.01 - Update database
Would Like But Won’t Get
- US 4.02 - Monitor Accounts
- US 4.03 - Available in Stores
Similar products
- Culture Connect
- This product is used to identify paintings in artgallery's and display information about them. This is relevant to us as we are identifying vinyl stickers on a flat surface which is similar to this product in that sense.
- Merlin
- Another app that can scan and identifies birds based on vocalizations, images and descriptions. Although this application identifies birds based on a more complex algorithm it is still good inspiration for how we can show information about the animals and how the scanning pipeline should work.
Open-source Projects
- Detectron2
- for the image detectron. This is another open_source library that can identify multiple images in a photograph which is important if we want to identify multiple objects in a frame live.