LDD Today


The Iris interview

On the move with the Domino Everyplace Enterprise Server team

Interview by
Robin
Rouse

Level: All
Works with: Domino 5.0
Updated: 02-Apr-2001


Notes and Domino—anytime, anyplace. That's the focus for Domino Everyplace Enterprise Server (DEES). And for good reason. You need only look around to know that wireless, handheld devices are everywhere, and that people are demanding more from their PDAs than just phone numbers. With DEES, users can access their important Domino applications right where and when they need them. But what do you have to know to develop applications for this new frontier? Members of the DEES team of the Mobile Communications Group have the answer in this sneak peek at DEES and mobile and wireless computing.

You can also read their archived discussion about DEES and the mobile and wireless world in the April, 2001 Developer Spotlight Forum.

Soon Lotus will release the Domino Everyplace Enterprise Server. Can you explain what that is?
Carl Kriger
The Domino Everyplace Enterprise Server gives developers the ability to build custom Domino applications for mobile devices. Fundamentally, it's made up of three components. First, the Domino Everyplace Enterprise Server itself is a sync server based on industry standards such as XML. It enables mobile workers to work on- or off-line, regardless of the type of connectivity. It allows mobile workers to sync any custom Domino application. Second, the Domino Everyplace Enterprise Server includes an application development environment for easily creating and securely extending enterprise business applications to mobile and wireless devices. It lets developers extend their Domino-based business applications as well as create new applications for PDAs and smart phones using Domino Designer. And third, it includes the Mobile Notes client to deliver Lotus Notes application functionality to various handheld devices.

Members of the DEES team
Members of the Domino Everyplace Enterprise Server team sporting some of their mobile and wireless devicesFront row (left to right): Aimee Cote, Carol Miller, Bob Bertolino, Carolyn Frank, Cindy Dwight, Way Kyi. Middle row: Carl Kriger, Ann Hayes, Christy McCulley, Danny La, Will Williams. Back row: Harold Moss, Mike Jones, Brian Gallagher, David Fristrom, Bob Sundberg, Thomas Stober.

More DEES team members
Team members Basonge James, Ed Connolly, Greg Klint, and Bob Norton stay in touch.

How does this differ from EasySync for Notes?
Will Williams
EasySync allowed synchronization of PIM applications—including calendar, name and address book, and to-do—from a Notes database to a PDA, specifically a Palm Pilot. The new version, EasySync Pro, is due out this summer. On the other hand, the Mobile Notes product will support actual Notes applications running on the handheld device.

What PDA platforms will Mobile Notes support?
Carl Kriger
The Palm OS, Windows CE/Pocket PC, and EPOC platforms.

Who do you think the market is for this type of application?
Carl Kriger
To begin with, we're targeting customers who need to support their mobile workforce, professional developers or ISVs who would like to extend their applications to mobile devices, and ASPs and "operators" who want to provide value-added services to their customers. The Domino Everyplace Enterprise Server is going to be an easy way for corporations to leverage existing skill sets, such as familiarity with Domino Designer, and to "mobilize" existing and new applications.

The health care industry, for example, is very hot on mobile devices. They want to take their data and let doctors and nurses access it right at the point of service. So while they're sitting there with a patient, they have that information right in their hands via a handheld device. That's one type of use—the ability to take information down to a PDA. In addition, the types of applications that Notes and Domino have been traditionally known for lend themselves perfectly to mobile devices—customer relationship management (CRM) apps and sales force automation (SFA) apps, for example.

An easy way to see the return-on-investment of a mobile solution is to consider sales people. Most of them carry PDA devices already. In less than a few weeks, using the DEES, companies can build a simplified version of their existing sales force automation tool, including the infrastructure to synchronize SFA data onto a Palm Vx, eliminating the time-consuming and cumbersome imports and exports and duplicate data entries.

The ability to have simplified versions of applications on a handheld device, to have them available at the point of service—to be able to input data into forms, respond, approve, modify, check status, right there—that's going to be invaluable to our customers.

