Mobile development
Encyclopedia
Mobile application development is the process by which application software
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...

 is developed
Software development
Software development is the development of a software product...

 for small low-power handheld devices such as personal digital assistant
Personal digital assistant
A personal digital assistant , also known as a palmtop computer, or personal data assistant, is a mobile device that functions as a personal information manager. Current PDAs often have the ability to connect to the Internet...

s, enterprise digital assistant
Enterprise digital assistant
An enterprise digital assistant is a handheld computer, born of the personal digital assistant popularity which was adapted for extensive, more robust usage within the SME and Enterprise business applications as a data capture mobile device.Over the years, these business applications have grown...

s or mobile phone
Mobile phone
A mobile phone is a device which can make and receive telephone calls over a radio link whilst moving around a wide geographic area. It does so by connecting to a cellular network provided by a mobile network operator...

s. These applications are either pre-installed
Installation (computer programs)
Installation of a program is the act of putting the program onto a computer system so that it can be executed....

 on phones during manufacture, or downloaded by customers from various mobile software distribution platforms.

Execution environments

Android, iOS, BlackBerry
BlackBerry OS
BlackBerry OS is a proprietary mobile operating system, developed by Research In Motion for its BlackBerry line of smartphone handheld devices...

, HP webOS, Symbian OS, and Windows Mobile
Windows Mobile
Windows Mobile is a mobile operating system developed by Microsoft that was used in smartphones and Pocket PCs, but by 2011 was rarely supplied on new phones. The last version is "Windows Mobile 6.5.5"; it is superseded by Windows Phone, which does not run Windows Mobile software.Windows Mobile is...

 support typical application binaries as found on personal computers with code which executes in the native machine format of the processor (the ARM architecture
ARM architecture
ARM is a 32-bit reduced instruction set computer instruction set architecture developed by ARM Holdings. It was named the Advanced RISC Machine, and before that, the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit ISA in numbers produced...

 is a dominant design used on many current models). Windows Mobile
Windows Mobile
Windows Mobile is a mobile operating system developed by Microsoft that was used in smartphones and Pocket PCs, but by 2011 was rarely supplied on new phones. The last version is "Windows Mobile 6.5.5"; it is superseded by Windows Phone, which does not run Windows Mobile software.Windows Mobile is...

 can also be compiled to x86 executables for debugging on a PC without a processor emulator, and also supports the Portable Executable
Portable Executable
The Portable Executable format is a file format for executables, object code and DLLs, used in 32-bit and 64-bit versions of Windows operating systems. The term "portable" refers to the format's versatility in numerous environments of operating system software architecture...

 (PE) format associated with the .NET Framework
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

. Windows Mobile
Windows Mobile
Windows Mobile is a mobile operating system developed by Microsoft that was used in smartphones and Pocket PCs, but by 2011 was rarely supplied on new phones. The last version is "Windows Mobile 6.5.5"; it is superseded by Windows Phone, which does not run Windows Mobile software.Windows Mobile is...

, HP webOS and iOS offer free SDK
Software development kit
A software development kit is typically a set of software development tools that allows for the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform.It may be something as simple...

s and integrated development environment
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

s to developers.

Platform development environment

Each of the platforms for mobile applications also has an integrated development environment
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

 which provides tools to allow a developer to write, test and deploy applications into the target platform environment.

The following table summarises the elements in each of the development environments.
Programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

Debuggers available Emulator available Integrated development environment
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

 available
Cross-platform deployment Installer packaging options Development tool cost
Adobe AIR Action Script, HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

, CSS
CSS
-Computing:*Cascading Style Sheets, a language used to describe the style of document presentations in web development*Central Structure Store in the PHIGS 3D API*Closed source software, software that is not distributed with source code...

, JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

Flash Builder, Flash Professional iOS (iPhone, iPad, iPod touch), Android, BlackBerry The native distribution format of each platform Flash Builder, Flash Professional - Commercial licenses available Adobe AIR SDK (command line tool) - Free
Airplay SDK (Now Marmalade) C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

, C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

Visual Studio, XCode
Xcode
Xcode is a suite of tools, developed by Apple, for developing software for Mac OS X and iOS. Xcode 4.2, the latest major version, is available on the Mac App Store for free for Mac OS X 10.7 , and on the Apple Developer Connection website for free to registered developers Xcode is a suite of tools,...

All native: Android, BlackBerry, BREW, iOS (iPhone), Maemo, Palm/webOS, Samsung bada, Symbian, Windows Mobile 6.x and desktop, OSX The native distribution format of each platform Commercial licenses available
alcheMo Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

Debugger integrated in Visual Studio, Eclipse or XCode Emulator is available in corresponding IDE Visual Studio, Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...

, XCode
Xcode
Xcode is a suite of tools, developed by Apple, for developing software for Mac OS X and iOS. Xcode 4.2, the latest major version, is available on the Mac App Store for free for Mac OS X 10.7 , and on the Apple Developer Connection website for free to registered developers Xcode is a suite of tools,...

Android, BREW, iOS (iPhone), Windows Mobile The native distribution format of each platform Commercial licenses available
Android Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 but portions of code can be in C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

, C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

Debugger integrated in Eclipse, standalone debugging monitor available Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...

, Project Kenai Android plugin for NetBeans
Android only, because of Dalvik VM, March 2009 apk Free
Application Craft JavaScript, HTML5, CSS , Emulator used is Ripple Cloud Based IDE All platforms: Android, iOS, Blackberry, Windows Mobile, Bada, WebOS, Symbian. Mobile, Desktop and Tablet Cloud/ browser based Free and Open Source
Appcelerator JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

Yes, in Titanium Studio, currently in beta. Emulator is available using 3rd party tools Internal SDK Android, iPhone; BlackBerry planned The native distribution format of each platform Apache 2.0 license, commercial licenses available
Appception HTML5, CSS
CSS
-Computing:*Cascading Style Sheets, a language used to describe the style of document presentations in web development*Central Structure Store in the PHIGS 3D API*Closed source software, software that is not distributed with source code...

, JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

Cloud-based IDE Android The native distribution format of each platform Free and Commercial licenses available
appMobi HTML5 (JavaScript,CSS3,HTML5) Yes, XDK (Google Chrome App Store) Yes, In XDK Integrates with developer's preferred tool (VS, Notepad ++, VI) iOs, Android, HTML5 Web Apps, HTML5 Hybrid Apps The native distribution format of each platform No Charge
Aqua C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

, C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

, JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

Visual Studio, XCode
Xcode
Xcode is a suite of tools, developed by Apple, for developing software for Mac OS X and iOS. Xcode 4.2, the latest major version, is available on the Mac App Store for free for Mac OS X 10.7 , and on the Apple Developer Connection website for free to registered developers Xcode is a suite of tools,...

, Eclipse
Eclipse
An eclipse is an astronomical event that occurs when an astronomical object is temporarily obscured, either by passing into the shadow of another body or by having another body pass between it and the viewer...

Android, BlackBerry Playbook, iOS, Palm/webOS, Samsung bada, Windows Mobile 6.x, Windows Desktop The native distribution format of each platform Free & commercial licenses available
Basic4android Visual Basic
Visual Basic
Visual Basic is the third-generation event-driven programming language and integrated development environment from Microsoft for its COM programming model...

Yes Android apk Commercial licenses available
BatteryTech C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

, C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

Native Platform Emulators (iOS, Android...) Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...

, Visual Studio, XCode
Xcode
Xcode is a suite of tools, developed by Apple, for developing software for Mac OS X and iOS. Xcode 4.2, the latest major version, is available on the Mac App Store for free for Mac OS X 10.7 , and on the Apple Developer Connection website for free to registered developers Xcode is a suite of tools,...

Android, iOS (iPhone), Windows, OSX The native distribution format of each platform Commercial licenses available
Bedrock
Metismo
Metismo is a mobile middleware developer founded in August 2007 by John Chasey, Glenn Broadway, Nick Reed and Matthew Cope who previously had been employed at mobile game studio IOMO, a subsidiary of InfoSpace....

 now webMethods Mobile Designer
Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...

