How did you come to Iris -- did you, um, know somebody?
It was in 1987 and I'd worked mostly in small start-ups, doing communications software. I went to Wang and was working on I/O controllers for asynch communications devices on the VS machines. I wanted to get more into the PC market, and I knew Notes was just getting started; it was before Version 1, and I was the sixth person here. I knew I wanted to go back to start-ups, and this was sort of a start-up, but Lotus provided the venture capital. Jim (Manzi) was really behind it. I knew the players well -- I knew Ray (Ozzie), of course, and I also knew Tim and Len and from my visits with Ray when he was attending the University of Illinois. I think maybe they had a couple of founders, but they needed an employee, and that was me.
What was your first assignment?
I started out getting external data into Notes, initially from Lotus products -- 1-2-3, Freelance, etc. My charter was to work out the imports and exports. I was also working on the subsystems as well as the editor to support the richer data types. That evolved to foreign data types, and then to OLE objects -- it was just a natural progression. I've worked mostly on the client side, not only static data exchange, but dynamic data exchange, and then OLE was the next evolution.
Jack Ozzie keeps the beat for the Iris Notes
Do you work closely with Microsoft?
Yes. Ray and I first went to Microsoft to work with the Excel group on OLE 1.0. Notes was one of the first, if not the first OLE container. It was really fun -- historically, we've always had a great relationship with Microsoft. We worked with Windows 1.0 and found a lot of bugs for them, and they changed a lot of things in Windows for Notes, because our server really pushed Windows. When I started at Iris we were just starting to use Windows 2.x -- imagine the Notes server running on the Windows 16-bit architecture! It was pushing it to new limits -- but it was multitasking, and it was what we had to work with.
Didn't Iris do a lot of innovation on top of OLE and DDE?
Yes, we did a lot of work in innovating new ways to exchange data with DDE. We and Microsoft came to one conclusion at the same time. I had baked up something called DIP -- document inset protocol, and simultaneously, Microsoft determined we needed something just like it. We had all the Lotus applications hooked up to the DIP protocol -- it was one of the first industry standard embedding protocols based on DDE. DIP allowed DDE application files to be embedded inside Notes databases rather than the File system, which is what OLE 1.0 introduced as well. DIP was a natural extension to DDE in the Notes environment: storing the DDE "file" in a Notes document. We got all the Microsoft products working with it. And then came OLE 1.0. It came out while we were developing Notes Version 3. So we just extended Notes to support OLE 1.0 and DIP. It was kind of neat because we both did the same thing to solve the problem.
Then we evolved into OLE and I was the inventor of Notes Field exchange (F/X). F/X was about saying: Let's go one level deeper in sharing data when you have embedded objects. Let's share Notes fields. Let's expose the Notes API going through the OLE session. And as a result, Lotus products had the leg up on the competition because of having this great interface. But we opened it up so that anyone could do F/X. Now Microsoft does it and Visio has it; there are numerous products that ship with F/X support.
What are you working on now?
The next generation. For Notes Release 4.5, I've led the team to do the enhancements to support Web browsing. That covers the architecture and implementation for Java and plug-ins in the Web navigator. I also designed the Notes 4.5 deferred graphics loading subsystem because I have been the graphics guy for Notes since Version 1 and I'm the UI platform team leader.
You do a lot of things, but you're really known as an expert on OLE, right?
Well, one day when we were working on Notes V3, someone said "DDE is the rage -- Jack, go figure it out." We use gant charts for our schedule and someone had penciled in "Some DDE work," with my name and "three weeks" next to it. Well, "some DDE work" turned into "SOME DDE WORK," which evolved into "SOME OLE WORK." Because OLE takes over your application. It touches it in every way -- from being a link container, to being a link server, to being an automation controller. A lot of people don't know it, but Notes can be both an automation controller and an automation object. So, for example, we can run Notes from inside Excel, and open a workspace item, or open a database and fully automate Notes through OLE. OLE has gone from being this thing on the inside of Notes to being inside and outside Notes. It's everywhere because it's become so much the integrating technology into Windows, as well as for sharing cooperating data. It's not just about implementing OLE objects. It's how you interact with the shell, and it's about the Macintosh, too, because OLE is also on the MAC.
What about ActiveX?
It's the next evolution of OLE. In a nutshell it's the Internet extensions to OLE. They (Microsoft) has re-architected OLE a bit to work in high latency, low bandwidth networks. They've created new extensions to OLE, so for us, that means two opportunities. One, what can Domino do to serve up ActiveXs, and that can be done right now. In Notes 4.5 we support Active X embedding of programmable objects. And two, what does it mean for Notes in terms of an being ActiveX container? Well, I like to say that ActiveX is really OLE in sheep's clothing. By that, I mean there are a whole lot of technologies that are under the ActiveX umbrella. One of them is Internet extensions, so an OLE object can work on the Internet in a Web browser. Then there's a whole other waive of technologies -- Active Documents, Active Objects, -- you fill in the "X."
What can Active Documents do for Notes?
We've actually put a lot of work into Notes 4.5 to make it an Active Document container. What that does is it allows you to use the next-generation of inplace editing. Inplace editing allows an object to live inside another object, so you can, for example, edit an Excel worksheet inside a Notes document. You see it as a little postage stamp. That's cool, but you're only using a subset of Excel's capabilities, because it's just inside a little postage stamp model.
Active Documents is the next generation. The application being embedded wants to use the entire frame -- the entire UI. It sort of maps into Microsoft's browser architecture in which you have an outer-most container application and you can browse and whatever you're browsing fits in the frame, so you can work with it as a separate entity. The UI transition is not one of shock -- when you click a Word document you're in Word, but you're actually inside the Internet Explorer. You get all the menus and toolbar; you get a full-page document and you can print it, view multiple pages, and the frame can be Notes.
So, Notes is again, the Container?
Right. A lot of these technologies allow Notes to be the supreme container. Using Active documents, we serve up the Internet Explorer inside Notes. You can put up Excel or Word, full pages. I can edit a hundred-page document inside Notes using this technology. It's a really cool technology, not just because it adds full-page editing, but because it delivers a new level of negotiation that says, "Get your UI out of my face as much as possible, and give me a whole page to work with." So, the application you're running can own all the real estate. It's all of the functionality, all of the UI, and all of the document in your face, if that's what you want.
When will we see this Active Document technology?
The first generation is in Notes 4.5 for use with Office 95 and the Microsoft Internet Explorer. And there's going to be more in the next level of Notes integration with Internet Explorer, and through work we're doing to tie this technology into our templates for really tight integration with Office. WordPro is an Active Document Server, by the way, so you can use it instead of Word...
So, you don't mind people using a browser instead of a Notes client?
Not at all. We put a lot of work in Notes 4.5 to make our Web Navigator the best we can, but Notes is browser agnostic. We have alternate browser settings so you can use Internet Explorer or Netscape Navigator. And we're going to make that even better -- the next level will be that you can use Internet Explorer, but you can have even more of the Notes added value. So, for example, you'll see the ability to Web Ahead [the ability to run an agent to retrieve "n" levels deep of web page navigation into the Notes web database, to be used later for disconnected browsing. This allows a user to browse in a disconnected fashion] using the browser, mail forward this information, essentially have the browser integrated as a component into Notes. And we'll have this on the MAC, with ActiveX and the Internet Explorer on the MAC.
So, where we're going with ActiveX is toward way more, better, closer integration with browsers, and adding more Notes value with respect to the componentized browser approach. And we're also keeping our eye on other componentized technologies, so if, for example, Netscape componentizes their browser, we'll look at that. We're doing the best things we can for what people want when they're using their browser, and building on the Notes added value in providing a local object store, full-text indexing, things like Web Ahead and more.
What about Java and Notes?
There's a lot to do with Java. First, where Domino is great today, a couple of areas where it could be improved are in the fidelity and function of Notes applications that gets exported through Domino. There are piece of the Notes client that can be delivered better. We want to add more active behavior to Domino applications, and that's where Java comes in. The next set of projects on my plate is to deliver meaningful applications of the Notes client through Domino.
Without giving away too much, some examples might be in Notes database views, which are not as dynamic as what you might do in a view and folder. There is functionality there to do that, but it's not an interactive view. Interaction with users is where everything is going. So a full fidelity view is really needed. Another example is Notes form layouts, which are not exported through Domino. Ninety percent of the best forms coming out of Notes use layouts. Many of our templates use layouts. They all use layouts to make them look good; they're rich with lots of behaviors, graphical backgrounds, hotspots, and native controls. That's just an area you can't do much with in Domino right now. People work around it with HTML. But you shouldn't have to, because Notes has great layout tools.
Also, the whole entity of a Notes form is very powerful. Domino has done a great job of exporting the relationships of how a form works in a Web-like way. But there is a lot more dynamic and localized processing that can and should be done in the Web browser itself with respect to fidelity, behaviors, scriptablity. With Domino, the richness of form-level Scripting is not all there yet -- you can execute certain things, but dynamic and inter-form relationships are areas where we want to concentrate. I call this Active Forms. I want to make Notes forms active on the Web.
Where is the client going?
It's really going two directions. In the first direction, we're continuing to enhance the current Notes client to make it the best client to use with a Domino server. This includes a greatly simplified UI and support for internet standards such as Native HTML rendering, and protocols such as IMAP and LDAP. In the second direction, there's the browser-centric view of the world, where the WEB Browser is the client, which is where the Notes components come into play. Today with Domino we publish up a Notes application, but in the future you can think of more of the pieces of the Notes functionality provided by today's client being exported out and brought into a Web browser. So, in essence, we're componentizing the Notes client for use on the Web in bits and pieces. It's not necessarily a new product; it's exporting our functionality for the Web -- people are going to be using the Notes client, but just pieces of it that make sense for collaborative WEB computing.
What are some of the kinds of Java applets possible for Notes?
Java is kind of like the Macarena of software that everyone wants to get into and do because everyone else is doing it. But once you get past the hype, it's a language and a technology that's really well suited for the Web, and there's fast growing base of developers that are building real Applications now. It provides portability, platform independence; it's well suited for being in a dynamic environment. I can have my applications change and be updated without having to deploy a whole new version.
Java applets and better Java integration are what I'm working on now. We have a lot of great ideas and we're seeing a lot of great ideas through our Business Partners.
First we're looking at what people currently do with Notes that would work well with Domino for things like fidelity, as I mentioned. And then, the focus is on the next generation of applications that will make sense for Domino, as well as being able to incorporate externally developed Java components and agents into Domino apps using our application design tools.We want to lead that, so and stay tuned. We're working a lot on things like, what's the next Notes client -- it might not even be a Notes application, it might be something else. In any case, Java is a great way to get it there, and Active X is, too. Just as we're browser agnostic, we want people to deal with the tools they're comfortable with, and which are the best for their intranet. We want to be the best application deployment system for the Web -- Internet or intranet. So we'll support it all, just like we support all the data types, all the key technologies, all the platforms.
Jack joined Iris in 1987. His early work on Notes import/export capabilities evolved to not only support but provide significant innovation on DDE and later OLE, culminating in his invention of Notes/FX which today permits embedded objects to exchange data and other programmatic contructs with fields in a Notes form. Jack is also the ActiveX expert at Iris, and through four major releases, has headed the teams designing and enhancing the Notes graphics subsystem, for the Notes editor extensive cross-platform graphics support. Most recently, he has led the Notes 4.5 effort to support Web browsing, including overseeing the architecture and implementation for Java, Java applets and plug-ins, and asynchronous graphics rendering. He spends his nights dreaming up Java applets and his free time as drummer for the Iris Notes
1997 Iris Associates, Inc. All rights reserved.
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.