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.



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 (http://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