Java ME, Android, BREW, BlackBerry, Nintendo DS, iOS (iPhone/iPad), Palm/webOS, Sony PSP, Samsung bada, Symbian, Windows Mobile, Windows Phone 7, Windows Desktop, OSX The native distribution format of each platform Commercial licenses available
BlackBerry
BlackBerry
BlackBerry is a line of mobile email and smartphone devices developed and designed by Canadian company Research In Motion since 1999.BlackBerry devices are smartphones, designed to function as personal digital assistants, portable media players, internet browsers, gaming devices, and much more...

Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

Debugger integrated in IDE Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...

BlackBerry only, because of RIM API alx, cod Free
Blueprint XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 routed through Yahoo Mobile servers and displayed in native browsers
None beyond a schema check N/A, translates to web or mobile as needed N/A, any XML editor N/A, translates to web or mobile as needed Combined config upload at Yahoo with self-hosted dynamic XML
Dynamic XML
Dynamic XML means dynamic data that is in an XML format.Another popular use of this term also refers to information which is extracted from a database and placed into XML format. Clearly this is a completely different case as it does not involve any updates to the data – and is in fact static data...

Any XML editor
BREW C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

; the APIs are provided in C with a C++ style interface
Debugger support for the native ARM target code.Can use Visual Studio to debug the x86 testing code No Emulator for the target ARM code, has a simulator for the x86 testing code Visual Studio 6.0, Visual Studio 2003 .NET, Visual Studio 2005 Compile for the specific BREW version available on the handset OTA
Over-the-air programming
Over-the-air programming refers to various methods of distributing new software updates or configuration settings to devices like cellphones and set-top boxes...

Related dev fees typically needed for Brew App Certification - VeriSign annual fee for becoming a certified developer. Realview ARM compiler for BREW (the free GNU C/C++ is available, but with limited function and support). TRUE BREW testing fee for distributing the application.
Canappi mdsl, easy to learn programming language dedicated to mobile solutions, from which iOS, Android, ... code is generated Native Platform Debuggers (iOS, Android...) Native Platform Emulators (iOS, Android...) Eclipse, with mdsl plugin, Apple Interface Builder and Balsamiq for graphical UI design iOS, Android. Design tools like Interface Builder can be used in a cross-platform way. You create your GUI once in Interface Builder you generate code for all platform, all resolutions from a single file. Native deployment for each platform Free & commercial licenses available
Celsius Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...

Java ME, Android, BlackBerry, iPhone, Symbian, Windows Mobile The native distribution format of each platform of a Java binary Commercial licenses available
CoStore Web-based drag-and-drop N/A Web-based app builder iOS, Android, HTML5 Native deployment for each platform or web-based Free unlimited trial; commercial licenses available for deployment
Corona SDK Lua Xcode
Xcode
Xcode is a suite of tools, developed by Apple, for developing software for Mac OS X and iOS. Xcode 4.2, the latest major version, is available on the Mac App Store for free for Mac OS X 10.7 , and on the Apple Developer Connection website for free to registered developers Xcode is a suite of tools,...

iOS, Android, NOOK Color
Nook Color
The Nook Color is a color version of the Nook e-reader device by Barnes & Noble. It is a 7-inch tablet with full-color multitouch touchscreen input. The device is designed for full-color viewing of books, newspapers, magazines, and children's picture books...

Native deployment for each platform Free unlimited trial; commercial licenses available for deployment
CrossMobs C/C++
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

Visual Studio, Eclipse, Codeblocks, Xcode iOS and Android Native deployment for each platform Commercial licenses available
DragonRAD
DragonRAD
DragonRAD is a cross-platform mobile development tool for building, deploying, and managing enterprise mobile applications across a variety of smartphones and tablets. DragonRAD is developed by Seregon Solutions Inc. and was released in September 2010...

Visual drag & drop tiles Uses 3rd party emulators Proprietary IDE Android, BlackBerry, Windows Mobile OTA deployment
Over-the-air programming
Over-the-air programming refers to various methods of distributing new software updates or configuration settings to devices like cellphones and set-top boxes...

Free & commercial licenses available
FeedHenry HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

, CSS
CSS
-Computing:*Cascading Style Sheets, a language used to describe the style of document presentations in web development*Central Structure Store in the PHIGS 3D API*Closed source software, software that is not distributed with source code...

, JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

Studio includes full IDE and Eclipse Plug-in Apple iPhone & iPad, Android, Windows Phone 7, Blackberry, Nokia WRT. The native distribution format of each platform Free, Professional and Enterprise Plans available
Gideros Mobile Lua No Proprietary IDE iPhone
IPhone
The iPhone is a line of Internet and multimedia-enabled smartphones marketed by Apple Inc. The first iPhone was unveiled by Steve Jobs, then CEO of Apple, on January 9, 2007, and released on June 29, 2007...

, iPad
IPad
The iPad is a line of tablet computers designed, developed and marketed by Apple Inc., primarily as a platform for audio-visual media including books, periodicals, movies, music, games, and web content. The iPad was introduced on January 27, 2010 by Apple's then-CEO Steve Jobs. Its size and...

, iPod Touch
IPod Touch
The iPod Touch is a portable media player, personal digital assistant, handheld game console, and Wi-Fi mobile device designed and marketed by Apple Inc. The iPod Touch adds the multi-touch graphical user interface to the iPod line...

, Android
The native distribution format of each platform Free & commercial licenses available
iOS SDK Objective-C
Objective-C
Objective-C is a reflective, object-oriented programming language that adds Smalltalk-style messaging to the C programming language.Today, it is used primarily on Apple's Mac OS X and iOS: two environments derived from the OpenStep standard, though not compliant with it...

Debugger integrated in Xcode IDE Bundled with iPhone SDK, integrated with Xcode IDE Xcode
Xcode
Xcode is a suite of tools, developed by Apple, for developing software for Mac OS X and iOS. Xcode 4.2, the latest major version, is available on the Mac App Store for free for Mac OS X 10.7 , and on the Apple Developer Connection website for free to registered developers Xcode is a suite of tools,...

iPhone
IPhone
The iPhone is a line of Internet and multimedia-enabled smartphones marketed by Apple Inc. The first iPhone was unveiled by Steve Jobs, then CEO of Apple, on January 9, 2007, and released on June 29, 2007...

, iPad
IPad
The iPad is a line of tablet computers designed, developed and marketed by Apple Inc., primarily as a platform for audio-visual media including books, periodicals, movies, music, games, and web content. The iPad was introduced on January 27, 2010 by Apple's then-CEO Steve Jobs. Its size and...

, iPod Touch
IPod Touch
The iPod Touch is a portable media player, personal digital assistant, handheld game console, and Wi-Fi mobile device designed and marketed by Apple Inc. The iPod Touch adds the multi-touch graphical user interface to the iPod line...

Only via App Store, needs review and approval by Apple Inc. Tools are free for an Intel-based Mac. Simulator testing is free, but installing on a device needs a fee for a developer signing key
iOS SDK Object Pascal
Object Pascal
Object Pascal refers to a branch of object-oriented derivatives of Pascal, mostly known as the primary programming language of Embarcadero Delphi.-Early history at Apple:...

Debugger integrated in Xcode IDE Included in Delphi XE2 professional or higher Embarcadero Delphi XE2 iPhone
IPhone
The iPhone is a line of Internet and multimedia-enabled smartphones marketed by Apple Inc. The first iPhone was unveiled by Steve Jobs, then CEO of Apple, on January 9, 2007, and released on June 29, 2007...

, iPad
IPad
The iPad is a line of tablet computers designed, developed and marketed by Apple Inc., primarily as a platform for audio-visual media including books, periodicals, movies, music, games, and web content. The iPad was introduced on January 27, 2010 by Apple's then-CEO Steve Jobs. Its size and...

, iPod Touch
IPod Touch
The iPod Touch is a portable media player, personal digital assistant, handheld game console, and Wi-Fi mobile device designed and marketed by Apple Inc. The iPod Touch adds the multi-touch graphical user interface to the iPod line...

Only via App Store, needs review and approval by Apple Inc. Development requires Intel-based Mac besides the IDE on Windows. Design is on Windows, Compilation and deployment has to be done on Mac. Simulator testing is free, but installing on a device needs a fee for a developer signing key
Java ME Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

