A3: App Concept, Framework, and Problem Statement#
Now that you have a rough idea of your overall concept in place, it’s time to start developing your idea into something concrete. For this assignment, you will be required to establish a regular meeting time with your team, refine your concept from what you developed in class, and determine the features and implementation of your final prototype.
As you assemble your plan, keep in mind that the goal of this project (and the class) is not to build an end-to-end solution for your concept. We are focused on the user interface for the entirety of the class. To that end, your eventual design will be valued on its adherence and adoption of the principles of good interface design that we cover in class. Try to envision a product that will lead to a rich, novel, and engaging exploration of user interaction. If your final prototype has a registration flow and a swipe left or right user experience, then it will likely fall short of the level interaction we are expecting to see in this course.
For now, focus on refining a concept that has the potential for the characteristics described above.
Assignment Details#
Part 1: Select a Framework#
For part 1 of this assignment, you will decide how you will go about implementing your functional prototype.
There are many IDE’s, frameworks, and toolkits available for you to use. If the only frameworks your team has experience with are those learned in INF 133, then sticking with what you know might be the safest and least stressful path. If you have familiarity with a different framework OR are simply eager to learn something new (and willing to put in the time this quarter) then there are lots of great options. Keep in mind, you are not required to use a web framework (Angular, React, etc)! If you would like to use Java Swing or .Net, for example, go for it. There are also some great browser containers that can render a desktop like experience (Electron, Tauri).
Ultimately, it’s up to you to decide what you will use, but you should consider the skills, interests, and desires of your entire team.
Once you have settled on a build environment, take note of the following data points and include them in your submission document:
The name of the tool (e.g., Angular, GTK4, Electron, Flutter)
A brief description of why you choose it (e.g., “it’s cool”, “we have expertise”, “want to learn”)
A list of challenges and obstacles that you might encounter while using the tool.
A brief description of the backup plan in case you run into project ending problems.
Add your responses to each of the following items under a section title **Framework and Build Plan**
Part 2: App Concept and Problem Statement#
For part 2, you will be refining the concept you developed in T0, forming a problem statement, and starting to identify the basic requirements for completing your product.
- Overview
A high level description of your project. Start with the scenario that you selected followed by an overview that conveys the project’s purpose in one 3-5 sentence paragraph. You should describe at a high level what you intend to build (e.g., a tweet analysis application), what technologies your project will use (e.g., JavaScript, TypeScript, and Bootstrap), and its purpose (e.g., to help researchers analyze tweets). This is where you should start to mold your chosen scenario into something unique to your group. It is not sufficient to simply restate the scenario. You should build upon it and make it your own.
Yes, this is the same requirement for T0! If you remain satisfied with your original concept, than just copy and paste it into this assignment. If you have decided to ‘pivot’ then create a revised overview representative if your new direction.
- Problem Statement
A strong problem statement should provide a concise and clear articulation of a specific problem or opportunity that your product/concept is intended to solve or address. It outlines the key issues or pain points that the product aims to alleviate, and provides a framework for the design and development process. A well-crafted problem statement helps to ensure that product development efforts are focused on solving the right problems, and that product features and functionality align with user needs and goals.
- Requirements
A low level detailed overview of the features you intend to implement. The requirements section is where you will need to focus most of your attention for this part of the team project. You must be specific enough so that if you were to hand off your requirements to a classmate, they would be able to build your project as you envision it. Do your best to assess what you can complete in the time that remains in the quarter.
Combine the three items above into a section called **App Concept and Problem Statement**
and add to your document for submission.
Grading#
Your team will be given an overall grade that is based on thoroughness and thoughtfulness of your work. It is fairly easy to identify rushed or poorly thought out work, so do not wait to the last minute to finalize your plan.
All materials submitted on time: 0.5 pts
Submission format requirements met: 0.5 pts
Completeness of assignment Part 1: 2 pt
Completeness of assignment Part 2: 3 pts
Total: 5 pts
Note that we expect everyone on your team to participate in this assignment. Period check-ins by the course staff and final survey will determine whether or not each team member earned full credit. Penalties, should they arise, will be applied to each persons overall participation score.