Given the diversity of mobile devices represented among companies' employees and customers, MITE can help developers ensure that their Web-based applications function properly for as many mobile users as possible.
Keynote's Mobile Internet
Testing Environment, or MITE, is a desktop-based performance testing tool that
measures the performance of mobile Websites from a large range of mobile
devices. Given the diversity of mobile devices represented among companies' employees
and customers, MITE can help developers ensure that their Web-based
applications function properly for as many mobile users as possible.
I tested MITE Version 2.1 with
a handful of mobile-oriented Websites and applications, including our own eWEEK Labs blog, the mobile version of
which taps the popular WPtouch Wordpress plug-in. I used MITE to gauge site
performance while browsing interactively, as well as with scripts that I
recorded and played back through the MITE interface. I also used the product's
remote Keynote wireless agent to browse and run scripts through the network of
any of 16 wireless carriers in nine locations around the world.
In my tests, I was impressed by
the breadth of MITE's device catalog, though there were a few particular devices
I missed, such as Samsung's 10-inch Galaxy tablet and an iPod touch running
version 4.x of iOS. I found the product's browsing and scripting functions easy
to use and worthwhile, but I'd like to see the interface support shifting
between portrait and landscape modes. Access to the remote testing agents was
spotty at times, but overall, I found that to be a valuable feature as well.
The basic version of MITE is
freely downloadable and runs on Windows XP, Vista or Windows 7. A separate
version of the product, MITE Pro, adds support for automated testing and for
testing Web performance over the air with through Keynote's remote testing
network. Annual subscriptions to MITE Pro, which include 100 hours of remote testing,
start at $5,000.
MITE in Action
Getting
starting with MITE is a straightforward affair-I began by clicking the
"Browse Website" button in the MITE tool bar, typing in a URL to test and
picking a mobile device profile to test against. MITE Pro ships with a daunting
2,000 profiled devices, but the application's device selector sports a filter
box that made it easy to locate the profiles I sought.
In addition to device identifiers
such as maker, model and marketing names, software versions and release dates,
each device profile includes the user agent string that the device would
present to a Web server, and key performance characteristics, such as the
number of images that may be downloaded concurrently and which Javascript
properties the device supports. MITE includes a Webkit-based rendering engine,
with which it renders content in a screen that matches the shape, size and
orientation of the device it's emulating.
Kicking off
a browsing session pulls up a representation of the selected device that looks
just like one of the emulators that ship with mobile device SDKs. One of the
first device profiles I tried out was for RIM's PlayBook tablet, and I was
surprised to find there was no way to switch the orientation of the emulated
device from portrait to landscape. Each of the tablet profiles I tried hewed to
a portrait orientation. A Keynote representative cited the difficulty of
replicating the accelerometer functionality of most tablets, but I would have
been happy enough with a button for swapping between orientations.
I thought I
might work around this orientation issue by modifying or cloning one of the
tablet profiles, but while I had the option of creating a custom device
profile, MITE didn't allow me to copy an existing profile as a base for a new
one.
During my tests, I consulted
the right half of the MITE interface for performance information related to the
Web page I was browsing at the time. The product lists key statistics for the
page, such as bytes downloaded and download time, and offers up a "MITE Score"
from 1 to 100, based on content and performance characteristics such as proper
image sizing, use of caching, and misloading page elements. The score also
takes into account World Wide Web Consortium (W3C) suggested best practices for
the mobile Web. Each content-, performance- and best-practice issue is broken
out beneath the scorecard for remediation.
This interface pane also
includes a performance tab, with a waterfall chart that displays the amount of
time each element took to load, and options to drill down further to view
individual elements and the HTTP headers associated with them. A third tab,
active during script recording, lays out the recorded steps during the session
and offered me the option of modifying script-step properties.
I recorded scripts for a few
straightforward, content-browsing sessions, and for more interactive,
Web-application sessions with the mobile Gmail Web app. For the former sorts of
session, the scripting process was fairly simple-I could record a script
and then play it back on other devices. Using the device group feature of MITE
Pro, I was able to create sets of devices, run a script against each of them in
one operation, and then compare their performance. Along similar lines, MITE
Pro allows for the creation of script groups, for running multiple scripts
against one or more devices at once.
I was able to do the same with
more complex Web applications, but I had to be more careful with my scripting,
particularly when using various devices, which tend to receive differently
presented versions of Web applications. MITE makes it fairly easy to edit
scripts, however, and with a bit of debugging I managed to create and run
fairly complicated scripts against groups of devices.
Jason Brooks is Editor in
Chief of eWEEK Labs. Follow Jason on Twitter at jasonbrooks, or reach him by
email at jbrooks@eweek.com.
As Editor in Chief of eWEEK Labs, Jason Brooks manages the Labs team and is responsible for eWEEK's print edition. Brooks joined eWEEK in 1999, and has covered wireless networking, office productivity suites, mobile devices, Windows, virtualization, and desktops and notebooks. Jason's coverage is currently focused on Linux and Unix operating systems, open-source software and licensing, cloud computing and Software as a Service. Follow Jason on Twitter at jasonbrooks, or reach him by email at jbrooks@eweek.com.