Free emulator, Sun Java Wireless Toolkit, mpowerplayer
Mpowerplayer
mpowerplayer is a technology-startup company based in Reston, Virginia, just outside Washington, D.C.. The company offers a solution for the video game industry to enable their customers to browse and demo mobile games on their web browser before buying them...

Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...

, LMA NetBeans
NetBeans
NetBeans refers to both a platform framework for Java desktop applications, and an integrated development environment for developing with Java, JavaScript, PHP, Python, Groovy, C, C++, Scala, Clojure, and others...

 Mobility Pack
Yes although many VM implementations have device specific bugs necessitating separate builds Jad
JAD (file format)
Java Application Descriptor files describe the MIDlets that are distributed as JAR files. JAD files are commonly used to package Java applications or games that can be downloaded to mobile phones...

/Jar
JAR (file format)
In software, JAR is an archive file format typically used to aggregate many Java class files and associated metadata and resources into one file to distribute application software or libraries on the Java platform.JAR files are built on the ZIP file format and have the .jar file extension...

 packaging; PRC files under Palm OS
Free
JMango JMango N/A N/A JMango Flash IDE Java ME, Android, Bada, BlackBerry, iPhone, Windows Mobile 6, Windows Phone 7 The native distribution format of each platform Free
July Systems Mi™ Platform Java, HTML, Groovy, Freemarker, Java Script IDE – Eclipse with GUI Editor iOS, Android, Blackberry, WP7, Mobile Web, HTML5, QT Native distribution format for each platform Commercial licenses available
Kony Graphical Drag and Drop Yes, utilizes Native Platform Emulators( iOS, Android, BlackBerry
BlackBerry
BlackBerry is a line of mobile email and smartphone devices developed and designed by Canadian company Research In Motion since 1999.BlackBerry devices are smartphones, designed to function as personal digital assistants, portable media players, internet browsers, gaming devices, and much more...

, Windows Phone 7
Windows Phone 7
Windows Phone is a mobile operating system developed by Microsoft, and is the successor to its Windows Mobile platform, although incompatible with it. Unlike its predecessor, it is primarily aimed at the consumer market rather than the enterprise market...

)
Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...

-based
Yes. Support for full OS-native, hybrid, and wrapper applications. Includes Android, BlackBerry
BlackBerry
BlackBerry is a line of mobile email and smartphone devices developed and designed by Canadian company Research In Motion since 1999.BlackBerry devices are smartphones, designed to function as personal digital assistants, portable media players, internet browsers, gaming devices, and much more...

, iOS, Java ME, Palm/webOS, Symbian, Windows Phone 7
Windows Phone 7
Windows Phone is a mobile operating system developed by Microsoft, and is the successor to its Windows Mobile platform, although incompatible with it. Unlike its predecessor, it is primarily aimed at the consumer market rather than the enterprise market...

. Mobile web browser support (WML through to device-optimized HTML5)
The native distribution format of each platform Commercial licenses available
Lazarus
Lazarus (software)
Lazarus is a free cross-platform IDE which provides a Delphi-like development experience for Pascal and Object Pascal developers. It is developed for, and supported by, the Free Pascal compiler. Since early 2008, Lazarus has been available for Microsoft Windows, several Linux distributions,...

Object Pascal
Object Pascal
Object Pascal refers to a branch of object-oriented derivatives of Pascal, mostly known as the primary programming language of Embarcadero Delphi.-Early history at Apple:...

Yes, can debug in IDE via ActiveSync for Windows CE Uses the emulators of the platforms Lazarus IDE
Lazarus (software)
Lazarus is a free cross-platform IDE which provides a Delphi-like development experience for Pascal and Object Pascal developers. It is developed for, and supported by, the Free Pascal compiler. Since early 2008, Lazarus has been available for Microsoft Windows, several Linux distributions,...

, including integrated GUI designer and debugger
Compiled language
Compiled language
A compiled language is a programming language whose implementations are typically compilers , and not interpreters ....

 available for Windows CE
Windows CE
Microsoft Windows CE is an operating system developed by Microsoft for embedded systems. Windows CE is a distinct operating system and kernel, rather than a trimmed-down version of desktop Windows...

, Linux-based devices, SymbianOS port in development
The native distribution format of each platform Free
Macromedia Flash Lite ActionScript
ActionScript
ActionScript is an object-oriented language originally developed by Macromedia Inc. . It is a dialect of ECMAScript , and is used primarily for the development of websites and software targeting the Adobe Flash Player platform, used on Web pages in the form of...

Bundled with IDE Macromedia Flash MX2004/8, Eclipse SIS / CAB deployment or OTA
Over-the-air programming
Over-the-air programming refers to various methods of distributing new software updates or configuration settings to devices like cellphones and set-top boxes...

/IR/Bluetooth SWF files
Varies, free but limited with MTASC
MTASC
MTASC is an ActionScript 2.0 compiler written in the Objective Caml programming language by the company Motion-Twin. It is free software and can be used alone or with other tools like swfmill to produce SWF files, which contain interactive multimedia content playable with the Flash Player...

Microbrowser
Microbrowser
A mobile browser, also called a microbrowser, minibrowser, or wireless internet browser , is a web browser designed for use on a mobile device such as a mobile phone or PDA. Mobile browsers are optimized so as to display Web content most effectively for small screens on portable devices...

 based
XHTML
XHTML
XHTML is a family of XML markup languages that mirror or extend versions of the widely-used Hypertext Markup Language , the language in which web pages are written....

 (WAP
Wireless Application Protocol
Wireless Application Protocol is a technical standard for accessing information over a mobile wireless network.A WAP browser is a web browser for mobile devices such as mobile phones that uses the protocol.Before the introduction of WAP, mobile service providers had limited opportunities to offer...

 2.0), WML
Wireless Markup Language
Wireless Markup Language , based on XML, is a markup language intended for devices that implement the Wireless Application Protocol specification, such as mobile phones. It provides navigational support, data input, hyperlinks, text and image presentation, and forms, much like HTML...

 (WAP
Wireless Application Protocol
Wireless Application Protocol is a technical standard for accessing information over a mobile wireless network.A WAP browser is a web browser for mobile devices such as mobile phones that uses the protocol.Before the introduction of WAP, mobile service providers had limited opportunities to offer...

 1.2)
Many Many Basic page rendering with per page customizations for different browsers N/A Free
Meme IDE Memescript easy to learn programming language Validation is provided in the problems view Yes, Android emulator can be integrated Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...

 RCP
Android, Windows Mobile
Windows Mobile
Windows Mobile is a mobile operating system developed by Microsoft that was used in smartphones and Pocket PCs, but by 2011 was rarely supplied on new phones. The last version is "Windows Mobile 6.5.5"; it is superseded by Windows Phone, which does not run Windows Mobile software.Windows Mobile is...

The native distribution format if each platform Free for development
MobiAccess
MobiAccess
MobiAccess is a cross-platform mobile development framework. It is based on a proprietary programming language, somewhat similar to C#, compiled to various mobile platforms...

CoBaBe, easy to learn and dedicated to mobile solutions. Six platform in one language. Very similar to .net No Yes, only Windows (Apple upcoming) MobiAccess - proprietary IDE, internal SDK iOS (iPhone, iPad,), Android, BlackBerry, WP7, Windows Mobile, PDA, Qt (Linux, Symbian) The Native Distribution format for all platforms Free and Commercial licenses available
MobiFlex Visual drag & drop tiles N/A N/A, runs on phone in seconds Web Portal, comes with data management add-ins Android, iPhone N/A Free for development only
MobileNationHQ Visual paradigm/javascript N/A N/A instant cloud-based deployment Integrated SaaS environment Android, iPhone N/A Free and Commercial licenses available
Moscrif JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

N/A Bundled with Moscrif SDK Internal SDK (Mono based) All native: Android, iOS (iPhone), Samsung bada, Symbian, Windows Mobile The native distribution format of each platform Free & commercial licenses available
Mono for Android C# Visual Studio 2005 and MonoDevelop Android The native distribution format of the platform
MonoTouch C# Visual Studio 2005 and MonoDevelop iOS The native distribution format of the platform
MoSync
MoSync
MoSync is an OS-independent virtual platform and software development kit for mobile applications. It is integrated with the Eclipse development environment, and is provided as a cross-platform mobile development SDK under the GPL version 2 license....

C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

