Notes 4.6:
Microsoft Internet
Explorer Integration
Interview by
Betsy
Kosheff
Level:
All
Works with:
Notes 4.6
Updated:
01-Sep-97
Teresa Deane and Jay Rosenthal get into how the Notes 4.6 client uses Microsoft's WebBrowser Control to make Internet Explorer an integrated Notes application. The benefits: plain old browser users get direct access to all those unique Notes services, while Iris gains a way to keep up with the ever-changing HTML spec.
What is meant by alternate browsing?
Jay:
It's really about using a non-Notes browser like Internet Explorer or Netscape Navigator as your browser within the Notes environment. Previously, you had a couple of choices: you could use Notes Web Navigator, which we'll continue to enhance with things like frames and nested tables. Or you could use Internet Explorer or Netscape Navigator as external browsers. But then you would have to exit the Notes environment and you would loose all the collaboration capabilities of Notes. Now we're offering Internet Explorer as an integrated part of the Notes desktop.
It also means greater flexibility to the user. You can use the Internet Explorer as your browser of choice, but still get some of the Notes capabilities that such browsers don't offer.
What does this buy me as a user?
Teresa:
What we wanted to do most was give people the ability to have the advantages of the Notes object store which brings things like off-line storage, full-text search of HTML pages, forwarding of Web pages, agents, and so on, and make all this available to a mere browser, which can't do any of that.
If I'm already a Notes user, why would I use the Internet Explorer component browser?
Jay:
It has been very difficult to keep up with the speed at which the HTML specification has been changing. In addition there are limitations in the Notes internal document format that makes it difficult and sometimes impossible to "convert" some HTML into a Notes format. We are continually working to enhance the Notes internal formats to correct and remove those limitations. However, in the meantime you can see frames, use animated GIFs, and take advantage of other advanced HTML rendering, plus you can use many Internet Explorer features, all from within the Notes environment.
What are the technologies behind it?
Teresa:
We're using the WebBrowser Control which is an ActiveX control from Microsoft, that comes as part of Internet Explorer. It adds the ability to use Internet Explorer as a document viewer with support for parsing and rendering HTML-encoded documents. When you combine this with the Notes programming capabilities -- LotusScript, templates, forms design -- all of which are Notes application design capabilities, it's a very powerful combination.
What exactly was the challenge from a technical perspective
?
Jay:
Overall, we wanted to provide browser users with a higher level of collaboration which Notes is so good at, while using the rendering engine and other best features of Internet Explorer.
Another important goal was to provide the user with a consistent user experience when combining these two technologies. We made a design choice to implement as much as possible in the template and open up interfaces to the Notes client that were not specific to this application, but could be used by any piece of software that provided browsing capabilities.
The WebBrowser Control is just a piece a software that needs to be controlled by an application, and in this case, the Notes client is the application. So then, Teresa designed a template called the PerWeb46.ntf, which defines how the web browser control interacts with Notes.
What were the business issues driving your effort?
Jay:
There were several issues that drove the idea, the biggest of which is the speed at which the HTML spec was changing, and to some extent, still continues to change. It's difficult with our development schedule to have our own browser stay compliant with the spec, so one of the big questions was, how can we keep the browsing fidelity of the Notes client in synch with the spec?
Because of new technology in Notes 4.5 that made the Notes client an ActiveX/OLE server and client, we knew we had a really good foundation. Building on that we, knew we could offer something very powerful by using that technology to build a Notes application around the Web Browser control.
How did you divide the work?
Teresa:
I developed the template, which involved taking the existing Notes 4.5 Personal Web navigator template and turning it into an alternate way of browsing.
For Notes 4.6, we were adding onto the Notes functionality so that the documents you see both in full screen mode and in the preview pane are rendered in Internet Explorer. That was tough because it involves a lot of code to do things like open the correct form based on the user's current browser setting in their location document. We chose to do a series of form formulas in conjunction with LotusScript on the PostOpen event of the forms. We wanted to do as much of the implementation as possible in the template itself, using LotusScript, and we wanted to do them in a generic enough way that it could be later applied to any browser, as opposed to having a lot of coding specific to embedding the control into the client. We ran into some limitations in the way that we had previously (in Notes 4.0) implemented HTML forms within the Web Navigator. We were using the store form in document feature which was limiting us so that in this new implementation for 4.6, when you are previewing HTML forms, they will still render in Notes. However, if you open them to full screen, they will render in Internet Explorer.
Jay:
I worked closely with Teresa to ensure that LotusScript and the Notes client provided all the interfaces and features required to support the application we had designed. This included adding some new methods to LotusScript that give applications more control over some user interface components such as the window title and the URL navigation bar in the NotesUIDocument class.
Did you really mean to solve the problem for Notes of how to stay in synch with the HTML spec?
Jay:
Well, we knew for some time that Web browsers were becoming commodities, meaning that functionally, they're very much the same. So we wanted Notes to be browser agnostic -- we'll work with anything you want. Yes, we have our own Web Navigator, and we'll continue to enhance that, but we also wanted to provide you with the technology to not just use alternative browsers but use them in the context of Notes, which is better than a browser in so many ways that the browser folks are building what amounts to Notes clients. You can see that clearly with Communicator, and if you look at Internet Explorer 4 news and mail clients, they look a lot like Notes.
How does Notes know which browser you're using?
Teresa:
When you click on an URL, it loads the browser specified in your current Notes Location document. You can specify the Notes Server version of the Web Navigator, the Notes Personal Web Navigator, Microsoft Internet Explorer or Netscape Navigator as "external" browsers, the new Notes with Internet Explorer (component browser), or any other browser by pointing to an .EXE of that browser.
Will browsing the Web with the Internet Explorer component in Notes be the same as with plain old Internet Explorer?
Teresa:
Yes, but not exactly the same, because that's the whole point. By being integrated with the Notes desktop you don't have to run a separate application to do your Web browsing. It's very tightly integrated with the Notes desktop so the experience for the user is that you're never leaving Notes. Your menu picks will be Notes buttons like you would see in Internet Explorer: previous, next, Search, home, add bookmark and stop, as well as some Notes collaboration options such as share and forward. The UI for browsing is different because it is still the Notes UI, yet the rendering features are Internet Explorer.
What about doing the same thing with Netscape Navigator
?
Jay:
Love to, but Netscape doesn't have a componentized product. They have said their componentized browser will be a Java-based browser, but to my knowledge their latest client, Communicator, is still not Java-based yet.
What about other platforms, like the Mac
?
Jay:
We're doing some active work in that area because Internet Explorer and the WebBrowser Control are on the Mac.
What do you think of the ActiveX environment
?
Jay:
My biggest criticism is the same as you see in discussions all over the 'net, which is the security, or lack thereof, when it comes to running things like this WebBrowser Control and opening up your system to the Internet. You really have to be careful how you configure it. Component software in general is a great idea but it should have the level of security Notes has, and it doesn't.
What are the plans for supporting some of the state-of-the art browser technologies, like Dynamic HTML?
Jay:
Dynamic HTML is, in many ways, just another case of chasing the HTML Dragon. There are always going to be wiz-bang extensions to adopt, and this gives us one way to be able to support it because we can just borrow it through Internet Explorer 4 the same way we have with IE 3 here. One of the cool things about using Internet Explorer as a component is that we can offer this new browser stuff if people want to use it. We're not in the browser business per se but if you want to keep on top of the state-of-the-art browser technology from Microsoft and still live in Notes, no problem.
How are you feeling about the 4.6 client overall
?
Teresa:
Great because the IE component is now my browser and it's convenient because I never leave Notes -- if I'm reading an e-mail or browsing, I can still have the look and feel of Notes. And we feel good because users don't bring us issues like "your browser doesn't support frames."
Jay:
The whole team has made great strides with this 4.6 release in terms of providing a much better workplace environment, especially with the Portfolio Database feature, which eliminates another need to go out to the desktop all the time and find the database you need. We're also feeling good because with Outlook, Microsoft has a new product, which is always tough to break through, while we're evolving people's e-mail, groupware and information management capabilities in a world which is about much more than browsers. We're still a couple of generations ahead in giving people a more powerful client.
What's next?
Jay:
One thing you will see is componentized pieces of the Notes that allow you to get at Notes data and have the same rich experience a Notes client user gets, without having to use the Notes client.
You also see the Notes client able to render HTML without conversion.
What would be a good example of a type of functionality you could get with a Notes client component?
Jack Ozzie:
Pardon me for jumping in here, but, an example of this is a Notes View component that gives Web browser clients the ability to select multiple documents, expand and collapse document hierarchies (without round trips to the Server) , and change column widths on the fly, just as the Notes client can do today. We are mostly looking at ways to enhance the Domino experience, and to provide functionality that Domino cannot provide using HTML alone.
(Click here for a lot more about Jack Ozzie.)
ABOUT TERESA DEANE AND JAY ROSENTHAL
Teresa Deane has been with Iris and Lotus for the past ten years, working in virtually every area of Lotus from programming to support, from education and marketing, back to programming. During the last three years at Iris, she coded the original template for Web navigation in the Notes Web Navigator and has just completed the Notes 4.6 PerWeb template for enabling Internet Explorer to be used as an integrated browser component in Notes.
Jay Rosenthal joined Iris and year and a half ago from Axent Technologies. He has worked on the Notes Web Navigator, both client and server, and has contributed to the technology to convert HTML documents to Notes documents in the Web Navigator. For Notes 4.6 he has been responsible for integrating the MS Web Browser control and the Notes client.
Copyright
1997 Iris Associates, Inc. All rights reserved.