the Design of Components for and Blackberry...

24
Investigating the Design of Reusable Components for Android and Blackberry Applications Group G8 Aaron Jin Jenelle Chen 1 Group G8 Aaron Jin / Jenelle Chen

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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

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

Group G8 ‐ Aaron Jin / Jenelle Chen 24