, C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

, Lua, HTML5 , CSS, JavaScript
Eclipse, Visual Studio 2005 and later, MoBuild w/ text editors Android, Java ME, Moblin, iOS (iPhone), Smartphone 2003, Symbian, Windows Mobile (Pocket PC), Blackberry (experimental) SIS, CAB, JAD, JAR, APK, OTA
Over-the-air programming
Over-the-air programming refers to various methods of distributing new software updates or configuration settings to devices like cellphones and set-top boxes...

 deployment
Free, GPL 2.0, Free Indie Subscription; commercial subscription available
NeoMAD Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

Uses 3rd party emulators Eclipse and Netbeans plugin Java ME, Android, BlackBerry, Windows Phone 7, iOS (iPhone) and Samsung bada coming soon The native distribution format of each platform Commercial licenses available
.NET Compact Framework
.NET Compact Framework
The Microsoft .NET Compact Framework is a version of the .NET Framework that is designed to run on resource constrained mobile/embedded devices such as personal digital assistants , mobile phones, factory controllers, set-top boxes, etc...

C#, VB.NET
Visual Basic .NET
Visual Basic .NET , is an object-oriented computer programming language that can be viewed as an evolution of the classic Visual Basic , which is implemented on the .NET Framework...

, Basic4ppc
Basic4ppc
Basic4ppc is a programming language for Smartphones and Pocket PC handheld computers running Windows Mobile operating system, by Anywhere software...

Free emulator, source code available, also bundled with IDE Visual Studio 2008, 2005, 2003, Basic4ppc
Basic4ppc
Basic4ppc is a programming language for Smartphones and Pocket PC handheld computers running Windows Mobile operating system, by Anywhere software...

 IDE
Windows Mobile
Windows Mobile
Windows Mobile is a mobile operating system developed by Microsoft that was used in smartphones and Pocket PCs, but by 2011 was rarely supplied on new phones. The last version is "Windows Mobile 6.5.5"; it is superseded by Windows Phone, which does not run Windows Mobile software.Windows Mobile is...

, Windows CE, Symbian-based devices via third party tools
OTA
Over-the-air programming
Over-the-air programming refers to various methods of distributing new software updates or configuration settings to devices like cellphones and set-top boxes...

 deployment, CAB files, ActiveSync
Most tools free, but commercial editions of Visual Studio needed for visual designers
NS BASIC/App Studio Visual Basic
Visual Basic
Visual Basic is the third-generation event-driven programming language and integrated development environment from Microsoft for its COM programming model...

No, Test in Chrome or Safari Browser Proprietary IDE iPhone, iPad, iPad Touch, Android 2.1+ Java Web App or native deployment using Phonegap Evaluation Version & Commercial Licenses available
OpenPlug
OpenPlug
OpenPlug is a French company focused on mobile applications development tools and software for mobile phones. The company was founded in August 2002 by Eric Baissus and David Lamy-Charrier...

ActionScript
ActionScript
ActionScript is an object-oriented language originally developed by Macromedia Inc. . It is a dialect of ECMAScript , and is used primarily for the development of websites and software targeting the Adobe Flash Player platform, used on Web pages in the form of...

, XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

OpenPlug ELIPS plugin for Adobe Flash Builder Android, iOS (iPad, iPhone, iPod Touch), Symbian, Windows Mobile The native distribution format of each platform Free & commercial licenses available
Palm OS
Palm OS
Palm OS is a mobile operating system initially developed by Palm, Inc., for personal digital assistants in 1996. Palm OS is designed for ease of use with a touchscreen-based graphical user interface. It is provided with a suite of basic applications for personal information management...

C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

, C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

, Pascal
Pascal (programming language)
Pascal is an influential imperative and procedural programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structuring.A derivative known as Object Pascal...

OS 1.0 - 4.1: Free Emulator provided by PalmSource (Access); OS 5.0: - 5.4 Device-specific Simulators provided by Palm (palmOne) Palm OS Development System (Eclipse), CodeWarrior
CodeWarrior
CodeWarrior is an integrated development environment for the creation of software that runs on a number of embedded systems. Prior to the acquisition of the product by Freescale Semiconductor, versions existed for Macintosh, Microsoft Windows, Linux, Solaris, PlayStation 2, Nintendo GameCube,...

, PocketStudio
PocketStudio
PocketStudio by Winsoft is an IDE supporting rapid application development for Palm OS and related operating systems like Garnet OS or Access Linux Platform...

, HB++, Satellite Forms
Palm OS
Palm OS
Palm OS is a mobile operating system initially developed by Palm, Inc., for personal digital assistants in 1996. Palm OS is designed for ease of use with a touchscreen-based graphical user interface. It is provided with a suite of basic applications for personal information management...

 handhelds, or Windows Mobile with StyleTap emulator
PRC
PRC (Palm OS)
PRC is a container format for code databases in Palm OS, Garnet OS and Access Linux Platform. Its structure is similar to PDB databases. Usually, a PRC file is a flat representation of a Palm OS application that is stored as forked database on the PDA....

 files, PalmSource Installer (.psi)
Free (POSE or GCC for Palm OS), or commercial (CodeWarrior), or various commercial rapid-development frameworks
Particle SDK Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

, ActionScript
ActionScript
ActionScript is an object-oriented language originally developed by Macromedia Inc. . It is a dialect of ECMAScript , and is used primarily for the development of websites and software targeting the Adobe Flash Player platform, used on Web pages in the form of...

Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...

 plugin with GUI editor
Android, BlackBerry, iOS, webOS, and Windows Phone 7 mobile devices plus Flash, HTML5 web apps The native distribution format of each platform Currently in free beta. Commercial license will be available.
PhoneGap
PhoneGap
PhoneGap is an open-source mobile development framework developed by Nitobi Software. It enables software programmers to build applications for mobile devices using JavaScript, HTML5 and CSS3, instead of often less-known languages such as Objective-C...

HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

, CSS
CSS
-Computing:*Cascading Style Sheets, a language used to describe the style of document presentations in web development*Central Structure Store in the PHIGS 3D API*Closed source software, software that is not distributed with source code...

, JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

No, 3rd party tools No, 3rd party tools iPhone, Android, BlackBerry, Symbian, Palm The native distribution format of each platform MIT license
Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

Add-on to Nokia Emulator Several, including plugins for Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...

Interpreted language
Interpreted language
Interpreted language is a programming language in which programs are 'indirectly' executed by an interpreter program. This can be contrasted with a compiled language which is converted into machine code and then 'directly' executed by the host CPU...

 available natively only on Nokia Series60 (and desktops) though ports exist to other mobile platforms, including PalmOS
Sis deployment with py2sis or can use Python Runtime Free
Qt SDK C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

, QML
QML
QML is a JavaScript-based, declarative language for designing user interface–centric applications. It is part of Qt Quick, the UI creation kit developed by Nokia within the Qt framework...

Qt Creator
Qt Creator
Qt Creator is a cross-platform C++ integrated development environment which is part of the Qt SDK. It includes a visual debugger and an integrated GUI layout and forms designer. The editor's features includes syntax highlighting and autocompletion, but not tabs. Qt Creator uses the C++ compiler...

Symbian platform, Maemo
Maemo
Maemo is a software platform developed by the Maemo community for smartphones and Internet tablets. It is based on the Debian Linux distribution, but has no relation to it...

, MeeGo, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, Windows, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

The native distribution format of each platform Free & commercial licenses available
Resco MobileForms Toolkit C# Visual Studio Windows Mobile (Pocket PC), Windows CE, Android, iOS, Smartphone The native distribution format of each platform Free & commercial licenses available
Rhomobile
Rhodes Framework
is a framework for building native applications that can run on a variety of smartphones. It is released under the MIT license. Rhodes uses a Model View Controller pattern. Views are written in HTML . Controllers are written in Ruby....

Ruby
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...

 with HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

 interface features compiled through an interpreter into native applications.
N/A, applications can run in Win32 runner, or in device emulators for supported platforms. xCode or Eclipse, on-demand RhoHub version includes full IDE Yes, supports iOS (incl. 3.0) on iPhone and iPad, Windows Mobile 6.1 Professional, Mobile Windows 6.0 Standard, BlackBerry 4.6, 4.7, 5.0, 6.0 (BlackBerry 4.2 and 4.5 supported but database access is very slow on these devices), Symbian and Android 1.6 and higher OTA
Over-the-air programming
Over-the-air programming refers to various methods of distributing new software updates or configuration settings to devices like cellphones and set-top boxes...

 deployment, iOS through App store, .SIS, .CAB, .APK, .COD
