Presentation on theme: "1. What is Essex Scheduler? 2. Why Android? 3. Software design 4. Application graphics 5. Releasing to Google Play 6. Application maintenance Essex Scheduler."— Presentation transcript:
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
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.
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.
Software Design: Sample Timetable Session User DetailsStart page Timetable Page Download source code Parse HTML to Java objects Handle user input back Browser Course Materials Repository FindYourWay
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.
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.
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"/>
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
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.
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.
Stack Trace Custom data supplied by ACRA, requested by developer. Environment details. Typical Crash Report (ACRA library)
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.