How does Domino Everyplace Enterprise Server integrate with an existing Domino infrastructure?
Bob Norton
One way we integrate is with existing Domino applications. So the intent is that you've built applications for business processes or workflow, and you want to express those on mobile wireless devices, such as Palm Pilots and WAP telephones. We take that data and transform it into a mobile application, and then update your corporate directory with information about the application and the characteristics of the devices. It also integrates with the administration and configuration functions of Domino. And it's built on top of the Domino security model because our customers demand the same security from mobile devices that they get on their PCs and servers.

So this product sits on top of a Domino server?
Mike Jones
Yes, our install program copies several DLLs and a servlet into the Domino runtime directory. This code runs on top of Domino and the Web server add-in and is responsible for servicing sync requests from mobile devices. One of its primary jobs is to determine which set of documents a mobile user needs and translate them into a format that can be used on a PDA.

You mentioned that this product is built on the Domino security model. How does that work with PDAs?
Thomas Stober
There are really two answers to this. The first one has to do with authentication. We use the existing user name and Internet password to authenticate the user in a reliable and secure way. Authorization to access a particular database is checked by the Domino infrastructure in the usual way. The other aspect is encryption. This ensures the privacy of the data as well as the authentication information, while transmitted over a public network. We use a DES Key, generated by the server, to encrypt the messages going back and forth between client and server.

What are the components that make up the Domino Everyplace Enterprise Server?
Bob Bertolino
Well, on a high level, you have a set of design tools, synchronization services, and a client. There are programmatic abilities such as support for Notes formula language in the context of Notes functionality such as form events, views, forms, and action buttons. It's more than just an application browser. And there is the synchronization client, which is the front-end to the synchronization services. In addition, we provide application development tools that generate the XML and WBXML (Wireless Binary XML) that the Mobile Notes client uses to render the application.

So how does one go about designing an application for a mobile device? Do you develop it directly on the PDA?
Bob Bertolino
No, designers will use the tool they are already familiar with—Domino Designer. The application development process is as simple as launching Domino Designer on your PC and knowing which type of PDA you are developing for. You develop an application by creating the forms and views, just as you would a typical Domino application, except now you have certain constraints such as the size of your screen.

Will Williams
There will also be an additional part of the application development process. There's a Notes database that we provide that will integrate with Domino Designer and will help you define which of the pieces of the application make up the mobile application. Once you create the elements and define what they are, there is a button within that database that will start the compilation process. It will extract the mobile application from the NSF back-end and convert it to XML using the Lotus XML Toolkit. Once the application has been created and compiled, it's stored on a Domino server.

With the limited memory and small screens of handheld devices, how will you be able port Notes applications to them?
Ed Connolly
The key to success is going to be thorough planning. Obviously you are going to have to break down your typical Notes applications into smaller chunks that are viewable on the small screen.

Will Williams
It's going to take a different mindset. People are used to developing applications for PC devices and what we have here is a different class of device. Developers are going to have to think about it differently. You have much less real estate, and you are going to have to design the application in a different way. There are going to be certain types of applications that lend themselves well to a handheld device. As far as "mobilizing" an existing application, the underlying data will be common between the PC application and the mobile application. The way I look at it is that the mobile version will just have a different type of window or filter that it uses to display or to interact with that data. But the data is the same; it's the same documents, fields, and so on.

I think it's important to point out that we are building into the product the ability to synchronize only a subset of fields that are referenced by the mobile application. In other words, the PC-based version of the application may interact with say, 100 fields across all the different forms and views. The mobile version may allow you to work with 25 of those fields. So it will only transfer the data related to those 25.

Carl Kriger
I think the first step toward planning a mobile enterprise system is to take a step back. A lot of people start by considering devices ahead of applications. You should start by looking at how and why the system is going to be created, not at which devices will be used in the system.

To get some perspective, ask yourself: Why are we going mobile? Which mission critical applications will flourish? Which business functions stand to benefit? What applications will we need for our mobile initiative?

