MediaMosa in Blackboard and Android - technical background VLE and mobile development Informatiseringscentrum November 25,...
Agenda <ul><li>It’s all about XML </li></ul><ul><li>Java API </li></ul><ul><li>Blackboard Building Block </li></ul><ul><li...
MediaMosa interface MediaMosa in Blackboard and Android MediaMosa Java API GET /asset/G6360d62gs4yaS4IyTmMUHhB <item id=&q...
MediaMosa interface <ul><li>REST module in WLE </li></ul>MediaMosa in Blackboard and Android
MediaMosa in Blackboard and Android
XML Schema (XSD) <ul><li>Validation </li></ul><ul><li>Service contract </li></ul><ul><li>Documentation </li></ul><ul><li>C...
Validation <ul><li>Automatically determine if message is valid or invalid. Are required elements present? Do they contain ...
Service contract <ul><li>A schema serves as part of the understanding between two parties. The service provider and the se...
Documentation <ul><li>Schemas document the service contract for the developers and end users that will be implementing or ...
Code generation <ul><li>Schemas are also used to generate classes and interfaces that are used to read and write the XML m...
XSL Transformation (XSLT) <ul><li>Transform structure of XML document </li></ul><ul><li>Translate MediaMosa responses to f...
Java API <ul><li>Make REST calls </li></ul><ul><li>Process XML responses </li></ul><ul><li>Partial implementation of the M...
MediaMosa in Blackboard and Android Mediamosa Java API Blackboard uPortal Sakai
MediaMosa in Blackboard and Android Mediamosa Java API uPortal Sakai Blackboard
MediaMosa in Blackboard and Android Mediamosa Java API Sakai Blackboard uPortal
MediaMosa in Blackboard and Android Mediamosa Java API Blackboard uPortal Sakai SURFnet UvA
Blackboard Building Block <ul><li>Virtual learning environment </li></ul><ul><li>Building block:  added functionality </li...
Blackboard Building Block MediaMosa in Blackboard and Android
Building Block - changes <ul><li>MVC (Model-View-Control)  </li></ul><ul><li>BB9 API changes </li></ul><ul><li>bbNG layout...
Building Block - issue <ul><li>Dynamic contextmenu usage <bbNG:listContextMenu dynamic=&quot;true&quot; /> </li></ul><ul><...
Android App MediaMosa in Blackboard and Android
Android App MediaMosa in Blackboard and Android
Android App development <ul><li>App or mobile site </li></ul><ul><li>Upload feature isn't possible for mobiles. Form-based...
Android App caveats <ul><li>Dalvik VM != Java VM </li></ul><ul><li>No JAXB, switched to SimpleXML for binding </li></ul><u...
Android App recorded video <ul><li>Video: codec mp4, container 3pg </li></ul><ul><li>Audio: Adaptive Multi-Rate (AMR or AM...
MediaMosa in Blackboard and Android MediaMosa platform Android App
MediaMosa in Blackboard and Android MediaMosa platform Android App App server
App server setup - implications <ul><li>Pro: </li></ul><ul><li>User identity: authentication and authorization </li></ul><...
Q&A <ul><li>[email_address] </li></ul><ul><li>http://mediamosa.org </li></ul>MediaMosa in Blackboard and Android
Upcoming SlideShare
Loading in …5
×

MediaMosa + blackboard + android

2,351 views

Published on

Presentation by Tom Kuipers from the UvA at the MediaMosa Community day november 25th at SURFnet

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,351
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

MediaMosa + blackboard + android

  1. 1. MediaMosa in Blackboard and Android - technical background VLE and mobile development Informatiseringscentrum November 25, 2010
  2. 2. Agenda <ul><li>It’s all about XML </li></ul><ul><li>Java API </li></ul><ul><li>Blackboard Building Block </li></ul><ul><li>Android App </li></ul><ul><li>Q&A </li></ul>MediaMosa in Blackboard and Android
  3. 3. MediaMosa interface MediaMosa in Blackboard and Android MediaMosa Java API GET /asset/G6360d62gs4yaS4IyTmMUHhB <item id=&quot;1&quot;> <asset_id>G6360d62gs4yaS4IyTmMUHhB</asset_id> <app_id>5</app_id> <owner_id>jansen</owner_id> <videotimestamp>2009-10-08 14:11:20</videotimestamp> <videotimestampmodified>2009-10-08 14:11:20</videotimestampmodified> [...] </item>
  4. 4. MediaMosa interface <ul><li>REST module in WLE </li></ul>MediaMosa in Blackboard and Android
  5. 5. MediaMosa in Blackboard and Android
  6. 6. XML Schema (XSD) <ul><li>Validation </li></ul><ul><li>Service contract </li></ul><ul><li>Documentation </li></ul><ul><li>Code generation </li></ul>MediaMosa in Blackboard and Android
  7. 7. Validation <ul><li>Automatically determine if message is valid or invalid. Are required elements present? Do they contain valid values according to their data types? </li></ul><ul><li>Priscilla Walmsley, “The Importance of Schema Design in SOA” (2010) </li></ul>MediaMosa in Blackboard and Android
  8. 8. Service contract <ul><li>A schema serves as part of the understanding between two parties. The service provider and the service consumer can both use the schema as a machine-enforceable set of rules describing the interface. </li></ul><ul><li>Priscilla Walmsley, “The Importance of Schema Design in SOA” (2010) </li></ul>MediaMosa in Blackboard and Android
  9. 9. Documentation <ul><li>Schemas document the service contract for the developers and end users that will be implementing or using the service. Narrative human-readable annotations can be added to schema components to further document them. </li></ul><ul><li>Priscilla Walmsley, “The Importance of Schema Design in SOA” (2010) </li></ul>MediaMosa in Blackboard and Android
  10. 10. Code generation <ul><li>Schemas are also used to generate classes and interfaces that are used to read and write the XML message payloads. When a service contract is designed first, classes can be generated automatically from the schema definitions, ensuring that they match. The schema provides information not only about what elements (objects) will appear in XML messages, but also about their data types. </li></ul><ul><li>Priscilla Walmsley, “The Importance of Schema Design in SOA” (2010) </li></ul>MediaMosa in Blackboard and Android
  11. 11. XSL Transformation (XSLT) <ul><li>Transform structure of XML document </li></ul><ul><li>Translate MediaMosa responses to format which conforms to schema </li></ul><ul><li>Translate <item> to <asset>, <mediafile>, <job> etc. </li></ul>MediaMosa in Blackboard and Android
  12. 12. Java API <ul><li>Make REST calls </li></ul><ul><li>Process XML responses </li></ul><ul><li>Partial implementation of the MediaMosa API </li></ul><ul><li>Reusable </li></ul><ul><li>JavaDoc </li></ul>MediaMosa in Blackboard and Android
  13. 13. MediaMosa in Blackboard and Android Mediamosa Java API Blackboard uPortal Sakai
  14. 14. MediaMosa in Blackboard and Android Mediamosa Java API uPortal Sakai Blackboard
  15. 15. MediaMosa in Blackboard and Android Mediamosa Java API Sakai Blackboard uPortal
  16. 16. MediaMosa in Blackboard and Android Mediamosa Java API Blackboard uPortal Sakai SURFnet UvA
  17. 17. Blackboard Building Block <ul><li>Virtual learning environment </li></ul><ul><li>Building block: added functionality </li></ul><ul><li>Using video is problematic </li></ul><ul><li>Simplicity </li></ul><ul><li>Integration </li></ul><ul><li>Upload, play, search, metadata </li></ul><ul><li>Open source </li></ul>MediaMosa in Blackboard and Android
  18. 18. Blackboard Building Block MediaMosa in Blackboard and Android
  19. 19. Building Block - changes <ul><li>MVC (Model-View-Control) </li></ul><ul><li>BB9 API changes </li></ul><ul><li>bbNG layout tags (BB9 look and feel) </li></ul><ul><li>Changed javascript framework, from jQuery to Prototype </li></ul><ul><li>BB9 ships with Prototype </li></ul><ul><li>Removed JWplayer dependency, embed code provided by MediaMosa platform </li></ul>MediaMosa in Blackboard and Android
  20. 20. Building Block - issue <ul><li>Dynamic contextmenu usage <bbNG:listContextMenu dynamic=&quot;true&quot; /> </li></ul><ul><li>bb-ui-webapi.jar missing on classpath </li></ul><ul><li>Blackboard support case </li></ul><ul><li>Cannot distribute building block with Blackboard library included due to legal issues </li></ul><ul><li>Build from source and include your own copy </li></ul>MediaMosa in Blackboard and Android
  21. 21. Android App MediaMosa in Blackboard and Android
  22. 22. Android App MediaMosa in Blackboard and Android
  23. 23. Android App development <ul><li>App or mobile site </li></ul><ul><li>Upload feature isn't possible for mobiles. Form-based file upload is not supported </li></ul><ul><li>Smartphone features: video recording, connectedness </li></ul><ul><li>Source code is written in Java </li></ul><ul><li>Familiar tooling (Eclipse IDE, Maven) </li></ul><ul><li>Reuse MediaMosa Java API </li></ul>MediaMosa in Blackboard and Android
  24. 24. Android App caveats <ul><li>Dalvik VM != Java VM </li></ul><ul><li>No JAXB, switched to SimpleXML for binding </li></ul><ul><li>XSLT since API Level 8 (Android 2.2) </li></ul><ul><li>Streaming over HTTP or RTSP </li></ul><ul><li>No player functionality in App </li></ul><ul><li>Prototype: not released, limited functionality </li></ul>MediaMosa in Blackboard and Android
  25. 25. Android App recorded video <ul><li>Video: codec mp4, container 3pg </li></ul><ul><li>Audio: Adaptive Multi-Rate (AMR or AMR-NB) audio codec </li></ul><ul><li>Recompile FFmpeg (0.6): </li></ul><ul><li>--enable-libopencore-amrnb </li></ul><ul><li>--enable-libopencore-amrwb </li></ul><ul><li>Transcode uploaded file automatically </li></ul>MediaMosa in Blackboard and Android
  26. 26. MediaMosa in Blackboard and Android MediaMosa platform Android App
  27. 27. MediaMosa in Blackboard and Android MediaMosa platform Android App App server
  28. 28. App server setup - implications <ul><li>Pro: </li></ul><ul><li>User identity: authentication and authorization </li></ul><ul><li>XSL transformation on server </li></ul><ul><li>Or parse to JSON output </li></ul><ul><li>Supports older Android versions </li></ul><ul><li>Smaller footprint for Andriod app </li></ul><ul><li>Con: </li></ul><ul><li>Android app is less generic: pre-configured to use specific server </li></ul>MediaMosa in Blackboard and Android
  29. 29. Q&A <ul><li>[email_address] </li></ul><ul><li>http://mediamosa.org </li></ul>MediaMosa in Blackboard and Android

×