The MMS portal consists of four main components. These are:
• Main portal pages
• MMS-module in MOSES
The MMS-editor runs as a standalone Java applet on a client machine and it is accessible trough the portal pages. These pages are written in PHP and they handle authentication and authorization of users.
The MOSES MMS-module is a standalone Java application that communicates with the operators’ MMS-Central, MMSC.
All information regarding users, content and MMS-send-history are stored in a database. Both the MMS-editor and the MMS-module communicate with the database and are therefore located on the same physical server machine as the applet source classes are located on to minimize the security issues that would otherwise occur. It is however possible to handle secure traffic between a Java applet and a database running on a different machine using standard Java Security classes, but that was not within the scope of this thesis. These security issues are further described in chapter 2.6.2.
The communications between the different components are described in figure 2-1 below.
1. The MMS-editor source is loaded from the web server to the client’s web browser and is executed locally on the client.
2. The MMS-editor loads images and sounds from the database and MMS’s ready to send are stored it the database.
3. When there is a new MMS to send in the database, the MMS-module load the MMS content, i.e. all the images, sounds and the written text, and generates a Synchronized Multimedia Integration Language (SMIL) file. The SMIL file is the structure of the MMS and it controls what is shown and for how long.
4. The SMIL file and all content are wrapped into a Simple Object Access Protocol (SOAP) message and sent to the operators MMSC.
5. The MMSC is now responsible for delivering the MMS to the subscriber.
6. For confirmation and tracing ability, the MMSC return a MMS ID to the MMS-module.
7. The MMS ID is stored in the database.
To show how the MMS-editor can be used in reality we have built a simple portal. The main purposes for the portal were to carry out login/logout functions and to show content to be used with the MMS-editor. Via the portal it is also possible to start the MMS-editor with a selected MMS, image or sound.
The MMS portal Peter Svensson & Henrik Adolfsson
Index – This is the first page that a user meets when visiting the portal. The user gets a short description of what this portal contains and is able to read the most recent news.
Content – This page allows the user to browse public content containing MMS- messages, images and sounds to use when creating own MMS. In logged-in mode the user can browse their private content.
MMS-editor – The page where the MMS-editor is displayed.
Version history – Displays the development of the MMS-editor.
Create user – On this page new users can sign up to get an account with possibilities to store MMS-messages, images and sounds.
Login – The page where registered users can login to use their private content.
Profile – Logged-in users can change their user-settings.
Logout – Logs out the user.
Users have different rights depending on if they have registered with the portal or not. Non-registered users will be able to create and send an MMS-message using standard images and audio, but they can’t upload own material to the editor. Registered users will be able to do all that the non-registered user can do and they will also have their own account where they can upload images and audio to use in their MMS-messages. They will also be able to delete their uploaded files through the portal.
The MMS-editor is a Java Applet running in a single window containing four components: the slide editor section, the content viewer section, size and duration information section and send information section. They are further described below.
The slide editor section is the main workspace for the user. It consists of tabs at the top, the slide image in the middle, the slide information below the image and the slide control section at the bottom.
The slide tabs at the top enables the user to select which slide to work with. If a new slide is created it appears last in the tab list. By clicking on one of the tabs the selected slide will appear with the slide image and all slide information.
The slide image shows the image of the selected slide. If no image has been assigned to the slide, the area is white. An image is added by clicking on a thumbnail image in the content viewer section.
The information consists of four things: image name, slide text, slide sound and slide duration.
The image name is to identify the selected image. There is a delete button beside the image, which will delete the image from the selected slide.
The slide text is a text-box where the user can type a message that will appear together with the image on the selected slide in the MMS-message. Since the text-box only displays two lines, there are two scroll buttons for scrolling through long messages.
The slide sound shows the name of the selected audio. There are also play and stop buttons and a delete button, which will delete the audio from the selected slide. The play and stop buttons enables the user to preview the selected audio on that specific slide.
The duration window enables the user to determine how long the selected slide will show in the MMS-message. The total MMS duration in the size and duration section is updated instantaneously as the duration of any slide is changed.
The slide control section enables the user to add, delete and modify the order of the slides. The following buttons are available: new, clear, delete, move left and move right.
New creates a new slide last in the MMS-message.
Clear removes all content on the selected slide, i.e. the image, audio and the text. Delete removes the selected slide or all slides from the MMS-message via a selection box.
Move left moves the selected slide one step to the left. If pressed repeatedly the slide will continue to move to the left until it is the first slide in the MMS-message.
Move right functions as the move left button but moves the slide to the right instead.
The content view section is where the user can browse through all content, i.e. images, audio and pre-made MMS-messages. If the user has logged-in, the option to upload own material is enabled.
Content viewer design
The top of the content viewer section has three tabs (four if the user has logged in). The four tabs are, from left to right; “MMS”, “images”, “audio” and “my own”. The fourth tab is only visible if the user has logged in, otherwise it is invisible.
When clicking on one of the tabs, the selected content will appear in the content window below the tabs.
The content viewer window is designed to resemble a Microsoft Windows file browser environment. Present directory is written at the top and all parent directories are clickable to enable fast browsing.
Subdirectories in the present directory have a small folder icon beside the name, and the name of the subdirectory is clickable. If subdirectories exist together with other content in the same directory, the subdirectories are displayed above the content. Content types that are displayed are: images, audio and pre-saved MMS-messages. Images are displayed as small thumbnails with the image name below (see Figure 2-7). The image name is limited to fifteen characters. Only the thumbnail is clickable. Audio is displayed with a standard audio image with the audio name below (see Figure 2-7). Both images and audio thumbnails are displayed with a width of two thumbnails.
A scroll bar appears to the right if the content is too large to be displayed in one window.
Content viewer function
When the MMS-editor is started, the content viewer connects to the database and collects the active content in the root directory. By default it collects the root content of the MMS-, image- and audio section.
When a user clicks on a subdirectory, content viewer connects again to the database to download the relevant content. Each click by the user in the content viewer section generates a connection to the database and relevant content is downloaded. The advantage of this method is that the user always is displayed with the latest content present in the database.
When clicking on a specific content item, such as an image or an audio, the content is loaded to the active slide in the slide editor. If there already is an image or a sound loaded in the active slide, a selection box is displayed (see Figure 2-8). The choices of the selection box are: add to current slide, add to new slide and cancel. Add to current slide replaces the current slide content with the new content. Add to new slide adds a slide after the last slide and adds the content to that slide. The cancel choice closes the selection box without action.
If a user clicks on a pre-made MMS when the slide section is not empty, a selection box appears and asks if the selected MMS shall be loaded, thus it will erase all other content in the slide section (see Figure 2-9).
User upload function
The upload function is only enabled to users who are registered with the MMS-portal and also currently logged-in. An upload button appears under “my-own” tab and when a user clicks on it, a new browser window opens. This window contains a file description box, a file selection box and an upload button. To upload a file, the user has to write a short file description (maximum fifteen characters) which will be displayed below the thumbnail, and write the file name including full path in the select file box. The browse button to the right of the select file box opens a standard file browsing and selecting window, which enables the user to browse through the files on the user’s local computer to find and select the correct file to upload.
When the file is selected, a single click on the upload button uploads the file to the database and the boxes clears, which enables the user to upload a new file or close the window. All limitations to the files to be uploaded are displayed in the window.
Size and duration information
In the bottom left corner is the size and duration section. The size symbol shows the user how much space the MMS will take. A maximum size of 30 kilobyte per MMS is set due to the limitations of MMS-terminals. The duration shown is the total duration of the MMS-message, i.e. all slides duration added together.
In the bottom right corner is the send information section. It contains three buttons: preview, save and send. It also has a subject row that enables the user to name the MMS-message. This is required if the MMS-message shall be saved.
Preview button opens a new window and plays the MMS as it would appear in an MMS-terminal, including images, audio, text and the correct duration. This preview can be cancelled at any point by pressing the cancel button. Closing the window is done by pressing the close button (see Figure 2-13).
Save button saves the MMS in the user’s home directory, but only if the user has logged-in. Read more about user rights in 2.2.2. The saved MMS will be found under the “my own” tab in the MMS directory in the content viewer section.
Send button opens a new window which contains two sections: recipient and delivery time. The recipient can be a cellular telephone number or an e-mail address. The delivery time enables the user to choose weather to send the MMS immediately or to schedule it for later delivery. The schedule function is limited to seven days. The send button sends the MMS and the cancel button closes the window without action.
The prime task for the MMS-module is to send MMS-messages to the operators Multimedia Messaging Service Center, MMSC (or Mobile Messaging Center, MMC). It is fully scaleable in order to add interoperability with different MMSC manufacturers. In this thesis we implemented Ericsson’s MMC API for communication with Vodafone’s MMSC delivered by Ericsson. This API is further described in chapter 2.4.1. Other API’s can easily be added afterwards.
Before the MMS-module could be implemented with MOSES its functionality had to be tested, and to do so it was developed as a stand-alone Java application.
The Java application connects to the MySQL database using standard MySQL Java connector libraries and can therefore run either on the same server as the database and Java Applet or on separate server. Due to required interconnection with Vodafone’s MMSC and their firewall requirements, the application had to be implemented on the same server as MOSES runs on.
Ericsson MMC MM7 third-party API
The MMSC used by Vodafone is delivered by Ericsson and is referred to as the Ericsson MMC. For interconnection between the MOSES MMS-module and the MMC we used Ericsson MMC MM7 third-party API, supplied by Vodafone.
The Ericsson MMC provides the ability to send and receive multimedia messages from a third-party application, such as MOSES. The API provides a simplified programming interface to the MMC using MM7 functionality in a ready-to- use format. It handles connection and authentication with the MMC, it can send MMS to the MMC and it can receive MMS from the MMC. Another function is that it can compose and decompose a multimedia message in MM7 format. The MM7 protocol uses SOAP, XML and HTTP to interface to the MMC as the table below depicts.
Table of contents :
1.3.2 Moses MMS-module
1.4 Thesis methodology
1.5 Technical description MMS
1.5.1 Basic MMS structure
1.5.2 Synchronized Multimedia Integration Language, SMIL
1.5.3 Multipart Internet Mail Extension, MIME
1.5.4 Simple Object Access Protocol, SOAP
1.6 Existing MMS editors
2 System Description
2.1 Design overview
2.2.2 User rights
2.3.1 Slide editor
126.96.36.199 Slide tabs
188.8.131.52 Slide image
184.108.40.206 Slide information
220.127.116.11 Slide control
2.3.2 Content viewer
18.104.22.168 Content viewer design
22.214.171.124 Content viewer function
126.96.36.199 User upload function
2.3.3 Size and duration information
2.3.4 Send information
2.4 MOSES MMS-module
2.4.1 Ericsson MMC MM7 third-party API
2.4.2 MMS-Module work flow
2.5.2 Database relations
2.6 Design issues
2.6.1 Technical constraints
188.8.131.52 Image limitations
184.108.40.206 Audio limitations
220.127.116.11 Size limitations
2.6.2 Security issues
18.104.22.168 Portal security
22.214.171.124 Java applet security
126.96.36.199 Upload script
4 The future
4.1 Further development
4.2 The future of MMS
4.2.1 Mobile messaging future in numbers
7.1 List of appendices