Are all design elements supported for mobile applications?
Ed Connolly
There's quite a long list of features that we will support, too many to mention them all here. For example, we support views and forms (with some events such as Postopen and Queryclose); checkboxes; comboboxes; text edit fields; date and time fields; multi-value fields; form, view, and keyword aliases; tabbed and regular tables; hidden views; multi-selection of documents; environment variables; sort-on-the-fly view columns; access to other Mobile Notes databases with @DBLookup and @DBColumn; form and view actions; hotspot buttons; many @commands and @functions; and the list goes on. Keeping in mind the client type we are building for (that is, small devices with very limited capabilities), we're not supporting some obvious Notes features such as navigators, outlines, and framesets as they are simply not a natural fit for platforms such as the Palm OS. The mobile feature set is a subset of the Domino design elements.

So what additional design tasks are there when you create a mobile application?
Ed Connolly
The product comes with a mobile application design database. Once you've designed your application, you go into the design database and create a mobile design document that basically defines your mobile application. You fill out the name of the database, what you want to call the application, and the location of the database. Then a LotusScript agent is activated that calls a Notes API/DLL function to copy a handful of the design elements to the mobile application you created earlier, the most important of which is the mobile application compiler document. You then open up the application that you want to mobilize. Automatically it will open to that compiler document. At that point, you can configure things like the names of the forms you want to mobilize, the names of the views, your default home page for an application, and the list of fields that you want to synchronize. Basically it's where you define the design elements that are going to get compiled. From that point, right on that form, there's a compile button. The compiler uses the Lotus XML Toolkit to create an XML file.

How does the XML generator work?
Bob Bertolino
Well, you can think of it in two phases. In the first phase we generate XML for the design elements that you specified in the design document. At this point, it's no different from using the XML Toolkit in Domino. In the second phase, we take that XML and we generate a second XML file by doing some tasks like character conversion for the appropriate device, some sanity checking to see if the @functions and @commands that you use in your formulas are actually supported on the target device. It looks at form, width and height—did you develop a form that just doesn't make any sense for your target platform? There's some fairly smart logic that will lay out the positioning of all the controls that you specify in your application—it determines the xy coordinates on your display. If the xy coordinates it comes up with don't make sense for your device, it will generate an error message.

How does it know?
Will Williams
One of the pieces of input to the compiler is device type information. This tells the compiler things like screen height and width and color depth, for example. And then the compiler will use that information to intelligently process the application and make sure that it will look and work appropriately on the device.

How will a user connect and sync?
Will Williams
A user will connect to the server with a PDA device using a synchronization client that we provide and that is installed on the PDA. There are three types of connectivity we're supporting: a modem (wired or wireless), a serial cradle, and an Ethernet cradle. For the modem device, a user, most likely in the field, will call directly into the Domino server. For the serial cradle, a user will put the device in the cradle that is connected to a local PC. The PC in turn, is connected to the LAN and the Domino server. In the case of the Ethernet cradle, there will be a connection from the cradle directly to the LAN that provides a path to the server.

Once the connection is established, the first thing that happens is a user is presented with a list of mobile applications that they are allowed to access. That list has been previously determined by the administrator. Once the user selects the applications that they want to use, those applications will be synchronized (or you can think of it as downloading) to the mobile device. At that point, the user can terminate the connection to the server and go mobile with those applications. They take those applications out to the field, modifying or creating documents. Then at their next opportunity, or whenever they need to, they can reestablish a connection to the server and synchronize back the modified or newly created data. That data will be transformed back into XML and sent back to the server. Then the synchronization engine on the server will take that XML representation of the Notes documents and store them back into the NSF databases.

