Wednesday, August 25, 2010

Bash commands

- pwd
- cd
- ls
- mkdir
- cp
- mount /dev/md1 /mnt/jasondrive
- umount /mnt/md1
- mv
- nano (editor)
- rm -r images/ (recursive)
- locate
- updatedb
- man ls (display information on the command ls)
- useradd --shell /sbin/nologin tomcat6 (or just edit /etc/passwd file)
- useradd --shell /sbin/nologin --home-dir /usr/local/tomcat6 tomcat6
- usermod --append --groups groupname username
- groupadd groupname (or just edit /etc/group file)
- groupmod
- groupdel
- tar czvf archive.tar.gz [file1 file2...]
- tar cjvf archive.tar.bz2 [file1 file2...]
- su (substitute user)
- su - root
- sudo (execute a command with the specified account)
- /etc/sudoers (this file lists all users that are allowed to use sudo and the commands that are allowed to be executed)
- visudo
- df -h (disk free)
- free (displays the current system memory usage)
- yum install package
- chmod who+/-what filename
- chmod +x script.sh (make script.sh executable)
- chmod go-rwx photo.jpg (g: group, o:others, a:all, u:user/owner) no one can access the photo other than the owner.
- chown user filename
- chgrp group filename
- chown jason photo.jpg (the new owner of photo.jpg is the user "jason"

Execute:
- ./my-app (forces shell to look for files in the current working directory only)
- /home/jason/programs/my-app
- my-app (if /home/jason/programs is in the PATH)
System services:
- /etc/init.d/name command
- start / stop / restart / reload / status
Process management:
- ps aux (lists all processes)
- ps aux | grep gcpmain
- top
- kill pid (kill 12075)
- kill -9 pid
Directory
- /bin (common exe)
- /boot (critical files used at boot time)
- /dev (device and special files)
- /etc (system-wide config files)
- /home
- /lib (system-wide shared libraries and kernel modules)
- /media (list mount points for devices such as USB devices)
- /mnt (temporarily mounted filesystems
- /opt (optional software packages)
- /proc (kernel and process information virtual file system)
- /root (root user home directory)
- /sbin (system binaries dedicated to system admin)
- /srv (service data)
- /tmp (temporary files)
- /usr (read-only user data)
- /var (files that are expected to be modified by running apps)
- /dev/null
- /dev/random (random number generators)
- /dev/urandom (streams that generate flows of random numbers)
- /dev/full (pseudo device is a stream that returns an error when written to and is always considered full)
- /dev/zero (always considered empty)

Saturday, July 31, 2010

Running Tomcat as Non-Root User

I don't believe there any issues with running Tomcat as root user. However, for the more security-conscious readers out there, here are some instructions on running Tomcat as a non-root user.

At this stage, the Tomcat packages, files and binaries are owned by root. We will first need to create a Tomcat user and group that will own these files, and under which Tomcat will run.

Tomcat User :: tomcat

Tomcat Group :: tomcat

Not too imaginative, huh ? We will now create the Tomcat user and group. Open a terminal window and, as root,

# groupadd tomcat
# useradd -g tomcat -d /opt/tomcat tomcat
# passwd tomcat

Notice that we specified the home directory of Tomcat to be /opt/tomcat. Some people believe that this is good practice because it eliminates an additional home directory that needs to be administered.

Now, we will put everything in /opt/tomcat under Tomcat user and group. As root,

# chown -R tomcat:tomcat /opt/tomcat

If /opt/tomcat is a symlink to your Tomcat install directory, you'll need to do this:

# chown -R tomcat:tomcat /opt/jakarta-tomcat-5.x.xx

Verify that JAVA_HOME and CATALINA_HOME environment variables are setup for tomcat user, and you should be good to go. Once the Tomcat binaries are under Tomcat user, the way you invoke it will be different.

To start Tomcat,

# su - tomcat -c /opt/tomcat/bin/startup.sh

To stop Tomcat,

# su - tomcat -c /opt/tomcat/bin/shutdown.sh

Also, be aware that your web applications will need to be deployed (i.e. copied to the web application directories) as user tomcat, instead of root. A little more hassle, but possibly a little safer too.

Note that, the JVM is a virtual machine with many threads under the same process. Therefore, because of OS constraints - all threads in the same process must run under the same user id. No thread may run as root unless they are all root. This is a limitation of the JVM.

Apache doesn't have this limitation since it uses multiple processes to do its work.

In Linux, a process can start as root, do some work then change its user id to something less via a OS system call. But once you switch down, you're stuck and can't go back.

MySQL Options

To start MySQL you simply specify mysql in a console window and press Return. The mysql programs are normally installed in the directory /usr/bin, so that it is unnecessary to provide the name of the directory.

When you start mysql you can use various options. To get a connection to the server you generally need two options, namely, -u name -p. The following list describes these and a few additional options and also gives some background information. These options are not only for mysql, but also for mysqladmin, mysqldump, and most other command tools.

-u name or —user=name: This option specifies which MySQL user name you wish to use. Depending on how MySQL is configured, there can be many MySQL users (see also Chapter 11). If no users have yet been set up or if you have administrative tasks to perform, use the user name root.

This user exists in every MySQL installation and is considered the system administrator.
If you omit the option -u, then under Unix/Linux the current login name will be used, while
under Windows, it will be ODBC. A login is possible only if users with these names have been
set up on the MySQL server.

Wednesday, July 28, 2010

The structure of an RPM package

The Red Hat Package Manager (RPM) is a tool that facilitates installing, uninstalling, and upgrading software for your Red Hat Linux system. It is a file that contains executable programs, scripts, documentation, and other files needed by an application or software unit. RPM packages are generally named using a convention that lets you determine the name of the package, the version of the software, the release number of the software, and the system architecture for which the application is intended. The following diagram shows how the components of a package name are arranged:

(1) Name

(2) Version

(3) Release

(4) Architecture

When you update a package, RPM installs the new version of the software but attempts to leave your existing configuration files intact. You can update a package by using the -U option of the rpm command:

rpm -Uvh  package 

When you update a package, RPM automatically uninstalls the old version of the package before installing the new one.

http://www.ibm.com/developerworks/linux/library/l-rpm2/index.html

Tomcat user

For security reasons, tomcat should run with low privileges. Create a tomcat user and set that user’s login shell to /sbin/nologin and locking the user’s password so that it can’t be guessed. Also, it’s probably a good idea to make the tomcat user’s primary group the nobody group or another group with similarly low permissions.

To create the tomcat user, you will need to do this as the root user:

# useradd -g 46 -s /sbin/nologin -d /opt/tomcat/temp tomcat

If you do not have root access, you could run Tomcat as your login user, but beware that any security vulnerabilities in Tomcat could be exploited remotely as your user account.

Tomcat user

For security reasons, you should probably create a tomcat user with low privileges and run Tomcat as that user. We suggest setting that user’s login shell to /sbin/ no login and locking the user’s password so that it can’t be guessed. Also, it’s probably
a good idea to make the tomcat user’s primary group the nobody group or another group with similarly low permissions. You will need to do this as the root user:

# useradd -g 46 -s /sbin/nologin -d /opt/tomcat/temp tomcat

If you do not have root access, you could run Tomcat as your login user, but beware that any security vulnerabilities (which are extremely rare) in Tomcat could be exploited remotely as your user account.

Tuesday, July 27, 2010

Relaying port 80 to port 8080

It is true that the JVM process must run as the root user in order to open a server socket on port 80 on non-Windows operating systems. But, the JVM would not need to run as root if something outside the JVM process could relay all port 80 TCP connections to Tomcat on some port higher than 1024 (such as port 8080, for example).

Tomcat can open its web server on port 8080, andsomething else with the proper permissions can relay port 80 TCP connections to Tomcat’s port 8080. This is often referredto as port relaying or net filtering and is such a handy and common feature that there are more ways than one to do this on any given operating system.

You can route all port 80 TCP connections to all network destinations that the machine is configured for by entering these two commands:

# iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
# iptables -t nat -I OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8080

They will add the necessary relaying rules to your iptables configuration. This tells the kernel that all TCP connections destined for the machine on port 80 need to be redirected to port 8080.

Monday, July 26, 2010

Understanding the comcat-users.xml file

Tomcat's user database realm uses the tomcat-users.xml file by defaut and reads the entire file into memory.

Every Servlet 2.4 web application must contain a web.xml deployment descriptor. This file must be placed in the WEB-INF directory of the web application.

However, Tomcat comes with a default web.xml in CATALINA_HOME/conf. This file is similar to a web application's web.xml file but is used to specify the default properties for all web applications that are running within this server instance.

Sunday, July 25, 2010

Cryptography

Basics of web cryptography:
(1) Symmetric:
- DES - fixed length key of 56 bits.
- 3DES - fixed length key of 168 bits (112 effective)
- Blowfish - variable length key up to 448 bits. Fast and free.
- IDEA - fixed length key of 128 bits. Fast, patented, and free for non-commercial use.
- RC4 - keys can be anywhere from 1 to 2,048 bits long (40 and 128-bit key lengths are commonly used.) RC4 is very fast and in widespread use.
- AES - keys can be 128, 192, or 256 bits long. Chosen to replace DES and 3DES.

(2) Asymmetric:
- RSA (Rivest, Shamir, Adleman) - public-key cryptography system.
- DSA (Digital Signature Algorithm) -
- Eliptic Curve - a mathematically different approach to public-key encryption.

(3) Hashing:
- MD5 - produces 128-bit output from input of any length. Released as RFC-1321.
- SHA-1 - produces 160-bit output from input of any length.
- SHA-256, SHA-384, and SHA-512.

(4) Certificates:
- Self-signed certificates - useful in some instances.
- Certificates signed by a private CA - used only for inernal purposes among a limited circle of users. This is similar to employee passes.
- Certificates signed by a public CA -

(5) SSL
- SSL3.1 is the same as TLS 1.0 is defined in RFC-2246
- SSL requires one exlcusive IP address per we site.
- RFC-2817 defines a way to upgrade from non-SSL to SSL communication.
A client MAY offer to switch to secured operation during any clear
HTTP request when an unsecured response would be acceptable:

GET http://example.bank.com/acct_stat.html?749394889300 HTTP/1.1
Host: example.bank.com
Upgrade: TLS/1.0
Connection: Upgrade

In this case, the server MAY respond to the clear HTTP operation
normally, OR switch to secured operation (as detailed in the next
section).
- SSL is a hybrid protocol. Every SSL connections consists of essentially two phases:
(a) Handshake phase - during this phase, the server sends the client its certificate and the client verifies the server's identity using public-key cryptography. In some cases, the server also requires the client to have a certificate, and client verification is also performed. After server verification is complete, the client and server agree on a common set of encryption protocols and generate a set of private cryptography secret keys.
(b) Data-exchange phase - with secret keys agreed on and known to both parties, the communication resumes using fast symmetric encryption protocols until both parties agree to close down the communication channel.
- OpenSSL:
$ openssl s_client -host www.thawte.com -port 443
- to generate a private key
$ openssl genrsa -out server.key 1024
- to extract the public key from the private key
$ openssl rsa -in server.key -pubout
- to generate a certificate signing request (CSR)
$ openssl req -new -key server.key -out server.csr
- to sign your own certificate
$ openssl x509 -req -days 35 -in server.csr -signkey server.key -out server.crt


ServerName www.apachesecurity.net
DirectoryRoot /var/www/empty
RedirectPermanent / https://www.apachesecurity.net/









Named-based Virtual Hosting

Saturday, July 24, 2010

MySQL Security

Managing and Using MySQL - 2nd Edition:
- Database administrators manage access to the database engine itself. They provide access to individual databases for specific applications and developers. They also make sure that a poorly designed application cannot be used as a tunnel into the data of another application.
- System administrators manage the security of the OS and hardware on which MySQL runs. Their job is to ensure that only MySQL DBAs have access to the physical files used by MySQL on a given machine.
- Database architects design the access to thea pplications to which the DBAs have granted access. A DBA, for example, may have given a web site full privileges to its database, but it is up to the database architect to ensure that only valid application users are taking advantage of those privileges.

In a production environment, a user is likely to be an application. The DBA creates a user ID and password to support the application, and database security controls how that application is allowed to interact with MySQL. The application can then pass on its rights to individual users of the application by acting on their behalves to access MySQL.

It is critical to assign a password to the MySQL root user as soon as you install MySQL.

$ mysqladmin -u root password 'password'

Note that the above command only works when the MySQL root password has not been set.

If you have two web sites using the same MySQL installation to store their data, you might create tow separate users to represent those applications. You can use these two separate user IDs to protect each application from the other.

MySQL in a chrooted Environment

Running a server in a chrooted environment greatly enhances overall system security on a Linux system. It does this by setting up an isolated environment in which files outside of a given directory are no longer accessible. That way, even if a security flaw is found in the server and exploited, the potential for damage is limited to the files in that directory, which should only be the files for that particular application.

Monday, June 28, 2010

HTML 5 Web Sockets

HTML 5 WebSockets

The HTML 5 specification introduces the Web Socket interface, which defines a full-duplex communications channel that operates over a single socket and is exposed via a JavaScript interface in HTML 5 compliant browsers.

Unlike Comet and Ajax, Web Socket is native to the browser, and only requires a single connection to maintain both upstream and downstream data to and from the browser. Note, that to support streaming over HTTP, Comet requires a long-lived connection, which is often severed by proxies and firewalls. In addition, few Comet solutions support streaming over HTTP, employing a low performance technique called "long-polling" instead.

By moving to a single, streaming channel of communications, we can overcome the inadequacies of techniques such as long-polling and "forever frames," and as a result further reduce latency.

[Constructor(in DOMString url)]
interface WebSocket {
readonly attribute DOMString URL;
// ready state
const unsigned short CONNECTING = 0;
const unsigned short OPEN = 1;
const unsigned short CLOSED = 2;
readonly attribute int readyState;
// networking
attribute EventListener onopen;
attribute EventListener onmessage;
attribute EventListener onclosed;
void postMessage(in DOMString data);
void disconnect();
};

To connect to an end-point, just create a new Web Socket instance, providing the new object with a URL that represents the end-point to which you wish to connect (See listing 2). Note that a ws:// and wss:// prefix indicate a Web Socket and a secure Web Socket connection, respectively. A Web Socket connection is established by upgrading from the HTTP protocol to the Web Socket protocol during the initial handshake between the client and the server, over the same underlying TCP/IP connection. Once established, Web Socket data frames can be sent back and forth between the client and the server in full-duplex mode. The connection itself is exposed via the onMessage and postMessage methods defined by the Web Socket interface.

var myWebSocket = new WebSocket("ws://www.websocket.org");

Before connecting to an end-point and sending a message, you can associate a series of event listeners to handle each phase of the connection life-cycle.

myWebSocket.onopen = function(evt) { alert("Connection open ..."); };
myWebSocket.onmessage = function(evt) { alert( "Received Message: " + evt.data); };
myWebSocket.onclose = function(evt) { alert("Connection closed."); };

To send a message to the server, simply call postMessage and provide the content you wish to deliver. After sending the message, call disconnect to terminate the connection.

myWebSocket.postMessage("Hello Web Socket! Goodbye Comet!");
myWebSocket.disconnect();

Firewalls and Proxies? No Problem

One of the more unique features Web Socket provides is its ability to traverse firewalls and proxies, a problem area for many Comet-enabled applications. Comet-style applications typically employ long-polling as a rudimentary line of defense against firewalls and proxies. The technique is effective, but is not well suited for applications that have sub-500 millisecond latency or high throughput requirements. Plugin-based technologies such as Adobe Flash, also provide some level of socket support, but have long been burdened with the very proxy and firewall traversal problems that Web Sockets now resolve.

A Web Socket detects the presence of a proxy server and automatically sets up a tunnel to pass through the proxy. The tunnel is established by issuing an HTTP CONNECT statement to the proxy server, which requests for the proxy server to open a TCP/IP connection to a specific host and port. Once the tunnel is set up, communication can flow unimpeded through the proxy. Since HTTP/S works in a similar fashion, secure Web Sockets over SSL can leverage the same HTTP CONNECT technique.

Any RIA, Any Time

In addition, the Web Socket protocol can be used to support a diverse set of clients (e.g. JavaScript, Adobe Flex, JavaFX, Microsoft Silverlight, etc.). However, the HTML 5 specification only defines support for JavaScript, which is limited to text-based protocols. To serve other client-types and support binary protocols you will need to look to vendor offerings.

Tuesday, June 22, 2010

SIP DTMF Signalling - voip-info.org

SIP DTMF Signalling - voip-info.org

There are 3 common ways of sending DTMF on SIP calls:
- SIP INFO packets
- As specially marked events in the RTP stream
- As normal audio tones in the RTP stream with no special coding or markers.

RFC-2833 defines signalling for various events:
- DTMF tones
- Fax-related tones
- Standard subscriber line tones
- Country-specific subscriber line tones
- Trunk events

NTE means Named Telephony Events. These are the events and their encoding:

Event (0-9) - encoded as 0-9 decimal
Event (*) - encoded as 10 decimal
Event (#) - encoded as 11 decimal
Event (A-D) - encoded as 12-15 decimal
Event (Flash) - encoded as 16 decimal

Etc...


DTMF delivery options in SIP


With in a VoIP conversation, DMTF tones are delivered either in-band (as a beep), or out-of-band via SIP or RTP signaling messages. 3CX Phone System supports both

In-band

Incoming stream delivers DTMF signals in-audio independently of codecs – in this case the 3CX Phone System Media Server listens to the audio stream, and will detect DTMF signals.

  1. Delivery to DR or VM: Efficiency of DTMF detection depends on audio quality. Dropped packets will also reduce audio quality.
  2. Delivery to some external party (typically via gateway or provider): DTMF strokes are recognized from the in-audio stream, and delivered to the external party in 2 forms – in-audio (leaving audio content unchanged) and additionally via RFC2833.
  3. Delivery to MS Exchange 2007 IVR: DTMF strokes are recognized from the in-audio stream, and delivered to the external party in 2 forms – in-audio (leaving audio content unchanged) and additionally via RFC2833. Please note that since MS Exchange 2007 IVR does not provide in-audio recognition, it will only use RFC2833 delivery mechanism.

Out-of-band

Incoming stream delivers DTMF signals out-of-audio using either SIP-INFO or RFC-2833 mechanism, independently of codecs – in this case the DTMF signals are sent separately from the actual audio stream.

  1. Delivery to DR or VM: These are passed through as received.
  2. Delivery to some external party (typically via gateway or provider): These are passed through as received. The external party must support the corresponding delivery mechanism if DTMF strokes are to be recognized. Effectively this means that if DTMF is received with SIP-INFO, it is forwarded also as SIP-INFO. If your VoIP Provider requires RFC2833 DTMF delivery, then it will be necessary to ensure all SIP Phones are configured to deliver DTMF using RFC2833.
  3. Delivery to MS Exchange 2007 IVR: These are passed through as received.

Note:

SIP-INFO is not recommended for DTMF delivery, since it cannot deliver strokes synchronously with the audio stream, introducing timing artifacts (mainly because it’s delivered using SIP, which is not a real-time mechanism for delivering media). It is very common for public services to NOT support SIP INFO, and it seems unlikely that such services will improve support for this delivery mechanism.

Cisco and RFC-2833

The following Cisco’s IP phones do not support RFC2833 DTMF-Relay:

• 7902
• 7905
• 7910
• 7912
• 7940
• 7960

All digits are sent out of band in either SCCP or SIP signaling packets depending on the phone firmware. These phones are referred to as Type A phones in the Cisco Unified Communications Manager 6.x SRND (Solution Reference Network Design) guide available at www.cisco.com/go/srnd.

New Cisco phones support RFC2833 DTMF Relay when registered with Cisco Unified Call Manager versions 5.0 and later. These phones include the following:

• 7906
• 7911
• 7941
• 7942
• 7945
• 7961
• 7962
• 7965
• 7970
• 7971
• 7975

SIP trunks in Cisco Call Manager 5.0 supports RFC2833 DTMF-Relay. RFC2833 supports is very important for multi-vendor interoperability since this is the preferred way of exchanging DTMF digits between vendors.

Call Manager 4.x used MTP (Media Termination Point) media resources to convert out of band SIP Notify DTMF messages into RFC2833 in-band (RTP) messages.

Note that Cisco's JTAPI connections used for CTI ports in CUCM only support out of band DTMF messages.

Wednesday, June 16, 2010

Gzip and Tar

Gzip:

  1. Gzip is used to compress a file. To zip "thisfile", type gzip thisfile. You'll get a file named thisfile.gz.
  2. $gzip thisfile
  3. $thisfile.gz
  4. To unzip thisfile.gz, type gunzip thisfile.gz.
  5. $gunzip thisfile.gz
  6. Gzip supports 9 levels of compression; 1 being the fastest and least compressed; 9 being the slowest and most compressed; 6 being the default. To get the best compression, use the command: gzip -9 readme

Tar:

  1. Tar is used to pack the entire contents of a directory or directories into a single file called a tarball.
  2. Tar preserves the entire directory organization including file ownership, permissions, links, and the directory structure.
  3. The most commonly used tar functions are:

  • c - create an archive
  • x - extract files from an archive
  • t - list the contents of an archive
  • v - verbose
  • f filename - use the specified file
  • z - gzip/gunzip

Examples: Back |up the contents of the home directory for gemini (/home/gemini) in a tarball called a.tar on a floppy disk.


  1. mount /floppy
    cd /home
    tar -cvf /floppy/a.tar gemini


    Explanation:
    • Change to the parent of the /home/gemini directory.
    • Create a backup of gemini in the file /floppy/a.tar.
  2. Now, check the contents of the tarball that you just created.

    cd /floppy
    tar -tvf a.tar

  3. Back |up the contents of the etc directory in an archive called etc.tar . Make sure that the archive is created in your own home directory.

    cd /
    tar -cvf ~/etc.tar etc


    Explanation:
    • Change to the parent of the /etc directory.
    • Create a backup of etc in the file ~/etc.tar
  4. Back |up and compress the contents of the home directory into the tarball home.tgz on a floppy disk.

    mount /floppy
    cd /
    tar -cvzf /floppy/home.tgz home


    Explanation:
    • change to the parent of the /home directory
    • Create a compressed backup of home in the file /floppy/home.tgz.
  5. Now check the contents of the archive that you just created.

    cd /floppy
    tar -tvzf home.tgz

  6. Unpack the archive home.tgz on your floppy.

    cd /floppy
    tar -xvzf home.tgz


    Explanation:
    • change to the /floppy directory
    • unpack and unzip the tarball home.tgz

Thursday, June 10, 2010

The four principles

(1) Don’t build features that nobody needs right now
(2) Don’t write more specs than you can code
(3) Don’t write more code than you can test
(4) Don’t test more code than you can deploy

Basic principles of copyright law

Under the laws of the United States and most European countries, copyright is automatically attached to every novel expression of an idea, whether through text, sounds, or imagery. For example, your diary entries, personal letters, song lyrics, and drawings, even if they are only done in the most casual of circumstances.

Say, for example, you doodle a drawing of a fish on a piece of napkin. That drawing is copyrighted simultaneously with its creation and is your property. Your drawing cannot be copied, displayed, or exploited by any person other than you for the life of the copyright. In addition, no person other than you can create "derivative works" from the original drawing.

Note that copyright law does not protect any particular idea, just the expression of that idea. Your particular drawing of fish does not limit others to create their own expression of "fish", whether through drawing or other media.

Saturday, June 5, 2010

The web and video

A key factor in the web’s success is that its core technologies such as HTML, HTTP, TCP/IP, etc. are open and freely implementable. Though video is also now core to the web experience, there is unfortunately no open and free video format that is on par with the leading commercial choices. To that end, Google is introducing WebM, a broadly-backed community effort to develop a world-class media format for the open web.

So you have HTML5, VP8 for codec, etc...

Personal Learning Environment and CloudCourse

CloudCourse is a course-scheduling tool, fully integrated with Google Calendar. CloudCourse also features approval processes, wait list management, as well as room and user profile information and can be further customized to sync the data with other internal systems.

Moodle is another Course Management System (CMS), also known as a Learning Management System (LMS) or a Virtual Learning Environment (VLE). It is a Free web application that educators can use to create effective online learning sites.

PLE is a new term that describes how we learn in the Web 2.0 context. What do mean by that? What does Web 2.0 have anything to do with PLE? Let's pause for a second to think about this.

Saturday, May 22, 2010

Working with MSI

How to create an MSI installation package from scratch

(1) Install the Microsoft Windows Installer SDK. This will by default install to C:\Program Files\Windows Installer 4.5 SDK\.

(2) Browse to the C:\Program Files\Windows Installer 4.5 SDK\Tools folder and run the Orca.msi installation. Perform a complete installation of Orca. This program is used to modify .MSI files.

(3) Create a basic MSI package by merging the two sample .msi files together. From a DOS prompt, do the following:
Step 1: Copy the schema.msi file to YourNewMSI.msi file
Step 2: msimerg YourNewMSI.msi sequence.msi
Step 3: msimerg YourNewMSI.msi uisample.msi

You now have a single MSI file with basic logic and sequencing. To customize for your specific application, do the following steps:

(1) Open the YourNewMSI.msi file with Orca (right-click and select Edit with Orca).

(2) Click on the View / Summary Information menu in Orca. Change it into something relevant for your company or product, and select the platforms and languages.

(3) Run GUIDGEN to get the GUID for the ProductID for your MSI package, and make sure it's all in UPPERCASE!

(4) Go to the "Property" table, and change the ARPHELPLINK to your company website.

(5) Drop the ComponentDownload row.

(6) Add a new row for each of the following properties (case sensitive):

ALLUSERS = 1 for machine-only installations.

ProductName = Your product name

Manufacturer = Your company name

ProductCode = Use GUIDGEN to get a GUID for this product

ProductVersion = Your product version

ARPNOMODIFY = 1 (to disable the "Modify" button in Add/Remove Programs.)

ARPNOREMOVE = 1 (to disable the "Remove" button.)

You need to create at least 1 feature and 1 component. Do the following:

(7) Go to the "Feature" table



You need to create at least 1 feature and 1 component before you can run/use the MSI:

Go to the "Feature" table and create a new record:
Feature = Complete
Parent =
Title = Complete
Description = Complete installation
Display = 1 (=displayed expanded in the featurelist)
Level = 1
Directory = TARGETDIR
Attributes = 0

Now we need to add the registry key we'd like to install. Go to the Registry table,
and create a new record:

Registry = REG00001
Root = -1 (= Depend on the value of the ALLUSERS property.
You can also use 0=HKCR, 1=HKCU, 2=HKLM, 3=HKEY_USERS)
Key = SOFTWARE\[Manufacturer]\[ProductName]
Name = ProductName
Value = [ProductName] [ProductVersion]
Component = COMP0001

Note: Using [propertyname] means it should use the named property's value.

Now we need to create the COMP0001 component we just referenced:

Go to the Components table and create a new record:
Component = COMP0001
ComponentID = (Run GUIDGEN to get a GUID - make sure it's in UPPERCASE)
Directory = TARGETDIR
Attribute = 4 (4= registry, 0 = files to be installed locally)
Condition =
Keypath = REG00001

Now we can connect this component to the "Complete" feature:

Go to the FeatureComponents table and create a new record:
Feature = Complete
Component = COMP0001

Now, we need to have a single record in the Directory table before the installation can be done.
This is because of the special handling of the TARGETDIR property, which has to be resolved.

Create a new record in the Directory table:
Directory = TARGETDIR
Directory_parent = (leave blank (null) or use TARGETDIR)
Value = SourceDir

Tip: Change the LicenseAgreementDlg record (text field) in the Controls table to include your license text.

Tip: Use the Tools | Validate menu option in Orca to make sure you have entered all the data properly.

You should now be able to install your MSI package (only a registry key, but a good start :). Make sure the installation and removal can be completed, and that the ARP (Add / Remove Programs) info is as expected. Use RegEdit to see that the registry key was installed properly, and is removed when uninstalling.

Installing MSI packages silently using command lines

You can create a small command file to install the MSI package silently (not going through all the dialogs) ; this makes it easier and faster to perform tests of the actual installations once the user interface has been tested.

Create the following two small text files in your project folder:

To install silently, no prompts, no logging:

Install.cmd:
MsiExec /i "MyMSI.msi" /Qb-!

Uninstall.cmd:
MsiExec /X "MyMSI.msi" /Qb-!

To install silently with a success/failed dialog in the end, and logging enabled:

Install.cmd:
MsiExec /i "MyMSI.msi" /L*v "c:\temp\MyMSI_i.log" /Qb+

Uninstall.cmd:
MsiExec /X "MyMSI.msi" /L*v "c:\temp\MyMSI_x.log" /Qb+

Please make sure you have a C:\temp directory, and have write access to it.
You can now doubleclick on the install.cmd or uninstall.cmd to quickly install or remove your software package.

Tip: Make sure you include the redistributable setup files for MSI for Win9x / NT on your website, some people might now have the Windows Installer technology installed. They can be found in C:\Program Files\MsiIntel.SDK\Redist\.

Expanding the installation package

Naturally, installing a registry is not as important as installing files - but it's vital to have the basics in order. If your MSI is now fully working, you can continue with adding files to be installed.

For each of your following MSI projects, remember to copy your basic MSI and then open it with Orca and change the ProductID in the summary information and the ProductCode property to some unique UPPERCASE GUID numbers for this package.

Adding file(s) to the installer

Create a directory structure under your project source directory that matches the target folder structure. For each directory you have listed, a subdirectory with the same name must exist in the source tree. In most cases this means you would have a Program Files\Your Company Name\Your Product Name\ subfolder in the root of the source tree.

The files you want to install must be found in the directory they should be installed to (by default relative to the source root, and the installation target base path). So if you install YourApplication.exe to C:\Program Files\MyCompany\MyProduct\, you should have a Program Files\MyCompany\MyProduct\YourApplication.exe under the root of your source tree.

Create the following properties in the directory table:

(Use Directory_Parent=TARGETDIR, DefaultDir=.)
SystemFolder
ProgramMenuFolder
PersonalFolder
ProgramFilesFolder
DesktopFolder
StartMenuFolder
These are automatically resolved during install. See "System Folder Properties" in the help file (link from under Directory table help).

Create the target installation directory records:

DIR00001, parent=ProgramFilesFolder, DefaultDir=.:PROGRA~1|Program Files
DIR00002, parent=DIR00001, Defaultdir=Spinne~1|Spinner Software

Tip: The Defaultdir uses the format targetdir:sourcedir, optionally short | long filenames. The "." means the value used in the directory_parent field is the resolved target path (so no subdirectory is created with the defaultvalue name). So while DIR00001 resolves to the ProgramFilesFolder value (and expects a Program Files subdirectory in the source tree), DIR00001 creates a Spinner Software subdirectory under the resolved DIR00001 parent (and expects one in the source tree as well). This essentially allows you to have multiple source directories that all resolve to the same target during installation.

Go to the Files table, and create a new entry record. In this example we'll install Notepad.exe:

File=FILE0001, Component=COMP0002, Filename=Notepad.exe, Filesize=0, Attributes=0, Sequence=1.
If a file is Vital to the proper functioning of the application, use Attributes = 512.

Create a new component to hold your file. Go to the Components table and add a new record:

COMP0002, attributes = 0, directory = DIR00002, Keypath=FILE0001.
Use GUIDGEN to get the component ID.

When you set the directory field for Component COMP0002 to use DIR00002, Notepad.exe (FILE0001 pointed to by the keypath) file will be installed into C:\Program Files\Spinner Software\.

Create a new record in the FeatureComponents table:

Feature=Complete, Component=COMP0002.

Create a record in the Media table with DiskID=1, LastSequence=1 (highest Sequence number in File table).

Save the MSI, then open a command prompt and run the following command in the project folder:

CScript //nologo wifilver.vbs mymsi.msi
This will show you the information found in the File table.

Now update it with the latest file information (found from the source tree):

CScript //nologo wifilver.vbs mymsi.msi /U

Your MSI file is now ready to install both registry keys and files :).

Adding a shortcut

Create new records in the Directory table for the shortcuts:

DIR00003, parent=StartMenuFolder or ProgramMenuFolder, defaultdir=.
DIR00004, parent=DIR00003,
defaultdir=Spinne~1|Spinner Software
(or whatever name you want in your start menu, in short | long file name format)
DIR00005, parent=DesktopFolder, defaultdir=.

Create a new record in the Icon table:

Name=ICON0001.exe, Data = full path to the exe file in the source tree
(this will be read in automatically and the icon stored).

Create new records in the Shortcuts table:

Shortcut=SCUT0001, Directory=DIR00004, Name=Notepad,
Component=COMP0002, Target=Complete, Description=Notepad,
Icon=ICON0001.exe, IconIndex=0 or 1, ShowCmd=1.

For the Desktop shortcut, copy/paste the row, then change the keyname
and the directory from DIR00004 to DIR00005:

Shortcut=SCUT0002, Directory=DIR00005, Name=Notepad,
Component=COMP0002, Target=Complete, Description=Notepad,
Icon=ICON0001.exe, IconIndex=0 or 1, ShowCmd=1.

Note that there's a bug, so the extension (file type) of the Icon field must match the target file extension. Hence, name it ICON0001.exe. Please note the value of this field is Case Sensitive.

Validate your project, then run a test. You should now have a shortcut on the users desktop, and under the Spinner Software folder in the Start Menu | Programs menu.

Compressing the MSI into a single file

For this you need the WiMakCab.vbs script from C:\Program Files\MsiIntel.SDK\Samples\Scripts. Copy it to your project folder.

Run the following command to create a cabinet file with all the files listed in MyMSI.MSI :

cscript //nologo wimakcab.vbs mymsi.msi MyCabinet /C

The most useful option for this script is the ability to create a single MSI file that contains everything. This is the kind of file you want to distribute.

Run the following command to create a cabinet file containing all your files, sequence the File table, update the MyMSI.MSI file to include the new cabinet file, and enable the "Compressed" option:

cscript //nologo wimakcab.vbs mymsi.msi MyCabinet /C /U /E /S

Note that 4 MyCabinet.* files are created: The actual cabinet file (.CAB), the .DDF is a definition of the content of the CAB file, and the .INF file lists the files in the cabinet. The .RPT file is just a text report on the success of the cabinet creation. All 4 files can be deleted after you've used the /C /U /E /S options, since your files are now streamed inside the single MSI file.

Tip: If you have problems creating the cab file, check the File Table records. The WiMakCab.vbs script only handles File Table records where the NonCompressed bit is cleared in the Attributes field. There is also a problem with MakeCab.exe under Windows 2000 : if a file has the NonCompressed bit set and you update the MSI to use a single compressed file (with a built in cabinet), this flag is not removed, and the package will not install properly. You'll get an error that the file to install could not be found. You can fix this in the WiMakCab script by adding the following lines :

 ' In the top of WiMakCab, add the msidbFileAttributesCompressed flag
Const msidbFileAttributescompressed = &h00004000

' Right before the statement (search wimakcab for it):
' If (attributes And msidbFileAttributesNoncompressed) = 0 Then
' you can insert the following block of code:

' MakeCab does not change the NonCompressed / Compressed flag!!
If (attributes And msidbFileAttributesNoncompressed) <> 0 Then
WScript.Echo "File " & filename & " is marked non-compressed. Changing attribute."
attributes = (attributes - msidbFileAttributesNonCompressed)

' To be really nice, you could set it to the proper value:
attributes = (attributes + msidbFileAttributesCompressed)

' Update the field (the record will be updated later)
record.IntegerData(5) = attributes
End If

I found it useful to create a little command script to create the compressed MSI. I update the files in the source tree, then run this command file to create a new, single (compressed) MSI for distribution. It expects a file named Input.msi, and creates the file Output.msi.

CreateMSI.cmd:
@ECHO OFF
@ECHO.
@ECHO Updating MSI file with new files
@ECHO.

@ECHO Remove target output file
DEL /Q "Output.msi"

@ECHO Update MSI information from source tree
CScript //nologo WiFilVer.vbs Input.msi
CScript //nologo WiFilVer.vbs Input.msi /U

@ECHO Copy original file to new output file
COPY /Y "Input.msi" "Output.msi"

REM @ECHO Create a single cabinet file with all your files
REM CScript //nologo WiMakCab.vbs "Output.msi" Files /C

@ECHO Create and embed the file cabinet
CScript //nologo WiMakCab.vbs "Output.msi" Files /C /U /E /S

DEL /Q "Files.CAB"
DEL /Q "Files.INF"
DEL /Q "Files.RPT"
DEL /Q "Files.DDF"

@ECHO Done
PAUSE

Part 2 - Custom Actions:

Continue to -> How to create MSI Custom Actions

(c) 2004 Nicolai Kjaer, Spinner Software B.V.

Sunday, May 9, 2010

CDMA vs GSM

- CDMA: Verizon, Sprint PCS, and Virgin Mobile. 270 million subscribers worldwide.
- GSM: AT&T Wireless, T-Mobile USA. 1 billion subscribers worldwide.

International Roaming: GSM yes. CDMA no.

SIM cards: GSM yes. SIM's are not tied to the network but the actual phone. SIM allows phones to be instantly activated without carrier intervention. CDMA has R-UIM card in parts of Asia but not in USA.

Speed: CDMA is faster. CDMA2000 (or EVDO) allows downstream rate of 2 Mbps. GSM EDGE boasts 384 Kbps.

Thursday, April 29, 2010

3G and WiMAX

What are the advantages and disadvantages of each?

Wednesday, April 28, 2010

Android vs Maemo

“Don’t let the noise of others’ opinions drown out your own inner voice.” -Steve Jobs

Technically, both Maemo and Android run on Linux kernels. However, Maemo is a full Linux distro, based on Debian, while Android is a sole kernel with a few programs on top of it (namely, Dalvik virtual machine and Sqlite database). On Adnroid all applications run within Dalvik virtual machine, which is heavily optimized and modified version of Java virtual machine (JVM).

Understanding Mobile Application Development - Part 1

"I don't know the key to success, but the key to failure is trying to please every body" -Bill Crosby.

Employees are increasingly working away from their offices and require access to corporate data normally found only on PC's connected to enterprise networks. As such, companies are looking for ways to support this trend. According to InformationWeek, of the 695 business technology professionals responding to their November 2009 InformationWeek Analytics Application Mobilization Survey, 42% say their organizations have deployed mobile applications on smartphones; an additional 11% say they’ll do so within the next 12 months. Six percent have up to a 24-month window. Just 23% say they have no plans to deploy.

One caveat: Only 21% of the 535 respondents currently deploying or planning to deploy mobile apps on smartphones indicate widespread programs throughout their organizations, compared with 42% pointing to department-specific rollouts. So it seems while companies recognize the important of supporting an increasingly mobile workforce, they're reluctant to implement widespread programs.

What does "mobile" mean?

First you have a desktop PC. While it is relatively compact, is not really mobile. Your laptop, while mobile relative to a desktop, retains the same basic physical requirements as a desktop: horizontal surface, room for keyboard and screen, the use of two hands, etc.

Your mobile device, however, represents a significant divergent in the evolution of portable personal computing. You are no longer restricted to a limited set of movements and positions - not to mention the use of two hands - in order to interact with your device. In essence, the truly mobile device is an extension of you and not visa-versa.

It is no wonder that there is a great variety of different mobile devices with different capabilities, features and restrictions. Mobile devices may have different technical capabilities (such as amount of available memory, resolution and size of the display, network connectivity options, support for different standards and interfaces, and different operating system versions); cell phone operators may require operator-specific device variants; and there can be a need for language-specific variants for different global markets.

Because of the many technical limitations of the mobile device, there are many new complexities developers must deal with. For a mobile device to connect to the same reservoir of data as a desktop PC, the mobile phone must first connect over a an older, slower GPRS, or perhaps via a newer, faster G3 or EDGE connection, and once the connection has been achieved, it must be sustained as the user moves through the coverage matrix of a given carrier. As a result, mobile devices are severely limited in terms of bandwidth. Furthermore, the miniaturized view-port adds yet another restriction on the data that may be accessed by a mobile device.

---
Globally, mobile devices outnumber computers 20-1. In 2006, according to AMR, Nokia alone were selling on average 11-12 phones a second (http://news.softpedia.com/news/11-12-Nokia-Phones-Are-Sold-at-Every-Second-56267.shtml).

When we examine the technical hurdles faced by a mobile device in connecting to the very same reservoir of data as a desktop or laptop PC, we are quickly struck by the nearly miraculous nature of the connection. The mobile phone must first connect over a less powerful network (be it an older, slower GPRS, or perhaps via a newer, faster G3 or EDGE connection,) and once the connection has been achieved, it must be sustained through a nearly balletic transference of the call from cell-tower to cell-tower as the user moves through the coverage matrix of a given carrier. As a result, mobile devices are severely limited in terms of bandwidth. Furthermore, the miniaturized view-port adds yet another restriction on the data that may be accessed by a mobile device.

Audience is key

When designing any product, website or not, knowing your audience is key. What do they want? Someone browsing your mobile site has very different needs and expectations from a desktop customer. Mobile users are limited by their device and are not, for example, accessing your site in order to download a large PDF or browse videos by their favorite band. So what, then, are the core motivations that would bring someone to your mobile site? Fortunately Google has been focusing on this question for quite some time and their research has revealed that there are three primary types of mobile user.

When designing for the mobile web, it is useful - indeed, essential - to keep the following three categories of mobile web surfers in mind. Your central question should be "which group or groups are most likely to access my mobile website?" Once this question has been answered, you can begin to focus on creating the site's architecture accordingly.



The challenges

In general, a major challenge for mobile application development is the great variety of different target devices with different capabilities, features and restrictions. Devices may inherently have different technical capabilities (such as amount of available memory, resolution and size of the display, network connectivity options, support for different standards and interfaces, and different operating system versions); cell phone operators may require operator-specific device variants; and there can be a need for language-specific variants for different global markets.

The approaches

Developing and managing a wide variety of application variants demands extra effort in mobile environment. There are two main approaches:

  • Developing the application so that it is adjustable and scalable to a wide variety of devices from the beginning. The drawback of this approach can be that the initial development effort is more significant. Typically, it is preferred to have a flexible, adjustable, and scalable application architecture. The initial effort pays off sooner or later, and is an investment in the future.

  • Developing the application so that it is targeted to a narrow number of similar target devices. While the initial development time may be shorter, the drawback is that the post-production phases and variant creation is typically more difficult. This approach can be beneficial in certain cases, for example when developing enterprise applications where the device portfolio is easily controlled and limited, making the need for creating variants lower or even completely unnecessary.

Tuesday, April 20, 2010

Why do we need a element?

Until now, if you wanted to include video in a web page, you had to wrangle some fairly cryptic markup. Here's an example, taken directly from YouTube:


value="http://www.youtube.com/v/9sEI1AUFJKw&hl=en_GB&fs=1&">
value="true">
value="always">
type="application/x-shockwave-flash" allowscriptaccess="always"
allowfullscreen="true" width="425"
height="344">
First of all, we have an element — a generic container for foreign objects — to include the Flash movie in. To work around browser inconsistencies, we also include an element as fallback content and duplicate most of the 's parameters. The resulting code is ungainly and not very readable.

Monday, April 19, 2010

MEAP

In this research, Gartner analyzes the mobile enterprise application platforms (MEAPs) of Microsoft, Research In Motion (RIM), Apple, IBM, Pyxis Mobile, Spring Wireless, SAP, Oracle, Sybase, Syclo and Antenna Software. This market remains split among mobile software and tooling specialists, with platform diversity as a core element; application suite vendors, with mobile extensions; and device operating system (OS) vendors, with more-narrow offerings based on their own platforms. The offerings in this Magic Quadrant, and mobile application enablement will continue to grow in importance to enterprises during the next three to five years, as enterprises continue to extend decision-relevant information to employees, who themselves are increasingly mobile. Mobile seat deployments grew much more slowly in 2009 than during the period of 2003 through 2008, because many organizations have established baselines of mobile functionality, and many projects are second generation or third generation (3G). However, we expect that investments driven by the cost optimization of business processes to continue, due to the high return on investment (ROI) and relatively quick (less than 12 months) break-even payback cycles.

Adoption of MEAPs continued to be stronger than the overall software market, although macroeconomic issues did have a moderate impact on growth. Whereas mobile e-mail and personal information management (PIM) support is ubiquitous worldwide and is moving into its commoditization phase, Gartner estimates that, although more than 80% of enterprises with mobile line of business application requirements have invested in MEAPs or packaged solutions, fewer than 15% of organizations have MEAP-based deployments that have reached all business units, all processes and all employees.

The number of vendors in this Magic Quadrant remains at 11, with Antenna Software's acquisition of Dexterra and Pyxis Mobile's addition being the only changes. Gartner expects the use of MEAPs to continue to increase through 2013 as smartphone use permeates the enterprise, and as the need to support device diversity — combined with deeper integration — gives vendors new points of differentiation. As we predicted in 2008, the vendors in this Magic Quadrant were, and continue to be, well-positioned to weather a more difficult economic climate.

This market is made up of three types of vendors:

Mobile OS-focused vendors, such as Microsoft, Apple and RIM, that have developed broad mobile application development (AD) toolkits focused on a single platform, rather than on diverse mobile OS support. In cases where device diversity is less important, these represent viable long-term choices. We estimate that this approach ranges from 40% to 60% of deployed enterprise applications, depending on the industry. Gartner believes that this percentage will decrease as more enterprises face multichannel requirements to support greater device and OS diversity.
Mobile specialists with multichannel capability (such as Sybase, IBM, Pyxis Mobile, Spring Wireless and Syclo). A core tenant of their value proposition is being device- and application-platform-agnostic.
Application suite vendors (like SAP and Oracle), that have made considerable investments in their own mobile infrastructure and application offerings, as well as that of their partners. These vendors focus on enabling their own application suites.
These vendors are the primary options; however, the mobile middleware and toolkit technology area is very active, and enterprises need to be aware of other vendors, such as those that offer prebuilt solutions such as packaged mobile applications.

Gartner expects new competition to emerge from vendors such as salesforce.com and Google as they increase their emphasis on mobile, and as rich-client technologies reduce the effort required to field enterprise-class mobile experiences. Gartner believes that there will be two new entrants to the MEAP Magic Quadrant by 2011, likely coming from the Web-based application markets or cloud services, where both the AD and possibly the application execution environment are hosted "in the cloud."

One lasting impact of the iPhone and the burgeoning Android platform is a requirement for multiplatform access to application data in a growing number of enterprises. MEAPs contain prebuilt tools, and sometimes prebuilt functions, that may not be a part of the platform tools, and, in some cases, the MEAP tools may well be better-optimized for developing mobile applications than generic platform tools (for example, support for ruggedized handhelds).

MEAP vendors offering approaches that support mobile OS diversity have significant advantages over application suite or mobile OS platforms/tools in three situations: (1) when there are three or more applications; (2) when there are three or more targeted OSs or runtime platforms; and (3) when projects involve the integration of three or more back-end systems. Gartner further rates these vendors in "Critical Capabilities for Mobile Enterprise Application Platforms."

Large enterprises with significant populations of mobile employees should standardize on one or two MEAP vendors. Those that have diverse applications, networks and device requirements need to strongly consider the multichannel capability of the MEAP they choose; those who do not have diverse requirements can focus on a smaller set of target devices, and may find that narrower offerings suffice.


Return to Top






Magic Quadrant



Figure 1. Magic Quadrant for Mobile Enterprise Application Platforms



Source: Gartner (December 2009)


Return to Top




Market Overview
There are fundamental, unchanging challenges in delivering mobile business applications, whether to smartphones, ruggedized PDAs, Web clients or point-of-sale kiosks. Unlike PCs, the target devices have differing operating systems, screen sizes, resolutions, input mechanisms and output media (voice and data); may attach intermittently (sometimes causing their Internet Protocol [IP] addresses to change); and may operate over multiple types of networks with varying bandwidth and latency characteristics. This scenario requires not the fixed client/server architecture of the PC world, but one that adapts dynamically to each scenario. The PC world has traditionally sought software investments with lower upfront costs, followed by relatively few, but major, upgrades, whereas the mobile consumer world focuses on smartphones and 3G services, with applications that require updates on a semiregular basis (in three- to six-month cycles). MEAPs must deliver higher performance and resilience in a more diverse set of circumstances.

Because of the requirements of constantly changing groups of users and the rapidly evolving device environment, mobility requires more-frequent application upgrades and additions. Multichannel software addresses these more-frequent upgrades by providing (for a larger upfront software investment) the promises of lower costs and greater agility as the target devices change by necessitating only changes to small, isolated components of software. Mobile AD remains just as complex as in previous years as it moves into the mainstream because of diversity and multichannel considerations. Enterprises that attempt to support a range of mobile development platforms face these issues:

Higher development costs, because skills must be maintained for multiple platforms, tools, and, in some cases, programming or database languages
Separate software stacks and delivery methods for data transport
Complexities with testing
An increase in software defects
Cases when applications must coexist on client devices
Conflicts with managing network connections on mobile devices
An inability to administer security and devices from a central point of control
Reduced battery performance as applications use divergent delivery methods/paths
Higher support and service costs
Security and management concerns, driven by regulatory requirements and high-profile data breaches, have led businesses to look to IT for standardized and more cost-effective methods to ensure the security and management of mobile devices. In some cases, IT and management can dictate the exact model of devices — a notable distinction from MCAPs — where, by definition, the target devices can be considered any handheld that is procured by an end user in a given country or region.

These factors suggest that IT organizations need to evaluate MEAPs for AD, deployment and management capabilities. In cases where enterprises need to support complex approaches (multiple applications across multiple back-end systems targeting a range of mobile devices), more-sophisticated multichannel features will weigh more heavily. Mobile specialists are becoming more agile or "pluggable" to align with programmer skills around mainstream development tools, such as Eclipse, Microsoft Visual Studio and Oracle Application Development Framework.

MEAPs providing multichannel capability provide benefits by:

Providing code reuse for multiple device, multiple OS and multiple network support
Reducing and collapsing the amount of transport and network layer software needed for incremental solutions
Providing prebuilt user interfaces for small form-factor devices (this is significant because of the nuances of building optimal user experiences, which are key to user adoption)
Reducing or avoiding testing and integration costs by reusing subsystems of the above elements and, in the case of MEAP vendors, using fourth-generation techniques, by improving the productivity of programmers, and targeting those whose cost basis is lower
As we expand our criteria to provide a single view around mobile development, we are not changing our position on the value of multichannel access capability, and we will grade vendors according to their ability to support it. Multichannel capability is becoming more important as enterprises expand their mobile application capabilities to users. Enterprises are increasingly mixing solutions from multiple vendors, each with separate software stacks for data transport (which results in poor battery life). This also leads to conflicts with managing network connections on mobile devices, an inability to administer security and devices, complexities with testing, an increase in software defects, and higher service and support costs. As coding-centric approaches have improved, the gap in total cost of ownership (TCO) has shrunk between them and multichannel approaches, down from an average of 40% in 2006 to between 15% and 20% by 2010.

Reduce the risk, project by project, of organizations making the mistake of placing an over-reliance on thin-client or Ajax architectures, instead of multichannel architectures. As is typical in this market, migrating software investments between platforms requires a nontrivial amount of professional services. If business process requirements need to be re-examined, then this can require the same effort as starting from scratch.

Multichannel functionality will be a part of the MEAP criteria, and some packaged mobile application vendors will provide multichannel access as well. Because these offerings are complex and intertwined with client- and server-side management, development, and application offerings, it is imperative to discuss your technology and skill base, as well as industry-specific, geographic and application needs, with a Gartner analyst before finalizing shortlists. For MEAP vendors that provide applications that are bundled with their platforms, we will factor those applications into their rating.


Return to Top




Market Definition/Description
MEAPs provide tools and client/server middleware for mobile (targeting any mobile application on any device, ranging from a smartphone to a PC) and multichannel (highly device/OS- and network-adaptive) thick (offline) enterprise AD.

However, the number of enterprises adopting these approaches is limited — only consider these if legacy investments dictate. Gartner will monitor these approaches, but none have matured into mainstream enterprise mobile application development options. We believe that more than 95% of organizations will be choosing MEAP or packaged mobile application vendors as their primary mobile development platforms through 2012. Multichannel (sometimes formerly referred to by Gartner as "MAG") functionality will be explicitly reviewed as a part of MEAP and packaged mobile application vendor offerings.

The MEAP Magic Quadrant is designed for use by organizations intent on building mobile or multichannel solutions; the packaged mobile application MarketScope is designed first for organizations that want to buy platform-based applications. Gartner often sees a mixture of these types of vendors on shortlists, and, in a few cases, there is cross-licensing of offerings among vendors. We anticipate that trend will continue. The critical capabilities that we considered in rating vendors in this market are:

Integrated development environment (IDE) and tooling — code development and debugging, and pluggability into PC-focused AD tools, including what-you-see-is-what-you-get (WYSIWYG) editors and form builders.
Mobile AD and debugging (client and server) — explicit support for devices, peripherals and networks within the provided tools. Some vendors provide server-side capability and tools, so that applications can be rendered as thin, rich or thick. Some vendors provide device/OS diversity (multichannel capability). In most cases, code generation capabilities are included. There is little portability of application code among platforms.
Management and security (all kinds, such as application and device) — the ability to manage all aspects of deployment, such as application management and updates, security management and updates, and device capability management (for example, power consumption and networking).
Enterprise application integration (tools and libraries) — because composite application integration and support is often a requirement for mobile applications, we considered the type of database, application programming interface, XML-based tools and SQL-based tools. Prepackaged libraries for application suite support were also considered.
Device integration and peripheral support — the range of devices supported, and the ease of integration and porting of business logic to the devices.
Application client runtime — the suitability and performance of client runtime environments.
Device/OS platform support (including smartphones, ruggedized PCs, tablets, notebooks and kiosks) — the range of target devices and OSs supported by the vendor.
Packaged mobile applications — the breadth and depth of the mobile applications that are integrated with the MEAP and/or multichannel platform capability.
Hosting — some MEAP vendors also host significant numbers of installations, so we considered customer feedback regarding how well vendors performed.
Architectural flexibility — additional credit is given for MEAPs that can be configured so that business logic can run across thin-client, rich-client or thick-client architectures without recoding.
We consider these critical capabilities across four use cases or scenarios in assessing how IT organizations use MEAPs, to come up with a portion of the execution and vision scores:

Single application, single platform — the mobilization of a single business application targeted toward a single device/OS.
Multiple applications, single platform — the mobilization of multiple business applications to a single platform independently — this use case mirrors organizations that may have independent project teams. The need to integrate multiple back-end (server-based) functions into a composite experience on a single mobile platform.
Single application, multiplatform — the need to support a single application across many platforms.
Multiple applications, multiplatform — the need to support many different applications across a spectrum of OSs. The need to integrate multiple back-end functions, and to present a composite experience across a range of mobile platforms.
For those considering MEAPs, within IT organizations, two distinct job functions are addressing mobile AD:

Traditional developers who demonstrate leanings toward Java or .NET programming languages
Technical business analysts who prefer high-level (fourth-generation) languages and form builders
To address both segments, many MEAP vendors are providing higher-level languages and application templates to ease development time. Increasingly, less programming expertise is required to introduce solutions. Although infrastructure vendors have stayed focused on traditional programming techniques, the success of the higher-level language and template approach offered by leading MEAP specialists will eventually cause the majority of MEAP vendors to offer this second method.

In some cases, MEAPs are seen on shortlists with tactical vendors, because most of the 300-plus vendors tracked by Gartner that offer mobile software are tactical in nature, specializing in certain industry processes, sales channels or geographies. Tactical vendors include those that offer mobile e-mail; thin-client mobile application servers; mobile platform, tool and point solutions; mobile device management (MDM); CRM (including field service management and sales force automation); ERP (including enterprise asset management and IT asset management); supply chain management (including warehouse management); and supplier relationship management.

Software sales in the mobile software/platform market are difficult to estimate for the following reasons:

The software-to-service ratio on a per-deal basis varies.
Mobile middleware and application pricing are bundled into core application or toolkit pricing by vendors. Some vendors offer their packaged applications through software as a service (SaaS), and, in some instances, amortize service costs on a per-eat basis over time.
Revenue claims from privately held vendors are difficult to corroborate. Larger software vendors typically do not break out revenue associated with mobile software or middleware.
In some cases, MEAP platforms and/or multichannel-based software is offered free of charge by larger software vendors to sell traditional products.
Sales channels tend to make it difficult to identify all associated revenue.
Given such challenges in assessing this market, Gartner estimates that the overall size of the MEAP and packaged mobile application platform market was $675 million to $800 million during the past 12 months, and that it grew at a rate of about 5% since Gartner's 2008 update, compared with a decline in the overall software market of 5% in the same time frame. While uptake is still relatively strong, we project that our previous estimates from 2006 and 2007 will prove to be slightly high, and are revising our estimate for the MEAP and packaged mobile application market downward, from $1 billion to approximately $850 million to $900 million by 2010. We now expect market growth annually of 15% to 20% through 2013. This figure includes server licensing, tool suite licensing and client software licensing, including device management, built-in security, databases, prebuilt applications and connectors. There is also a considerable service market tied to mobile platform deployments, which is slightly larger than the mobile software market, but relatively small compared with overall enterprise spending on mobile projects.

MEAPs are continuing to slowly evolve from today's offerings, which are, for the most part, database-synchronization-centric. They will become more Web-oriented and composite-transaction-oriented. Note the distinction between composite applications (where there is one user interface blending data from multiple sources into a unique view) and composite transactions (which might not only spawn a unique view, but also a related summary e-mail to the end user or to colleagues).

Mobile portals and mobile consumer application platforms (MCAPs) complement existing MEAP multichannel functionality; a limited set of MEAP vendors can leverage their server- side capabilities to also offer thin-client experiences. The best MEAP platforms treat thin clients as just another transaction medium. We do not anticipate MEAPs that are OS-centric — such as those from Microsoft, RIM and Apple — to make significant progress on multichannel applications in the near to midterm. Gartner does expect to see some MEAPs to evolve into what would effectively be partial code generators for HTML5 targets, or at least into architectures where the target user experience layer, perhaps data caching and the basic screen validation logic, etc., was in HTML5, even if there was additional code as well.

By 2013, the market for unified communications platforms, which complement MEAPs and multichannel capability, will further overlap with the mobile development and platform market as the distinction between voice- and data-centric applications narrows. Competitive situations are arising in which voice-centric unified communications approaches compete with data-centric applications (for example, when the integration of voice-enabled front ends for enterprise applications, such as warehouse management or healthcare, complement or compete with MEAPs). However, for the present, these platforms can be chosen separately. Gartner is not seeing as much overlap with wireless e-mail platforms as in the past. RIM and Microsoft dominate the integration efforts of e-mail on the server side, and interest in e-mail clients (such as Good) that may offer rich-client capability has diminished.


Return to Top




Inclusion and Exclusion Criteria
Inclusion Criteria

Unlike the transition from 2007 to 2008, the inclusion criteria from 2008 to 2009 featured only small changes. The number of companies meeting Gartner's criteria remained the same at 11, with one vendor being acquired and one added. A summary of the vendors in the market, and how Gartner is covering them, is included in the Inclusion/Exclusion section.

To qualify for this Magic Quadrant, a vendor must:

Have more than 100 employees. We see a group of vendors distinguishing themselves by creating and participating in "ecosystems" that have expanded their breadth. MEAP vendors need to have significant presence or operations in at least two regions worldwide.
Show financial viability. A vendor must have more than $20 million in revenue in 2008, and must be profitable or have sufficient sales in its pipeline and cash reserves to guarantee viability for 12 months.
Provide a stand-alone mobile development environment or toolkit, or have a specific database, integration or design capability for mobile composite applications within a broader software development suite.
Offer developer support (stand-alone or within the context of an encompassing solution development platform) and be visible to Gartner in the marketplace. MEAP vendors need to provide 10 reference customers that have used the platform in production environments for six to 12 months. Those that didn't received a lower execution score and were included only on the basis of independent observation of their platforms in production.
Support application integration for multiple commercial enterprise applications (such as those from SAP or Oracle), as well as homegrown applications through common interfaces, such as Java, XML, SQL and BizTalk.
Show support for composite AD, specifically the ability to update disparate data stores, based on one transaction by a mobile user.
Support a wide range of devices, preferably at least two of these categories: smartphones, PDAs, tablet PCs, notebook PCs, ruggedized handheld computers and specialized platforms, such as vehicle-mounted devices, set top boxes, point-of-sale terminals and kiosks of various form factors. Additional credit is given to vendors if they support transformation to sub-Video Graphics Array screen resolutions and nonqwerty input formats. Fewer supported platforms result in lower vision and execution scores.
Support for disconnected (offline) application functionality for the categories of devices it focuses on, and preferably some form of rich- or thin-client for others. Offline access can include partial (cached) or full access to application data. Gartner expects partial or cached support to become the main technique for MEAPs by 2013.
Have strong system integration capability, directly or through partners.
Multichannel is optional, but limited device diversity support, limited application examples and below-par device/application management capabilities will adversely affect a vendor's score.

Exclusion Criteria

Reasons for excluding vendors are:

There is lack of support for a range of application architectures — for example, some sales force automation vendors support only thin-client (browser) architectures.
They do not allow enterprises to create composite applications.
Most do not enable management and security of devices.
Most do not enable offline access to these applications and data.
Most do not market and sell to enterprises.
Companies excluded from Gartner's Magic Quadrant for MEAPs include vendors of thin-client mobile application servers that support only browser or applet-based applications, AD or form toolkits, terminal server products, mobile virtual private network (VPN) products, and carrier-based or thin-client mobile application servers.

In addition to MEAPs, there are three other possible approaches:

Open-source approaches using high-level languages, such as Python
Java Platform, Micro Edition (Java ME) approaches, where enterprises standardize on Java, then create their own libraries and techniques to handle the extreme fragmentation of Java support
Emerging toolkits (such as Nokia Qt, formerly Trolltech) that abstract a wide range of OS features, including the user interface
Other Vendors Providing Mobile Capabilities for Enterprises

Gartner observes MEAP vendors being evaluated with other types of offerings. Following is a partial list of vendors or offerings that Gartner has observed in these situations:

Vendors of thin-client mobile application servers, mobile VPNs, mobile device management software, carrier-based platforms and MCAPs — for example, Air2Web, IBM Service Provider Delivery Environment, InfoGin, Motorola, Motricity, Openwave and Volantis.
Vendors of AD, form toolkits or open-source products with mobile support — for example, Qualcomm's Binary Runtime Environment for Wireless (BREW).
Vendors providing field service automation back-end systems (such as Astea and Click Software) or sales force automation (such as salesforce.com). Mobile capability is considered when rating these vendors, so it is not duplicated in the MEAP Magic Quadrant or in the packaged mobile application MarketScope.
Terminal server products — for example, Citrix and Microsoft Windows Terminal Server.
Packaged mobile application and mobile point solutions — for example, Agentek, Anyware Mobile Solutions, Appear Networks, Flowfinity Wireless, Global Bay Mobile Technologies, Mobile Data Solutions, Vaultus, Wonderware, Xora and Trimble.
Companies providing elements of multichannel functionality that don't appear in the Magic Quadrant or in the packaged mobile application MarketScope, including Sky Technologies, MobileFrame,ï€ Sun Microsystems, Formotus, Field2Base, Neoris (primarily Latin America), MC1 (Latin America) and salesforce.com.

Return to Top




Added
Company added:

Pyxis Mobile

Return to Top




Dropped
Company dropped:

Dexterra (acquired by Antenna Software in 2Q09)

Return to Top




Evaluation Criteria

Ability to Execute
Product/Service

Do the vendor's mobile server software, client software, AD toolkits, application management capabilities, device security and management abilities meet the buying requirements of enterprise users? Does the vendor include multichannel capability to support OS/device diversification? Are the offerings pluggable and modular? Does the vendor also supply packaged mobile applications; if so, then are they well-integrated and supported by the MEAP?

Overall Viability

By increasing the criteria for inclusion, we are dropping this parameter from High to Standard. To qualify, small vendors need approximately $20 million in annual revenue, need to be profitable or nearly profitable, and/or need to have cash on hand to finance one year of operation. For large vendors, continued commitment from upper management for mobile capabilities and overall company financials are considered.

Sales Execution/Pricing

Factors include numbers and geographic dispersion of inside/outside sales, partnering and the level of local sales support for resolving issues. Also important are value-added reseller (VAR) and system integrator (SI) relationships, carrier partnerships, and ongoing application developer relations. Vertical strategies and customers play a role in the criterion, as do pricing models and TCO.

Market Responsiveness and Track Record

How long has the company been in the mobile enterprise application market, and, in particular, how has it innovated around not only multichannel capability, but also all facets of enterprise mobility? How has the company responded to the maturation of the market and its changing requirements? Is the company growing at, or faster than, the market rate?

Marketing Execution

Has the company successfully marketed mobile tools or capabilities to specific vertical industries, locations or end users in IT? What is the strategy based on? Is it tooling, database, device, application or system integration channels? What is the level of market awareness of the company's mobile enterprise offering? How does the company work with its partners to create a healthy ecosystem?

Customer Experience

Along with the core product category, this is the most important category, and requires actual customer and partner experience (for example, from IT organizations, lines of business and end users) for the entire engagement life cycle of mobile applications — from initial contact through to sales, procurement, development, integration, deployment and support. Given that many customers interact more with the VAR and/or the SI than with the software vendor, this category also takes into account the vendor's choice of partners and any ongoing partner evaluation/certifications.

Operations

Has the company successfully scaled its business geographically? In many cases, MEAPs need to be able to support multinational deployments. How does it support vendor partners, training centers and developer relations? How well-run are the sales, marketing, finance, research, development, testing, system integration, help desk and other key functions? Are proper quality assurance processes in place?


Table 1. Ability to Execute Evaluation Criteria

Evaluation Criteria Weighting
Product/Service high
Overall Viability (Business Unit, Financial, Strategy, Organization) high
Sales Execution/Pricing high
Market Responsiveness and Track Record standard
Marketing Execution high
Customer Experience high
Operations low


Source: Gartner (December 2009)


Return to Top




Completeness of Vision
Market Understanding

Numbers and geographic dispersion of inside/outside sales, partnering and level of local sales support for resolving issues are important. A longer-term vision of MEAPs' functionality — beyond mobile application enablement — including vertical-industry understanding, voice, instant messaging, location and presence, are also important factors. Carrier relationships, as well as hosted and nonhosted offerings, will also be factored in.

Marketing Strategy

This entails a market understanding of the requirements for security, management and integration with existing platforms, and of departmental/functional groups with requirements for rapid ROI and frontline applications. Existing relationships in adjacent markets, such as field service or enterprise-targeted offerings, weigh heavily in this category.

Sales Strategy

This includes the number of sales professionals and their geographic spread, the number of vertically focused teams and the vertical markets to which they attend. Within this category, we also evaluate the sophistication of the sales teams and the scalability of the sales model. This category seeks to take account of partner strategies and how they will relate to future sales efforts.

Product Strategy

Does the road map for the product reflect the market's direction and the likely requirements of buyers in 18 to 24 months? Does the history of the product reflect steady improvements and growth in functionality? Has the company built or acquired the pieces necessary to maintain product relevance/leadership? Does the company seek to address additional client requirements, beyond mobile application deployments?

Business Model

This category evaluates the vendor on its ability to balance the need for company and product agility with the need for leadership in the market. How does the vendor's focus reflect future market conditions and requirements? How will hosting, partnerships and services affect growth? Does the company's business model dissuade it from multichannel support?

Vertical Market Strategy

Does the vendor add extra value through focused packaged mobile applications in growth vertical industries, such as transportation, logistics, healthcare, government, education, oil and gas, petrochemicals, utilities, insurance, financial services, and professional services? Is it able to articulate a strategy for vertical differentiation, and can it maintain that position? Has it identified horizontal applications that span multiple vertical industries, and can it capitalize on those frontline applications across the customer base?

Innovation

Does the company have a compelling technical story that supports a compelling business proposition? Is the company a trendsetter in mobile applications, or a follower? Does it have an ambitious technical direction that will enable it to deliver ongoing product enhancements faster than its competitors? Does it provide input for or participate in standards bodies? We also consider intellectual property positions; however, Gartner does not give legal advice.

Geographic Strategy

Does the company have a strong plan for supporting customers and growing business worldwide? Is the company strong in marketing and sales activities in at least two regions? What is its track record for multilingual support, including products, sales and partners? What are its international expansion plans, and do they mirror the regional market maturity rates that Gartner expects?


Table 2. Completeness of Vision Evaluation Criteria

Evaluation Criteria Weighting
Market Understanding high
Marketing Strategy standard
Sales Strategy standard
Offering (Product) Strategy high
Business Model high
Vertical/Industry Strategy high
Innovation high
Geographic Strategy standard


Source: Gartner (December 2009)


Return to Top




Leaders
As this market reaches early mainstream, Gartner expects leaders to be profitable or very near profitability, to lower risk as growth is slowing and tougher economic times equate to greater risks for venture-capital-backed firms. Leaders must not only be good at supporting their own platforms, but they also must have a good vision of the multichannel enterprise, a solid understanding of IT requirements, and scalable channels and partnerships to market. They also have to provide platforms that are easy to purchase, program, deploy and upgrade. These leading vendors that have focused on key elements of multichannel functionality and offer application-centric solutions compete head-to-head with broad, single-OS-focused platforms, and, rather than do so, some are side-stepping direct competition by evolving their toolsets to be pluggable.


Return to Top




Challengers
Challengers in this market must have high numbers of enterprise clients; a large, growing base of seats in deployment; and the ability to meet the needs of all departments in global roll-outs. They have a complete software suite, with all the required functionality that is scalable for large numbers of users. They are vendors with a history of execution in the market. They may lack strong technical or business vision — especially in the areas of diversity and multichannel support — or have lingering gaps or confusing overlaps in products or channels to market.


Return to Top




Visionaries
Visionaries in this market have a compelling vision of the product's and market's future, as well as the technical direction to take them there. However, they have not backed up that vision in one of these areas: history of execution, size of client base, extensiveness of production installations, low TCO (which may indicate immaturity in parts of their offerings) or strong financial results.


Return to Top




Niche Players
Niche players are not as strong in one or more of these criteria: geography, product breadth/completeness or focus, or number of customers. Although they may be a particularly good choice because of vertical or customer knowledge, Gartner suggests pairing niche players with stronger MEAP or packaged mobile application platform vendors, and that enterprises ask niche MEAP vendors to show how they will remedy their shortcomings through partnering or integration on a project-by-project basis.


Return to Top




Vendor Strengths and Cautions

Antenna Software
Antenna Software, a venture-backed firm based in Jersey City, New Jersey, moved into the leader's portion of the quadrant in 2008, and remains there in 2009. It has built a customer base through acquisitions (RPA Wireless in 2003, Vettro in 2008 and Dexterra in 2009) and through focused partnerships with large software vendors, such as Oracle for mobilization of Siebel on Demand. In 2009, Antenna Software continued to increase the breadth of prebuilt mobile applications based on its Antenna Mobility Platform (AMP). It sells the majority of its software hosted as a service (75% and more) and typically blends hosting, customer support and maintenance services into its monthly charge.

The vendor also formed a strategic partnership with AT&T in 2008, in which AT&T is licensing its AMP platform and reselling it under the AT&T MEAP brand. Gartner has yet to see this relationship blossom into numerous customer references; however, we believe that this relationship, as well as the Vodofone relationship Antenna Software inherited with the Dexterra purchase, will enable it to sell and service small or midsize businesses and other markets it would have been unable to reach without the carriers. The Dexterra acquisition (in early 2009) gave Antenna Software several assets of its long-standing competitor — Dexterra's Concert product line, partner relationships and a presence outside the U.S., particularly in Europe. Antenna Software plans to reconcile and merge the Concert and AMP product lines by mid-2010.

Gartner sees Antenna Software AMP's best fit in sales forces and in companies with mobility requirements to support Oracle users; look to its Concert platform for field service management and more-process-intense applications. Antenna Software is a good fit for organizations that are embracing SaaS. For Antenna Software to remain in the Leader's portion of the Magic Quadrant, Gartner expects significant results from its relationship with its carrier partners.


Return to Top




Strengths
With the AT&T and Vodafone carrier partnerships, Antenna Software adds scale/market reach. Specifically, the Vodafone relationship provides a base outside the U.S., while AT&T can help grow scale by delivering its own set of applications based on AMP.
AMP Studio (version 4.0) has greatly improved as an IDE, covering a wide variety of developers and adding significant application management capabilities. Gartner rates Antenna Software's packaged mobile applications — which include field sales, field service, IT service management, consumer packaged goods, pharmaceutical, direct store delivery and merchandising — as positive.
Antenna Software continues to provide support for a wide range of devices and OSs, including RIM BlackBerry, Windows Mobile, Palm OS and iPhone.
The AMP platform presents a good match for organizations whose business models align with packaged mobile applications delivered via SaaS — its hosted model enables enterprises to scale to raise or reduce user counts or to effect short-term rollouts. Antenna Software plans to consolidate the AMP and Concert platforms, and this will broaden the choice of delivery.

Return to Top




Cautions
Gartner observed that market interest in AMP slowed in 2009. In addition, Gartner observed some inconsistencies in company performance during sales and assessment periods, particularly for new or existing customers of Vettro and/or Dexterra.
Dexterra's viability and performance with customers before the acquisition was dropping significantly, and Gartner believes that this was due to the amount of resources devoted to the carrier-based offering.
Future product road map consolidation will mean that Antenna Software's R&D will be internally focused for at least half of 2010, while we believe the combined product will be stronger than its separate parts, and that the integration will consume resources, potentially slowing other product developments.
With some customers, we observe a relatively higher long-term TCO for AMP, driven by the combination of slightly larger professional services costs coupled with recurring monthly fees and, in the case of Concert-based solutions, higher-than-industry-average upfront customization costs.

Return to Top




Apple
While interest remains high for the iPhone and the lightweight applications it supports, enterprises are more realistic with their expectations in 2009. Gartner believes Apple's approach to enterprise AD will remain tactical, and that focus will remain on the consumer market. Apple continues to lag in addressing gaps in development tools maturity and completeness in some important feature sets, particularly security, management and application distribution. Apple's tools target only a single device, with fewer carrier relationships than Nokia, RIM or Microsoft. As a requirement of the platform, to distribute applications, an enterprise must apply for the Apple enterprise licenses (which, although a trivial process, adds to learning curve). Note that the rating given to Apple in this Magic Quadrant is in contrast to its leadership rating in the MCAP Magic Quadrant, where considerations such as application stores are considered.

For organizations or employees that do not require the highest level of security, battery life and manageability, Apple may be an appropriate choice for sales force applications and/or lightweight business processes in 2010.


Return to Top




Strengths
Due to the OS and ease of use, Apple continues to drive keen interest from enterprises and consumers. However in 2009, expectations for its enterprise capability are lower, and most organizations are planning for mobile e-mail, dashboard capabilities and lightweight sales force automation applications, many delivered through portals.
The vendor has strong integration between the development platform and commercial application distribution, causing tremendous interest and development from traditional and nontraditional mobile software vendors, with more than 100,000 mobile applications available for the platform today (with the majority of them consumer-driven).
Enterprises wanting to create better user experiences for sales force applications or knowledge work can benefit from Apple's user interface paradigm.

Return to Top




Cautions
Apple remains in the early stages of the mobile enterprise maturation cycle; support for enterprise applications remains narrow in scale and function.
The vendor has no multichannel support for thick clients — developing mobile enterprise applications implies lock-in to Apple — resulting in higher TCO, due to the need to source another set of tools to support diverse device/OS requirements.
Expect high TCO and higher security risks. iTunes will be required as an application that IT organizations must install on end-user desktops for enterprise management and security. The iPhone configuration utility works via unencrypted XML, which can be changed to be signed, but most management tools have not yet made this option available to end users.
Apple's decision to limit background application-tasking abilities (to preserve battery life) forces business applications to foreground processing, and limits management and security capabilities available to third parties.
Challenges exist regarding Apple's MDM software, including additional costs/complexities of IT and end users supporting Apple iTunes on PCs. We expect Apple to support non-iTunes-based application distribution of enterprises shortly.
One consequence of architectural limitations, such as background processing, is that classic multiplatform MEAP vendors (such as Antenna Software, Syclo or Sybase) cannot easily provide the full portability to, or range of features on, the iPhone because they must be ported to a different execution architecture or be cross-compiled. Thus, MEAP-based iPhone applications will require more testing and may work differently on the iPhone. Issues such as limited data sharing between separate applications reduce the iPhone's relevance for corporate users. Lastly, Apple bans scripting engines on the iPhone, again limiting the functionality available to developers.
Apple's platform lacks any mainstream languages (such as C#, C++ and Java) and forces developers into a niche language, Objective-C. Apple development can only be done on Macs, which is a limitation for organizations that don't use them.

Return to Top




IBM
IBM continues to win deals using its Eclipse plug-in and Lotus Expeditor, including for notebook- and kiosk-based applications. IBM's mobile middleware offering for thin-client support was rebranded as the IBM Mobile Portal Accelerator 6.1 in 3Q09, and included enhancements to image conversion, iPhone support and integration with Lotus Web Content Management. Its thick-client toolkit remains branded as Lotus Expeditor, targeted at thick-client support. IBM launched new support for handheld devices on BlackBerry, Nokia, iPhone and Windows Mobile, and delivered new mobile AD tools. For e-mail/collaboration integration, it offers IBM Lotus Mobile Notes Traveler, partner offerings (RIM and Sybase) and IBM Lotus Mobile Connect for secure mobile access. IBM added Lotus support for Nokia and Samsung in Domino 8.5 (shipped in January), and iPhone in Domino 8.5.1 (shipped in October).

IBM's mobile enablement of line-of-business applications through IBM Global Services is often a combination of other mobile middleware, when its WebSphere-based or Lotus Expeditor tools prove too costly or cannot be scaled down to size. This leads to reports from clients of overlapping functionality and long implementation cycles that, in the long run, can have high TCO.

While IBM has won business for thin-client (MCAP) support at large carriers in the U.S. and India, it appears that enterprise mobility currently languishes in product silos, and lacks corporate-level executive management support and visibility. IBM rebranded its MDM offering to Lotus Mobile Connect. Concerns regarding IBM's mobile AD strategy include its complexity, the fragmentation of Java implementations on client devices to support offline business logic, and the lack of modularity and scalability of the offering — simply put, it is difficult to scale down for departmental or small business units.


Return to Top




Strengths
IBM Global Services gives IBM strong insight with regard to enterprise mobile requirements. IBM has articulated that it will be launching broader support for a new set of handheld devices in 2010.
The vendor has made some investments in simplifying its platform (for example, its Expeditor client can be provisioned with Tivoli Provisioning Manager, WebSphere Portal, Eclipse Web Update or Microsoft Systems Management Server).
IBM is still one of the largest vendors in enterprise mobility, with more than $1 billion in service revenue; however, little of that is related to IBM's MEAP platform.

Return to Top




Cautions
We have found that only the most loyal and locked-in IBM customers deem Lotus Expeditor appealing, because they can typically leverage their experience with Java Platform, Enterprise Edition (Java EE), Eclipse and WebSphere programming models.
Customers using the Lotus Client report performance and footprint problems (for example, the inability to load more than one thick-client application at a time on Windows mobile platforms, due to the overhead from the IBM client).
Although IBM's Lotus Expeditor client is competitively priced, on average, TCO on notebook-based applications using Lotus Expeditor for a rich portal interface remains high.
The fragmentation of Java implementations on client devices to support offline business logic means that enterprises must build or work with IBM to source a suitable Java ME client.

Return to Top




Microsoft
A significant percentage of large enterprises choose to build mobile capabilities from the ground up with Microsoft, which is particularly attractive if an enterprise needs to custom-code mobile applications that run on two or more Microsoft-based tablets, desktops, notebooks, smartphones and/or ruggedized devices. Microsoft has chosen not to support other platforms; the idea of OS/platform diversity support is at odds with its licensing and go-to-market strategy.

Overall, Microsoft's execution score slipped in 2009; however, in Gartner's estimation, Microsoft remains alongside RIM as the most frequently used MEAP vendors. We lowered Microsoft's rating, as we observed diminishing dominance in mobile SFA and lightweight field service applications, implementation costs with their MDM software, and stagnation in their mobile enterprise partner ecosystem relative to RIM and Apple.

Gartner believes Microsoft will change the positioning of its tools by 2012, in response to HTML5 and the fact that smartphone platforms, like Android and the iPhone, will cause more enterprises to look for frameworks that do not lock them into a specific device OS.


Return to Top




Strengths
Microsoft gives enterprises the ability to construct multichannel servers using Visual Studio, SQL Server CE, its direct push capability in its mobile e-mail offering and its thin-client profile support for other device types.
It has a large installed base for mobile solutions across all types of device platforms, including Windows 7, Vista, XP for mobile tablets, netbooks, laptops, Windows Embedded CE and Windows phones.
Microsoft has long-standing relationships with enterprise IT departments, desktop/notebook/tablet market leadership, a stable base of Windows Mobile in the smartphone market and dominance of that OS in the ruggedized handheld market.
Given its dominance in the ruggedized handheld OS market, and the coming split between Windows Mobile 6.5 and Windows Mobile 7 for smartphones, Gartner expects Microsoft will continue with strong support for the ruggedized market.
The vendor has a huge .NET developer base, and some skills transfer to the compact .NET framework, lowering the learning curve for mobile support. Microsoft's strong AD tools and support aid debugging.

Return to Top




Cautions
In 2009, Microsoft's ability to execute in the area of device management fell sharply, as Gartner observed numerous Microsoft customers that were either dissatisfied with the capability of System Center Mobile Device Manager (SCMDM) or that actually canceled implementation plans. Responsibility for SCMDM (which lags behind in both seats deployed and working installations) shifted from Microsoft's MCB to its network management business, and Microsoft has been slow at articulating its new strategy for this important aspect, as it can contribute heavily to the total cost of supporting users in the field.
Microsoft doesn't have any offerings with multichannel functionality. Many organizations need to augment a Visual Studio-focused AD approach with multichannel IDEs or packaged mobile application suites, which entail additional integration and support for Microsoft and non-Microsoft tools using low-level constructs to provide an end-to-end offering. This presents cost, expertise and deployment timing issues.
Using Visual Studio (compared with multichannel tools paired with packaged mobile applications, such as Syclo or Antenna Software) requires more-expensive third-generation-level (3GL) programmers and, in many instances, leads to a higher TCO.
In 2010, Microsoft will begin to fragment in its client-side support as it branches with its Windows Mobile 6.5 release supporting ruggedized devices, while Windows Mobile 7 targets smartphones. Organizations that wish to broaden their mobile SFA support must understand the future support plans for each platform.

Return to Top




Oracle
In 2009, Oracle completed its tooling effort for its MEAP offering by integrating Oracle Fusion Middleware with ADF Mobile, a Java-based client framework. Oracle currently is fielding ADF-mobile-based thin-client applications, and plans to begin supplying a Java client-side supplicant in 2010 that will allow it to support thick-client applications. Oracle now has customers using its Mobile Sales Assistant (a native application) for the iPhone and BlackBerry. In addition, Oracle offers thick-client mobile support for Siebel users.

In 2008, Gartner stated that Oracle was facing a crossroads in terms of choosing a primary user interface of Oracle applications going forward. Oracle has decided to continue to support multiple user interfaces; it appears that ADF Mobile's Java approach is only well-suited for the BlackBerry, as we have not observed any Windows mobile or Windows CE-based applications. Such progress is evidence that Oracle has been putting many more resources into R&D and into partner and channel management; however, in Gartner's opinion, the vendor has sidestepped one important decision — which user interface will be the primary one for internal Oracle applications from this point on.

Gartner rates Oracle's packaged mobile applications as promising, but enterprises need to take into account that the most-prominent applications observed in the field are not based on ADF Mobile. For Oracle to retain this promising rating, they must exhibit substantial customer references and show that its mobile application teams are committed to its MEAP framework.

Despite the fact that Oracle has, since 2006, increased its investment in mobile platforms, and that Gartner has observed progress, the market requirements have outpaced that progress. Gartner has observed a lack of visibility among senior management who do not see mobile as a strategic priority for Oracle.


Return to Top




Strengths
Oracle's breadth of mobile offerings remains a strength (ranging from warehouse to thin-client to Oracle's E-Business Suite), as it supports mobile collaboration, including mobile PIM and push capabilities.
Oracle's high-level vision for the products has improved, and it has made acquisitions and incremental investment to support that vision.

Return to Top




Cautions
Many parts of Oracle's mobile application portfolio are not built on ADF Mobile yet.
Realignment across consulting practices and application portfolios is moving slowly, and we anticipate that 2010 will not bring significant new mobile products based on ADF Mobile thick-client capabilities. Given the overall weakness in execution on Windows Mobile devices, we expect that, by 2012, Oracle will need to place more focus on mobile partnerships, on revisiting its commitment to client-side Java or on an acquisition to support increasing demand for mobile applications.
As Gartner observed in 2008, Oracle's Siebel mobile offline client is still in need of re-engineering. Where Oracle products do not meet the full requirements of the end user, the Oracle Partner Network brings valuable relationships to meet needs, such as for lighter weight or more highly customized Siebel enablement. For example, the strong partnership with Antenna Software has allowed several customers to build complete solutions. In other cases, some larger customers are choosing to build custom solutions using components of ADF Mobile.

Return to Top




Pyxis Mobile
Located in Boston, Pyxis Mobile is well-known in the financial services industry for its complete application suite. Based on upgrades to its technology stack (it supports Java ME, Objective-C and .NET compact framework), a growth in revenue and activity outside its financial services, Pyxis Mobile returns to the Magic Quadrant from the packaged mobile application platform MarketScope, and is the only vendor to do so. We rated Pyxis packaged applications as strong positive.


Return to Top




Strengths
Pyxis Mobile has an innovative toolset, available iPhone client support and an aggressive road map, which includes coming support for Android.
The vendor has a very flexible development environment, enabling modifications of applications and source data to be enacted rapidly.
Its highly scalable infrastructure enables the integration of Web-based data models into rich-client applications running on all relevant device platforms.
Rich-client support is best of breed.

Return to Top




Cautions
Pyxis Mobile is the smallest MEAP vendor in terms of number employees and revenue. It is venture-funded, and very weak outside North America.
The vendor's platform favors online or cached data over deep, offline functionality.
Pyxis Mobile needs to continue to expand to other vertical markets, as it still finds much of its MEAP customer base in insurance and financial services.

Return to Top




Research In Motion
In 2009, Gartner observed an increase in the activity around native RIM applications, particularly lightweight field service and sales, as a reflection of the BlackBerry's penetration in that user base. RIM's ecosystem and global network architecture, which enhance application reliability and efficiency, are core strengths, and RIM has gained considerable market share for MEAP-based applications during 2009.

Developers can choose between the BlackBerry Java Developer Environment plug-in for Eclipse, BlackBerry plug-in for Microsoft VS (Gartner has seen only modest uptake of this plug-in) and BlackBerry Mobile Data System (MDS). Organizations that are already using RIM for the majority of mobile e-mail access, that don't have requirements for ruggedized devices and especially those that can dictate the BlackBerry OS across an entire business function will find RIM's MEAP offering to be strong candidate.


Return to Top




Strengths
RIM is the largest single e-mail vendor, with strong ties to IT and C-level decision makers. This puts it in a strong position for "e-mail + 1" application adoption. RIM's enterprise software partnerships are broad and deep, and, for organizations with significant numbers of devices deployed with core (mobile e-mail) application functionality, the use of RIM's BlackBerry Enterprise Server (BES) can reduce the development cost of additional application deployments. However, in 2009, Gartner has observed some enterprises applying pressure on pricing for the BES.
Security, transport and battery life efficiency, and push and management of RIM devices remain among the industry's best. Applications or other platforms that are SOA-based with modular designs can benefit from RIM's MDS and MVS platforms for transport, security and voice integration.
RIM has a strong ecosystem for application-neutral mobile enterprise enablement, including a large number of developers (more than 500 for enterprise applications) and partners producing applications based on RIM's mobile components.
The availability of a wide variety of devices, and the carrier support of those devices, will continue to place RIM as the first choice for enterprises looking for a single-platform solution.
RIM is particularly strong in financial services, SFA and lightweight field service AD.

Return to Top




Cautions
RIM's approach requires more-expensive 3GL Java programming skills.
Progress with SAP on the RIM/SAP mobile SFA integration has been limited, with English-only versions of the software delivered, primarily in Germany. Customization remains high in these installations.
RIM supports a narrow set of device types. It has no server-side capability between smartphones and ultra-mobile PCs, tablets and PC applications, other than abstraction and layering through Java, then recoding in Visual Studio. Software-licensing programs have shown little uptake among non-RIM device vendors, and lessening support from RIM itself, meaning that fewer non-RIM devices are addressable for e-mail and other applications.
Device management and security capabilities on non-RIM devices are supported by the BES or MDS only in conjunction with BlackBerry Connect, which also has been all but abandoned in RIM
RIM's Java ME is proprietary with Java extensions; functions that use these extensions should follow good architecture practices to localize OS dependencies.
Many application customer references are deployed via secure BES access. Enterprises can leverage BES access, but they need to choose the browser or desktop implementation carefully for the user interface.
An important design consideration is to enhance the user experience by coding caching logic (such as having a server push cache updates every 15 minutes) to provide offline capability.

Return to Top




SAP
In 2009, SAP continued its shift toward a three-prong strategy that includes support for its own portfolio, support for SAP NetWeaver Mobile and support for its partners. Its partnerships are now the cornerstone of its strategy for many of its CRM and ERP offerings (including RIM for sales force automation [SFA], Sybase for SFA and Mobile Inbox, and Syclo for enterprise asset management [EAM] and field service) that focuses on coinnovation. SAP repositioned R&D to focus on its Data Orchestration Engine server capability, rather than extending its mobile client in those areas. However, it is obliged to support current NetWeaver mobile client customers through 2015, and has delivered mobile offerings in the areas of defense and direct store delivery.

SAP continues to support packaged mobile applications in sales force, field service, EAM and time/expense management. It also launched SAP Mobile Defense and Security (MDS) 1.6, which includes maintenance, materials management, and organization and staffing capability. In addition, it released version 4.0 of SAP Mobile Direct Store Delivery. Gartner continues to rate SAP's packaged mobile application functionality as promising.

As far as NetWeaver Mobile, SAP released a minor upgrade to 7.11, and continued to move resources (it has 250 engineers dedicated to the platform) to focus on the Data Orchestration Engine.

For SFA, SAP made little progress with RIM, which has delivered a tightly integrated client for RIM OS with hooks into Mobile Infrastructure's server-side capability. Customer adoption has been limited to Europe (English-only versions of the software were delivered; Gartner has observed this only in Germany), and customization costs for the client are very high. SAP canceled plans to follow up with a Windows Mobile client for SFA by 4Q09. Instead, it is relying on a cobranded partnership with Sybase for mobile SFA. Gartner expects the Sybase-based mobile SFA solution to be in the field by 1Q10.

For field service and EAM, SAP selected Syclo to be its mobile partner at the same time as Sybase, and, given that Syclo had SAP implementations overlapping Mobile Asset Management (MAM) and Mobile Asset Management for Utilities (MAU), it is already fielding production projects in Europe.

Beyond these cobranded partnerships, SAP also certifies Antenna Software, Spring Wireless, Neoris (for direct store delivery), Sky Technologies and other mobile partners.

As Gartner predicted, limitations in SAP's Mobile Infrastructure architecture, coupled with Apple's OS X limitations, pushed out support for mobile SFA on iPhones until 2010 or beyond.

SAP's rating for packaged mobile applications is a caution, based on the number of field issues and changes in support during the past year. Overall, it moves back into the Niche Players quadrant, from the Visionaries quadrant. While Gartner believes SAP continues to be more mature than Oracle in this area, Gartner believes that the shift to partners carries the tactical risks of execution, as well as the strategic risk that SAP will focus on tactical execution of mobile projects, rather than using it as a differentiator from Oracle, IBM or Microsoft. Like other application vendors, its MEAP will remain only interesting to organizations aiming for SAP-dominated environments. SAP needs to focus on execution with its partners in 2010; its shift toward partnering puts them on a trajectory toward the Challengers quadrant if it can create successful customer references for the cobranded offerings.


Return to Top




Strengths
SAP has one of the largest mobile development efforts, both in internal resources devoted and in partner management, and, in contrast to Oracle, it has visibility and the support of senior management.
Extended improvements to the development environment, reduced synchronization times and the expansion of the product to include production prepackaged applications have enabled lower TCO and more-rapid deployment time frames.
SAP has a single-source strategy with its partners, where it has shown commitment in branding, product road map, support and contractual obligation.

Return to Top




Cautions
The shift toward partnering, although promising because SAP has selected mobile specialists with strong execution track records, is still in its early stages. Customers will need to work closely with specific product managers to be clear on when to evaluate SAP or coinnovation solutions versus certified partners to understand technology, price points and support level for each offering. Numerous customers reported escalations regarding SAPs MAM and MAU product lines during 2009.
Non-SAP application-based examples of mobilization customers, although increasing, remain infrequent.
There is some channel confusion due to the breadth and overlap of SAP's mobile partners and offerings.
SAP has high customization costs. Several customers using MAM and MAU report rewriting or discarding more than half of the client-side code provided with Mobile Infrastructure.

Return to Top




Spring Wireless
Based in Brazil, venture-backed Spring Wireless faced the challenge of expanding its presence beyond Latin America into North America and Europe during the recession. The vendor's international expansion has run directly into the global economic slowdown, but it did win new customers in North America and elsewhere. Its South American user and customer base has continued to exhibit strong grow. Spring's mix of prebuilt applications and support of all relevant mobile device platforms has won it a growing base of customers. Spring Wireless has one of the largest R&D staffs for mobile middleware in the industry, with more than 75% of its employees based in Brazil. Few enterprises use Spring Wireless for behind-the-firewall solutions, but rather mostly hosted ones.

Gartner rates the vendor's packaged mobile applications as promising. Its sweet spot, in terms of applications, is around SFA, direct store delivery and consumer packaged goods. The vendor is a good fit for organizations that prefer SaaS.


Return to Top




Strengths
Spring Wireless has a high seat count, with a wide range of applications and customers.
It has a large customer base of multinational companies across RIM, Windows Mobile, Symbian and many Java-based platforms.
Spring Wireless has a strong technology platform with a robust AD platform, a good catalog of prebuilt applications (supplemented with recent acquisitions) and decent management/security tools.
It also has fielded implementations for iPhone support with customers and carrier partners.
The vendor has a low TCO because of the availability of prebuilt applications (across a wide ranged of vertical- and horizontal-based requirements) and the ease of customization of those applications in the development environment.

Return to Top




Cautions
Spring Wireless is still in its early stages of geographic expansion beyond South America and Spanish-speaking Western Europe. The vendor did win and place into production mobile customers in North America and other parts of the world in 2009.
While TCO remains relatively low, Gartner did observe a trend toward higher project TCO, driven by larger customization efforts, for Spring Wireless implementations. This is normal for MEAP vendors expanding into new markets and vertical processes, but enterprises need to spend more time in due diligence regarding project scope.

Return to Top




Sybase
Sybase has continued to advance the strategy it laid out at the launch of the Sybase Unwired Platform (SUP), including a renewed focus on the integration of its disparate product lines. Those lines include Afaria (Device management and security) Mobile Office (e-mail and limited application runtime) and the traditional iAnywhere, which includes the device runtime environment, mobile database and AD studio. Sybase has also inked a deal with SAP (similar to its competitors, Antenna Software and Syclo) for a portion of SAP's application mobilization portfolio, as well as for custom development and workflow. It now has mobile applications in Beta test with customers including CRM modules.

Like most other vendors in this market, 2009 was one of moderate growth for Sybase's mobility business. Once the growth engine of the company, iAnywhere saw its growth limited to between 4% and 7% (year over year) per quarter in 2009. Sybase continued to invest in the platform (although it made no significant acquisitions directly related to the technology). Through its VAR and SI relationships, it has a complete offering of packaged applications, hosted and behind-the-firewall offerings, and a burgeoning iPhone capability. In hosting, it has relationships with Samsung for mobile device management and sales force applications. In the case of Verizon, the arrangement is for mobile device management.

Sybase's go-to-market strategy depends highly on its VAR and SI channels to provide entry to untapped markets and deliver a consistent experience to end users. Quality within its VAR/SI channel was steady in the past year. Sybase continues to have the broadest device support among all the multichannel vendors.


Return to Top




Strengths
Sybase offers best-of-breed, multiplatform management tools, with Afaria enabling management of all the popular device platforms, through direct, on-client runtime (for MS or Sybase) or execution integrators (for RIM).
The vendor has the most flexible AD environment, offering plug-ins for Eclipse and Visual Studio, as well as a proprietary studio.
Sybase has flexible application connectors for all the popular application platforms and databases, and an ability to create composite applications with input from multiple applications. It provides source code for its emerging application offerings.
Device management remains a key differentiator. Afaria, as an integrated part of the Sybase Unwired Platform, gives the vendor entry into increasing numbers of IT organizations, as it tries to address the growing issues around MDM.

Return to Top




Cautions
Competition from smaller MEAPs with packaged mobile applications and single-target MEAPs, such as RIM and Microsoft, are putting functional and pricing pressures on Sybase.
Sybase is still fully reliant on its channel partners (VARs and SIs) to produce its applications (packaged and custom), and this has made it more difficult for the vendor to build compelling, value-based agreements for its product lines.
Hosted offerings have lagged behind the competition, with few examples of Sybase's Relay server in use by partners or carriers.
Its staging database, while it enables very granular integration of the application data from disparate sources, may not be the most scalable solution for rich-client, Web-based applications. However, this is optional for enterprises that want more control over this key implementation decision.
Sybase's iPhone environment still lags behind in deployments; thus, while its vision is solid, enterprises that embrace Sybase's iPhone support must take into account that it is an early-stage product.
Sybase is often a higher-cost alternative when all modules are selected despite the fact that Sybase Unwired Platform is a step in the direction of consolidation. This approach can mean that integration timing (in the cases where partners are not used) remains a bit longer than for application-focused vendors.

Return to Top




Syclo
Syclo, based in Hoffman Estates, Illinois is a privately owned vendor. Gartner estimates that Syclo grew much faster (it added 72 new customers) than the market average pace in 2009. In 1Q09, SAP announced a coinnovation, cobranding partnership with Syclo in EAM and field service, joining RIM and Sybase as the only MEAP vendors to do so. Syclo also added a partnership for MDM through B2M, embedding its suite into Agentry 5.1 at no extra cost to its customers. This is a move directly aimed at stand-alone MDM offerings.

Gartner has observed Syclo in new EAM deployments for IBM's MRO Software offering, and through its Ventureforth relationship, also in Oracle installations. Overall, Gartner sees Syclo's packaged applications as a strong positive, with strong customer uptake and satisfaction. Enterprises that fit best with Syclo include those focused on EAM and field service, particularly for SAP, Oracle or IBM Maximo back-end systems.


Return to Top




Strengths
Syclo's breadth of customers and its history of providing complex mobile solutions at relatively low TCO are its strengths, despite seat-licensing costs that may be above that of other vendors. Syclo's approach is to trade off higher software licensing fees with lower system integration costs.
The vendor's industry and process knowledge in enterprise asset maintenance and field service remain particularly strong suits.
For SAP customers, the Syclo/SAP cobranding gives them "one throat to choke," and gives Syclo an advantage in remaining aligned with SAP's product road map.
A focus on mobile security and Syclo's application expertise in enterprise asset management has enabled significant penetration into government, energy and regulatory agencies. As Gartner predicted last year, this area has fared better than average during the recession.

Return to Top




Cautions
Syclo's market message and value proposition is clear and consistent: high-value field service and enterprise asset maintenance are its forte. However, its brand awareness/marketing message is weak, when compared with other mobile enterprise platform vendors. As the MCAP and MEAP markets and technologies converge, this limits Syclo as a choice for general enterprise mobility platform, hence the lower vision score.
Syclo has less experience in larger deployments of mobile SFA applications. Syclo does provide mobile solutions in these areas, and also in delivery, inspections and consumer packaged goods, but these projects require more customization and result in higher TCO.