-
Notifications
You must be signed in to change notification settings - Fork 25
Roadmap: Framework v1.3
The next planned release version of the mobile web framework will include several new features:
- Forms UI and Javascript Libraries
- Messages UI
- Customizable Splash Page / "App Store"
- Javascript Unit Tests
- Javascript Decorators
- Javascript Interactivity Libraries
- Javascript Preferences
- Javascript-based Handlers
- Lean CSS Markup Entities
- Basic Native Container
Primary: Ike Lin (UCLA) Secondary: Eric Bollens (UCLA)
The specification for Forms 1.3 is available here.
Primary: Ike Lin (UCLA) Secondary: Eric Bollens (UCLA)
The specification for Messages 1.3 available here.
The current front splash page for UCLA Mobile and the Mobile Web Framework supports a main menu and submenus, but it lacks support for deeper organization and personalization. This rewrite of the front splash page will change underlying application logic and add two new features:
- User personalization of the menus
- Hierarchical organization of the menus.
- Two layouts (list or icon) with user customizability.
-
App store functionality to add apps not in the default layout.
Because it must maintain state, the new front splash page shall require two additional components:
- A relational database to store modules and user-defined organization of modules.
- An authentication mechanism that identifies a user in a unique and recurring way.
The front splash page will support three types of entities: modules, module categories and module directories. Module categories are pre-defined clusters of modules like “Campus Life”, “Student Tools” and “Library Resources”, while module directories are user-defined sets of applications like folders in iOS. The display will also support organization in both list and icon style.
By default, non-authenticated visitors and visitors when they first log in are presented with a set of modules and module categories in a similar form to the current splash page. An administrative interface will allow for configuration of this default set as well as its presentation as a list or icon style.
When logged in, a user will be able to use a set of touches and gestures to customize the splash page (similar to the iPhone home screen). They will be able to select modules and module categories, as well as to create their own module directories, adding the modules and module categories they want into such directories.
All visitors and users will also be able to use a search function to find particular modules and module categories. For visitors, this allows them to access the modules, and for authenticated users it will also allow them to search to add items to their personalized splash page.
Primary: Richard Trott (UCSF) Secondary: Eric Bollens (UCLA)
Qunit tests for JavaScript will help insure that code changes do not introduce (or re-introduce) unexpected behavior or other bugs. This will also allow contributors to refactor code with more confidence.
Primary: Zorayr Khalapyan (UCLA) Secondary: Eric Bollens (UCLA)
A set of Javascript objects capable of producing MWF markup in a similar style to the PHP decorators.
Specification coming soon...
Primary: Eric Bollens (UCLA)
The specification for JS Interactivity 1.3 available here.
MWF 1.0 includes two related Webkit-driven libraries, the transitions library for markup-driven Webkit transitions and the touch_transitions library for markup-driven swipe transition triggers for Webkit.
This feature overhaul has two primary objectives:
- Include transition support for Webkit, Mozilla and Opera engines.
- Include more robust touch and gesture support and flexibility.
The transitions library will be rewritten to support all CSS 3 transition capable browsers, while maintaining all old interfaces to ensure backwards compatibility.
In addition, a new transition_triggers library will be added to link touches and gestures to transitionable items as triggers. Although touch_transitions will continue to work correctly, it will be deprecated in favor of this more robust library.
This library will make it possible to perform a search of a set of properly tagged content.
It will have three primary components:
- Text input box to define filter terms (support for boolean arguments).
- Class that denotes searchable area of markup.
- Class that denotes the content that the searchable area relates to.
Filter-driven functionality is better than AJAX search functionality because, in the event that the browser does not support live DOM writes, the filter can merely not be presented.
Similar in fashion to the jQuery Mobile AJAX page loading functionality, this library will override standard links to perform AJAX calls to load in the body content between #header and #footer. This provides several major benefits:
- Going “back” will not require a page load.
- The user is no longer staring at a blank page while content loads.
- It becomes possible to use CSS 3 transitions to slide or fade content in and out.
Because it will override the touchdown/click events, it will be fully functional for browsers that do not support these features as links will continue to work as intended.
Description coming soon...
Description coming soon...
Primary: Rich Trott (UCSF)
A simple JS API will allow content providers to set and read preferences for a user's device.
Primary: Eric Bollens (UCLA) Secondary: Zorayr Khalapyan (UCLA)
While the MWF includes PHP-based handlers, given that all logic concerning capabilities, classifications, user agents and dimensions is determined by the Javascript-driven device telemetry stack, it is possible to leverage pure Javascript to load in CSS and Javascript libraries as needed. These handlers will provide all the same functionality as the PHP handlers, and they will attempt to mirror the implementation as much as possible to minimize maintenance challenges.
The objectives of this are as follows:
- Use of the MWF in a purely local context (such as a native application with all content stored locally).
- Portability to environments where PHP is not an option.
At this point in time, these are not viewed as a replacement for the PHP handlers, but rather an additional interface where useful. Care will need to go into implementation to ensure that they will work acceptably in non-Javascript environments.
Primary: Eric Bollens (UCLA) Secondary: Ike Lin (UCSD) & Rich Trott (UCSF)
The current CSS markup entities have slightly redundant definitions. For example, .content-full.content-padded
could be better expressed as .content.padded
. This will serve two purposes: (1) reduce the size and complexity of the CSS file (long term), both by reducing the number of definitions (as padded is a similar behavior between all implementations), and (2) reduce the size and complexity of the HTML that leverages the framework.
This will be accomplished by providing a new lean
option in the CSS handler for MWF 1.3+ and then by removing the verbose markup in MWF 2, or alternating the default behavior to use lean
and adding a compat
flag. An alternate proposal suggested providing a compat
flag that allows the user to request markup from a previous version, but this will add a layer of complexity without major benefit, and thus it has been foregone from this feature for MWF 1.3, at least at this time.
Providing the lean
option let's content providers leveraging MWF 1.3 entities to minimize the size of their stylesheet, while still providing backwards compatibility for content providers that are still using the old CSS markup entities.
Primary: Zorayr Khalapyan (UCLA)
Description coming soon...