|
Newsletters
|
|
|
|
|
The WDN Symbian DevZone Looks at Intuwave’s m-Network
by Richard Bloor, January 27, 2003
Jeremy Burton Chief Software Architect and co-founder of Intuwave believes that
"browsing is the worst possible usage model for mobile phones" and this belief
was part of the motivation for the development of m-Network. This week Richard
Bloor explores Intuwave’s vision for rich client applications for smartphone
further with Jeremy..
- Printer Friendly Version
Intuwave (www.intuwave.com) was formed in 1999 by Jeremy Burton and Mark
Melling, they had both worked at Psion and then Symbian, Jeremy for 7 years
and Mark for 5 years. Mark incidentally was one of the founding fathers of the
SyncML initiative. During this time both Jeremy and Mark formed a firm view
that a rich client approach was more appropriate than a thin one for mobile
devices. “Even if the network connectivity improves it is always going to be a
limiting factor” notes Jeremy “and so doing things on a device is going to be
quicker, more efficient and cheaper.” In the 90’s the web application architecture
became the dominant model for delivering information and services to the
desktop. “The industry tried to apply this model to the wireless domain, this was
one of the reasons WAP has not been the success many expected, because it did
not appreciate that the architecture of the mobile environment is different for two
reasons. The slow, sporadic network that limits the usability of a thin client
approach and usage models, how people expect to interact with mobile
applications.” Jeremy comments further that “Browsing is the worst possible
usage model for mobile phones, it’s user driven, where as phones are event
driven, focused around 30 second uses not 30 minutes uses. It seems to be part
of a classic IT problem where people latch onto a buzzword or single approach as
a panacea for all problems. So we ended up with the on-line WAP thin client
approach at one extreme and batch synchronization at the other, while the reality
of most applications is somewhere between the two.”
So it was with this background that Jeremy and Mark formed Intuwave with a
vision that there should be an elastic barrier between the devices and server,
someway to vary the thickness of the application so that the application
determined the architecture rather than the other way round.
The first version of m-Network was completed in 2001. However this version,
although it embodied all the essential concepts Jeremy and Mark felt were
important, relied heavily on proprietary technology. However it served a purpose
to demonstrate the technology and approach, enabling Intuwave to raise their
second round of funding. Version 2.0 saw the proprietary technology replaced
with industry standard approaches such as XML, Soap and web services. m-
Network is currently at version 2.1.
m-Network exists as two implementations one in C++ the other Java. The C++
code base is used in the native Symbian implementation, giving a small footprint,
efficient application for loading onto a smartphone while the Java version is used
on the gateway running a J2EE application server. This has been done in
Jeremy’s view because “right now we just don’t believe Java gives us the
performance on devices which m-Network needs. We are very much pro Java as
an organization and could create a Java terminal application but at this stage we
just don’t see it as practical. This does not mean that the 3rd-party developer
can’t write their application in Java if they choose to do so as we allow Java
applications to run over our native m-Network implementation, if the devices has
a JVM.”
From an architectural perspective m-Network provides the developer with 3 main
levels of abstraction. At the lowest level, what Intuwave call the end-point level,
the developer has access to a socket like way of programming. Here m-Network
provides mechanisms to ensure reliable messaging in what is a complex and
unreliable network environment. It also facilitates connections in heterogeneous
network environments that may, for example, include a smartphone connecting
via a Desktop PC over Bluetooth. “This level would be used by developers who
want to control their own protocols and when their application communicates”
Jeremy explained.
The next level, the Service Framework, which Jeremy describes as analogous to
programming Java Servlets or Enterprise Java Beans, but with less facilities as
otherwise it would be too heavy weight for the target devices. The Service
Framework allows for the definition of software components known as ‘Services’
that can send and receive messages, advertise themselves on the network and
can be dynamically discovered at run time. Here many of the under the hood
activities are automatically handled, those such as starting and stopping the
service to conserve memory and power on the mobile device.
The top level is the Collaboration Framework that is designed specifically to
facilitate the development of applications focused around person to person
communication. It provides components to implement data sharing, groups,
users, access control and a way to continuously drip feed data for
synchronization. As such it is also the level at which application development is
most rapid.
All of these layers can be used together in an application if the need arises.
A phrase often used by Intuwave when talking about smartphones is the goal of
making them “first class citizen in the IP world” with a high degree of
interoperability with other web devices. However this is still problematic because
of the limitations of mobile networks. “Standard web protocols like XML are
verbose, they use large amounts of network bandwidth and parsing on the
terminal makes heavy demands on CPU and battery life. So there is a trade off
between interoperability and efficiency, so we support both our own optimized
protocol and web standards and let the developer make the choice” Jeremy notes.
The m-Network Gateway technology also means that if m-Networks protocols are
used other web applications simply see the service and pass messages to it like a
standard wired service.
The other challenge with mobile devices is network routing, this is addressed by a
m-Network runtime component called Network Watcher that constantly monitors
the available networks and routes. Jeremy explained that “the messaging layer
will then choose the most appropriate network connection to send a queued
messages, so if you have a Bluetooth link active it will intelligently look for a
route through there before using more expensive connections.” The cost of a
GPRS connection also means that it may not be desirable to send all messages by
that route, so attributes can be specified for a message that helps control the
connection used. So an urgent message can be sent on the cheapest available
connection while a low priority message can be held until a “free” connection
becomes available. “It amazes me how many people use their mobile while at
their desk simply because that is where they have a number, it must cost
businesses millions” commented Jeremy “fortunately this problem is easier to
solve with data traffic." A similar control, based on network availability, exists for
services where it is possible to control what capabilities are made available
depending on the available network connections.
Development of smartphone clients currently supports the standard tool chains
used in Symbian development. The m-Network SDK comprises guides, tutorials,
example code, API documentation and binaries for use with the Symbian SDK
under Microsoft Visual C++. Similarly the Java SDK has the equivalent Java
content and can be used with any Java IDE.
Intuwave are developing a number of partnerships that fall broadly into the
categories of tools vendors, application server vendors, hand set manufactures
and platform vendors. Much of this work is currently under NDA’s and Jeremy
obviously was not forthcoming about exactly what this would mean. However
Jeremy indicated that for the developer "its about providing a set of development
options to suit developers with a range of skills."
Jeremy sees a clear roadmap for the development of rich client smartphone
applications. In the first phases he sees the client becomes richer, application
logic and data being moved to edges of the enterprise, where it naturally lives.
The second phase will be person to person applications (not necessarily peer to
peer, although m-Network does have that capability) with the device acting as
server. These applications will emerge more gradually over the longer term. In
many ways Jeremy sees m-Network being applied to applications which are about
people communicating with people rather than people to IT system.
“We often refer to desktop computing as lean forward computing, where you are
crouched over a terminal, driving the process. Where as we see moblility as lean
back computing, where you are waiting for something to happen. While you are
only using your PC when you are sitting in front of it with a mobile phone it is
being used in the broadest sense when it is in your pocket, because you are
waiting for it to beep and let you know something has happened.” comments
Jeremy
So what can you do with m-Network. One demonstration example built by
Intuwave looks at the problem of contact management. "People being people they
don't always use our central contact management system” explained Jeremy, “but
keep a whole bunch of number on their phones. So I may want a number and
am confident that someone in our organization has it, but it’s not practical to go
around asking everyone. So we can create a distributed phone contact list
search, with a search service on each phone. When I want to find a number I
request a search, each enabled smartphone receives the request and if I match
the security profile it runs the search and returns the results to my smartphone.”
Within Intuwave's Enterprise solutions group they are looking at two significant
vertical application marketsfor m-Network, Investment Banking Mergers and
Acquisitions and PSA (Professional Services Automation). “Within Mergers and
Acquisitions you have a group of highly skilled, highly paid executives who are
rarely in their offices” said Jeremy “Now there is a particular process which needs
to be followed for an M&A deal. It often crosses organizations, which makes data
sharing and connectivity difficult for traditional IT infrastructures. So we are
looking at this application area where we have people who are only sporadically
available, need to share information, track activity, review documents that are
regularly updated and create dynamic ad-hoc connections between people. They
are mobile people, laptops are not really convenient, and they already have mobile
phones so the smartphone is a good fit. PSA has similar issues with a mobile,
dispersed work force who need to share information. Its knowledge at the edges,
connecting it together is very important and we are making those connections
with m-Network.”
The other half of Intuwave's operation focuses on more traditional connectivity
and over the air solutions. This group already provides the in the box
connectivity solution for all Symbian OS devices, which we covered in an earlier
article (www.wirelessdevnet.com/symbian/rb_17.html). They have
recently launched a product called m-SafetyNet, co-developed with CMG to
provide over the air backup services that they are jointly marketing to carriers.
Another product under development is m-View which will allow carriers to better
support their smartphone users although Jeremy was not forthcoming on exactly
how it will do this as the product has not been launched yet.
If you were to visit Intuwave's Web site the availability of m-Network is not
obvious. Jeremy explained that this is because “as a small company with a lot to
do in a short timeframe we have not made m-Network freely available, but if a
developer is interested in evaluating or using m-Network they should contact us
and we will make it available.”
More information on m-Network is available on their Web site
(http://www.intuwave.com) and Intuwave are planning to post example
applications during the first quarter of 2003.
About the WDN Symbian Editor, Richard Bloor:
Richard Bloor has 16 years experience in the IT industry. His earlier
work was largely in design and development of commercial and
manufacturing systems but more recently has focused on
development and test management of government systems.
Richard Bloor is the Mobile Applications champion at System
Architecture consultancy Equinox of Wellington, New Zealand.
Richard can be reached at bloor@wirelessdevnet.com.
Symbian DevZone Home
Nokia DevZone Home
|
|
|