Ned Batchelder: Designing Domino Designer

The project leader for the Domino Designer R5 talks about making the Designer a premier development tool for both the Notes client and Web browsers, and new features like Outlines and Frameset Designer that will make it happen.


Betsy Kosheff, Freelance Writer

After she was ejected from private school in New Hampshire, Betsy Kosheff turned to a career in journalism. She moved to Chicago to attend Northwestern University's teaching newspaper program, where her first idea for a story led her to the Windy City Hall. There, she proposed that all government officials should dress like hens, and was again, promptly ejected. In 1983 she decided to go into public relations but was overcome with self-loathing and now lives in the Berkshires enjoying the simple pleasures of life, like farming and sitting on an air hose.

01 May 1998

[Editor's Note: To learn more about Domino Designer R5, check out the discussion with Ned in the Developer Spotlight .]

Ned Batchelder is the Project Leader for Domino Designer R5. With features like outlines, framesets, pages and shared resources, it is going to be even easier to generate business applications for the Web.

What are the major themes for the Domino Designer R5?

We have a few major themes. First of all, we want the Designer to be a premier application development tool, for both the Notes client and Web browsers. It should be easy to use, and work for all your application needs, including multi-lingual Web applications. Second, we want as much as possible for the same application to run well in both the Notes and Web environments. Third, we want to adopt standard technologies so that customers can leverage their existing skills, making it easier to move over to Domino.

What are the most important new features?

I would say that the new, task-oriented UI is the first thing that designers will notice. We've added a major feature we're calling "Outlines." Plus, we've added support for industry-standard Web constructs, including pages, framesets and JavaScript support, along with some other initial steps into new feature areas like enabling resources such as images and applets to be shared. Designers will notice that a lot of the new features are traditional Web technologies brought into the Domino environment, for example, framesets and pages. Domino Designer will now provide a wider spectrum of tools from existing, power-oriented tools like forms and documents, to new, easier-to-use tools like pages, which are a great place to start if you just want to make a Web page in a way that is already familiar to Web developers. If you're a Notes developer, it's really the same thing as the "Help About and "Help Using" pages in Notes 4.6. But now, you can create and name as many pages as you want instead of being limited to just two. You can make a page and call it whatever you want and get to it through a URL.

Ned Batchelder
Ned Batchelder

How did you determine what the right features were for this release?

We listened to our customers and business partners who are leveraging Domino, and went from there. For example, our current customers are deploying applications to Notes clients and Web browsers. They need a way to create one application to serve both, while not "dumbing down" the application because of browser limitations. Web developers told us that they want to use their existing skills, so we enhanced our support for HTML, JavaScript, and Java. Specific features in the product address these needs.

Domino Designer is about bringing native Web technologies into the Domino environment in a way that will be useful to both Web and Notes application developers. So, Outlines correspond to the existing Web concept of site maps (the Navigation pane in Notes), while framesets and pages are well known and widely used Web tools. Shared resources are like named images or applets that can be used on many pages. And we're going to have image map editing on documents and forms, rather than having to go out to a separate Navigator as you do in Notes today.

So will this replace Navigators?

No, we'll still have Navigators, but now when you import a picture into a document or form, you'll be able to draw hotspots right on the picture and make an image map right there in place, so you won't have to use a Navigator just to make a simple image map.

What is an Outline?

An Outline solves two problems: first, it gives the designer an easy way to begin laying out an application, by deciding what is in the application up front and adding those elements to the design. Second, the Outline generates dynamic and automatic navigational structures for the site or application. This is in contrast to Notes 4.6, where the folder pane shows you a list of your views and your folders, and some of the views have a little icon next to them indicating their type, for example, "All documents" has an icon showing a bunch of documents. So developers were asking, "How can I make my own little icons or put something over there besides a view or a folder?" And the answer is, you can do it in R5 with Outlines.

An Outline is basically a hierarchical tree structure of links to things. So if you wanted to mimic the 4.6 folder pane, you would make an entry in this tree for each of your views, and if you had a view next to it because of a slash in its name, you would push it down one level under its parent and make a tree of your views and folders. And there's no reason why they have to be views or folders, you can have them be links to documents, or other databases, or arbitrary URLs, such as

Do other Web products do this?

Yes, many products like NetObjects Fusion offer a high-level look at your site layout, but there's no standard around this. If you go to the W3C site and look at the standards, there is no spec describing a site map or an outline. It's a common structure that gets built by developers out of tables of links or images with hotspots, so every product has a different approach to building, maintaining, and organizing these kinds of site maps. The main challenge technically for us has been that because it's not an existing paradigm or standard, we've had the opportunity to design a mechanism that really takes advantage of Domino's strength: dynamic, programmable data. Mapping out a dynamic application as opposed to a set of statically linked pages is tough. We had to think hard and talk with customers and business partners to get it right.

What's going to be the benefit?

We've had customers review the Outline and they are consistently pleased with the ability to start with overall site navigation and then to drill down from there. We're hoping that the Outline will be a tool you can use to build an easily navigated site. Once you've built the hierarchical structure with an Outline, you'll be able to put what we're calling Outline controls on pages or forms or documents. These are regions that will display the Outline or part of the Outline.

How do you access the Outline feature from within Domino Designer?

The Outline is a new design element to choose from. In 4.6 when you go into design mode, you have the Design twistie in the folder pane that shows forms, views, subforms, navigators, and now in R5, the first entry is called an Outline. When you click it, you see your outline over in the right-hand pane. It's organized like a tree, and you can insert and drag entries around and change the properties of entries. So, the Outline really provides the starting point for design, and we think this will be particularly attractive to new Web site designers. You just start off by filling in the "top of the outline" -- what page or document is to be displayed as the "home" for this site, what are the five key buttons or things on that home page, and so on. Then, you can proceed to "fill in" the outline by defining the forms, views, and so on, that cause the database to be populated.

But it's not a radical change for existing Domino designers -- it's just a new design element in the Notes database, and it's been designed as a generalization of the 4.6 folder pane. And because it works in the Web browser and the Notes client, you can, of course, build an application that works in both places.

Will Outlines give the designer a complete site map of everything on the site?

No, they're not "complete" site maps because they don't identify every page in the site and show the links that get to every page in the site. This is because links and views are often dynamically constructed, so it's almost impossible to draw such a map. Also, we didn't want to decide for you that a site map should show every page in the site. Outlines are a flexible tool for designers to use in creating their own navigational structures that make sense for their applications.

So, Outlines are customizable?

Definitely. They're designed to be very customizable, so you can control everything from which icons go next to the entry (like a magnifying glass to represent a view), to what image is under the entry (like using a graphic of a house to represent the home page). And, you can determine whether the Outline should look differently when the mouse hovers over it, or perhaps it should look different again when it's expanded. We are looking forward to seeing how customers and business partners use it in their sites.

What are framesets?

Lots of folks want multi-pane user interfaces very similar to the Notes three-pane UI that we've had for some time. The framesets give you the ability to have your browser window split into panes, with each pane showing a different URL. In Notes 4.6, you had to build the panes with pass-thru HTML and cobble it all together yourself. In R5, the frameset is a design element in the Notes database, and you can build a list of named framesets. When you edit a frameset, you're presented with the splitters and you can create new panes, merge panes, and drag the splitters around, then populate the content of each frame simply by pasting doclinks into each frame. And the frameset editor displays the page to you dynamically right there, while you're modifying the frame. So it's a real WYSIWYG frameset development environment that customers have been asking for since Domino was first introduced.

[Editor's Note: The following screen shows the new Frameset Designer.]

Figure 1. The Frameset Designer
The Frameset Designer

What's the most visible change users will see with framesets?

The frameset support opens up the UI possibilities for applications. With them, the whole Notes 4.6 paradigm of having only three panes -- the folder pane, preview pane and view pane -- and the three ways of laying them out, with no choice of what gets displayed in any of them, just goes away. There's no reason to be constrained to that -- you can make a five- or ten-pane layout, and the client will display it to you properly. So, when you select a document in your view pane, your preview pane will catch up. In Notes 4.x, there was a lot of hard-coded knowledge about the three different panes and how they interacted, as well as how they were laid out. Now the client has to be willing to accept any frameset you design and do the right thing with it.

So, do the three panes just disappear?

Not if you don't want them to. A key goal of R5 is that your existing 4.6 applications will still work. So when you launch a database, if there is no Outline, one gets put together out of a list of all your folders and views. So if you didn't design an Outline, you get what was already there in the form of a three-pane layout. If you don't want to change your 4.6 behavior, you don't have to, and everything will work the same.

What's new in adding JavaScript to the Designer?

Our goal is that you'll be able to script your applications using JavaScript or LotusScript. The Designer will have an integrated development environment (IDE) that enables developers to script events using JavaScript. For mixed client environments, developers can use JavaScript to handle client-side processing, and it will work in both the Notes client and the Web browser.

How does this differ from the current use of JavaScript?

We have integrated JavaScript as part of our programming model and as part of our development environment. In the past, you could use pass-thru HTML to put JavaScript on your pages, but the Notes client, of course, would not execute it. So you had no JavaScript-aware IDE, and no JavaScript capabilities in the client or native Notes Web browser. The native Notes Web browser will now be able to use JavaScript that it finds on the Web or that people send to you via e-mail.

And when you're designing a form, you'll have the choice of using JavaScript events. Those events will be downloadable to the Web browser to be executed there. Since JavaScript has a broad set of events, developers will be able to now script onmouseover, onblur, and so on.

Can you still use LotusScript?

LotusScript is, and will remain, an important part of our programmability. It is still needed because it provides access to all the Notes back-end classes, and that access won't be available directly through JavaScript in R5. It will show up in a later R5 release, though, and will dramatically expand the power of Web applications.

You mentioned sharing resources earlier. Can you tell us more about this feature?

The Shared Resources feature will allow you to store assets once in the database, like images or applets that you'd like to use throughout your application. The Notes WYSIWYG model of pasting pictures on pages is great because it's simple, but it can mean you end up having 10 different copies of the pictures. Then, if you need to change the picture later, you have to find the 10 copies and change them all. So, with shared resources, you put the picture in as a shared, named resource, and refer to the picture by name when you want to use it. This saves disk space and time, both when building the application, and when running it.

How will designers access the shared resources?

The shared resources appear as another design element on the menu. You can paste your image there, and you can use it as the background on pages, table cells, for entries in the Outline and wherever you want it on the page. Or the resource could be a shared applet. People will find this useful because they won't need to be repetitive in serving images or applets to the browser, which saves on download time. Also, it's kind of the first step toward asset management in the product. You could also share resources across databases, or you could have some team computing capability -- like locking access to images so people can't change them at the same time. That's the direction we're heading, and this is a first step.

Are there any other Designer features we should keep an eye out for?

Of course, there are many more things going into Designer R5, such as the new task-oriented user interface, native Web palettes, improvements in the integrated development environment, new @functions, custom help features, improved Web fidelity, HTML generation methods, native image support, applet support, and on and on. I could continue for quite a while, but our readers probably have to get back to work!

Do you think R5 is going to change the way people view Notes as a development environment?

Well, Notes has always been a powerful development environment. Since the first release of Domino (July of '96), we've been making steady progress in bringing the Notes development environment up-to-date. Primarily, that meant making the Notes development environment make sense to Web developers. R5 in a large part represents the culmination of that effort. Web developers will find in R5, a development environment that better speaks their language (JavaScript, frames, pages, and so on). Once the communication starts, we think those same developers will be able to go further, faster in our environment by leveraging the unique framework of services that only Notes provides (like Notes security, replication, messaging, and so on) to quickly build robust applications. Notice I didn't say Web applications... that's really kind of redundant, these days.


Ned Batchelder is project leader for the Domino Designer and a founding member of the Domino Web Server team. As a hobby, he develops NotesPeek. When not working hard to advance the cause of Domino application developers, he tries to keep up with his three sons at home.


developerWorks: Sign in

Required fields are indicated with an asterisk (*).

Need an IBM ID?
Forgot your IBM ID?

Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.


All information submitted is secure.

Dig deeper into IBM collaboration and social software on developerWorks

ArticleTitle=Ned Batchelder: Designing Domino Designer