Rhodes is free and open source under the MIT License, RhoSync is under GPL or commercial, Commercial support available. Subscription for RhoHub
Smartface Platform
Smartface
Smartface Platform is drag-and-drop cross-platform mobile application development and management tool from Mobinex, and first released on 2006. Smartface Designer, the component of Smartface Platform enables visual development of mobile applications with drag-and-drop actions and interactive wizards...

Drag-and-drop tools and action editing No, not needed Smartface Designer Yes: Android, BlackBerry, J2ME, Symbian S60 The native distribution format of each platform Community licenses available
Symbian
Symbian
Symbian is a mobile operating system and computing platform designed for smartphones and currently maintained by Accenture. The Symbian platform is the successor to Symbian OS and Nokia Series 60; unlike Symbian OS, which needed an additional user interface system, Symbian includes a user...

C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

Free Emulator Many choices
Symbian
Symbian is a mobile operating system and computing platform designed for smartphones and currently maintained by Accenture. The Symbian platform is the successor to Symbian OS and Nokia Series 60; unlike Symbian OS, which needed an additional user interface system, Symbian includes a user...

Compile per target SIS deployment Commercial and free tools available
TotalCross Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...

, TKN Mobile Studio for TotalCross
Android, BlackBerry, iOS (iPhone, iPad), Palm OS, Windows Mobile. Windows Phone 7, Symbian planned The native distribution format of each platform (cab, jad, apk, pdb/prc, deb) SDK is open source and free for desktop development. VM for target devices must be licensed
WebORB Integration Server
WebORB Integration Server
WebORB is an integration server developed and maintained by Midnight Coders Incorporated. It is used in SOA/Rich Internet Application development projects to connect browser clients and mobile clients with backend services and databases...

C#,VB.NET, Java, PHP, ActionScript, JavaScript, Objective-C, XML Uses emulator for corresponding mobile SDKs Works with Eclipse, Visual Studio, intelliJ IDEA and Amethyst IDE Android, iOS (iPhone/iPad), BlackBerry Playbook, Windows Phone7 The native distribution format of each platform Free development licenses; Free and Commercial deployment licenses
webOS JavaScript, CSS, HTML, C and C++ through the PDK Free emulator Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...

webOS, Palm only OTA
Over-the-air programming
Over-the-air programming refers to various methods of distributing new software updates or configuration settings to devices like cellphones and set-top boxes...

 deployment, webOS through App store, Web URL, Precentral, .ipk
Free
WinDev Mobile WLanguage WinDev Mobile, Android DSK Android, Windows Mobile
Windows Mobile
Windows Mobile is a mobile operating system developed by Microsoft that was used in smartphones and Pocket PCs, but by 2011 was rarely supplied on new phones. The last version is "Windows Mobile 6.5.5"; it is superseded by Windows Phone, which does not run Windows Mobile software.Windows Mobile is...

OTA
Over-the-air programming
Over-the-air programming refers to various methods of distributing new software updates or configuration settings to devices like cellphones and set-top boxes...

 deployment, apk, CAB files, ActiveSync
Commercial licenses available
Windows Mobile
Windows Mobile
Windows Mobile is a mobile operating system developed by Microsoft that was used in smartphones and Pocket PCs, but by 2011 was rarely supplied on new phones. The last version is "Windows Mobile 6.5.5"; it is superseded by Windows Phone, which does not run Windows Mobile software.Windows Mobile is...

C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

, C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

Free emulator (source code available), also bundled with IDE Visual Studio 2010, 2008, 2005, eMbedded VC++ (free), Satellite Forms Windows Mobile
Windows Mobile
Windows Mobile is a mobile operating system developed by Microsoft that was used in smartphones and Pocket PCs, but by 2011 was rarely supplied on new phones. The last version is "Windows Mobile 6.5.5"; it is superseded by Windows Phone, which does not run Windows Mobile software.Windows Mobile is...

, Windows FU, Windows CE
OTA
Over-the-air programming
Over-the-air programming refers to various methods of distributing new software updates or configuration settings to devices like cellphones and set-top boxes...

 deployment, CAB files, ActiveSync
Free command-line tools or eMbedded VC++, or Visual Studio (Standard edition or better)
Windows Phone
Windows Phone
Windows Phone is a mobile operating system developed by Microsoft, and is the successor to its Windows Mobile platform, although incompatible with it. Unlike its predecessor, it is primarily aimed at the consumer market rather than the enterprise market...

C# Free emulator, also bundled with IDE Visual Studio 2010 Windows Phone
Windows Phone
Windows Phone is a mobile operating system developed by Microsoft, and is the successor to its Windows Mobile platform, although incompatible with it. Unlike its predecessor, it is primarily aimed at the consumer market rather than the enterprise market...

OTA
Over-the-air programming
Over-the-air programming refers to various methods of distributing new software updates or configuration settings to devices like cellphones and set-top boxes...

 deployment, XAP files
Worklight Choice of standard HTML5, CSS
CSS
-Computing:*Cascading Style Sheets, a language used to describe the style of document presentations in web development*Central Structure Store in the PHIGS 3D API*Closed source software, software that is not distributed with source code...

 and JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

, native languages or a combination of both
Bundled with the IDE as well as device SDK integration Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...

-based plug-in
Yes, supports Android, BlackBerry
BlackBerry
BlackBerry is a line of mobile email and smartphone devices developed and designed by Canadian company Research In Motion since 1999.BlackBerry devices are smartphones, designed to function as personal digital assistants, portable media players, internet browsers, gaming devices, and much more...

, iOS and Windows Phone 7
Windows Phone 7
Windows Phone is a mobile operating system developed by Microsoft, and is the successor to its Windows Mobile platform, although incompatible with it. Unlike its predecessor, it is primarily aimed at the consumer market rather than the enterprise market...

, as well as modern mobile browsers for web apps
The native distribution format of each platform Downloadable free evaluation version, commercial licenses available
Fivespark Web-based point and click N/A Preview in desktop browser Web-based app builder Android, BlackBerry
BlackBerry
BlackBerry is a line of mobile email and smartphone devices developed and designed by Canadian company Research In Motion since 1999.BlackBerry devices are smartphones, designed to function as personal digital assistants, portable media players, internet browsers, gaming devices, and much more...

, iOS and Windows Phone 7
Windows Phone 7
Windows Phone is a mobile operating system developed by Microsoft, and is the successor to its Windows Mobile platform, although incompatible with it. Unlike its predecessor, it is primarily aimed at the consumer market rather than the enterprise market...

 plus other modern mobile browsers
HTML5 OTA Free for development
Tiggr - Mobile Apps Builder Web-based, visual editor, HTML5, CSS
CSS
-Computing:*Cascading Style Sheets, a language used to describe the style of document presentations in web development*Central Structure Store in the PHIGS 3D API*Closed source software, software that is not distributed with source code...

, JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

, jQuery Mobile
JQuery Mobile
jQuery Mobile is a touch-optimized web framework currently being developed by the jQuery project team. The development focuses on creating a framework compatible with a wide variety of smartphones and tablets, made necessary by the growing-but-heterogenous tablet and smartphone market...

, PhoneGap
PhoneGap
PhoneGap is an open-source mobile development framework developed by Nitobi Software. It enables software programmers to build applications for mobile devices using JavaScript, HTML5 and CSS3, instead of often less-known languages such as Objective-C...

Yes, in special debug window No need, test right in browser or device Web-based, can also export to Eclipse or Maven project Mobile Web
Mobile Web
The Mobile Web refers to the use of Internet-connected applications, or browser-based access to the Internet from a mobile device, such as a smartphone or tablet computer, connected to a wireless network....

 (HTML/JS/CSS), iOS, Android, BlackBerry
BlackBerry
BlackBerry is a line of mobile email and smartphone devices developed and designed by Canadian company Research In Motion since 1999.BlackBerry devices are smartphones, designed to function as personal digital assistants, portable media players, internet browsers, gaming devices, and much more...

