Register now for Mobile Web Development and Advanced Mobile Web Development for Smartphones for Fall 2009. Classes meet 5:30pm - 9:30pm once a week for six weeks in Portland, Oregon.
See the Mobile Web Development curriculum or contact me for details.
Mobile MIME types identify the format of mobile web content: textual mobile markup documents, binary viewable and playable content like ringtones, wallpaper and videos and binary executable mobile applications intended for mobile devices.
Here are the most common mobile MIME types:
| MIME Type(s) | File Extension(s) | File Contents | Common Uses |
| application/vnd.wap.xhtml+xml application/xhtml+xml |
xhtml | XHTML-MP markup | Mobile web pages |
| text/html | html | HTML | Mobile web pages for smartphones |
| text/css | css | CSS1, CSS2 and Wireless CSS | Cascading style sheets for mobile web documents |
| text/vnd.wap.wml | wml | WML markup | Lightweight mobile web pages for older or low-end mobile devices |
| image/vnd.wap.wbmp | wbmp | Wireless Bitmap Image | Black-and-white image format used for older or low-end mobile devices that support only WML in the microbrowser. |
| text/vnd.wap.wmlscript | wmls | WML Script | Scripting language used with WML |
| text/vnd.sun.j2me.app-descriptor | jad | Java Application Descriptor | Metadata about a Java ME application for mobile devices. Contains URI to a JAR file that is the mobile application binary. |
| application/java-archive | Binary | Java Archive | Archive of compiled binary Java class files. Used as packaging format for Java ME mobile applications. |
| audio/x-midi | mid | MIDI Audio File | MIDI ringtones |
| audio/vnd.qcelp | qcp | QCELP Audio file | mobile audio |
| video/3gpp | 3gp | 3GP Video File | 3GP encoding for mobile video files |
| video/mp4 | mp4 | MPEG4 Video File | MPEG4 encoding for mobile video files |
| x-nokia-widget | wgz | Nokia Widget Archive | Home screen widget for Nokia mobile phones |
| application/vnd.wap.mms-message | mms | Binary MMS in MMS Encapsulation Protocol format | Viewing and sending MMS messages |
| application/vnd.symbian.install | sis | Symbian installer | Older file format for Symbian application installers |
| x-epoc/x-sisx-app | sisx | Symbian installer | Newer file format for Symbian application installers |
MIME types are used in several ways during a HTTP transaction between a mobile web browser and web server:
Mobile Web Browser: The mobile web browser sends a list of supported MIME types as the value of the Accept HTTP request header. The Accept request header value advertises the mobile content types supported on the device. Web servers optimized for delivering mobile content use the header’s value (and also a device database) to determine the best content to send in the HTTP response.
Web Server: The MIME type associated with a web document is used as the value of the Content-Type HTTP response header. The web server is configured to associate file extensions of mobile content with mobile MIME types. (Web servers generally do not come pre-configured to support mobile MIME types. The webmaster must manually add the MIME types.) When the web server sends a file to a mobile browser and uses the correct mobile MIME type, the mobile browser client knows how to interpret the file: as a web page, mobile application, wallpaper, ringtone, video, etc.
Web Server Template Languages: The MIME type associated with for a document can be manually overridden using a server-side template language like PHP. Here is a PHP example that uses the built-in header function to override the MIME type for a HTTP response:
<?php
header('Content-Type: text/vnd.wap.wml');
?>
It is important to correctly configure mobile MIME types on the web server because the mobile browser uses the MIME type (value of Content-Type HTTP response header) to determine whether the web file is viewed in the browser or by launching phone UI (to set a GIF as wallpaper, etc.) or by launching a native application (playing a video in the video player, etc).
Come by and check out my talk at JavaOne 2009 in San Francisco on Wednesday June 3rd. I’m presenting Java ME code samples and cool featurephone demos of mobile application features typically seen only on smartphones.
Smart Phone Behavior on a Feature Phone Budget, Using Java™ Platform, Micro Edition
Mobile application features typical in smart phones can also be implemented on mass-market feature phones by use of Java™ Platform, Micro Edition (Java ME platform) and Java Platform, Enterprise Edition (Java EE platform) technology-based back-end services. This BoF explores the multimodality and rich user interface of a search-driven ODP application written in the Java ME programming language and broadly ported to mass-market feature phones. Multimodality enables users to search, browse, and discover by using familiar activities on a mobile device: saying a phrase, entering text, or snapping a photo.
The presentation includes demos of Java ME technology-based feature phone devices for voice recording, image capture, location awareness, and advanced mapping functionality in a modern mobile search application. It also presents and analyzes snippets of Java ME code used to implement voice recording, image capture, location awareness, and advanced mapping.
Here are my presentation slides for JavaOne 2009: