uMobile 1.1 (Phase 2) Roadmap

uMobile Phase 2

uMobile's phase 2 will consist of additional portlet development, feature enhancement, and bug fixes resulting in a uMobile server and native app 1.1 release.

Architecture Updates

Performance Improvements

Some portlets (particularly the calendar) need performance improvements. We could attempt to improve performance either by maintaining the current WebView-based approach and improving caching, or by transitioning this module to be a native module. In order to decide on an approach, we should first profile the loading behavior to determine whether the delay is due to network I/O or JavaScript parsing. If network I/O seems to be a bottleneck, we should determine how much improvement can be gained from setting ETags and cache headers.

If acceptable performance can be achieved through ETags and cache headers, uMobile could contribute to completing full JSR-286 cache support in the uPortal platform. If not, select modules like the calendar should be implemented as native modules that consume REST feeds from the portlet.

Link from Web-based to Native Modules

Some uMobile portlets need to link to native modules in the native app. For example, the courses portlet's link to a professor's contact information should link to the native directory module, while the course location should link to the native map module. This development item should cover working out a consistent strategy for native app link URLs and applying this strategy to the course and search portlets.

Android Button Integration

uMobile does not currently support the expected behavior for all button presses to the menu, search, back, etc. buttons. Implementing consistent handling for these buttons will improve the native experience offered to Android users.

Application State Save and Restore

The application currently exits the app completely when the user closes the app or navigates to another app (like the native map). This was due to iOS memory issues causing the app UI to degrade after opening up other apps that require a lot of memory. The newer Titanium SDKs claim to have better memory management, so it may require little effort to implement. Otherwise, the app should save the state (what portlet is opened, and what data is being viewed) as the app is used, and restore to that state when the app is opened again.

UI Enhancements

When the device is oriented in landscape mode, the primary title bar and secondary nav bars take up a significant amount of screen real estate. We should evaluate strategies for handling landscape-mode navigation that are compatible with WebView-based portlets.

Module Updates

Map

As of 1.0, the native map module allows users to search across campus locations, but does not offer a compelling way to browse locations. Adding tag/category information to the map data would allow the map interface to offer a browsing interface, and the map might additionally be enhanced by adding multi-campus support.

Features important for making the map module more competitive in the uMobile 1.1 release include:

  • Categories and browsing
  • Multi-campus support
  • Allow user to center map to geolocation
  • Tablet-specific UI, particularly utilizing the iPad Split View to display results in list view and on map with one view.

Map Phase 2 mockup

Courses

Alternate merged announcement view

Discussion at the Sakai conference indicated that some institutions would prefer a merged view of synoptic information for announcements, etc. While the current by-course view is valuable, we might add an alternate view that merges information from multiple courses.

LMS integration implementations

To make uMobile easily adoptable, the uMobile community should develop working implementations of the generic LMS connector for popular LMS systems suich as Sakai, Moodle, and Blackboard.

It would also be beneficial to implement the new uMobile search API in the courses portlet, allowing the portlet to report search results from implemented LMSs.

Directory

Contact download

uMobile users should be able to download directory contact information to their phone's local address book.

Attribute Copy

Users should be able to copy the value of a particular field, to paste in another program (such as a note, an existing contact, email, etc).

Tablet-specific UI

The directory's native interface would benefit from a tablet-specific UI that makes use of the additional available screen real estate, particularly use of the iPad Split View.

News

Media

RSS and Atom feeds support inclusion of media such as images, video, and audio. Some initial support is available for parsing simple feed thumbnail images and parsing mp4 video from Berkeley's Opencast implementation. The support is by no means complete, and adding additional support for more common video types and iTunes' podcasting format would be valuable.

Import/Export

The news portlet's import/export system is currently incomplete and will not support a full export and import of news feed sets.

Calendar and News Common Features

Administrative Interface

The administrative interfaces for the news and calendar portlets are an extremely weak point and need a complete overhaul. Any new administrative interface likely needs to include some flexible interface for defining customization parameters and available authentication/caching/etc. implementations. The uPortal portlet publishing definition features might be used as a model for a flexible administrative interface.

User Configuration

Users currently may turn on and off predefined calendar and news feeds for which they originally received default registration, but have no access to non-default feeds. Both portlets need more complete mobile user customization interfaces that allow selection of non-default feeds and allow users to add their own custom feeds.

Announcements/Notifications

uMobile is in need of a high-quality announcements and/or notifications portlet. Jasig does not currently offer such a portlet with a jQuery Mobile-based interface, though the Announcements Portlet might be a good starting point, as it already has a custom mobile interface. Alternatively, the in-development Notification Portlet from the University of Manchester might be a good fit.

Additional Portlets

uMobile would benefit from the development of additional custom portlets that offer additional university-specific functionality and help uMobile compete with other platforms. High-priority portlets might include:

  • Dining Menus
  • Athletics
  • Computing Lab Availability

These portlets could be implemented using a strategy similar to the maps/courses portlets, in which the initial implementation offers the user interface, a generic API, and a default mock data implementation. Individual universities would be responsible for connecting the generic API to their custom data source.