Since my post on SCORM Implementation for Mobile Devices, I have wanted to write a specific post on offline SCORM implementation for Blackberry, which is still the most widely used mobile device in enterprise and business domains.
Again, as in implementation of SCORM for mobile devices, we encountered some interesting issues in its implementation for Blackberry.
Find our experience on the same.
Target Platform:
After a good amount of R&D and feasibility study on available device software for Blackberry devices, we selected device software 5.0+ as our target platform. Device software 5.0 has good inbuilt browser support (some of the features are from HTML 5.0) and, also has Widget SDK, which is used to create native applications in HTML.
Implementation:
1. Development tools required:
- Normal J2EE development environment like Eclipse and Java SDK.
- Blackberry Widget SDK: You can get more information about Widget SDK here.
We created a Blackberry Widget, which is a combination of two parts:
- Actual Widget
- Custom JavaScript Extension
- Actual Widget
- The complete UI of solution is defined (in HTML and JavaScript) in the Actual Widget.
- Custom JavaScript Extension
- A JavaScript Extension is Java code that is built into a BlackBerry Widget, and can be accessed through JavaScript. This capability allows you to extend the functionality of your BlackBerry Widget application to include native BlackBerry functionality.
- We used it as a backend of our solution to communicate with online database/LMS.
2. Solution:
- We implemented SCORM standard in JavaScript files. These files were then included in the widget.
- As mentioned before, this was an offline solution hence course content was residing in the device itself. We built JavaScript extension to download the actual course content.
- After launching the SCORM complaint course content, the communication took place with JavaScript files, as it would happen in a normal desktop browser.
- We used Google Gears API to store the tracking information of the user. Google Gears API provides ability to create database/tables which greatly simplify storing of tracking data. It uses the open source SQLite database system. (Note: Recently Google has decided to drop Gears in support of HTML 5 database and Blackberry has also decided to use Google backed webkit in their new device OS 6). To sync tracking data back to online LMS, you can use normal browser based method or you can use JavaScript extension built in Java.
- The widget name, icon image, start file etc. were defined in the config.xml file of the widget.
- The final solution was built using command line (bbwp.exe). Alternatively, you can use Eclipse to build the solution.
3. Problems encountered while trying to implement SCORM for Device software 4.6:
- Online mode:
- There was no problem in running SCORM complaint mobile LMS in Blackberry browser.
- Offline mode:
- Device software 4.6 doesn’t have widget support, so we had to create everything in native Java language including invoking the browser instance for running the courses.
- While running the courses we had to manually tell the browser which type of file it is rendering like HTML or JavaScript.
- Till this point everything seemed fine, but we got stuck at a point where actual SCORM communication occurs, using frameset or iframe. We were not able to make API calls or normal JavaScript calls from one frame to another frame.
- As yet, we haven’t been able to find any solution to this problem nor do we know if the problem lies with Blackberry.(Blackberry browser has had a very bad reputation until Device software 5.0)
I hope our experience helps you in implementing SCORM for Blackberry devices. Have you followed some different approach? Or implemented it for Device software 4.6? We would like to hear your experience too.