Project Overview

Problem Overview

The idea about creating an application that assists students to study more creatively is based on the conventional studying method Flashcard. Flashcard is a set of cards that students make to help them memorize materials. Each card has two sides: one side has the contents which are to be memorized; the other side the contents that aid the memorization. It is especially helpful with people studying a new language. For example, one is learning French. She has to learn many new words everyday. She can make flash cards with one side having the new word and the other side having the meaning of the word. Making flash cards manually is, however, a time-consuming and boring task. One can only write limited texts and draw barely a figure, which even takes more time. Additionally, it is hard to keep a record of every card. And usually the card wears out after a short amount of time.
Smartphone is a great tool to help students with their studies. According to a recent report of StudyBlue, students using the mobile app study 40 minutes each week compared to others [1]. Therefore, a flashcard application will definitely be a great addition. The user can quickly make a flashcard on their smartphone, save a record of it, and review at anytime. In addition, the contents on the flashcard are not just limited to plain texts, but may include pictures, videos or sounds.

Design Constraints

Figure 2: Projections show that 
Android may have already taken the lead
Two major mobile platforms being used nowadays are iOS and Android. As Android’s market share and the user’s preference for Android grows incredibly fast [2], the application will be developed on Android platform. Designed for Android, the app will be able target at a larger group of smartphone users.
Another factor that the application was decided to  be developed for Android is that Android SDK works well on either MAC, PC, or Linux.
According to Google Inc., Android Gingerbread (Android 2.3) is being used on about 64% of all Android phones [3]. And more and more people tend to upgrade their smartphones to a newer version. The project, therefore, will prioritize the development of the app for Android Gingerbread and later versions. Although Android 2.3 only supports API Level 10 Revision, the Gingerbread's framework API is quite sufficient for the project.

Pre-Existing Solutions

Figure 1: FlashCards Quiz
There are several flashcard applications already in the market such as StudyDroid Flashcards, AnkiDroids Flashcards, Kaka Flashcards, Flash Card Maker Pro, etc. Most of the applications provide the most basic functions such as creating, editing, and categorizing flashcards. More advanced applications such as Flash Card Maker Pro or StudyDroid Flashcards enable the user to sync their datas with a server or have a timer as the user review their flashcards. Flash Card Maker Pro also lets the user import flashcards from a computer and share them via email. However, almost no applications allow the user to customize their flashcards with more useful contents such as images, sounds, and videos.

Design Goal

The outcome of this project would be an Android application that based on the idea of a flashcard, with the capabilities of embedded pictures, sounds, and videos. Through the program, users should be able to create new flash cards and write their notes on either side of the flash cards. Besides, the user would be given the ability to include pictures, record sounds or videos to them. After creating the flash card, user would be able to revisit existing cards and view both sides of the cards through a “Flip” button. Finally, the user would be given the ability to modify or delete any existing flash card. The application should be able to run well on Android 2.3 platform or later as it is the target platform for this project.

Project Deliverables

To achieve the design goal, the team first needs to have sufficient knowledge about the programming language Java, since Android apps are developed using Java. 
The app has three main parts: User Interface, DataBase, and Classes. An intuitive, transparent, and visual User Interface should be designed so that the user is able to interact with the app conveniently. A database maybe created using SQL Lite is necessary to manage the user's data. For example, in the database, there should be fields such as dbFrontText, dbBackText, dbImage, etc. The Flashcard classes should also be created, including inspectors, mutators such as getFrontText(), setImage(), setText(), etc. These methods will be used to get input from the user and update it to the database and display it when called. 
An important task to successfully develop an application is to integrate all of these parts together. This process often exposes the team to considerable bugs that are to be fixed. Usually debugging will consume the time for the most part. Therefore, the schedule is prioritized for debugging and improve the user interface. 
Last but not least, while doing the project, all activities need to be documented so that members in the team can communicate well with each others. In addition, documentations are crucial for further developments of the app down the road.

Project Schedule


Please click here for a full page schedule!

Project Budget

$0 - Android SDK is free. The application can be tested using an Android emulator before publishing on GOOGLE PLAY.

1 comment:

  1. Overall, a well written proposal. A couple of items:

    1. Except for week 3, the blog is not organized by week (-2)

    2. Schedule is missing demo / presentation activity (-1)

    Grade = 97

    ReplyDelete