, Windows Phone 7
Windows Phone 7
Windows Phone is a mobile operating system developed by Microsoft, and is the successor to its Windows Mobile platform, although incompatible with it. Unlike its predecessor, it is primarily aimed at the consumer market rather than the enterprise market...

The native distribution format of each platform or mobile Web
Mobile Web
The Mobile Web refers to the use of Internet-connected applications, or browser-based access to the Internet from a mobile device, such as a smartphone or tablet computer, connected to a wireless network....

 (HTML/JS/CSS)
In free beta, subscription will be available in the future

Definition

"Testing
Software testing
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software...

 is the process of executing a program with the intent of finding errors". Mobile application testing involves testing of mobile applications across various platforms.

Need For Mobile Application Testing

Mobile Application Testing is one of the most important parts of mobile application development life cycle and the possibility of errors in the coding cannot be ignored. The mobile applications today deliver complex functionalities on platforms that have limited resource for computing, so testing needs to keep up to ensure quality.
The testing methods which are used for web based and desktop based applications are not sufficient to meet the testing needs of mobile application.

Types of testing supported

  • Compatibility testing
    Compatibility testing
    Compatibility testing, part of software non-functional tests, is testing conducted on the application to evaluate the application's compatibility with the computing environment...

    , Interoperability testing & Automation testing from hardware perspective.
  • Performance testing
    Performance testing
    In software engineering, performance testing is in general testing performed to determine how a system performs in terms of responsiveness and stability under a particular workload...

    , Stress testing
    Stress testing
    Stress testing is a form of testing that is used to determine the stability of a given system or entity. It involves testing beyond normal operational capacity, often to a breaking point, in order to observe the results...

    , Reliability testing, Functional testing
    Functional testing
    Functional testing is a type of black box testing that bases its test cases on the specifications of the software component under test. Functions are tested by feeding them input and examining the output, and internal program structure is rarely considered .Functional testing differs from system...

    , Security testing
    Security Testing
    Security testing is a process to determine that an information system protects data and maintains functionality as intended.The six basic security concepts that need to be covered by security testing are: confidentiality, integrity, authentication, availability, authorization and non-repudiation...

    , Load testing
    Load testing
    Load testing is the process of putting demand on a system or device and measuring its response. Load testing is performed to determine a system’s behavior under both normal and anticipated peak load conditions. It helps to identify the maximum operating capacity of an application as well as any...

    , Localization testing
    Localization testing
    Localization testing is a part of software testing process focused on internationalization and localization aspects of software. Localization is the process of adapting a globalized application to a particular culture/locale...

     & Usability Testing
    Usability testing
    Usability testing is a technique used in user-centered interaction design to evaluate a product by testing it on users. This can be seen as an irreplaceable usability practice, since it gives direct input on how real users use the system...

      from end user perspective.
  • Compatibility testing
    Compatibility testing
    Compatibility testing, part of software non-functional tests, is testing conducted on the application to evaluate the application's compatibility with the computing environment...

     - iPhone
    IPhone
    The iPhone is a line of Internet and multimedia-enabled smartphones marketed by Apple Inc. The first iPhone was unveiled by Steve Jobs, then CEO of Apple, on January 9, 2007, and released on June 29, 2007...

    , Android, Blackberry
    Blackberry
    The blackberry is an edible fruit produced by any of several species in the Rubus genus of the Rosaceae family. The fruit is not a true berry; botanically it is termed an aggregate fruit, composed of small drupelets. The plants typically have biennial canes and perennial roots. Blackberries and...

    , Windows, Palm OS
    Palm OS
    Palm OS is a mobile operating system initially developed by Palm, Inc., for personal digital assistants in 1996. Palm OS is designed for ease of use with a touchscreen-based graphical user interface. It is provided with a suite of basic applications for personal information management...

    , Symbian OS from OS perspective.
  • Data exchange and Synchronization testing, Communication testing (other types of testings involved).


Following areas are crucial and differ from desktop or regular web applications:
1. User Interface Testing:
User Interface of mobile devices is unique consisting of smaller screens that can be touchscreens and soft keyboards with navigation methods like hard keys, trackballs, and track wheels.
2. External Factors Testing:
Testing the impact of external factors like various network connections, SD card interactions,interrupts and miscellaneous device settings is important. Network connections may of type 2G
2G
2G is short for second-generation wireless telephone technology. Second generation 2G cellular telecom networks were commercially launched on the GSM standard in Finland by Radiolinja in 1991...

, 3G
3G
3G or 3rd generation mobile telecommunications is a generation of standards for mobile phones and mobile telecommunication services fulfilling the International Mobile Telecommunications-2000 specifications by the International Telecommunication Union...

, Wi-fi
Wi-Fi
Wi-Fi or Wifi, is a mechanism for wirelessly connecting electronic devices. A device enabled with Wi-Fi, such as a personal computer, video game console, smartphone, or digital audio player, can connect to the Internet via a wireless network access point. An access point has a range of about 20...

connection, network through USB connection. It is important to test an application's behavior both in the presence and absence of SD card and the application should indicate if the SD card is missing. Interrupts like phone calls and miscellaneous device settings must also be taken into consideration. Other interrupts are text messages, notifications like low battery, social media notifications (Facebook, Twitter), alarm clock, calender events.
3. Stress testing|Stress Testing:
Mobile applications have resource constraints compared to desktop applications like low device memory and power available. Efficient use of these resources becomes important.
Stress testing is of utmost important to uncover possible exceptions,deadlocks,hangs which might not get detected during functional and UI testing.
4. Security Testing:
It is important to test mobile web application security, security of sensitive data and behavior of application under various device permissions. Some issues related with security which differ from desktop applications at device level are:
  • Most of the mobile devices have a concept of one user. There is no switching between users, different user permissions, different user profiles.
  • configuring password or unlock pattern is up to user.
  • There is no guarantee that the user will configure their Wi-Fi to be secure. As a result, any communication of sensitive data should be done over SSL/TLS
    Transport Layer Security
    Transport Layer Security and its predecessor, Secure Sockets Layer , are cryptographic protocols that provide communication security over the Internet...

    .
  • The essential encryption should be done at application level because device won't handle it.
Application footprint testing should be done. It comprises of making hash files of device file structure with fingerprint analysis using tools like md5deep
Md5deep
md5deep is a software package used in the computer security, system administration and computer forensics communities for purposes of running large numbers of files through any of several different cryptographic digests...

 and ExamDiff
ExamDiff Pro
ExamDiff Pro is a software utility for visual file comparison and directory comparison. ExamDiff Pro runs on Microsoft Windows.ExamDiff Pro features a double-pane view that allows for side-by-side comparisons, with color-coded line numbers indicating whether each line is added, deleted, or changed...

.
The permission configuration of devices should also be taken into considerations while designing test cases. It should ensure that the application gets access to required device areas and if it doesn't then application must notify user to set permissions properly.
5. Compatibility Testing:
It ensures that the application works as intended with the selected device, OS , screen size, display and internal hardware. Interoperability Testing is a superset of compatibility testing
Compatibility testing
Compatibility testing, part of software non-functional tests, is testing conducted on the application to evaluate the application's compatibility with the computing environment...

 and integration testing.
6. Power consumption Testing:
Mobile applications may cause battery drainage.Device settings also can be responsible for drainage of battery life. It makes difficult to determine if the mobile application or the settings are the cause.
For instance, Nokia Energy profiler is a stand-alone test and measurement application which enables to monitor the battery consumption on target device.
7. Automated Testing:
It is done using an emulator and a performance testing
Performance testing
In software engineering, performance testing is in general testing performed to determine how a system performs in terms of responsiveness and stability under a particular workload...

 tool.
For instance, eggPlant
Eggplant (GUI testing tool)
Eggplant is a black-box GUI test automation tool, originally developed by Redstone Software starting in 2002. Redstone was acquired in 2008 by a UK-based company called TestPlant....

 is a QA
Quality Assurance
Quality assurance, or QA for short, is the systematic monitoring and evaluation of the various aspects of a project, service or facility to maximize the probability that minimum standards of quality are being attained by the production process...

 automation and software testing product.

Testing using Emulators

