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.
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.