16
1.What is Essex Scheduler? 2.Why Android? 3.Software design 4.Application graphics 5.Releasing to Google Play 6.Application maintenance Essex Scheduler

1. What is Essex Scheduler? 2. Why Android? 3. Software design 4. Application graphics 5. Releasing to Google Play 6. Application maintenance Essex Scheduler

Embed Size (px)

Citation preview

Page 1: 1. What is Essex Scheduler? 2. Why Android? 3. Software design 4. Application graphics 5. Releasing to Google Play 6. Application maintenance Essex Scheduler

1. What is Essex Scheduler?

2. Why Android?

3. Software design

4. Application graphics

5. Releasing to Google Play

6. Application maintenance

Essex Scheduler

Page 2: 1. What is Essex Scheduler? 2. Why Android? 3. Software design 4. Application graphics 5. Releasing to Google Play 6. Application maintenance Essex Scheduler

What is Essex Scheduler

• Free Android application for members of the University of Essex:o Quick access to timetables

o View assignment deadlines

o Quick access to useful University of Essex resources.

o Personal events.

o Useful home screen widget that displays the next event without having to open the application.

• Over 700 unique users with 890 device installations

Page 3: 1. What is Essex Scheduler? 2. Why Android? 3. Software design 4. Application graphics 5. Releasing to Google Play 6. Application maintenance Essex Scheduler

What is Essex Scheduler

• Why not just use the myEssex timetable?o Old data is used if there is no internet connection, otherwise is

overwritten by new data when the user refreshes.

o Higher readability on mobile devices.

o 'FindYourWay' and Course Materials Repository functionality.

Page 4: 1. What is Essex Scheduler? 2. Why Android? 3. Software design 4. Application graphics 5. Releasing to Google Play 6. Application maintenance Essex Scheduler

Why Android?

• A more open platform for developers than iOS.

• Releasing the final application is easy.o Application will be on the market in less than two

hours in most cases.

• We're only students - iOS development is more costly; the application is free with no adverts.

• Testing is simple - use any Android device or emulators.o Essex Scheduler can be installed on 2264 devices.

Page 5: 1. What is Essex Scheduler? 2. Why Android? 3. Software design 4. Application graphics 5. Releasing to Google Play 6. Application maintenance Essex Scheduler

Software Design: Android Activity Lifecycle

Page 6: 1. What is Essex Scheduler? 2. Why Android? 3. Software design 4. Application graphics 5. Releasing to Google Play 6. Application maintenance Essex Scheduler

Software Design: Sample Timetable Session

User Details Start page

Timetable Page

Download source code

Parse HTML to Java objects

Handle user input

back

Browser

Course Materials Repository

FindYourWay

Page 7: 1. What is Essex Scheduler? 2. Why Android? 3. Software design 4. Application graphics 5. Releasing to Google Play 6. Application maintenance Essex Scheduler

Software Design: Libraries

• ACRA (https://github.com/ACRA/acra)o Posts detailed crash reports to a Google Drive form.

• Google Gson (https://sites.google.com/site/gson/Home)o Used to serialize objects to and from JSON (to store timetables and

deadlines data).

• Java CIFS Client (http://jcifs.samba.org/)o Used to enable NTLM authentication with HTTP.

• JSoup (http://jsoup.org/)o Simple-to-use HTML parser.

• Google Analytics (https://developers.google.com/analytics/)o Provides detailed usage statistics.

Page 8: 1. What is Essex Scheduler? 2. Why Android? 3. Software design 4. Application graphics 5. Releasing to Google Play 6. Application maintenance Essex Scheduler

Application Graphics

• University colours - red, purple and gray.

• Application is light on graphics, most of it is only themed with colours.

• Menu icons and logo were outsourced.

• Each icon comes in four different resolution for different screens.

• Two images for each button - pressed and unpressed states.

• DashBoardLayout class used to design menu screen.

• Standard Android icons (found in the SDK) used in the menus.

Page 9: 1. What is Essex Scheduler? 2. Why Android? 3. Software design 4. Application graphics 5. Releasing to Google Play 6. Application maintenance Essex Scheduler

Application Graphics

• Android mainly uses XML as syntax for layouts: <ListView android:id="@android:id/list"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@android:color/transparent"

android:divider="@color/essex_purple"

android:dividerHeight="1dp"

android:layout_weight="1"

android:drawSelectorOnTop="false"/>

<TextView android:id="@android:id/empty"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@color/list_background_grey"

android:text="@string/no_data_found"

android:textColor="@color/essex_purple"

android:gravity="center_horizontal|center_vertical"/>

Page 10: 1. What is Essex Scheduler? 2. Why Android? 3. Software design 4. Application graphics 5. Releasing to Google Play 6. Application maintenance Essex Scheduler

Releasing to Google Play

• $25 one-off payment required to create a publisher account on the Android market.

• Easy and quick (application is available within a few hours of uploading).

• Version control is very straightforward to use.

• Provides detailed statistics.

• Good feedback system (ratings, reviews) - hint hint

Page 11: 1. What is Essex Scheduler? 2. Why Android? 3. Software design 4. Application graphics 5. Releasing to Google Play 6. Application maintenance Essex Scheduler

Publishing Experience

• Once the application has been published the developer console allows publishers to o easily update and push a new version to current and future users,o see ratings and reviews:

filter ratings and reviews based on version, device, see future version suggestions.

• Developer console is not enough to use as debugging; we used ACRA (Android Crash Report for Android)o Reviews should provide an insight but they are not crash reports;

no stack trace!o Alternative is Crittercism.

Page 12: 1. What is Essex Scheduler? 2. Why Android? 3. Software design 4. Application graphics 5. Releasing to Google Play 6. Application maintenance Essex Scheduler

Application Maintenance

• Tested with our own myEssex account with perfect results.

• Unfamiliar ACRA crash reports after release.

o First year students - plagiarism warning displaying on OCS meant no deadlines to parse.

o Changes to Android 4.2 API broke user authentication.

o Deadlines source code was sometimes being parsed wrong - different users with different circumstances. Other courses used different titles for assignments. Some modules has no assignments.

o Changes to OCS meant new, different types of authentication. Now NTLM, used to be otherwise.

o Several crash reports each day; mostly the same error from different devices.

Page 13: 1. What is Essex Scheduler? 2. Why Android? 3. Software design 4. Application graphics 5. Releasing to Google Play 6. Application maintenance Essex Scheduler

Stack Trace

Custom data supplied by ACRA, requested by developer.

Environment details.

Typical Crash Report (ACRA library)

Page 14: 1. What is Essex Scheduler? 2. Why Android? 3. Software design 4. Application graphics 5. Releasing to Google Play 6. Application maintenance Essex Scheduler

Additional or Upcoming Features implemented after launch

• (Implemented) 'FindYourWay' integration

o Long press an event to find a route to the classroom.

• (Implemented) View module detail

o Long press an event to view the course materials repository for the associated module.

• (Upcoming) View multiple weeks of scheduled timetable events using swipe gesture.

• (Upcoming) Export event / Mass - export events to Google calendar.

• (Upcoming) Listen Again information.

Page 15: 1. What is Essex Scheduler? 2. Why Android? 3. Software design 4. Application graphics 5. Releasing to Google Play 6. Application maintenance Essex Scheduler

Timetable View Deadline View

Page 16: 1. What is Essex Scheduler? 2. Why Android? 3. Software design 4. Application graphics 5. Releasing to Google Play 6. Application maintenance Essex Scheduler

Questions