The application is first tested within the development environment using emulators.Later it is subjected to field testing.
Emulator
Emulator
In computing, an emulator is hardware or software or both that duplicates the functions of a first computer system in a different second computer system, so that the behavior of the second system closely resembles the behavior of the first system...

s provide inexpensive way to test the applications on mobile phones to which we may not have physical access.
Here is a list of free tools for testing application across the most popular mobile operating systems
Mobile operating system
A mobile operating system, also known as a mobile OS, mobile software platform or a handheld operating system, is the operating system that controls a mobile device or information appliance—similar in principle to an operating system such as Windows, Mac OS X, or Linux distributions that controls a...

.
  • Google Android Emulator

It is Android Emulator which is patched to run on a Windows PC as a standalone app without having to download and install the complete and complex Android SDK, and can be even installed and Android compatible apps can be tested on it.
  • Official Android SDK Emulator

It includes a mobile device emulator which mimics all of the hardware
Hardware
Hardware is a general term for equipment such as keys, locks, hinges, latches, handles, wire, chains, plumbing supplies, tools, utensils, cutlery and machine parts. Household hardware is typically sold in hardware stores....

 and software features of a typical mobile device (without the calls).
  • MobiOne

MobiOne Developer is a mobile Web
Mobile Web
The Mobile Web refers to the use of Internet-connected applications, or browser-based access to the Internet from a mobile device, such as a smartphone or tablet computer, connected to a wireless network....

 IDE
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

 for Windows that helps developers to code, test, debug, package and deploy mobile Web application
Web application
A web application is an application that is accessed over a network such as the Internet or an intranet. The term may also mean a computer software application that is coded in a browser-supported language and reliant on a common web browser to render the application executable.Web applications are...

s to devices such as iPhone
IPhone
The iPhone is a line of Internet and multimedia-enabled smartphones marketed by Apple Inc. The first iPhone was unveiled by Steve Jobs, then CEO of Apple, on January 9, 2007, and released on June 29, 2007...

, Blackberry
Blackberry
The blackberry is an edible fruit produced by any of several species in the Rubus genus of the Rosaceae family. The fruit is not a true berry; botanically it is termed an aggregate fruit, composed of small drupelets. The plants typically have biennial canes and perennial roots. Blackberries and...

, Android, and the Palm Pre
Palm Pre
The Palm Pre is a multimedia smartphone designed and marketed by Palm with a multi-touch screen and a sliding keyboard. The smartphone was the first to use Palm's Linux based mobile operating system, webOS...

.
  • TestiPhone

It is a web browser
Web browser
A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...

 based simulator for quickly testing iPhone
IPhone
The iPhone is a line of Internet and multimedia-enabled smartphones marketed by Apple Inc. The first iPhone was unveiled by Steve Jobs, then CEO of Apple, on January 9, 2007, and released on June 29, 2007...

 web applications. This tool has been tested and works using Internet Explorer 7
Internet Explorer 7
Windows Internet Explorer 7 is a web browser released by Microsoft in October 2006. Internet Explorer 7 is part of a long line of versions of Internet Explorer and was the first major update to the browser in more than 5 years...

, Firefox 2 and Safari 3.
  • iPhoney

It gives a pixel
Pixel
In digital imaging, a pixel, or pel, is a single point in a raster image, or the smallest addressable screen element in a display device; it is the smallest unit of picture that can be represented or controlled....

-accurate web browsing environment and it is powered by Safari
Safari
A safari is an overland journey, usually a trip by tourists to Africa. Traditionally, the term is used for a big-game hunt, but today the term often refers to a trip taken not for the purposes of hunting, but to observe and photograph animals and other wildlife.-Etymology:Entering the English...

. It can be used while developing web sites for the iPhone
IPhone
The iPhone is a line of Internet and multimedia-enabled smartphones marketed by Apple Inc. The first iPhone was unveiled by Steve Jobs, then CEO of Apple, on January 9, 2007, and released on June 29, 2007...

. It is not an iPhone simulator but instead is designed for web developers who want to create 320 by 480 (or 480 by 320) websites for use with iPhone.iPhoney will only run on Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

 10.4.7 or later.
  • BlackBerry Simulator

There are a variety of official BlackBerry simulators available to emulate the functionality of actual BlackBerry products. With any of the BlackBerry device simulators, we can test how the BlackBerry device software, screen, keyboard and trackwheel will work with application.

Weighted Device Platform Matrix Method

End-to-end testing mimics real-world use of the application in a complete environment. For example, it may include interacting with a database, a network, hardware, or other applications. If the application is meant to run with multiple platforms, i.e. on multiple devices or Operating System
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 (OS) versions, or with other hardware and software configurations, there may be too many platform combinations to test exhaustively. In such situations, a weighted matrix of target platforms can make the number of test combinations manageable. Such target platform matrices are built as follows:
  1. Define the important platform parameters.
    For example, an application targeting multiple devices and multiple OS versions (or other software configurations) would have each as a platform matrix parameter.
  2. Arrange the platform parameters with independently variable parameters on different matrix dimensions.
    For example, hardware models may be on the vertical dimension and OS versions along the horizontal dimension, as in the table below.
  3. Along each matrix dimension, weight the relative importance of each platform parameter.
    For example, the importance of testing a particular device model may be may be based on its anticipated sales.
  4. Weight each platform combination in the matrix using a function of the combined importance parameters.
    For example, multiply the relative importance as in the table below to determine the platform weight. The resulting weight indicates the degree of end-to-end test coverage required.

Device/OS Relative Importance Windows CE
Windows CE
Microsoft Windows CE is an operating system developed by Microsoft for embedded systems. Windows CE is a distinct operating system and kernel, rather than a trimmed-down version of desktop Windows...

 
Windows mobile
Windows Mobile
Windows Mobile is a mobile operating system developed by Microsoft that was used in smartphones and Pocket PCs, but by 2011 was rarely supplied on new phones. The last version is "Windows Mobile 6.5.5"; it is superseded by Windows Phone, which does not run Windows Mobile software.Windows Mobile is...

 vs 2003 
Windows mobile
Windows Mobile
Windows Mobile is a mobile operating system developed by Microsoft that was used in smartphones and Pocket PCs, but by 2011 was rarely supplied on new phones. The last version is "Windows Mobile 6.5.5"; it is superseded by Windows Phone, which does not run Windows Mobile software.Windows Mobile is...

 vs 2005
Palm OS
Palm OS
Palm OS is a mobile operating system initially developed by Palm, Inc., for personal digital assistants in 1996. Palm OS is designed for ease of use with a touchscreen-based graphical user interface. It is provided with a suite of basic applications for personal information management...

 
Symbian OS
Relative Importance 5 4 9 6 4
Symbol PPT 8800 7 35 42 63 N/A N/A
HP iPAQ 2100 series 9 45 54 81 N/A N/A
Tungsten E2  5 N/A N/A N/A 30 20
Tungsten T5  6 N/A N/A N/A 36 24
HP iPAQ 1900 series 7 35 42 63 N/A N/A

High Importance
Medium Importance
Low Importance
Combination not available

Tools

  • FoneMonkey: This is a free Mobile Application Testing tool for iPhone applications
  • Robotium: This is an automation tool for Android Mobile Application
  • Sikuli
    Sikuli
    Sikuli is a visual technology to automate and test graphical user interfaces using images of the software under test. Sikuli Script is a visual scripting API for Jython. Sikuli IDE is an integrated development environment for writing visual Sikuli scripts with screenshots. Sikuli Script can...

    : This is a visual technology to automate and test graphical user interfaces (GUI) using images.
  • Deviceanywhere: This is an automation tool for Mobile Application across all platforms, all devices.
  • MITE: A Mobile content testing and validation tool for Mobile Web application.

Challenges

1) Possibility of field failures:
With testing using simulators and emulators,even if we can simulate some aspects of the application, the handset for example, we can’t be sure what happens when we try it over a real wireless network
Wireless network
Wireless network refers to any type of computer network that is not connected by cables of any kind. It is a method by which homes, telecommunications networks and enterprise installations avoid the costly process of introducing cables into a building, or as a connection between various equipment...

. This results in many field failures.

