the Design of Components for and Blackberry...
Transcript of the Design of Components for and Blackberry...
![Page 1: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/1.jpg)
Investigating the Design of Reusable Components
for Android and Blackberry Applications
Group G8Aaron Jin
Jenelle Chen
1Group G8 ‐ Aaron Jin / Jenelle Chen
![Page 2: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/2.jpg)
1. Introduction
2. Problem Description
3. Proposed Approach
4. Design Decisions
5. Expected Results
6. References
2Group G8 ‐ Aaron Jin / Jenelle Chen
![Page 3: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/3.jpg)
3Group G8 ‐ Aaron Jin / Jenelle Chen
![Page 4: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/4.jpg)
1. Application must run on different platforms
4Group G8 ‐ Aaron Jin / Jenelle Chen
![Page 5: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/5.jpg)
2. Difficult to reuse code
Code is specific to the:
SDK Language
5Group G8 ‐ Aaron Jin / Jenelle Chen
![Page 6: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/6.jpg)
How to maximize code reusability between different development platforms?
6Group G8 ‐ Aaron Jin / Jenelle Chen
![Page 7: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/7.jpg)
We will investigate these questions:
•What components can be reused?
•How can components be decoupled from the SDK?
7Group G8 ‐ Aaron Jin / Jenelle Chen
![Page 8: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/8.jpg)
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
![Page 9: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/9.jpg)
What is our mobile application?
9Group G8 ‐ Aaron Jin / Jenelle Chen
![Page 10: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/10.jpg)
What is our mobile application?
A collaborative notepad for your mobile phone
10Group G8 ‐ Aaron Jin / Jenelle Chen
![Page 11: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/11.jpg)
Create notes
Edit notes
Save notes
Share notes
Collaborate on notes
11Group G8 ‐ Aaron Jin / Jenelle Chen
![Page 12: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/12.jpg)
Platform Decisions Feature Decisions
12Group G8 ‐ Aaron Jin / Jenelle Chen
![Page 13: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/13.jpg)
Why these platforms?
13Group G8 ‐ Aaron Jin / Jenelle Chen
![Page 14: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/14.jpg)
Both use Java
Both support SQLite database
Well documented SDKs
Conclusion: Easy to compare component reusability14Group G8 ‐ Aaron Jin / Jenelle Chen
![Page 15: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/15.jpg)
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
![Page 16: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/16.jpg)
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
![Page 17: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/17.jpg)
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
![Page 18: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/18.jpg)
18Group G8 ‐ Aaron Jin / Jenelle Chen
![Page 19: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/19.jpg)
ABI Notes Web Services
19Group G8 ‐ Aaron Jin / Jenelle Chen
![Page 20: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/20.jpg)
ABI Notes Web Services
20Group G8 ‐ Aaron Jin / Jenelle Chen
![Page 21: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/21.jpg)
• 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
![Page 22: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/22.jpg)
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
![Page 23: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/23.jpg)
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
![Page 24: the Design of Components for and Blackberry Applicationsltahvild/courses/ECE750-11-S10/materials/... · for Android and Blackberry Applications Group G8 Aaron Jin ... blackberry development](https://reader033.fdocuments.net/reader033/viewer/2022041621/5e3eeee7d21c6d1e82674d96/html5/thumbnails/24.jpg)
Group G8 ‐ Aaron Jin / Jenelle Chen 24