the Design of Components for and Blackberry...
Transcript of the Design of Components for and Blackberry...
Investigating the Design of Reusable Components
for Android and Blackberry Applications
Group G8Aaron Jin
Jenelle Chen
1Group G8 ‐ Aaron Jin / Jenelle Chen
1. Introduction
2. Problem Description
3. Proposed Approach
4. Design Decisions
5. Expected Results
6. References
2Group G8 ‐ Aaron Jin / Jenelle Chen
3Group G8 ‐ Aaron Jin / Jenelle Chen
1. Application must run on different platforms
4Group G8 ‐ Aaron Jin / Jenelle Chen
2. Difficult to reuse code
Code is specific to the:
SDK Language
5Group G8 ‐ Aaron Jin / Jenelle Chen
How to maximize code reusability between different development platforms?
6Group G8 ‐ Aaron Jin / Jenelle Chen
We will investigate these questions:
•What components can be reused?
•How can components be decoupled from the SDK?
7Group G8 ‐ Aaron Jin / Jenelle Chen
1. Develop a mobile application
App should run on Android and Blackberry
App should represent most commonly used features
2. Evaluate component reusability
What components are SDK‐dependent
How can these components be decoupled from SDK?
8Group G8 ‐ Aaron Jin / Jenelle Chen
What is our mobile application?
9Group G8 ‐ Aaron Jin / Jenelle Chen
What is our mobile application?
A collaborative notepad for your mobile phone
10Group G8 ‐ Aaron Jin / Jenelle Chen
Create notes
Edit notes
Save notes
Share notes
Collaborate on notes
11Group G8 ‐ Aaron Jin / Jenelle Chen
Platform Decisions Feature Decisions
12Group G8 ‐ Aaron Jin / Jenelle Chen
Why these platforms?
13Group G8 ‐ Aaron Jin / Jenelle Chen
Both use Java
Both support SQLite database
Well documented SDKs
Conclusion: Easy to compare component reusability14Group G8 ‐ Aaron Jin / Jenelle Chen
Identified functional areas that are commonly used in most mobile applications
How did we pick features for ABI Notes?
15Group G8 ‐ Aaron Jin / Jenelle Chen
User Profile Services
Phone numberPhotos/Music
Look and FeelTouch screen support
3GWifi
Database accessAdd and delete content
User Interface
Network ServicesPersistent Storage
16Group G8 ‐ Aaron Jin / Jenelle Chen
Feature Commonly Used Area
Create notes User Interface
Edit notesUser InterfacePersistent Storage
Save notes Persistent Storage
Share notesUser Profile ServicesNetwork Services
Collaborate on notes User Profile Services
17Group G8 ‐ Aaron Jin / Jenelle Chen
18Group G8 ‐ Aaron Jin / Jenelle Chen
ABI Notes Web Services
19Group G8 ‐ Aaron Jin / Jenelle Chen
ABI Notes Web Services
20Group G8 ‐ Aaron Jin / Jenelle Chen
• Identification of reusable components
• Percentage of reusable components
• # of development hours on each platform
• Observations on ease‐of‐development
• Tradeoffs when maximizing component reuse
• Principles for designing CBSE mobile apps
21Group G8 ‐ Aaron Jin / Jenelle Chen
Research Contributions
•Provide recommendations for maximizing component reuse between android and blackberry development
Practical Contributions
•World’s first‐ever note taking application that allows sharing and collaboration!
22Group G8 ‐ Aaron Jin / Jenelle Chen
P. Abrahamsson, et al. Mobile‐D: An Agile Approach for Mobile Application Development, Conference on Object Oriented Programming Systems Languages and Applications, pp.174‐175, 2004
The Android Developer’s Guide ‐http://developer.android.com/guide/index.html(Accessed June 20, 2010)
Blackberry – Java Application Guidehttp://na.blackberry.com/eng/developers/ (Accessed June 20, 2010)
B. Speckmann, The Android Mobile Platform, Eastern Michigan University, pp.32‐42, 2008 http://www.emich.edu/compsci/projects/Master_Thesis_‐_Benjamin_Speckmann.pdf (Accessed June 20, 2010)
[1]
[2]
[3]
[4]
23Group G8 ‐ Aaron Jin / Jenelle Chen
Group G8 ‐ Aaron Jin / Jenelle Chen 24