2) Emerging mobile technologies:
Now mobile devices are of different screen sizes. They have various input methods like QWERTY
QWERTY
QWERTY is the most common modern-day keyboard layout. The name comes from the first six letters appearing in the topleft letter row of the keyboard, read left to right: Q-W-E-R-T-Y. The QWERTY design is based on a layout created for the Sholes and Glidden typewriter and sold to Remington in the...

, touch, normal.They also differ in platforms. For example, Android from Google Inc., Blackberry
Blackberry
The blackberry is an edible fruit produced by any of several species in the Rubus genus of the Rosaceae family. The fruit is not a true berry; botanically it is termed an aggregate fruit, composed of small drupelets. The plants typically have biennial canes and perennial roots. Blackberries and...

 OS from RIM
Research In Motion
Research In Motion Limited or RIM is a Canadian multinational telecommunications company headquartered in Waterloo, Ontario, Canada that designs, manufactures and markets wireless solutions for the worldwide mobile communications market...

, iOS
IOS
iOS is an operating system for iPad, iPhone, iPod Touch, and Apple TV.IOS may also refer to:-Companies and organisations:* Illinois Ornithological Society, American state-based bird club...

 from Apple Inc., Symbian
Symbian
Symbian is a mobile operating system and computing platform designed for smartphones and currently maintained by Accenture. The Symbian platform is the successor to Symbian OS and Nokia Series 60; unlike Symbian OS, which needed an additional user interface system, Symbian includes a user...

 OS from Symbian Foundation, BREW from Qualcomm
Qualcomm
Qualcomm is an American global telecommunication corporation that designs, manufactures and markets digital wireless telecommunications products and services based on its code division multiple access technology and other technologies. Headquartered in San Diego, CA, USA...

 are present. Testing on every device is not possible. Inconsistency in terms of functionality might be there while deploying the application across various devices and platforms.

3) Automation not easy:
Automation saves a lot of time by enabling the execution of repetitive tests with the help of computers. In the case of mobile applications, it is difficult to automate even the mundane tests due to the inherent constraints of hardware like less memory and poor processing power on which these applications execute. The tests have to be executed manually. This demands more manual testing resource and time. To minimize the number of tests, test case prioritization based on risk becomes increasingly important.

Keys to successful testing

  • One should understand the network landscape and device landscape. After that one should find out bottlenecks.
  • The application must be tested in uncontrolled real-world test conditions. This is also called Field testing. It is must for multi-tier applications.
  • One should selecting the appropriate automation test tool. The decision can be made based on:
  1. One tool that supports all desired platforms.
  2. The tool that supports testing for various screen types, resolutions, and input mechanisms — such as touchpad
    Touchpad
    A touchpad is a pointing device featuring a tactile sensor, a specialized surface that can translate the motion and position of a user's fingers to a relative position on screen. Touch pads are a common feature of laptop computers, and they are also used as a substitute for a mouse where desk...

     and keypad
    Keypad
    A keypad is a set of buttons arranged in a block or "pad" which usually bear digits, symbols and usually a complete set of alphabetical letters. If it mostly contains numbers then it can also be called a numeric keypad...

    .
  3. The tool should be connected to the external system to carry out end-to-end testing.
    • Weighted Device Platform Matrix method is useful where the number of test cases is huge.It can be used to optimize them.
    • End-to-end functional flow of the application across all possible platforms is also important.
    • Even if, it is possible to have performance testing, GUI testing, and compatibility testing on actual devices, they should also be tested on actual devices.
    • Conditions like wireless traffic and user load which arise on actual device should be taken into consideration while measuring performance.

In general, it is a good idea to use some combination of real device and emulator testing, as recommended in the table below:
Type of testing Using devices Using emulators Automated testing
Unit Testing No Yes No
Integration Testing No Yes No
System Testing Yes No No
Regression Testing Yes No Yes
Compatibility Testing Yes No Yes
GUI Testing Yes No No
Performance Testing Yes No Yes
Security Testing Yes No Yes
Synchronization Testing Yes No No

Application stores

Several initiatives exist both from mobile vendor and mobile operators around the world. Application developers can propose and publish their applications on the stores, being rewarded by a revenue sharing of the selling price. Most famous is Apple's App Store, where only approved applications may be distributed and run on iOS devices (otherwise known as a walled garden). HP / Palm, Inc have also created the Palm App Catalog
Palm App Catalog
The Palm App Catalog is an online marketplace for applications for Palm mobile devices running webOS but not Palm OS.The App Catalog is similar to Apple's App Store for iOS, Google's Android Market for Android, and Nokia's Ovi Store for Nokia devices...

 where HP / Palm, Inc webOS device users can download applications directly from the device or send a link to the application via a unique web distribution method. Recently, mobile operators such as Telefonica Group and Telecom Italia
Telecom Italia
Telecom Italia is the largest Italian telecommunications company, also active in the media and manufacturing industries. Now a private concern listed on the Borsa Italiana, it was founded in 1994 by the merger of several state-owned telecommunications companies, the most important of which was...

 have launched cross-platform
Cross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...

 application stores for their subscribers.

Patents

There are numerous patent applications pending for new mobile phone apps. Most of these are in the technological fields of Business methods, Database management, Data transfer and Operator interface.

Patent Enforcement

On May 31, 2011, Lodsys
Lodsys
Lodsys, LLC is a company located in Marshall, Texas. The company has been accused of patent trolling. On May 13, 2011, it was reported that they had demanded that a number of iOS application developers obtain licenses from them. Apple has written to Lodsys stating that Apple's licenses protect...

 asserted two of its four patents: U.S. Patent No. 7,620,565 ("the '565 patent") on a "customer-based design module" and U.S. Patent No. 7,222,078 ("the '078 patent") on "Methods and Systems for Gathering Information from Units of a Commodity Across a Network." against the following app developers:
  • Combay
  • Iconfactory
  • Illusion Labs
    Illusion labs
    - Games :Illusion Labs have produced a number of games for different platforms.* iPint* Labyrinth* Labyrinth 2* Labyrinth 2 HD* Sway* Touchgrind* Touchgrind HD* Foosball* Foosball HD* Touchgrind BMX...

  • Shovelmate
  • Quickoffice
  • Richard Shinderman of Brooklyn, New York
  • Wulven Games of Hanoi, Vietnam

See also

  • List of digital distribution platforms for mobile devices
  • Mobile application management
    Mobile application management
    Mobile Application Management describes software and services that accelerate and simplify the creation of internally-developed or “in-house” enterprise mobile applications...

  • Mobile business intelligence
    Mobile business intelligence
    Mobile Business Intelligence refers to the distribution of business data to mobile devices such as smartphones and tablet computers...

  • Mobile computing
    Mobile computing
    Mobile computing is a form of human–computer interaction by which a computer is expected to be transported during normal usage. Mobile computing has three aspects: mobile communication, mobile hardware, and mobile software...

  • Mobile Device Testing
    Mobile Device Testing
    Mobile-device testing is the process to assure the quality of mobile devices, like mobile phones, PDAs, etc. The testing will be conducted on both hardware and software...

  • Mobile games
  • Mobile Marketing
    Mobile Marketing
    Mobile marketing can refer to one of two categories of interest. First, and relatively new, is meant to describe marketing on or with a mobile device, such as a cell phone using SMS Marketing....

  • MoSoSo
    MoSoSo
    MoSoSo is a class of mobile applications which scope is to support social interaction among interconnected mobile users. The basic idea of a MoSoSo is to overlay a location and time element to the idea of digital networking...

    , Mobile Social Software
  • On-Device Portal
    On-Device Portal
    On-Device Portals allow mobile phone users to easily browse, purchase and use mobile content and services. An ODP platform enables operators to provide a consistent and branded on-device experience across their broadening portfolio of services and typically provides on-device catalogs of content...

  • WURFL and WALL
    Wurfl
    WURFL stands for Wireless Universal Resource FiLe. It is a community effort focused on mobile device detection: the problem of presenting content on the wide variety of wireless devices. WURFL is a set of proprietary API's and an XML configuration file which contains information about device...

  • JQuery Mobile
    JQuery Mobile
    jQuery Mobile is a touch-optimized web framework currently being developed by the jQuery project team. The development focuses on creating a framework compatible with a wide variety of smartphones and tablets, made necessary by the growing-but-heterogenous tablet and smartphone market...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK