Professional Documents
Culture Documents
Label The Diagram allows students to learn, memorize and play with diagrams in various subjects like
Physics, Chemistry, Biology etc. The main functioning of app allows user to select a diagram, a question
diagram of a particular subject and label them in a friendly manner like they are playing game. Keeping users
engaged with rewarding badges and achievements when they complete milestones. Allowing them to
compete with friends. This proposal step by step approaches implementation of each of these functionalities.
Labelling Of Diagrams:
Label the Diagram is app whose main idea is to handle image with multiple clickable areas. Each clickable
area may have different listener. The proposed scheme for implementation is to associate each image with a
mask of distinct colours to their clickable areas i.e. labels. This scheme solves major problems such as
images scaling to different size devices, new diagrams without update, allowing users to make any image
labelled diagrams.
Advantages:
As each touch event only requires a look-up into mask bitmap resulting O(1) time
complexity is faster than any other method.
For look-up only bitmap of mask is loaded into memory and after look-up get destroyed. So
at runtime low memory requirement.
Frame Layout. The custom layout acts as invisible canvas over actual image. User drag and draw rectangles
above the image to specify the label area, when finished a dialog box pops up to get name of that label area.
Code Level Detail: A blank bitmap is created for selected image. When user draws a rectangle, this
rectangle with a unique color is saved on this bitmap. This unique color rectangle determines the label of that
area of image. When user choose to save diagram this bitmap (mask) is saved on device.
Template Impelmentation: Further, this can be extended to template in toolkit. So teachers can use their own
The proposed solution is to show available labels only when user touches to fill diagram area. To make this
possible we can use a popup window with listview in it. This way user will have full view to image and feel
like image itself interacting with him. The pop up window 9-path image will be like a message bubble with
options list in it. User choose one and based on answer correct or not app responds to him.
The Hall-Of-Fame:
The Hall-Of-Fame screen shows user his achievements, badges. This screen will also have option to show
rankings with respect to his friends. This can be achieved using google play services. Now what should be
the achievement. A achievement will be a story. When user crosses a milestone he unlocks a interactive
story. The story proceeds based on users dicision at that point of story. Basically it is like decision making
game whose final result depends on path you have choosen.
Implementing and scaling story is quite easy with The State Design Pattern. I have good grasp on it.
Testing:
Testing is most important part of any development process. It ensures whatever you have done is working.
For android development I prefer to use Robotium framework for testing purpose. It is easy to use. Its Solo
object makes unit testing easy and fun.
Third-Party Libraries:
1. Android Image Slider Awesome sliding images with vivid animations.
2. Android Staggered Grid A grid with variable size columns and rows
3. Android Animations (YOYO library) Simple and effective animations.
4. ButterKnife (Optional) Using Java annotations, makes Android development better by simplifying
common tasks.
Time Line:
Phase 1: Complete functioning app with basic UI
Implementing and testing:
Week 1: subject selection, with creating images for each subject.
Week 2: diagram selection with mock diagrams.
Week 3: diagram labelling part of application
Week 4: Hall-Of-Fame only badges and rank list of friend part.
Week 5: achievement as interactive story, with 2-3 demo stories
*After receiving feedback from users (if any):
Week 6: making changes based on suggestions and testing them
Phase 2: Improving UI and UX
Week 7: Implementing designs for subject selection, diagram selection screen
Week 8: Implementing designs for diagram labelling, hall-of-frame screen
Week 9: Implementing design for interactive story and final touches.
Week 10: Documenting
Short Bio:
Name: Majeed Siddiqui
Native Place: Aurangabad, Maharashtra
Institute: Indian School Of Mines, Dhanbad (Recently announced IIT Dhanbad)
2. Winter Holiday: This is social networking app I took as weekend project. It let user sign in, sign up,
post something on wall, follow / unfollow other users. I used Parse.com as BaaS.
Github: https://github.com/samsidx/Winter-Holiday
I have also worked on Office Automation Web Application project. I have experience in working in team,
under virtual mentor I am pretty comfortable. A good practical knowledge of android development,
determination to single project and promise to deliver product on time makes me consider as a right person
for this project. I would love to make long term commitment to contribute.