Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mobile Registration for Android Goals, Results, and Everything That Went Wrong Scott Hamrick, Paul Kilgo, Ben Lemmond, Robert Liang, Josh Sullivan.

Similar presentations


Presentation on theme: "Mobile Registration for Android Goals, Results, and Everything That Went Wrong Scott Hamrick, Paul Kilgo, Ben Lemmond, Robert Liang, Josh Sullivan."— Presentation transcript:

1 Mobile Registration for Android Goals, Results, and Everything That Went Wrong Scott Hamrick, Paul Kilgo, Ben Lemmond, Robert Liang, Josh Sullivan

2 Original Goals ● Log in using MyBama account ● Keep local database of usernames/passwords ● Add/drop classes ● Search course catalog ● Work with multiple semesters ● Confirm schedule

3 Some Definition Problems ● How do we define which semesters a user should have access to? ● How does MyBama determine which semester is the “current” semester and which ones are in the future and should be visible to the user? ● When is a user unable to confirm their schedule? ● We had several questions which would normally be answered by the customer, but we had to come up with our own definitions.

4 Our Definitions ● A user should be able to see a semester if they have previously confirmed that semester or that semester's “ADD” flag is true. ● The “current” semester is the oldest semester (according to database IDs) whose “ADD” or “DROP” flag is true. ● A user can confirm their schedule if that semester exists and has not been previously confirmed. ● These definitions are implemented in backend, but the client does not fully support it yet.

5 Coming Up Next... ● Project consists of three major parts ● Backend software and data backing ● Intermediate XML language (ClaXML) and HTTP request format ● Application code

6 The Backend ● No real MyBama to work with so we created our own. ● Consists of a flat file database and a few PHP files built around our HTTP request format and ClaXML. ● Rather insignificant to the project itself, but exists as a way to abstract how MyBama functions.

7 The Middle-Language ● All requests are initiated by the client by making a request to a base API URL (we call it API_URL!) ● Based on inputs from the user, a component in software makes a request to API_URL?act=[action]&r=[resource]&q=[argum ents]. ● Server responds with a ClaXML document. ● Works similar to a simple web application.

8 The Client ● Consists of many components ● The ClaXML parser ● The Session object ● The GUI ● Currently built for Android 1.6 (Donut)

9 The ClaXML Parser ● Implemented using SAX, the Simple API for XML ● Two classes make up this component, ClaXMLHandler and ClaXMLSet. ● ClaXMLHandler contains the logic for understanding ClaXML and is passed to SAX ● ClaXMLHandler constructs a ClaXMLSet as it parses the response document. ● Flags are set if there is great failure.

10 Session Object ● Only object which uses any network connection ● Constructs a request URL and tells the ClaXML parser to parse the response. ● Throws BMRExceptions (which carry useful info to higher-level stuff) in case of error. ● The most major state element of the applications. Keeps track of the user session (as name implies). ● All objects make a call to this at some point.

11 The GUI ● Organized according to the Android SDK in “Activities” – essentially a screenful of stuff you can do. ● Three list-based Activities and one normal Activity ● Login screen ● Semester management screen ● Search course catalog screen ● View class information screen

12 LoginActivity

13 SemesterActivity

14 SearchActivity

15 ClassActivity

16 Design Process ● Top-down approach: we started with just the four Activities and then realized the lower-level things as we progressed. ● 1 st : Activities ● 2 nd : Session object ● 3 rd : ClaXML parser

17 Development Process ● Mostly ad-hoc and agile-like ● Started with a small plan and developed it outward ● Organized small jobs for programmers to do ● Programmer finishes job and commits to source control ● Issue tracking ● Used Google Code's Issue tracking to keep up with things to be fixed.

18 Testing Process ● Test cases stemmed very directly from use cases ● Generally speaking, for every use case, there are two test cases: ● Successful action ● Failed action

19 Some Cool Ideas for the Future ● Showing where a class is located in the class details window with Android's built-in Google Maps support. ● “Borrowing” Transloc's bus data to track Crimson Ride buses in a similar matter.

20 One Extra Thing: Multilingual ● Android provides a really easy (literally five minute) way to create multilingual apps.

21 Desired Effect: Prettiness ● The default theme for Android is ugly. We want our app to look something like this.

22 That's all folks!


Download ppt "Mobile Registration for Android Goals, Results, and Everything That Went Wrong Scott Hamrick, Paul Kilgo, Ben Lemmond, Robert Liang, Josh Sullivan."

Similar presentations


Ads by Google