Download presentation
Presentation is loading. Please wait.
Published byRudolph Robbins Modified over 8 years ago
1
CSC 440/540 Team 5 MOBILE SMIL IN THE CLOUD
2
INTRODUCTION Team 5 TED LANDIS
3
INTRODUCTION Team 5 James Neilan Project Management, GUI and Composer Adil Khan Developer, Communications Keith Brown Architect, Cloud Communications Hans Hagen Developer, Player, Project Management Ted Landis Testing and Demo Creation
4
PROJECT OVERVIEW Team 5 HANS HAGEN
5
THE MOBILE PLATFORM Team 5 Android Version 2.2 API 8 Eclipse Plug-In Android SDK
6
PROJECT OVERVIEW Team 5 XMPP SMIL XMPP SMIL HTTP MEDIA HTTP MEDIA COMPOSER PLAYER COMMUNICATION PROVIDER CLOUD
7
DEPLOYMENT DIAGRAM - OVERVIEW Team 5
8
ACTIVITY DIAGRAMS - OVERVIEW Team 5 Helped us to realize the project breakdown.
9
CLASS DIAGRAMS - OVERVIEW Team 5 Helped us to communicate our code design.
10
COMPOSER & APP. GUI Team 5 JIM NEILAN
11
APPLICATION GUI Team 5 Issues How to Integrate Components How to Launch Activities Intents How to Send Messages Framework Learning the Android SDK
12
COMPOSER Team 5 Issues How to Add/Remove Views How to Save/Send How Add Object Info Intents Matching the Player Objects GUI and Comms
13
COMPOSER Team 5 Highlights Adding Image, Text, Audio, Video Saving,Sending, Deleting Setting Parameters Using Player for Previewing
14
USECASE DIAGRAMS - COMPOSER Team 5
15
ACTIVITY DIAGRAMS - COMPOSER Team 5
16
CLASS DIAGRAMS - COMPOSER Team 5
17
COMMUNICATION Team 5 ADIL KHAN
18
COMMUNICATION Team 5 COMMUNICATION PROVIDER Two Modules Comprise the CommunicationProvider SmilTransporter CloudDataProvider Both are Singletons
19
COMMUNICATION Team 5 COMMUNICATION PROVIDER
20
COMMUNICATION Team 5 COMMUNICATION PROVIDER Steps to Transmit the SMIL Message Upload assets (Audio,Video,Image to cloud) Handled by CloudDataProvider HTTP (Apache HttpClient Library) Returns BlobStore Key
21
COMMUNICATION Team 5 Encode the URL of the BlobStore Key in the Smil object. Replaces local path eg: “/sdcard/chair.bmp” With Cloud path: http://1.csc440mediastore.appspot.com/serve?blob- key=AMIfv945sJ1WUX9sIqeJr_jjAS3XcWCuNH5ReIuamFOuBCtOh0TENWzk wdCcRQMVnja0Gb0xO3YeaCecac6vmV8sX5_exnxUdb1s1JBxyc62Tj1JZMkt oLH2IdnPfTtoSc4i8kie4WZbtVmgzCO4Au-RCjmwdhOLrg"
22
COMMUNICATION Team 5 COMMUNICATION PROVIDER Generate XML using the Simple Xml Framework’s serialize functionality
23
COMMUNICATION Team 5 COMMUNICATION PROVIDER Simple XML SimpleFramework Light weight alternative to JAXB. Annotate Model Classe Serialize/Deserialize from JAVA to XML and back
24
COMMUNICATION Team 5 COMMUNICATION PROVIDER 4. Send SMIL XML to endpoint using XMPP protocol. Conducted in the SmilTransporter class Asmack Library is used to provide high level XMPP functionality ComposerPlayer XMPP via ASMACK Library
25
COMMUNICATION Team 5 COMMUNICATION PROVIDER 5.Player checks for new message, using the SmilTransporter class. CloudDataProvider used to download Assets from cloud SMILMedia List generated and consumed by Player to play the file. Player
26
COMMUNICATION Team 5 COMMUNICATION PROVIDER Player Files Downloaded. SMIL Objects renamed with local paths Http Request for download with blob-key SimpleXML framework used to Deserialize SMIL xml to List of SMILMedia Objects and made available to the Player
27
USECASE DIAGRAMS – COMMUNICATION PROVIDER Team 5 3 rd Party Libraries used: HttpClient http://hc.apache.org/httpcomponents-client-ga/ Asmack/Xmpp library: http://metajack.im/2010/02/10/xmpp-library-for-android-developers/ Simple XML Framework: http://simple.sourceforge.net/
28
USECASE DIAGRAMS – COMMUNICATION PROVIDER Team 5
29
ACTIVITY DIAGRAMS - COMMUNICATION PROVIDER Team 5
30
CLASS DIAGRAMS - COMMUNICATION PROVIDER Team 5
31
CLOUD ENVIRONMENT Team 5 KEITH BROWN
32
CLOUD ENVIRONMENT Team 5 Cloud Platform: Google App Engine Some familiarity Good integration with Eclipse IDE Seemed like a logical choice for Android
33
Design Considerations Team 5 Considerations: Had to be able to upload and download large multimedia files. Blobstore API provided this functionality Had a choice of developing in Python or JAVA (modified J2EE) Chose JAVA due to familiarity and performance JAVA would be running as a Servlet which has inherent Multi- Threading This would be more efficient than Multi-Processing which Python would be as a CGI
34
Implementation Issues Team 5 Issues Overcome: The greatest challenge was conforming to the API for the Blobstore Blobstore designed more for accessing from a web page Getting the upload key presented a challenge Keeping track of file types also presented a challenge Where as our app should have been able to run for free in order to use the Blobstore billing needed to be enabled.
35
USECASE DIAGRAMS - CLOAD MULTIMEDIA STORE Team 5
36
ACTIVITY DIAGRAMS - CLOUD MEDIA STORE Team 5
37
CLASS DIAGRAMS – CLOUD MEDIA STORE Team 5
38
PLAYER Team 5 HANS HAGEN
39
PLAYER Team 5 PLAYER Functionally Play, Pause Resume, Stop Replay, Progress Count Down Timer Start End SMILMedia Objects
40
PLAYER Team 5 ArrayList of SMILMedia Objects SMILMedia Class(abstract) Parent Class Audio SMILVisual Class TextView ImageView VideoView PLAYER
41
Team 5 Issues Using SMILMedia Class with the Composer Object Creation Composer Preview Fixes Constructor Modification View.add vs. addContentView Added self references PLAYER
42
USECASE DIAGRAMS - PLAYER Team 5
43
ACTIVITY DIAGRAMS - PLAYER Team 5
44
CLASS DIAGRAMS - PLAYER Team 5
45
MULTI-THREADING Team 5 Android Activities was used to handled all of the our multitasking(AsyncTask Class). God Loves passing INTENTS! Non-blocking Activity calls, like a fork Handler Class – Tried to use, found better ways
46
PROJECT MANAGEMENT Team 5 JIM NEILAN
47
Project Management – Pass/Fail What Worked – Communication – X-Programming – Text and Sites – “Day of Code” Meetings – 2 Hour Design Meetings – SVN (At the end) – Google Talk Team 5 What Didn’t – Communication – Initial Assignments – Water Fall Method – Time Management – ½ hr. Discussions – SVN Usage “Tell me and I will forget. Show me and I may remember. Involve me and I will learn” - MIT
48
Project Task Partitioning Assessment of Skills Assignment of Tasks Semester Adjustments Team 5 MemberPriorsAssignmentUpdatesFinal HansC++, JavaPlayerLiaison, Meeting Chair Player, Chair KeithJava, C++, XML CloudCloud/Comm. And Architect Architect, OOP AdilJava, C++, XML CommsComms and SMILSMIL, Integration TedJava, C++, iPhone Composer SMIL Composer additions Developer JimC, C++Composer, App GUI Composer, Integration, App Integration
49
Project Schedule Team 5
50
Project Communication Weekly Meetings “Day of Code” Meetings (3) Email…A Great Many of Them… Google Project Hosting Minutes and Agendas Voice and Texts Google Talk Team 5
51
INSPECTION Team 5 HANS HAGEN
52
INSPECTION - DOCUMENTS Team 5 Formal Inspection Fagan Inspection Forms Reviewed each section of the document One final review for the document. Inspection Meeting Form Issue Logging Form Inspection Moderator Form
53
INSPECTION - CODE Team 5 Informal Review Desk check of a software engineering Verify that the software meets its requirements Pair Programming Uncover errors in function, logic, and implementation
54
TESTING Team 5 ADIL KHAN
55
TESTING Team 5 White Box Testing Black Box Testing
56
TESTING Team 5 White Box Testing Tested SmilTransporter library with google chat client. Tested CloudDataProvider with local GAE server and then with actual Cloud with billing enabled. (inconsistencies found). Tested Composer/Player functionality, in playing various components on emulator/real device. (Inconsistencies on emulator found). Tested SMILMedia ArrayList Structures, passed to and from CommunicationProvider.
57
TESTING Team 5 Black Box Testing Tested Interface between Composer and Communication Provider. Upload of files Passing of SMIL Messages. Tested interface between Player and Communication Provider. Download of Files Receiving of SMIL Message.
58
TESTING Team 5 Black Box Testing (Continued) Tested consistency of SMIL message passed from Composer to Player. Play SMIL on composer and compare to Playing on player.
59
Demo Summary Team 5 TED LANDIS
60
Mobile SMIL in the Cloud DEMO Team 5
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.