Mobile Learning Portal

Business Challenge

The main project goal was to create comprehensive web portal serving as a source of learning content and providing it in a convenient way for desktop and mobile device users. Content should be easily managed and synchronized between main storage accessible via web interface and locally stored on end users’ mobile devices (pocket PCs). Access and management restrictions have to be applied to certain users and user groups which also need to be easily manageable by portal administrator.


The project required strict separation of user roles and associated privileges (administrator, school administrator, teacher and student) and required full administrative control of users, roles and content. Standard mechanism of user control and grouping users was used in the project to guarantee secure and robust functionality of this critical application section.

Web interface provides means to perform dynamic content lookup, creation and management without a need to reload pages completely. The project utilizes AJAX for .NET capabilities for dynamic data loading and displaying.

Web based content builder tool helps users to easily add new and manage existing learning content. Learning content is a Flash animation created using a set of predefined templates. Content organized in such manner can be viewed on any OS with Flash support (version 6 or higher) including mobile devices.

The solution allows synchronizing learning content with mobile devices (Pocket PCs). Sets of Flash movies that should be loaded to mobile devices of specific students or groups of students are easily controlled by teachers and administrators. Mobile client capabilities are not limited to downloading learning content – it also can perform full backup of data stored on mobile devices which cannot be undervalued in case of mobile device loss or breakage.

Teachers’ and portal administrators’ capabilities are not limited to viewing student profiles, but they also can check contents of students’ mobile devices including full list of applications installed on devices. This gives teachers full learning process control and helps monitoring mobile device state.


The application has multi-tiered structure and consists of several logical modules.

Database is used to store necessary data, learning content and information about user profiles.

Flash content generation module is responsible for generating learning content. This module is built in to the database to provide more tight integration and improve Flash generation performance.

Data access layer is a middle tier between database and application logic.It is responsible for all operations with data including loading/adding/updating/deleting.

Web user interface contains application business logic and presentation layer for end users.

Web service provides means to download learning content and perform simultaneous synchronization of multiple mobile devices with central storage. Downloading of partially downloaded can be resumed if connection to web service was broken during download.

Mobile client serves for synchronizing mobile devices with central storage, downloading learning content and mobile data backups.

Tool and Technologies

  • .NET / ASP.NET 2.0 with C# language;
  • Visual Studio 2005;
  • Microsoft SQL 2005 engine;
  • Third party Flash generation library;
  • Enterprise library;
  • AjaxPro library;
  • Web Services;
  • Windows XP/2003/Vista; Windows Mobile 5.0;
  • Internet Explorer, FireFox, Opera and Safari browsers.


The implemented solution completely matched provided requirements and customer expectations. It was implemented with minimal guidance from the customer and in time.

  • Web interface providing means to manage users and build learning content has modern design, utilizes dynamical data loading techniques and supports all popular browsers: Internet Explorer, Mozilla FireFox, Opera and Safari.
  • User management and content builder functionality has intuitive and user friendly interface which does not require any additional training before usage.
  • Mobile client supports all required functionality: synchronization with web based central storage; downloading learning content; mobile device data backup; data validation was implemented for additional robustness of client-server data exchange.

Besides implementation, testing of the system was performed by experienced QA engineers and ongoing support was provided to the customer including production and staging server administration, troubleshooting, implementation of additional requested functionality and corrections to portal design.