[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?
How did you determine what the right features were for this release?
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 www.notes.net.
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
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.
Can you still use LotusScript?
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?
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.
Dig deeper into IBM collaboration and social software on developerWorks
Experiment with new directions in software development.
Read and subscribe for the best and latest technical info to help you deal with your development challenges.
Software development in the cloud. Register today and get free private projects through 2014.
Evaluate IBM software and solutions, and transform challenges into opportunities.