Perlego (www.perlego.com) is a
US-based company that offers a complete, hosted, web-based device management
solution for Windows Mobile, Symbian and Palm devices – no server hardware is
required and there is no setup lead time: you can literally be good to go
virtually immediately.
I admit that I had not come across this company myself until
recently, and the Perlego web site is an exercise in ‘marketing-eze’ which
tells you very little of any use for such a large amount of text and expensive
flash animation, but in light of the demise of the Nokia Intellisync platform (http://blog.devicewire.com/blogs/devicewire/archive/2008/09/29/nokia-to-cease-all-development-work-on-intellisync.aspx),
I thought it would be wise to examine alternatives - so I thought I’d give you
the inside scoop on a potential candidate. Indeed Perlego themselves have been
quick to realise an opportunity and at the time of writing there is a banner on
their web site advertising a special introductory offer to existing Nokia
Intellisync customers.
Read on…
Features
Perlego Device Management comprises three primary components:
·
Perlego Backup
·
Perlego Update
·
Perlego Remote
Perlego Backup does what it says on
the tin – it allows the user to backup the contents of their PDA (either all of
it, or selective contents) to a secure online storage area, and restore that
backup at a later date if required.
Perlego Update allows the administrator
to ‘publish’ files to a secure online storage area and allow users access to
those files, be they documents, images, applications, or any other file type.
Perlego Remote works silently in the
background and allows the administrator to send commands to the client device
transparently to the user to perform virtually any change on the client device
that you can think of.
I will look at all of these features in more detail.
Infrastructure
The entire Perlego solution is web-based. The client is installed
onto the device via the browser on the client itself – the web site sending the
correct version of the client software to the device based on the type and
version of the browser used.
All administration of the solution is also done via a hosted web interface.
All client-server communications are secured by 128-bit SSL
encryption.
All client-server communications are also ‘connection-agnostic’,
meaning that the solution can be used over GPRS, 3G, WiFi, or via a tethered
connection to a PC.
Licensing
When you sign up for an account with Perlego, your company is set up
as a ‘Domain’ on the server. You are given an administrative login to the admin
web interface, and a set number of client licenses.
Client licenses are valid for 365 days from the moment the client is
installed on the mobile device, after which time they become inactive.
I will look at the admin web interface in a moment, but it is
important to note that the principle strength of Perlego (a unique strength to
the best of my knowledge), is that your entire mobile device fleet can be up
and running with a fully-featured device management solution in the time it
takes for you to ring Perlego and be assigned your licenses: there is no
hardware setup involved at all. This is an attractive model both to the Perlego
and the customer: the customer has no hardware setup, maintenance or backup
costs; and Perlego have an ongoing revenue stream based on an annual renewal
process.
Client Installation
For the rest of this article, I will focus on using Windows Mobile
as the client device type, but the same features are available for Symbian
devices also as well as Palm, and I have it on good authority that the roadmap
also has the iPhone and the Google Android platform on it.
Installation is very simple, and does not require that the device be
connected to a PC. Simply open a browser on the device and connect to http://tryperlego.com
This link is the same one to use on all client devices – the web
site detects which browser is being used and displays the appropriate download
link accordingly.
The following screen will be displayed:

Click on the link to download the Perlego Mobile Suite, you will be
prompted to download and run the installer file:

After a few minutes the software will be installed:

Two icons will be added to the Programs folder:
·
Perlego Backup
·
Perlego Updates

When running the Perlego software for the first time you will be
prompted to enter a license code. It is this license code that identifies the
device with your Domain.
This license can either be emailed to the user, or read out to them
over the phone. Alternatively, devices can be ‘pre-registered’ on the server
provided that you know the IMEI number of the device.
Perlego Backup
Selecting the Perlego Backup icon launches the backup application:

The Backup and Restore service runs independently of and is separate
from the Update and Remote services.
Several options can be configured to refine the amount of data that
is backed up:

A full backup can be selected, which will copy the entire contents
of the device, or alternatively specific applications and folders can be
selected:
·
Contacts
·
Calendar
·
My Documents
·
SIM address book
He advanced options all the user to exclude specific folders from
the full backup, as well as specific file types:

Once all of the options have been configured, the first time you run
the Backup application you will be prompted to create an account with the
online storage area and enter a username and password of your choice:

If you already have a username and password, you can skip this step
and enter your login details.
Selecting the Restore application will prompt you for the same
username and password, and will display a list of available backups to choose
from.
Backup performed from the same device are incremental, therefore
whilst the first backup may take a while and upload a large amount of data to
the server, subsequent backups will only upload those files that have been
added or modified.
Any backups that are uploaded from a device can be restored to any
other device – independent of their type. Therefore, it is possible to backup
your contacts from a Windows Mobile device, and then restore those same
contacts to a Symbian device should you change device type.
I would classify the Backup option as ‘nice to have’ but also
potentially costly: there is no means of restricting how users initiate a
backup or a restore operation. If a user was to initiate a full device backup
over a 3G connection while roaming the resulting cost incurred could be
staggering. The ability to restrict operations to a high-speed connection only
will be available in a future release of the software.
Backup can be disabled altogether on the client device via the
Perlego Remote feature, which I will look at in a moment.
Perlego Update
The Perlego Update feature allows the administrator to publish files
to client devices from the server. Whilst the Backup feature is a separate
component that works on a user login basis, both the Perlego Update and Perlego
Remote features are configured by the administrator via the web interface.
The web interface is accessed via a web browser using the same link
as that used on the client devices to download and install the client – http://tryperlego.com
This link can only be accessed from Internet Explorer, no other
browsers are supported for the admin interface (because if you use a different
browser, the web site will think that you are accessing it from a client device
and get confused).
When accessing this site from IE, you will be prompted for a
username and password rather than being displayed the client download link.
The ‘look’ of the web interface can be customised in as much as you
can add your company logo in the top right hand corner of the screen and can
customise a colour scheme. I have it on good authority that the GUI for the
interface is going to be overhauled radically as it is currently a bit austere
and far from intuitive, see what you think of this:

Nice isn’t it!
I will go through each of the elements of the admin interface as
they apply to the different features available.
Perlego Update requires that ‘Categories’ be created on the server.
Each category also requires that an ‘Icon’ be uploaded to the server to
represent that category on the client device.
The procedure is as follows.
In the admin interface, expand Content Distribution --> Publish To
Catalog --> Icon Groups à New:

The following window will be displayed:

Enter a name for the Icon. Your company domain will be listed
automatically.
3 different icon categories exist – these are available in different
sizes for the different client types that are supported.
Browse to where you have saved the desired icon file, select the
target client device types from the list and click Insert to upload the new
icon.
The Icon group will now be listed:

You can now create a Category. This is done within Content
Distribution --> Publish To Catalog --> Categories:

Enter a name for the Category as well as a Description. The text
that is entered in the Description field is not viewable to the user on the
client device, this is to identify the category to the administrator.
The Display Priority field allows you to specify where on the client
the Category is displayed. This is only relevant if you have more than one
category defined. It is possible to have up to 9999 categories defined!
Select the Icon you defined earlier and associate it with the
Category.
Now you need to upload the files to the server that you want to be
available in the Category.
This is done within Content Distribution --> Publish To
Catalog --> Publish Content:

Select the Category to which the file is to be published. Select the
device type.
Enter a name for the Publication. Specify the Display Priority (this
works in the same way as the Categories, but defines where within the Category
the publication is displayed).
Browse to where the file is saved that you wish to upload.
The Unique File Identifier field is a bit misleading. Unless you
enter some text in this field, when the file is downloaded to the client it
will be saved with a name of 12345678901234567890.xx (where this is a randomly
generated file name). If you want the file to be saved on the client with a
specific name, you need to enter this filename in this field.
Any text you enter in the Description field IS viewable to the user
on the client device.
Scroll down, the following will be displayed:

You can specify where on the device the file is downloaded to. From
the drop-down menu there are a number of pre-defined locations available, such
as ‘My Documents’, ‘Program Files’, etc, or you can add a new location which
will be created on the client device automatically.
It is also possible to define an installation path. This is largely
irrelevant as if you are sending say, a CAB application package to a Windows
Mobile device, it is the CAB file that defines where the resulting application
is installed to. This path defined here is largely just a temporary
installation file location path.
If you want the file that you are sending to the device to be opened
once it is successfully downloaded, select ‘Open’ from the Command menu. If the
file that you are sending to the client device is an executable, and there are
specific parameters that need to be defined when the executable is run, select
Add New and enter the correct syntax for those parameters.
Select the Icon that you want the publication to have on the client
device.
Select the client device types that you want the publication to be
available to.
Scroll down, the following will be displayed:

You can select which languages the package should be available to
(based on the language of the operating system installed on the client device).
You can also specify Filters and Families that the
publication is a member of – I will look at these in a moment as they add some
powerful intelligence to the system that it is important to be aware of.
You can also a specify a date range within the which the package is
available for, after which the package will not be.
Specify the delivery options for the publication and click Publish.
Once the file has been uploaded, it will be assigned a unique
identifier:

This value is relevant for the Remote feature which I will look at
in a moment.
Now let’s see how this looks on the client device.
Running the Perlego Update application on the client device will
display the following screen:

Select the option to Check For Updates. The client will contact the
server (provided that the device has a connection to the Internet):

The categories that you have defined will be listed, using the icons
that you uploaded. Opening the category will list the content that you defined:

Selecting that content will automatically download it and execute it
based on the options you defined as the administrator.
Filters
Filters allow the administrator to restrict access to specific
content publications based on device criteria.
When the Perlego client software first connects to the server, it
will upload certain information about the client device. It is not possible to
view or report on this information to view the status of your mobile fleet, but
it is possible to add intelligence to the way in which published packages are
delivered to that fleet.
These criteria include:
·
Build
·
Carrier
·
CarrierID
·
ConnectionType
·
DeviceType
·
DeviceUID
·
IMEI
·
IMSI
·
Language
·
Locale
·
OS
·
OSVersion
·
Processor
·
Version

These values can be set to ‘equal’, ‘begin with’ or ‘contain’ the
text specified:

For example, if you want to send a hotfix package to Windows Mobile
devices that use the Vodafone network, you could specify the 5-digit carrier ID
for the Vodafone network in a new Filter and specify that filter in the
properties of the Content Publication.
It is important to note that the administrator needs to know what
information to put in the Value field – these options are not pre-populated as
they are with other solutions.
Domains, Users and Licenses
When your account is created for you by Perlego, your company will
be assigned a Domain. It is then possible for you to create sub-domain of your
own domain – as many as you like. As the administrator of your domain, you will
be able to fully administer any sub-domains of your domain.
It is also possible to create different levels of administrative
logins to your domain, or any sub-domains of your domain.
This is ideal for the service reseller model. The only thing you
cannot do is generate licenses. Perlego will assign you a set number of
licenses, but you can then transfer some or all of these licenses to any sub
domain that you have control over.
SMS Messaging

It is possible to send SMS messages to one, or all members of your
client device fleet from the server.
These SMS messages are free and can be delivered anywhere in the
world. Whilst the cost of this message delivery is borne by Perlego, and messages
are not explicitly monitored, if Perlego were to notice a suspiciously large
volume of messages from a specific domain and discovered that you were letting
everyone know that the new series of Top Gear starts tonight then they would
probably take a dim view of that!
Perlego Remote
As the song goes, I have saved the best till last. Perlego Remote is
where this solution starts to get more interesting from a DM perspective.
The Perlego Remote component is not visible on the client device, it
operates in the background. This component allows the administrator to send and
execute commands on the device without user interaction. On a Windows Mobile
device, these commands might contain XML provisioning scripts to create and
edit registry values – effectively allowing you to control any aspect of the
client device that can be controlled via the Registry: which on a Windows
Mobile device is pretty much everything.
The Remote feature has its own section in the admin interface:

Commands are created by selecting Command Library --> New:

Enter a name for the command.
Select an Action Type for the command:

A ‘reset’ action type will soft reset the device.
An ‘execute’ action will send a specific file to the device and run
it – this is where the unique file identifier field comes into play which we
saw earlier and is specified in the Application ID field.
A ‘config’ action will send an XML provisioning script to the device
– this is defined in the Parameter field.
Other action types are available but are beyond the scope of this
introduction.
The Acknowledgement field allows the administrator to define that
the client should communicate to the server that the command has been received
successfully.
For example, creating a config command with the following
parameters:
<wap-provisioningdoc>
<characteristic
type="Sync">
<characteristic
type="Connection">
<parm name="Server"
value="mail.domain.co.uk"/>
<parm name="User"
value="jamesl"/>
<parm name="Domain"
value="DOMAIN"/>
<parm
name="AllowSSLOption" value="1"/>
</characteristic>
<characteristic
type="Settings">
<parm
name="EmailAgeFilter" value="1"/>
<parm
name="MailBodyTruncation" value="512"/>
<parm name="OffPeakFrequency"
value="60"/>
<parm
name="PeakFrequency" value="60"/>
<parm
name="SendMailItemsImmediatel y" value="1"/>
<parm
name="SyncWhenRoaming" value="0"/>
</characteristic>
<characteristic
type="Calendar">
<parm name="Enabled"
value="1"/>
</characteristic>
<characteristic
type="Contacts">
<parm name="Enabled"
value="0"/>
</characteristic>
<characteristic
type="Mail">
<parm name="Enabled"
value="1"/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Will configure a Windows Mobile device with Server ActiveSync push
email settings:

A sequence of commands can be grouped into a Command Set, to form a
powerful script operation.
Once a command or a command library has been created, it can be ‘pushed’
to a device via the Send Command interface:

This will cause an SMS message to be sent to the device or group of
devices specified. Again, there is no charge for this SMS message. The message
itself is not displayed on the screen of the client device, instead it is
received by the remote listener application on the device and actioned
accordingly.
It is up to the administrator to know how to format and create the
XML provisioning scripts and enter them manually into the web interface.
There are many examples of such scripts on the Microsoft web site:
http://msdn.microsoft.com/en-us/library/ms894922.aspx
You can view the status of issued commands in the Command Queue view,
and the Command History view shows what command shave bee issued in the past.
Devices can be Deactivated via the Deactivate Device menu – which
causes devices to no longer be able to contact the content server. No
information is erased from the device by this procedure – if you wanted to
‘kill’ a device, you would need to issue a hard reset command via an XML
provisioning script.
Summary
To summarise then, Perlego is a feature-rich device management
solution with no administrative overhead from a setup, maintenance or backup
perspective and can be deployed in literally the length of time it takes to
acquire licenses, be assigned a login and to publish your content and scripts.
Publishing and creating those scripts is a manual process that
requires in-depth knowledge of the operating systems in use on the part of the
administrator…but assistance with that side of the solution is available from
yours truly :)