What do you mean by transformed back into XML?
Mike Jones
Notes data that is sent to and from the device is represented in a format known as WBXML (Wireless Binary XML). This format is much more compact than XML and, in fact, is the format in which the device natively stores the data. The DEES takes care of converting between WBXML and XML and then between XML and Notes documents. Since the mobile device does not implement a true NSF storage model, each Notes document is converted to or from WBXML and is stored inside a DB2e table (IBM's data store for PDAs). You can think of each DB2e table as a mobile NSF database.

How does the sync process maintain data integrity?
Mike Jones
Data integrity between the mobile client and the server is one of the main product requirements. Much like on a desktop client, where documents get sent down from the server, the client is responsible for keeping track of that document, so when it goes back to the server, the server will know which document it actually is. Each document has a unique ID (UNID), sequence number, and revision time. The server uses this information to keep track of the changes to each document. The mobile client operates the same way. When a document is sent to the mobile device, the mobile client is responsible for keeping track of all that information. When the document goes back to the server, much like on a desktop client, the server will be able to look at all the identifying information and do the correct merging back into the server. If there are problems with multiple updates, the server will take care of it through the normal Domino conflict resolution process.

Are there already Business Partners developing applications for Mobile Notes?
Carl Kriger
Yes there are. We've had a Design Partner Program in place since the beginning of this year. There are approximately 12 design partners involved providing us with valuable feedback. Included in the program are Relavis Corporation and NetASPx. Relavis is working on mobilizing the CRM application that won a Beacon award at Lotusphere 2001. NetASPx is working on taking Domino Everyplace to the ASP model.

DEES is part of the Domino Everyplace product family. What other products are available as part of the Domino Everyplace solutions?
Carl Kriger
The Domino Everyplace product family includes the Domino Everyplace Enterprise server, the Domino Everyplace Access server, the Domino Everyplace EasySync Pro server, the Domino Everyplace Short Message server, and EasySync Pro. The Access server provides wireless access to mail, calendar, directory, and WML-based applications via WAP microbrowsers. End users can use a simple mobile application development tool to convert Notes applications into WML-based applications. The EasySync Pro server provides simple data synchronization between handheld devices and Domino servers and allows end users to synchronize mail and PIM type data between native applications on their handheld device. The end user interacts with the native mail and PIM applications on the device. (There's no Mobile Notes client involved in this scenario.) The Domino Everyplace Short Message server provide SMS and notification functionality for mobile devices such as pagers. And EasySync Pro provides desktop-based, simple data synchronization. This is the new version of the existing EasySync product currently shipping.

What is the future for wireless devices and Notes and Domino?
Thomas Stober
Today we have managed to integrate pervasive devices running a Mobile Notes client with the existing Domino infrastructure, and we have achieved data integrity on both enterprise server and device. The next step will open Domino to other mobile devices that are SyncML compliant. SyncML is a new industry standard for synchronization of information between systems. Lotus is one of the core companies that helped define SyncML. On behalf of the SyncML consortium, Lotus and IBM have already developed a reference application, which synchronizes Domino PIM information with early prototypes of upcoming SyncML devices. These devices will be on the market later this year. Adopting SyncML as a standard for data synchronization opens Domino databases to a broad audience of pervasive devices. This is definitely the direction we are going in.

So you guys must get to play with lot of these wireless devices. How many devices do you have?
Will Williams
I have five or six.

Carl Kriger
I have 14 different wireless devices.

Thomas Stober
We are definitely making a fashion statement at Lotus.

Bob Norton
I have about a dozen. The great part is that we get to see prototype devices from the various wireless companies. We are working to accommodate the great diversity of devices. We have a very challenging engineering assignment here.


ABOUT BOB NORTON
Bob Norton is Senior Director of Product Development for the Lotus Mobile Communications Group. He leads the Lotus team responsible for defining and building software for accessing Notes, Domino, and Sametime collaboration software products from mobile and wireless devices such as PDAs and WAP telephones. Prior to the MCG, Bob lead the product management team for Lotus 1-2-3 and SmartSuite as Product-line Director. Over a 19-year career, including five years with Lotus, Bob has managed marketing programs for CAD/CAM software at Parametric Technology Corporation (then known as Computervision Corp.), published newsletters analyzing the design automation and workstation software industry at D.H.Brown Associates, and worked in technical sales at Unigraphics Solutions Inc. (then known as McAuto). Bob earned his Bachelor of Science degree in Mechanical Engineering from Northeastern University and Masters degree in Management from Worcester Polytechnic Institute. Bob resides in Wellesley, Massachusetts, with his wife, Pamela, and children, Sarah and Joshua.

ABOUT WILL WILLIAMS
Will Williams is a senior development manager with the Mobile Communications Group. He has primary development responsibilities for the Palm and EPOC versions of Mobile Notes. Will was drawn to the group a year and a half ago because he enjoys working with small, electronic gadgets and liked the challenge of getting the Notes client to work on such a constrained platform. Before joining MCG, Will worked on various versions of 1-2-3, Freelance Graphics, and FastSite. Prior to Lotus, Will worked at MDS (now IRI), Spartacus, Wang, and Fidelity. Outside of work, Will spends his free time with his wife, 8-year-old son and 4-year-old twin daughters. And every once in a while, you might find him on a bicycle ride, driving his TR8, or listening to blues music.

ABOUT BOB BERTOLINO
Bob Bertolino is an advisory software engineer in the Mobile Communications Group. His primary responsibility is the Palm OS version of the Mobile Notes client. He has also contributed to several other areas of the project including early design and integration with other IBM server technology. In previous lives at Lotus, he worked on Fax for Domino, and before that, NotesView—specializing in SNMP-based network management of Domino servers. He admits to being a VAX/VMS systems programmer in yet another, earlier, previous life. When not in front of the computer, he likes to play bass guitar, ride his motorcycle, and hang with his wife and kids...not necessarily in that order.

ABOUT MIKE JONES
Mike Jones is an Advisory Software Engineer in the Mobile Communications Group. He is responsible for developing the server and client infrastructure that enables the synchronization of Notes applications and documents. Before joining MCG, Mike spent much of his career on the Lotus SmartSuite team where he made many contributions to a variety of products including FastSite, Freelance Graphics, Lotus Components, Lotus Common Charting, and SmartPics. Prior to Lotus, Mike worked at the Foxboro Company developing a graphical framework for interactive process control applications. Outside of work Mike enjoys backpacking, rollerblading, billiards and spending time with his wife and two children.

ABOUT THOMAS STOBER
Before joining Lotus, Thomas Stober contributed to the SyncML data synchronization standard on behalf of IBM Germany. In January, he and his family moved from Germany to the United States to begin a two-year assignment at Lotus. As a software architect, he is integrating his expertise into the Mobile Communications Group. When not synchronizing data between devices and people, he explores his new environment together with his wife and two kids.

ABOUT ED CONNOLLY
Ed Connolly is an independent, certified Lotus Notes/Domino developer responsible for developing the administration and designer databases for Domino Everyplace Enterprise Server. Prior to joining Lotus for the Mobile Notes project, Ed consulted as a Notes developer for eight years in the New England area for such companies as Fidelity Investments, Corporate Software & Technologies, Stream International, and Lotus Development. Before starting his consulting practice in 1993, Ed was employed by Lotus as an application developer responsible for developing Notes applications for internal use at Lotus. He received his Bachelor's degree from Boston College. Ed spends most of his free time with his wife, son, and daughter. He is an avid skier and biker.

ABOUT CARL KRIGER
Carl Kriger is the Product Manager for the Domino Everyplace Enterprise Server, where he is responsible for everything mobile and wireless. Carl has worked for Lotus over the last eight years, primarily in the application development space. His areas of expertise are mobile and wireless, Notes/Domino application development, Web languages, and security. Off-line, Carl spends much of his time studying for his High Technology MBA from Northeastern University and playing with his three children, Ian, Nevin, and Erin. Carl's recent publications include The Lotus Notes & Domino 5.0 Application Development Best Practices Guide and A Guide to Developing Secure Domino Applications, a white paper detailing advanced development techniques for ensuring that your Domino Web applications are secure.