Android SMIL Messenger Presented By: Alex Povkov Brad Gardner Jeremy Spitzig Santiago Jamriska
Introduction This application uses the Android 1.6 Platform and later and will provide a multimedia messaging system for users to communicate with each other, sharing pictures, videos, audio, and text-based content using messages created based on the SMIL specification.
The Team ParticipantRolesRelated Experience Alex Povkov Implementation, Development, Testing Java, Web Technologies, Databases, XML Jeremy Spitzig Implementation, Development, Configuration, Testing Java, Source control management, Databases, XML Santiago Jamriska Documentation, Implementation, Development, Testing Java, MySQL databases, PHP and web development. Brad Gardner Team Lead, Implementation, Development, Testing Java, Databases, Web Technologies, XML, Source control management
How does it work? Users can create or view messages Multiple media types can be added to a message You can preview, save or send any message
Use Cases We have three Actors: the Sender, the Receiver and the Server Both the Sender and the Receiver have the same main interaction with the application The server is the mediator
Implementation (GUI) Main Menu: Users can choose to create a new message or view stored messages
Implementation (GUI) Messages: In here, the user can view received messages, sent messages, and saved unsent messages.
Implementation (GUI) New Message: In here, users can define the layout of the message After defining the layout, users can go on to creating the contents of the message
Add Components: Users can choose what type of components to add to the message Text Images Audio Files Video Files Implementation (GUI)
Settings: Users can insert text, files, duration time, and a start time to the specific components
Player: Users can preview the messages before sending them, and view the messages as they are received Implementation (GUI)
HTTP Sockets: Using sockets, the devices are able to communicate to a central server where they can download the message details. SMS Messaging: SMS (Short Message Service) will be used to notify devices that they have a new message in the central server. Implementation (Communications)
Implementation (Detailed)
Project Task Partition
Project Management
The Android Messenger Project was versioned and managed using Google Code hosting. Project Site URL: Software Configuration Management
Inspection (Communications) NoFileLOCSeverityDescriptionBy 1SmilReceiverMinorEnter comments on this fileSantiago 2SMSRecieverMinorEnter comments on this fileSantiago 3ClientHandlerMinorEnter comments on this fileSantiago 4CommunicationManagerMinorEnter comments on this fileSantiago 5MessageActionMinorEnter comments on this fileSantiago 6SmilReceiverMajor Change the SmilConstants to the appropriate file Santiago 7ClientHandlerMajor Change the SmilConstants to the appropriate file Santiago 8ClientHandler98Minor “port” variable needs to be referenced with “this.” Santiago 9ClientHandler62Minor “key” variable needs to be referenced with “this.” Santiago 10ClientHandler38Minor “context” variable needs to be referenced with “this.” Santiago 11ClientHandler31Major “action” variable has to be declared private Santiago 12ClientHandler33Major “context” variable has to be declared private Santiago 13 Deliverable Communications _____________________ Page 1 of 1 Team#2 Team members Brad Gardner, Alex Povkov, Santiago Jamriska, Jeremy Spitzig __________________________ Date 03/20/2010
Inspection (Database) NoLOCFileSeverityDescriptionBy 1151 DBAdap ter.java Minor Need resource.setId(-1); for the message’s resource in some form here? Alex Messag e.java MinorUseless comments?Alex Messag e.java MinorUnaligned with rest of codeAlex 4208 DBAdap ter.java Minorunused variableAlex 5MinorCode formatting (use java conventions)Alex 6 Deliverable Database _____________________________ Page 1 of 1 Team#2 Team members Brad Gardner, Alex Povkov, Santiago Jamriska, Jeremy Spitzig _______________________________________________ Date 03/20/2010
Inspection (SMIL) NoNo FileLOCSeverityDescriptionBy 1SMILMessage.java Minor Replace hardcoded “magic strings” with symbolic constants. Jeremy 2SMILReader.java Minor Replace hardcoded “magic strings” with symbolic constants. Jeremy 3All FilesAllMajorMore comments necessaryJeremy 4SMILMessage.java Minor A generic function could be written for this code accepting the serializer, tag name, a series of attributes/values, and any text which goes inside the tag, which builds the tag. Jeremy 5 Deliverable SMIL API ___________________________ Page 1 of 1 Team#2 Team members Brad Gardner, Alex Povkov, Santiago Jamriska, Jeremy Spitzig _______________________________ Date 03/20/2010
Inspection (User Interface) NoLOCFileSeverityDescriptionBy 1 24,3 2,38 TabsMenu.javaMinorHard coded values for tab names. Brad Gardner 288SMILPlayer.javaMinorGeneric Exception caught Brad Gardner 365SentTab.javaMajorMessage Subject value is explicitly set Brad Gardner 430 MessagePositio n.java MinorID of extras attribute explicitly set to “test” Brad Gardner 566InboxTab.javaMajorMessage Subject value is explicitly set Brad Gardner 669DraftsTab.javaMajorMessage Subject value is explicitly set Brad Gardner 786 FileBrowser.jav a MinorID of extras attribute explicitly set to “test” Brad Gardner 8117 FileBrowser.jav a MajorNon-implemented catch block Brad Gardner 941AddImage.javaMinorID of extras attribute explicitly set to “test” Brad Gardner AddComponen ts.java MinorMagic Numbers used Brad Gardner AddComponen ts.java MinorID of extras attribute explicitly set to “test” Brad Gardner 1243AddAudio.javaMinorID of extras attribute explicitly set to “test” Brad Gardner 1331AddAudio.javaMinorID of extras attribute explicitly set to “test” Brad Gardner 30 Deliverable User Interface Page 1 of 1 Team#2 Team members Brad Gardner, Alex Povkov, Santiago Jamriska, Jeremy Spitzig Date 03/20/2010
Inspection (SRS Document) NoNo PageSeverityDescriptionBy 19Major Move connection from add items to create message to point to decision Santiago 23MinorExtra colon character in table of contentsAlex 310Major Preview use case should be removed and replaced by create message implementing view message Jeremy 411Major Detailed Activity diagram: view details activity should connect to decision before the add items activity Jeremy 55MinorAdd XML to definitionsAlex 6AllMajor Any android 2.0 reference should be changed to Android 1.6+ Jeremy 75Minor Add save/delete and other functionality into the overview description Alex 8AllMinor“Multimedia Message” capitalization errorsJeremy 96Major Multimedia Message Components section should be moved, entire section should be re-worked to flow better. Jeremy, Alex, Brad 107MajorFormatting of Messages and New Messages sectionAlex 1115MinorStreaming multimediaJeremy 127MinorDrafs description should have “and not sent” removedJeremy 13 MinorAdd drafts feature to other requirementsSantiago 1413MinorAdd two-way messaging to other requirementsBrad 1512MajorSentence needs completed, ended in mid-thoughtAlex 1611Major Detailed Activity diagram: added components should connect to decision after the add items activity Jeremy 17 Deliverable _SRS Document_______________________________ Page 1 of 1 Team#2 Team members Brad Gardner, Alex Povkov, Santiago Jamriska, Jeremy Spitzig Date 03/20/2010
Team Communication Gmail-based Communications
Team Communication Google code and Wiki-based Communications
All media worked perfectly on the emulator Communications with the server and the other emulated device worked perfectly as well Decided to deploy under Android 1.6 Android 1.6 Testing
Mounted application onto Android-based phone (Running Android 1.6) Application worked perfectly on a single phone. Had a few issues in communications when using a second phone. Issues were resolved by tweaking the code and the server Device Testing
Testing Testing Models: 1.Android 2.1 Testing 2.Android 1.6 Testing 3.Device Testing
Android 2.1 Testing We emulated Android 2.1 for the first tests of the application Emulation of the video playback didn’t work Dropped emulator to version 1.6
Testing Find Bugs:
Testing Junit:
Summary We have successfully completed the requirements for this project. A fully functional Android SMIL Messenger application has been achieved according to both the Android and SMIL component specifications. The course objectives were also followed and successfully completed throughout the semester.