decoration decoration
Stories

GROKLAW
When you want to know more...
decoration
For layout only
Home
Archives
Site Map
Search
About Groklaw
Awards
Legal Research
Timelines
ApplevSamsung
ApplevSamsung p.2
ArchiveExplorer
Autozone
Bilski
Cases
Cast: Lawyers
Comes v. MS
Contracts/Documents
Courts
DRM
Gordon v MS
GPL
Grokdoc
HTML How To
IPI v RH
IV v. Google
Legal Docs
Lodsys
MS Litigations
MSvB&N
News Picks
Novell v. MS
Novell-MS Deal
ODF/OOXML
OOXML Appeals
OraclevGoogle
Patents
ProjectMonterey
Psystar
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v IBM
SCO v Novell
SCO:Soup2Nuts
SCOsource
Sean Daly
Software Patents
Switch to Linux
Transcripts
Unix Books
Your contributions keep Groklaw going.
To donate to Groklaw 2.0:

Groklaw Gear

Click here to send an email to the editor of this weblog.


To read comments to this article, go here
Novell v. MS Trial Transcripts - Day 4, Oct. 20, 2011 (Harral) ~ pj
Tuesday, June 05 2012 @ 10:58 PM EDT

Here's the transcript of day 4 of the trial in Novell v. Microsoft, as text, making it Thursday, October 20, 2011. The day opens abruptly, with the judge, the Hon. J. Frederick Motz, telling the lawyers, before the jury arrives, that he's angry with Microsoft. Novell had filed two motions for a jury instruction to deal with some things Microsoft improperly said in its opening statement, statements that violated what the judge had allowed it to say. Microsoft's opening statement was given by David Tulchin, who gets an earful.

But then, oddly enough, the judge decides not to say a thing to the jury about the monopoly acquistion versus maintenance issue, because, he claims, it would go over the jury's heads. And so Microsoft gets away with that. However, the judge does speak to the jury about the timing of when Novell brought this action. He doesn't say precisely what Novell asked him to say, as I'll show you. And then there is a live witness, Adam Harral, who was a WordPerfect software architecht and then the same at Corel and then at Novell, which means the playing of the rest of the Brad Silverberg deposition has to be delayed. Harral tells about the shell extensions Microsoft encouraged Novell to build with, only to have them suddenly removed and the remaining APIs he says were promised kept from Novell after it had done 80% of the work of building around the four APIs.

Here's what the judge tells the jury:

THE COURT: In terms of the opening statements, there was one statement made by Microsoft's counsel about this case not having been filed for a certain number of years, nine or ten years after the event, to reflect or put the suggestion that, look, if this was a problem why didn't you file suit earlier. It is fair game to say why didn't you comment earlier, why didn't you criticize it earlier, and that is a matter of evidence for you all to decide.

Don't worry about when the suit was filed. They acted within their rights. It is a long time, but there are reasons and limitations were tolled and they acted within their rights in not filing a suit for whenever they filed the suit. Just disregard that part of the opening statement.

Here's what Novell, in the memorandum [PDF] in support of its motion, had asked the judge to tell them:
During opening statements, counsel for Microsoft made reference to the fact that Novell did not file this lawsuit until 2004. The jury should draw no adverse inference against Novell based on the fact that it filed the present lawsuit in 2004 rather than at some earlier time. Under the law, Novell had the legal right to file its lawsuit when it did and was under no legal obligation to bring this lawsuit at any earlier date.
Not precisely the same, is it? A little negative spin on the judge's wording, wouldn't you say ("It is fair game to say why didn't you comment earlier, why didn't you criticize it earlier, and that is a matter of evidence for you all to decide.")?

Mr. Harral describes the design and functions of WordPerfect, particularly some unique and valuable aspects of its shared code, which is his area of expertise:

Q. Are you familiar with WordPerfect's open interface APIs?

A. Yes, I am.

Q. Can you tell the jury about that?

A. From an architecture -- for a software perspective we had talked to the WordPerfect applications -- in moving the product forward we caused the product to have a division. For example, if you wanted to do a search for a word inside of the document, you would be presented with an interface and you would then tell it what is the word I want to find. You might say I want to skip this so many times and you might be looking for a particular place in a paragraph for that word.

The presentment of that question to you is what we call the view. It is where it asks the question and collects the information. This is a key to how scripting and other technologies would work. It would then capture that information, and then it would go to the engine and it would tell it, okay, here is what they said to do, now do it.

One of the things that we allowed in our WordPerfect product, is that means that there is a clean division, those tiers, there is a clean tier there between collecting the information and telling the engine to do it. We built a way for somebody to be able to come in and intercept that request to do that work. So if you wanted to -- let's say somebody said do the grammar check. If you wanted in a company to impose a totally separate set of rules and a totally different artificial intelligence of how to do the grammar check, you could insert your own piece of code in there and capture the request to do the grammar check and do whatever you wanted to.

Having had access to all of the shared code and all of the other scripting interfaces, you could then totally redo what WordPerfect would do with that request. So this open API basically lets you capture anything that WordPerfect could ask the user to do, and you could rewrite what it would actually do at that point when it crossed that tier.

Can you understand from just this brief testimony how important it is to innovation that APIs be accessible and not locked up in copyright chains? And may I be permitted to say how much I enjoyed WordPerfect? Just from this one little section you can see how superior the product was to Microsoft Word.

He also explains what middleware is, and why WordPerfect might be so threatening to Microsoft:

Q. Was or was not WordPerfect historically designed to be a place where users lived?

A. It was designed -- I can say from DOS before I joined WordPerfect, my experience was I had seen many people use WordPerfect in just this way, that it would be the only program that they would start up at the beginning of the day when they came into their office, and they would do everything that they did -- they would not go out to DOS and manage their files there, which is what DOS was intended to do in the run application, and they would start at WordPerfect and they would stay there. There would work on their documents and they would save them and they would print them, and they would correspond through whatever e-mail capabilities they had, but they would live in WordPerfect.

Q. Did you have any conversations with Microsoft's Premiere Support about living in WordPerfect?

A. I guess the answer is yes, because everything that we did was about that. And so, yeah, we talked to Microsoft about the fact that our interests and the technologies that we had, and that those technologies for our users were about a holistic environment. Everything that they did -- they came to expect a lot from us, not just in the word processor.

Q. Are you familiar with the term middleware?

A. Yes, I am.

Q. What is middleware?

A. Well, simply put, shared code is middleware. It is something that is produced either with the intent to bridge technologies -- an example nowadays would be Adobe Flash. It is a product that you can run presentations in or do graphics in. When you go out to the Internet there are games that are written in this. It can't run without the operating system, but it is not intended for me to use directly. Somebody else is going to use it to produce what they have as their purpose in writing that application, so it as a tool that they are using.

So middleware is something that is produced that sits in the middle that people would use usually because it either saves them time or is more powerful than what they could do with the expertise that they have to be able to write the product that they want.

So, for example, with shared code we had a long history of internationalization and being able to represent eastern characters, middle eastern characters, and how do you type those in when you're trying to do a search? How do you display those? What does it mean when I am in Switzerland and I am on a Swiss keyboard trying to search for something in an Arabic document?

In shared code there was a whole set of features that would help programs figure that out and work through that problem, and so somebody would want to purchase shared code or license it as middleware, because they could use all of that internationalization instead of having to figure all that out and hire the people that would have the expertise, you know, for years to do that.

And he also tells about meeting with Microsoft folks regarding Windows 95, who told the Novell guys that Microsoft would document the shell extensions:
Q. Now, looking a little further down in this e-mail, Mr. Cole states that they, meaning WordPerfect, were very happy about us deciding to document the shell extensions.

Do you recall being told by Microsoft at this meeting that they had decided to document the shell extensions?

A. Yes. It was one of the reasons for the meeting, was gathering the -- and even -- and we would not have had more than half of the conversation if that was not happening.

Q. So, half of the conversation concerned these NameSpace extension API's?

A. Yes.

Q. Did Mr. Cole accurately describe your feelings as being happy regarding Microsoft's decision to document the shell extensions?

A. We were -- we were ecstatic....

Q. What, if any, suggestion was given to you from these Microsoft representatives that this was a tentive decision, subject to change?

A. There was not that indication given. In fact, when -- leading up to the discussion about NameSpaces, as I said, they talked about how Windows 95 was going to change the way that people looked at PC's, the PC, personal computer. They -- to lead into the discussion about how we could add technologies to Windows 95, they demonstrated the NameSpaces that we had been talking about here, that they had done or talked about, the network neighborhood and the recycle bin.... So they demonstrated they were using those same technologies to build the Windows 95 platform, and we would be able to as well.

And so they got to work with the Microsoft beta, with the four shell extensions they had been provided -- IShellBrowser, IShellView, IShellFolder, ICommDIgBrowser -- with a promise of the rest to come, and he explains what each one was for and how important they were. Novell had about 80% of the work done when Microsoft reversed direction, he says, and not only didn't provide the rest of the APIs, but they scooped back the four that Novell had in hand already, which left Novell in quite a pickle in terms of getting its product ready for the Windows 95 launch. Then, nearly a year after the launch of Windows 95, Microsoft then released the APIs, but by then it was too late for Novell. That's his testimony. The story he tells certainly matches the email found here, back in 2009.

Here's the full transcript of the day. As always, go by the PDFs for anything that matters:

All the trial transcripts, as PDFs, are here.

*****************

IN THE UNITED STATES DISTRICT COURT
DISTRICT OF UTAH
CENTRAL DIVISION

___________

NOVELL, INC.,

Plaintiff,

vs.

MICROSOFT CORPORATION,

Defendant.

______________

CASE NO. 2:04-CV-1045 JFM

______________

BEFORE THE HONORABLE J. FREDERICK MOTZ

-----------------

October 20, 2011

Jury Trial

Volume IV

195

A P P E A R A N C E S

For Plaintiff:

PAUL TASKIER
JEFFREY JOHNSON
MIRIAM VISHIO
[address]

JOHN SCHMIDTLEIN
[address]

MAX WHEELER
[address]

For Defendant:

DAVID TULCHIN
STEVEN HOLLEY
SHARON NELLES
[address]

STEVE AESCHBACHER
[address]

JAMES JARDINE
[address]

Court Reporters:

Ed Young
Rebecca Janke
Kelly Hicken
[address, phone]

196

I N D E X

Witness - Examination By - Page

Exhibit Received
(No exhibits received.)

197

October 20, 2011 - 8:00 a.m.

P R O C E E D I N G S

THE COURT: I am not going to say anything about the instructions, because I don't think that frankly the differences -- this really is an issue between Mr. Tulchin and me and not the jury, and I think for me to say something, I don't think the jury is going to pick up on the distinctions.

You all can be seated.

The more I think about this the angrier I am. I could not have been more clear in the instructions I gave. Mr. Tulchin I suppose would be able to establish the contrary if it had just been orally given and might have made a misstatement. That was printed out. You had to know there is a difference between what I did and what I said and what you said. I don't like it. I am not going to say anything to the jury, because I don't want to -- I am going to comment on the statute of limitations, because I don't want to put my thumb on the scales.

Don't you ever do that again. If you do, if you make a statement like you said yesterday about the subtle distinction between acquiring and maintaining a monopoly is absolutely crazy. You're too good a lawyer and you know this case too well. This case is about maintaining a

198

monopoly. I don't like it. I am not going to say anything to the jury, because frankly I think it would get lost in the mix. I don't want to put my hand on this, but don't you ever do that to me again. Maybe your client has a -- it just goes a bit too far.

MR. TULCHIN: Your Honor, I apologize.

THE COURT: Okay. Apology accepted.

Let's get the jury.

MR. SCHMIDTLEIN: Judge, you're not going to give anything on the timing --

THE COURT: On the timing, yes.

MR. SCHMIDTLEIN: You are. Thank you.

THE COURT: The other I think is just going to get lost in the mix. The --

MR. SCHMIDTLEIN: Thank you, Your Honor.

(WHEREUPON, the jury enters the proceedings.)

THE COURT: Good morning, everybody.

Thank you for being so prompt.

I am trying to connect to my office. I think my office is interested in what I am doing out there. I think they want to make sure that I am actually not out here skiing.

The other thing is we have a live witness. Normally if we start a witness we like to finish them, but this witness is from out of town and is now a private

199

citizen and we're going to try to finish him today. We'll finish Mr. Silverberg's deposition another time.

Mr. Johnson.

MR. JOHNSON: Your Honor, were you going to give that instruction?

THE COURT: In terms of the opening statements, there was one statement made by Microsoft's counsel about this case not having been filed for a certain number of years, nine or ten years after the event, to reflect or put the suggestion that, look, if this was a problem why didn't you file suit earlier. It is fair game to say why didn't you comment earlier, why didn't you criticize it earlier, and that is a matter of evidence for you all to decide.

Don't worry about when the suit was filed. They acted within their rights. It is a long time, but there are reasons and limitations were tolled and they acted within their rights in not filing a suit for whenever they filed the suit. Just disregard that part of the opening statement.

MR. JOHNSON: Thank you, Your Honor, very much.

THE COURT: Good morning.

Let's get started.

MR. JOHNSON: Your Honor, if I could approach, we have a binder of the exhibits we'll be using this morning for you.

200

The plaintiff, Novell, Inc., calls Mr. Adam Harral to the stand.

THE COURT: Come on up.

MR. TULCHIN: Your Honor, is it possible for us to get the same exhibits?

THE COURT: I would think so.

MR. JOHNSON: Yes. We are going to be giving them exhibits as we use them.

THE COURT: Give them to them all at the same time.

ADAM LEE HARRAL

Having been duly sworn, was examined

and testified as follows:

THE WITNESS: My name is Adam Lee Harral. A-d-a-m, L-e-e, H-a-r-r-a-l.

MR. JOHNSON: Your Honor, may I approach with the binder for the witness?

THE COURT: Sure.

MR. JOHNSON: Thank you.

THE COURT: What are we going to do about the jury? Are they going to be up on the screen?

MR. JOHNSON: Up on the screen when we use the exhibits, yes, Your Honor.

Thank you very much.

DIRECT EXAMINATION

201

BY MR. JOHNSON

Q. Mr. Harral, good morning.

A. Good morning.

Q. Can you tell us where you currently live, sir?

A. I live in Highland, Utah.

Q. How long have you lived in Utah?

A. I have lived in Utah for about 27 years.

Q. Are you currently employed?

A. I am.

Q. And where do you work?

A. I work for a company, a software company called Best Practice Systems in Denver, Colorado.

Q. What is your position with that company?

A. I am the software architect for that company.

Q. What does it mean to be the software architect?

A. In software development we have developers and I do that often, but a software architect is also supposed to know how -- what are the best practices in developing software, such that they can develop the software as quickly as possible, avoiding as many pitfalls as possible from past experience and from what are accepted industry standards for whatever company that you're writing software for.

Q. How long have you worked with that company in Denver?

A. A year and a half.

Q. Let's take a step back in time.

202

Can you please tell the jury were you attended college?

A. I attended college at Brigham Young University.

Q. When did you graduate?

A. I graduated in May of 1989.

Q. What was your degree?

A. A bachelor's of science in computer science.

Q. Now, before obtaining a degree in computer science from BYU in 1989, did you have any practical experience in computer programming?

A. Yes. I was a consultant for a software firm in Colton, California starting at age 14.

Q. Did you say age 14?

A. Yes, 14.

Q. Did you do any programming while at BYU?

A. I did do programming at BYU.

Q. Can you describe generally what that programming involved?

A. The first programming job that I had was working in the education department, the college of education doing computer tutorials and graphics for teaching students. And then a year after that I found a job with the department of instructional science. They were working on a program that would search texts of documents. Currently they were working on the scriptures program, although they had other documents as well, and it was to be able to type words that

203

you were looking for and have it retrieve them and the context of those words and present them.

Q. What platform were you working on in connection with that programming work?

A. We were working on Windows 2.3.

Q. What did you do after graduation from BYU?

A. I sought employed at different companies and eventually was hired by WordPerfect Corporation in May of 1989.

Q. Why did you choose WordPerfect?

A. I had had some exposure to WordPerfect beforehand in my other duties in the offices of people that I had dealt with in those departments at Brigham Young University and in some other companies, and WordPerfect had a variety of products. They had them for Macintosh, they had them for the P.C., and so they seemed like a company that was aware of the breadth of the industry and the different needs that people had, and it would be a good opportunity -- many opportunities to both work on a product that was moving the industry, and at the same time there would be a diversity of tasks that could be done, so it wouldn't be boring from year to year.

Q. What was your initial position at WordPerfect?

A. I was hired to work on printers for their O.S.2 development on the P.C.

Q. You mentioned O.S.2. You will have to tell the jury what that is.

204

A. Okay. O.S.2 was an operating system, that when the P.C. came out the disk operating system or DOS that it ran on was evolving, and I.B.M. wanted to have a new version of the operating system and so they wrote O.S.2. It rewrote the fundamentals of the operating system as well as put new features on top, because businesses had been demanding those features for awhile and had them on other computer platforms, and so this was a chance for the P.C. to make a leap forward in what it could do.

Q. If we could just go through your work experience generally at WordPerfect that would be helpful. You first were working on this preview display for O.S.2.

What did you do next?

A. So after working on print preview, within about six months I was moved into O.S.2 to help with the graphical interface because of my experience with Macintosh before then and my experience in Windows.

In WordPerfect they have some code that is made to take the application and marry it to the particular platform you're on and then they have code that is independent. The independent code is important, because then it can be deported between the different computer programs and operating systems that were used by WordPerfect.

So what they wanted me to do was to work on the code that marries the engine, so to speak, or the core of

205

WordPerfect to that operating system. So I was doing the go between code that put the engine on top of what was O.S.2.

Q. Are you familiar with the term shared code?

A. I am. That is what we called the code that would do that, but it was shared because it would go -- WordPerfect had multiple products, and at WordPerfect they had taken that code and had one person write it so that they could move it between the products, and that way the efforts of one developer was leveraged across three or four products. So it is like having three or four developers, one on each team. So WordPerfect had spent much time in trying to find pieces that would qualify for being shared code so that it could be written once and leveraged across.

The other advantage is that anything that was not shared code, the engine was then built on top of that and that engine was allowed to move between products or between platforms because of the shared code. So they were a matrix of -- you're either moving it across the different computer systems, like a mainframe or a Macintosh or an Amika computer or a P.C., and you're also moving it across these products, the presentations product for graphics or the word processing product or the document management product or the spreadsheet.

Those different products then would have code that was shared across them, and that would give the products -- that

206

would give the people who use the products the same experience with them. The behaviors would be the same, so if you learned one product you would know how to operate all of the other products in a similar way so you didn't have to relearn each product individually.

Q. Going back a little bit, you mentioned that you were working before on the O.S.2 with respect to a graphical interface product.

Can you explain to the jury what you meant by graphical interface?

A. Okay. That was one of the reasons for going to WordPerfect. When I worked at Brigham Young University most of the programs that we worked on were what we called character interfaces, and the screen has no ability to draw images that represent what you would print, or maybe if you had pictures of things they were not able to be represented on the computer in most programs.

Graphical interface -- people are commonly familiar with the Macintosh, and it has always had a graphical interface so that you could represent more than just the hundred plus characters and a few symbols that are available on a character interface. An example of a graphical interface would be -- versus a character interface -- if I wanted to do a wedding announcement and I wanted to put a script hand on the characters that I was doing, in a

207

character interface it would just be able to put the text up and I wouldn't be able to see what it was going to look like.

If I had a picture of the couple that I wanted to put, you know, on the invitation, I could maybe represent where the picture was going to go, but I couldn't display the picture. In a graphical interface I could actually show the actual flowing script as it is supposed to be represented, and I could actually position the pictures in there so that I can give people a representation on the screen of what they are actually going to get when they print that or distribute that. That is where the term WYSIWYG comes from, which we use in the industry, which is what you see is what you get. It is a term that says that you basically have a graphical interface underlying your program.

Q. Mr. Harral, are you familiar with something called Premiere Support?

A. From which company?

Q. Microsoft.

A. Yes, I am.

Q. Can you tell the jury about that?

A. Premiere Support, from my understanding not having been the one that actually paid the bill for that, it was -- as an architect WordPerfect Corporation purchased Premiere Support from Microsoft. It was a program where there was a

208

representative of Microsoft assigned to our company, and WordPerfect had three Premiere Support representatives, and they would be a liaison between WordPerfect to get detailed help and support on either issues that we were having problems with or maybe even working out ways that we could solve tasks that we had in dealing with the Windows operating system.

These were experts that could help us in moving our development forward, or if we had discovered problems that were not generally known they would enable us to, even if we needed to, to get to the actual developers that had written Windows so that we could work with them to resolve issues that we had come across whether they were ours or the operating system.

Q. Following your work on the O.S.2 platform and GUI, what did you start doing at WordPerfect?

A. After I was working on the GUI I was then moved to working on -- you mentioned the shared code. The shared code grew into all of the file handling, so how you open a file in WordPerfect, how do you save it, if you want to select the file to open so that the file opened, and dialogue is what we called it or saving, and we would have the file safe as. We did the keyboard support.

WordPerfect was an international product. In the European Union, all of the members of the European Union and

209

their governments had standardized on WordPerfect, and so they had special keyboards set up that they would use, so that if you were in Switzerland you knew the three different keyboards that you were going to use whether it was German or Italian or French. Those abilities to tailor the product to what your work environment was were important to a number of people.

Being able to, likewise, setting up the keyboard, and you could also set up what the menus were, so you could have tasks that were tailored to whatever business you were dealing with. We had tool bars that put up buttons that you could -- that would also let you customize it. You could go through and record things that you did commonly, so that you would press one button and it would play them back, and that way people could actually capture work that they had done and it made it very easy for them to do that.

The shared code system did all of these things with the product and, therefore, we provided it to all of WordPerfect's products as we did these things. There were other things, internationalization, conversion of files, conversion of graphics, there is a lengthy list of things that shared code did.

Q. We'll get into more detail in a bit.

Can you give us a time frame for this work, the beginning of this work of the shared code?

210

A. Okay. So shared code, and inheriting what had already been done at WordPerfect, and we were working on shared code as early as, you know, 1991.

Q. Do you remember when Novell purchased WordPerfect?

A. I recall that it purchased WordPerfect in 1994.

Q. Did your position change after the merger?

A. No, it did not. I had exactly the same position afterwards as before.

Q. Do you recall generally how you reacted to the announcement that WordPerfect was going to be bought by Novell?

A. Amongst the developers that we had on our team we were actually excited about the opportunity. WordPerfect had a history of working with other companies and trying to especially do network things, and that was one of the things that WordPerfect had a strength in, was being able to work on different networks, and Novell was one of the strongest ones that we supported and we had a good relationship with.

So we were excited for the possibility of being able to leverage, because Novell was moving forward with their efforts, with the directory that they were doing and other technology, so we were excited about being able to maybe have a better partnership with them and integrate better with that company.

Q. In 1994 then after the merger you said your job didn't

211

change. Do you recall what your title was?

A. I was the architect of the shared code.

Q. Would that make you one of the lead developers within shared code?

A. It would. The architects at WordPerfect were very hands on, and so we had programming assignments that we would do. My day would be both dealing with architecture and fulfilling my own tasks as well as going around to the other team members to keep abreast of what they were doing, because I was also a liaison with the other groups in the company.

So if I knew that one group was working on something that was interesting, I might find another group that would want to use that, and so I was also conveying that information between the developer groups.

Q. And the shared code that you worked on, was that also a part of the Perfect Office suite?

A. It was. Shared code -- when Perfect Office released shared code shipped with Perfect Office as well.

Q. Do you remember when Corel later purchased WordPerfect from Novell?

A. I think it was in 1996.

Q. Did your position change after the sale to Corel?

A. No, it did not.

Q. Did you change offices?

212

A. No, I did not.

Q. How long did you continue to work for Corel?

A. I was there for about a year, as I recall, maybe a little more.

Q. What happened next?

A. I was hired by Novell to go and work in their advanced development group.

Q. What was your position when you returned to Novell?

A. I was in -- the advanced development group was an entire group of people and they were all architects, so I was a software engineer consultant. I was an architect that would go out to other groups and even other divisions and work with them for awhile with the interests of Novell in general interjected into that group for the time that I was working there.

That meant that I would not even know what office I would be in from month-to-month potentially or even what country, I guess.

Q. When did you leave?

A. Novell? In 2003.

Q. What were the circumstances of your departure?

A. They had layoffs, for which Novell is almost known for in this valley, but they had layoffs and they had let go a number of people, including the division that I was in at the time, and so I left at that time.

213

Q. Let's go back and talk a bit about the evolution of shared code. You told us earlier while you were working at BYU that you were working on the DOS and the Windows platforms.

MR. JOHNSON: Can we put up, Mr. Goldberg, figure one, please.

BY MR. JOHNSON

Q. Mr. Harral, this image should display on the screen in front of you, and the jury gets to see it on that big board behind you, but you can look at it on the screen there in front of you.

Can you tell us what this image is?

A. This looks like the command prompt for DOS on a P.C.

Q. Does it accurately represent a screen shot of the DOS operating system?

A. It is one screen shot of the DOS operating system, probably waiting for somebody to do something.

Q. Do you have any experience working with Windows 3.1?

A. At WordPerfect I did have experience working with Windows 3.1.

Q. And was Windows 3.1 a character based operating system like DOS shown on the screen?

A. It is not. It runs on top of DOS, but it is not a disk character based operating system.

MR. JOHNSON: Can we put up, Mr. Goldberg, figure

214

two.

BY MR. JOHNSON

Q. Mr. Harral, what is this image?

A. This is Windows. We have the program manager here where it is showing us different programs in Windows that we could launch and then use.

Q. Would this program manager be something that was present in Windows 3.1?

A. Yes. Actually, in looking at the little buttons in the upper right-hand corner, because they are shaded in different shades of gray, that would make me think this is Windows 3.1.

MR. JOHNSON: Mr. Goldberg, could we see those images side by side for a moment?

BY MR. JOHNSON

Q. You already described the differences between the graphical user interface and DOS.

Did you earlier?

A. Yes.

Q. I think we'll just move on.

What was the acronym you used to describe the graphical user interface?

A. One thing you can do in graphical interface, is if you're trying to display something -- trying to present something that would be like a printed document, and we call

215

it WYSIWYG, which means that you're seeing what you're going to get when you print it or when you produce it.

Q. When you first started working in WordPerfect, can you tell us how many different operating systems that WordPerfect was written for?

A. I can't tell you how many, but I know there were over a dozen.

Q. Can you name a few for the jury?

A. They ran on Deck computers, P.D.P., they ran on Macintosh, on the Amika, on the P.C. and DOS and in Windows and in O.S.2. I am talking about in general the company, not a particular time period. I know that WordPerfect was originally written for a mainframe for the City of Orem and they maintained that version of it as well. So they were not constrained to one platform or one computer. They had a number of clients and they maintained -- NeXT was another one that they worked on, which was a successor with Steve Jobs and his efforts at Apple.

Q. Are you familiar with a process of deporting WordPerfect code from one operating system to another?

A. Yes, I am.

Q. Can you explain to the jury generally how that works?

A. So when we wanted to move to a new platform, because WordPerfect had made efforts to isolate its engine from the code that would need to be there to run on the operating

216

system on the computer, the deporting process would be to take the marrying code or the shared code and go and produce that on the new operating system.

So if I were going to move from DOS to the NeXT, which was a graphical computer, I would first have to take the shared code and I would have to retool that and figure out on the NeXT how do I allocate memory? How do I -- what kind of Windows do they want to put up? How does the programming in that environment want to open a document? How does it want to save it? In trying to learn in and out what is going on in that system, and then we would deport all that code and reproduce it on that other platform.

Once we had reproduced that code, then we would take the engine and the engine would hook into the code that we produced so we didn't have to rewrite the engine. It was a very efficient way to move product across operating systems.

Q. So when WordPerfect decided to support a new operating system, did the developers have to start from scratch when writing a new version of the product?

A. No, they never started from scratch. If they did start from scratch it was for the design of that particular entity. It was never -- it was never mandated by a move to an operating system to do that.

Q. In terms of percentages, can you give us a percentage of how much of WordPerfect and the word processing

217

application was shared code versus the engine?

A. The shared code would have been about one third of the product.

Q. Did the engine code actually talk to the operating system or was that solely the business of the shared code?

A. It was not solely, but it was rare -- it was rare for the engine to talk directly -- the reason that it might do it, is if there was a feature that the engine needed specific to that product, where it was not in the interest of shared code to bring that across all of the products, then that product might go directly to the operating system to get that feature or that capability.

But most of the features in dealing with the operating system were the shared code and the engine did not do that. We call that in architecture -- we call them layers or tiers. We call that violating the layer if you go down past a layer that you have defined, if you go directly to some layer below you that you are not usually supposed to talk to. There are reasons to do that, but it was not -- it was hardly ever done.

Q. Are you familiar with the term Perfect Fit?

A. Yes.

Q. What was Perfect Fit?

A. Perfect Fit was -- one of the things that we did with shared code is that WordPerfect Corporation had partner

218

companies. Because we had built up this abstraction, an abstraction and basically taking the operating system and presenting something that the program could write to that was the same across all of these different platforms, we had a number of partners that had multiple computer systems and it was useful to them to be able to write to one code base, the shared code, and that was not changing as they moved between these different computers or as they brought in new computers.

WordPerfect had always published some portion of the shared code, and as Windows moved on all of the shared code, as a resource that other companies could use. When Novell acquired WordPerfect they productized the shared code and turned it in and branded it Perfect Fit.

Q. So it was just a name for shared code?

A. It was just a name for shared code.

MR. JOHNSON: Mr. Goldberg, can we put up figure three, please.

BY MR. JOHNSON

Q. Mr. Harral, can you tell us what this image is?

A. This has some of the elements of three of the products of WordPerfect.

Q. What are these things called?

A. Well, each one of them is a window, and so we have WordPerfect, QuatroPro Presentations, and we have the menu,

219

which is the white bar right underneath the blue banner, and we have underneath that the tool bar, which was the buttons that I had mentioned earlier that you could invoke. And then there is a status bar underneath that. We have three products here represented with the Windows.

Q. Is this an accurate representation of the types of tool bars your shared code team was responsible for?

A. Yes, it is.

Q. Is this a part of what was called at Novell Perfect Fit technology?

A. Yes. Actually the menus, the button bar, the status bar, all of these things were provided to the applications by shared code.

MR. JOHNSON: Mr. Goldberg, could we see figure four, please.

BY MR. JOHNSON

Q. Mr. Harral, can you tell us what this image is?

A. This looks like WordPerfect, and it looks like that we are editing a document in it.

Q. Is it an accurate representation of the WordPerfect application for Windows 3.1?

A. Yes. Actually I was going to say it looks like 3.1, again, because of the gray buttons up in the corner. Yes, it is.

Q. Can you explain generally looking at this image what

220

aspects of this product were shared code's responsibility?

A. Starting at the top going down, the menu is -- I talked about how businesses could customize the menu to their needs. The menu was provided by shared code, as far as its layout and how it is tied to the keyboard. In the white box that is new, open, close, et cetera, that is placed over the top of the document is a menu drop down. You can see on the right-hand side some of the keyboard keys that are tied to those. That is shared code.

Managing the keyboard underneath, the controlled -- then underneath the tool bar, the tool bar is managed by shared code. Some of the features on the tool bar like cut, copy and paste would be managed by shared coded. Underneath that the little drop down that ways full 1.0 tables, those controls would also be shared code that were provided to the different applications. So when they wanted to present like how do you pick a color or how do you type in text for a search? Every product has the same international character capabilities and the same way to pick colors and so it is a consistent look across them.

On the bottom there is the status bar, and that status bar would also have been maintained by shared code. Those are some of the visual elements here that are maintained by shared code.

Q. In terms of a typical development schedule, can you

221

please describe for the jury the relationship between the shared code and the individual applications?

A. Because the shared code was the foundation for them being able to move their application, the shared code would be scheduled out six months to a year in advance of the regular applications to be able to establish its footprint or its workings on that platform, so that the engines could then move and have a way to test and to be able to track their progress on top of it.

And also in that time frame it would give shared code some time to harden so that they could learn about the operating system and how it was supposed to work, and being able to recommend to the product -- so like to WordPerfect when they were to move over, to recommend to them, oh, you don't want to have the scroll bars on this platform, you don't want to have them on the side like you have them here. You want to have them on the left-hand side or whatever the standards were for that platform.

Q. You mentioned that the shared code team would do their work first, and then they would provide this shared code to the applications for their development?

MR. TULCHIN: Objection, leading.

THE COURT: Don't lead.

MR. JOHNSON: Thank you, Your Honor.

BY MR. JOHNSON

222

Q. During the time that the applications would be -- people would be working on the product, what would the shared code team be doing during that period?

A. Okay. So while the team was working on that same platform, the shared code would be -- many times when we would move shared code in anticipation of the product coming over, the shared code also had other responsibilities. They had relationships with the different groups. Not all of the shared code was owned by the shared code team. We had a standalone spell checker. We had a standalone thesaurus. We had a grammar checker. We had the quick finder, the technology that would search documents for you, similar to the work that I had mentioned I had done at BYU.

We had converters that could take any kind of -- most any kind of competitor's document or our own from previous versions and convert them to WordPerfect's current format and convert them back. We had the same for graphical formats. And so all of these other features were things that we provided when we put our program down but were not necessarily tied to applications. So we would be working on these other outlying pieces to make sure that they were up and going. They were not necessary for the other products to move over, so it allowed us to do a dualism of development, where we could finish out what shared code was on the platform and do our development, and at the same time

223

helping the application to come up on the platform, but that way it allowed us to do parallel development of the products.

Q. Have you ever heard of the term critical path?

A. Many times.

Q. What does that mean in the software development context?

A. When you schedule out the development you look at the tasks that you have, and you then take the people that need to do those tasks, and you chart out how much time they have on those tasks versus other tasks, when they have time off, and you are looking at what are peoples' availability and how much work they can get done. The critical path is the connection through the timeline of the people that if they change the dates and need more time everything will move with it.

For example, if to get WordPerfect to run I needed to have a display engine to show the WYSIWYG before I could test the find and replace feature, then all of a sudden the display mechanism for the WYSIWYG is required before I can get to the other tasks. You look at all of these required tasks, and the ones that make the date the longest, in looking at who is doing it and how long it will take, if any date changes in that timeline that is the critical path because one day added there will move everything out a day.

224

Q. Based upon your years of experience would it be unusual or usual for shared code to be critical path for releasing a product?

A. It would not be usual. It would come in -- they would have time to do it, but it would not be usual.

Q. You told me earlier that shared code was given a marketing name Perfect Fit. Are you familiar with a program called Perfect Fit Partners?

A. I am familiar with the program.

Q. Can you tell the jury about that?

A. Perfect Fit Partners -- I am aware of it because of shared code providing it with what Perfect Fit did. It was the outside marketing for it. Perfect Fit Partners were people who had licensed or agreed to use the shared code outside of the company for whatever reason they had.

Q. Are you talking about third party developers here?

A. Yes, I am.

Q. How did that work vis-a-vis the shared code?

A. Shared code -- we were aware that we were providing our resources not only to people inside of WordPerfect and Novell but to companies outside. The only real difference that we had is that we had a documentation team that would work with the shared code team and work out what would be the public documentation that we would present.

We also had support people that would help these

225

partners. If they had like Premiere Support, which was for Microsoft, we had support people that could be called upon to help them in using Perfect Fit or shared code. So the shared code team itself didn't have anymore -- we were in the mode of providing for applications so it didn't impact us a lot, but there was this other part of the organization that interfaced with us commonly to be able to support the Perfect Fit Partners.

Q. What type of functionality was available to these third party developers through shared code?

A. The short answer is everything that shared code did, file viewers, file converters, all of the interface pieces that you are seeing with the button, bars and the keyboards, and the macro system and being able to capture commands and play them back, and being able to write inside a WordPerfect document. People could write their own applications and use the WordPerfect document format, and then do what they wanted to with it, so everything shared code had was available to them.

Q. You mentioned that these third party developers could write their own applications as you said. How did they use the shared code to do that?

A. The shared code is a -- in software development you have applications and sometimes you'll write what are called libraries. A library is a piece of an application and it is

226

intended to go side of some other application. So the shared code wrote libraries, and whatever was necessary for either our own application or somebody outside of the company to give them a description of what that application is are called the APIs, the application programming interface.

Those APIs, then, enable either our products or some other product to be able to understand what we were giving them to the computer, and so by describing what we were giving them to the computer and the associated documentation for the developer, they would be able to then write their applications and compile it against our libraries and use them in their products.

Q. Mr. Harral, would you like to pour yourself a glass of water there?

A. Yeah.

Q. I thought that might be the case.

A. My wife will think I'm over my quota.

Thank you.

Q. You're welcome.

Are you familiar with the term Perfect Fit Tools?

A. That is kind of vague for me.

Q. How about Perfect Script?

A. Perfectly Script I am definitely familiar with.

Q. Can you tell the jury about Perfect Script?

227

A. WordPerfect back clear into its days on DOS, and WordPerfect had the ability to when you did work to capture that work how you did it so that it could replay that work for you. And basically it was like making the computer run automatically with things that you had done before. It learned, in a way, from what you had told it that you were doing and then it could do that again, you know, a number of times or you could change how it was done. This we called scripting, because you're capturing what it is doing and you are treating it like a script that it should do again.

In WordPerfect, one of the powerful elements of it is that not just for programming, but this allows for somebody who was not technically intense to also be able to use the product to capture what they had done and then to replay that. And WordPerfect was very meticulous about allowing every feature that it had to be what we called scriptable so that it could participate in this, so that people could be very complex and very precise about what they were doing, and they could produce in high fidelity what they had asked it to do.

Q. And could those third party developers use this Perfect Script?

MR. TULCHIN: Objection, leading.

MR. JOHNSON: Could, Your Honor?

THE COURT: Overruled.

228

MR. JOHNSON: Thank you.

BY MR. JOHNSON

Q. Mr. Harral --

A. Yes.

THE COURT: You don't have to thank me for my rulings. I will make then one way or the other.

THE WITNESS: Perfect -- the recording facility, the scripting facility was part of shared code, and that scripting facility was made available to every developer like every other piece of shared code.

BY MR. JOHNSON

Q. Are you familiar with WordPerfect's open interface APIs?

A. Yes, I am.

Q. Can you tell the jury about that?

A. From an architecture -- for a software perspective we had talked to the WordPerfect applications -- in moving the product forward we caused the product to have a division. For example, if you wanted to do a search for a word inside of the document, you would be presented with an interface and you would then tell it what is the word I want to find. You might say I want to skip this so many times and you might be looking for a particular place in a paragraph for that word.

The presentment of that question to you is what we call

229

the view. It is where it asks the question and collects the information. This is a key to how scripting and other technologies would work. It would then capture that information, and then it would go to the engine and it would tell it, okay, here is what they said to do, now do it.

One of the things that we allowed in our WordPerfect product, is that means that there is a clean division, those tiers, there is a clean tier there between collecting the information and telling the engine to do it. We built a way for somebody to be able to come in and intercept that request to do that work. So if you wanted to -- let's say somebody said do the grammar check. If you wanted in a company to impose a totally separate set of rules and a totally different artificial intelligence of how to do the grammar check, you could insert your own piece of code in there and capture the request to do the grammar check and do whatever you wanted to.

Having had access to all of the shared code and all of the other scripting interfaces, you could then totally redo what WordPerfect would do with that request. So this open API basically lets you capture anything that WordPerfect could ask the user to do, and you could rewrite what it would actually do at that point when it crossed that tier.

Q. You have talked about the various technologies and the Perfect Fit and Perfect Script and WordPerfect's open

230

interface APIs. Were these technologies a part of WordPerfect?

A. They were included in WordPerfect.

Q. And were these technologies then also included within the Perfect Office suite?

A. Yes, they were.

Q. Have you heard the term where users lived used in the software industry?

A. Yes.

Q. And what does that mean?

A. When somebody uses a computer the question is one of what are the things that they use to do their work and what are they comfortable doing? I work in developing software so I have a software debugger and a software compiler and I have those things up. I might have mail up. That is where I live.

My brother, he works on designing ads for a telephone book company. He lives inside of an Adobe product where he is building graphics and he is laying out text for an ad. Somebody else who is doing research on the Internet and interacting on Facebook to look at, you know, how is my married daughter doing in North Carolina, you know, okay, that person is -- where you live are the programs that you are comfortable with and what gives you the ability to do what you want and where you can easily do that.

231

If you get into areas and pieces that are uncomfortable you feel like you're lost. You feel like you're -- at least I do -- I feel like I'm lost, and I guess I won't impose that on you, and so I tend to use what is easy for me and stay away from things where I can get confused or I feel like it is not working for me like I want it to. So where you live are the things that you are comfortable doing on the computer.

Q. Was WordPerfect historically designed to be one of these places were users lived?

MR. TULCHIN: Objection, leading.

THE COURT: Rephrase it, if you can.

BY MR. JOHNSON

Q. Was or was not WordPerfect historically designed to be a place where users lived?

A. It was designed -- I can say from DOS before I joined WordPerfect, my experience was I had seen many people use WordPerfect in just this way, that it would be the only program that they would start up at the beginning of the day when they came into their office, and they would do everything that they did -- they would not go out to DOS and manage their files there, which is what DOS was intended to do in the run application, and they would start at WordPerfect and they would stay there. There would work on their documents and they would save them and they would

232

print them, and they would correspond through whatever e-mail capabilities they had, but they would live in WordPerfect.

Q. Did you have any conversations with Microsoft's Premiere Support about living in WordPerfect?

A. I guess the answer is yes, because everything that we did was about that. And so, yeah, we talked to Microsoft about the fact that our interests and the technologies that we had, and that those technologies for our users were about a holistic environment. Everything that they did -- they came to expect a lot from us, not just in the word processor.

Q. Are you familiar with the term middleware?

A. Yes, I am.

Q. What is middleware?

A. Well, simply put, shared code is middleware. It is something that is produced either with the intent to bridge technologies -- an example nowadays would be Adobe Flash. It is a product that you can run presentations in or do graphics in. When you go out to the Internet there are games that are written in this. It can't run without the operating system, but it is not intended for me to use directly. Somebody else is going to use it to produce what they have as their purpose in writing that application, so it as a tool that they are using.

233

So middleware is something that is produced that sits in the middle that people would use usually because it either saves them time or is more powerful than what they could do with the expertise that they have to be able to write the product that they want.

So, for example, with shared code we had a long history of internationalization and being able to represent eastern characters, middle eastern characters, and how do you type those in when you're trying to do a search? How do you display those? What does it mean when I am in Switzerland and I am on a Swiss keyboard trying to search for something in an Arabic document?

In shared code there was a whole set of features that would help programs figure that out and work through that problem, and so somebody would want to purchase shared code or license it as middleware, because they could use all of that internationalization instead of having to figure all that out and hire the people that would have the expertise, you know, for years to do that.

Q. Have you ever heard of the term appware?

A. I have heard of the term appware.

Q. What was appware generally.

A. Appware was -- in the computer industry when we write with languages there is a term they use called forth generation languages. A fourth generation language is a way

234

to hopefully let real people, as opposed to developers, to let real people do something with programming. You give a person -- I guess a way to describe it is building blocks. The only thing that comes to mind is my 12 year old. She is writing programs with Legos right now, but she doesn't know how to program, so what she does is -- they give her an environment and they say, oh, here is something that will make your little robot go forward. Here is something that will make your little robot turn, and so they take these and you start dragging them and connecting them.

If I put the go forward ones for ten steps and then the turn right one in there, she is actually programming but the interface, the graphical interface that she has is presenting the programming concept in a way that she understands what her task is and how to do it. Programmers and traditionally what they do is they have to learn about the computer. They change themselves to it.

Fourth generation language goes the other way, which is it says, no, I'm going to change the way I talk to you and give you things that you can deal with, and then that will let it understand and then write a program for you. Appware was a way to take shared code and other WordPerfect technologies and present them in a conceptual fourth generation way that other people could write programs and you wouldn't have to employ a programmer to write programs

235

for your business.

Q. So was appware or was not appware middleware?

A. Appware is middleware and it enables -- because it provided the libraries, which are the middleware, and it provided the interface as well, which let them use the middleware.

Q. Was appware a part of the Perfect Office suite?

A. It was part of the Perfect Office suite.

Q. You previously told us that you were the software architect on the shared code team from 1991 to Novell's sale of its business applications to Corel in 1996.

MR. TULCHIN: Objection, Your Honor. He didn't provide any dates.

MR. JOHNSON: Well, he did, Your Honor. He said he started there in 1991 and he told us when he went to Corel.

THE COURT: Overruled.

MR. JOHNSON: Thank you, Your Honor.

Sorry for thanking you.

BY MR. JOHNSON

Q. Were you involved in developing the shared code utilized by WordPerfect and the other office productivity applications within the Perfect Office 3.0 suite?

A. Yes.

Q. Was that suite released after Novell bought

236

WordPerfect?

A. Yes, it was.

Q. Do you recall generally how the Perfect Office 3.1 suite was reviewed in the industry press at the time?

A. I remember that it was well received. As with any product there are different publications that are looking at different parts of the product. A review in a law firm magazine might be looking at the document management capability and think it is really good. Another one is looking at graphical capabilities and may think that there are things that they wish that it had more of. But the feeling that we had is generally that it was received very well.

Q. If you would take a look at Plaintiff's Exhibit 390 in that binder that you have up there and holding in your lap, and --

A. Yes. My lap is very warm because of it.

Q. If you would turn to the last two pages of that exhibit, which is a list of excerpts of reviews of Perfect Office 3.0.

A. Okay.

MR. TULCHIN: Objection if these are being offered for the truth, Your Honor.

MR. JOHNSON: Your Honor, there was no objection to this exhibit whatsoever. It is simply being offered to

237

show what the industry was saying about Perfect Office.

THE COURT: It is what the industry was saying -- I mean, it is a very subtle distinction. It is not the truth of what is in here, it is being introduced for what the industry was saying about it.

MR. JOHNSON: Thank you.

THE COURT: If you can understand that distinction, you're better than I am.

BY MR. JOHNSON

Q. Were these some of the reviews that you were talking about?

A. Can I have a second to read them?

Q. Sure. Go ahead. Take your time.

THE COURT: Just to clarify, the reason that there is a distinction is that what the industry was saying may affect other people. So obviously you can read the review and you may think it is good, but that really is where -- you know, the reviewer is not here and he can't be cross-examined or she can't be cross-examined as to why they thought it was good, so it really can't be introduced for the truth of the evaluation, but people may respond to reviews, and that really is why it is admissible.

THE WITNESS: To answer your question, yes, these are some of the -- some of these are actually some that I do remember, so they seem to be a selection of the reviews that

238

were there.

BY MR. JOHNSON

Q. For Perfect Office 3.0?

A. Yes.

Q. Did Novell's business applications compete with applications built by Microsoft?

A. Yes.

Q. Are you familiar with Microsoft Word?

A. I am.

Q. And was that a competitor of WordPerfect?

A. We felt that it was at WordPerfect, yes.

Q. And are you familiar with a product called Microsoft Office?

A. I am familiar with Microsoft Office.

Q. What was Microsoft Office?

A. At the time that we were working at WordPerfect we were concerned with Office having Word, word processor and Excel, which allowed people to manipulate numbers and type in data, and there were other products that they had as well that might come and go, but we were concerned with the ones that we had. Powerpoint, which would do presentations.

Q. Did Perfect Office 3.0 compete with Microsoft Office?

A. Yes.

Q. Did Novell try and differentiate its products, its application products in the marketplace?

239

A. I am not understanding the question. Did we differentiate ourselves from Office?

Q. Yes.

A. We felt that there were things that made us different than Office did and that we -- okay. When you write applications you feel like, based upon your legacy and the markets that you want to go to, that there are things that you feel you want to meet.

So, for example, if I am writing a product on Macintosh, the graphical environment and being able to present it well is a bigger deal to those users than it might be if I'm working on a DOS product where it is character based. The expectation is different. The reason people move to Microsoft is different. One product you might write to take advantage of certain features to certain users. We felt at WordPerfect that our users -- our scripting capability and being able to reduce work, that those were key reasons why people had made an investment, so we felt that there were some features about our product that would differentiate us from the other products that we were competing with.

So if somebody felt like that Word had a really cool way to be able to navigate their pictures, that might be important to somebody so that may tip them towards that product, where if somebody felt like that our ability to be

240

able to transact documents in an international forum, that if we had strength in that area that might tip them to us. So, yes, we felt that we had features that differentiated us from our competition.

Q. What were some of those features that you felt did differentiate you at WordPerfect?

A. Differentiate. Some of the features that we had are that we felt that our international capabilities were very important to our users. We felt that not only could you script our product, but then you could take the scripts and you could modify them. So you might use the scripts to build a product framework, and then you might go in and say, well, I didn't really mean just that word. I want to be able to enter in a word when I run this and have it, you know, search for that word through these 500 documents and change it.

So you might go in and with, you know, fourth generation language you might just tweak it a little bit. This customized ability we felt that we had since back in the -- actually in the mid 1980s we had been working on these technologies, and that we had a superior offering in that regard. The spell checking and the thesaurus -- the spell checker was the most comprehensive in the industry we felt at the time. We had grammar checkers. So many of the tools that we had -- we also were pushing the interface

241

area, and so customizability -- a lot of the things with the shared code were held to be things that were leading in the industry.

Q. Was there any differentiation with respect to the document management system offered by WordPerfect?

A. The document management system that they acquired was Soft Solutions. The document management system -- okay. We felt that having a document management system included in the product was a keen offering in being able to manage documents in businesses. When we talk about document management it is -- I guess there are two pieces to that. One is that I can manage the documents through the file system, and WordPerfect -- back in the DOS days WordPerfect had put what we call long names. It is names of files that you actually like to read as opposed to some of the things that you can find when you get lost and go searching around on the hard disk in your computer.

In DOS, in the versions back before Windows, the file system didn't have much of an ability to have nice names or names that you would like for your documents. Macintosh would be an example that from its beginning had nice names and things that you would recognize and that I would recognize as names. WordPerfect in the DOS environment, they actually did their files so that you can include nice names, so when you went and looked for your documents inside

242

of WordPerfect it showed nice names for you. So it is trying to speak to the users in ways of trying to bridge this barrier, so that you didn't have to deal with the computer and its quirks, but the way that you wanted to deal with it.

It would help you. The quick finder technology it had, if you didn't know where you had put that document, where it had put it, and sometimes it puts it away and you don't know where, with the Quick Finder you could go and you could type some of the information or a word that you had in it and it would go out and search out through the machine and try to locate that document for you.

It would let you move documents and groups of documents, so things that we think of as common in the operating systems that we deal with today, WordPerfect was doing back on DOS, which was one of the things that people really liked, because they felt like they were not having to fight with the computer to do their business as opposed to its business.

Later on with document management WordPerfect even acquired a document management system so you could get even get different versions of documents. So when you wrote your document -- and then my wife, and we are in the same company, and she writes the next version, because she found my spelling errors in it, then she writes in it, and if I

243

want to go back and see what she had changed, I can in the document management system and I can go between them. WordPerfect kept both in the file system and in its product and in the offering it made to people, was trying to keep abreast and ahead of what people were wanting to do in their companies to solve their problems.

Q. Was there any differentiation with respect to WordPerfect's printing capabilities?

A. Yes, there was. You know, as was said before, I was hired into the printing group. WordPerfect -- one thing that was unique about it -- now days when you put a printer on a computer, especially like a Macintosh, and Windows has gotten very good at that too, where it says I know what this printer is and it hooks it up.

When I was back working, back on computers when I was 14, 15, 16, when you wanted to hook up a printer you had to actually go get the printer and you had to figure what the printer wanted to talk to, and I would have to go in and make a cable. I would have to solder it together and put it together, because there was just so little support for doing those kinds of things.

What I found very interesting when I got to WordPerfect, was that they had a relationship with, from what I could tell, all of the major printer manufacturers. And those manufacturers would deliver printers to

244

WordPerfect. Whenever a new printer was coming out they would deliver a printer to WordPerfect, so that WordPerfect could -- because WordPerfect wrote the drivers for those printers. It was not the manufacturer that did that. So they had accumulated a huge set of drivers that they had written for. My understanding is that it was over 400 printers that they had worked with.

Most of the operating systems out there didn't have support for a tenth of that that we had defined. And so WordPerfect was really known that -- it was known that -- you were not buying this at the time to transmit it electronically because that form really didn't exist. You were buying this to print stuff. You can do all the editing in the world, but if can't print the document and mail it off to somebody, and if it does not look the way you wanted it to look then, you know, it does not do you any good. If you bought a printer and it wouldn't work with your product, then you just wasted money.

And so WordPerfect had a huge investment in printing and they carried that forward into Windows. It was one of the reasons that people stayed with WordPerfect, is that when we moved into Windows we kept that printing system, because we could print to many more printers with a higher fidelity than other Windows applications could by using those print drivers and bringing them ever into Windows. So

245

you could go into the print dialogue and say use Windows printing or use WordPerfect printing. That feature was very important to our customers.

Q. And you mentioned that operating systems at the time had a tenth of the capability?

A. That was what we felt. In fact, there was a quip going around amongst developers, because I had access to --

MR. TULCHIN: Objection, hearsay.

THE COURT: Sustained.

THE WITNESS: Okay.

BY MR. JOHNSON

Q. Would those operating systems include Windows that had a tenth of the capability?

A. Yes, it would.

MR. JOHNSON: Mr. Goldberg, would you put up figure five, please.

BY MR. JOHNSON

Q. Mr. Harral, can you please tell us what this image is.

A. This appears to be the file open dialogue box from Windows 3.1.

Q. Does this image accurately depict the Windows 3.1 common file open dialogue?

A. Yes, it does.

MR. JOHNSON: Mr. Goldberg, could we have figure six, please.

246

BY MR. JOHNSON

Q. Mr. Harral, can you please tell us what this image is.

A. This would appear to be a file open dialogue box from WordPerfect on 3.1.

Q. For WordPerfect that worked on Windows 3.1?

A. Yes.

MR. JOHNSON: Mr. Goldberg, could you put these images side by side.

BY MR. JOHNSON

Q. Mr. Harral, looking at these images, can you please help the jury understand why WordPerfect's custom file open dialogue was different, if it was, from the Windows common file open dialogue?

A. So when WordPerfect, in trying to work with what its customers felt were important in getting their work done, there are some pieces here that were significant. On WordPerfect -- I guess going through the open dialogue for Windows first, you can type in the name of the file that you want, and it is showing you in the middle there there is a view of different what are called directories. They are places where you can store files that you want. You can switch what drive you are on below that list, so the drives pull down. You can constrain it to what kind of files you're looking at, so over on the left-hand side are file types.

247

So if I was looking for a graphical file I could go in there and I could --

Q. Mr. Harral, excuse me for interrupting you. I am going to give you a laser printer -- pointer.

I have printers on my mind.

A. I promise not to shoot anyone.

Q. You can point to things that you want to talk about. You just press that red button there.

MR. TULCHIN: Your Honor, as long as there is a minute, I wonder if at some convenient point I would get copies of these figures that are being shown to the witness?

THE COURT: Of course.

MR. JOHNSON: Sure.

THE COURT: You're entitled to them.

THE WITNESS: This will be easier. Okay.

Here we have what we call folders. There are directories and there are locations. This up here, the C colon, they are drives, and you can see that drive down here. Drives are physical devices. Usually on a computer you can have multiple drives. In fact, over here this is an A drive, and that is usually a floppy drive, where the C drive is usually a hard drive. We're looking at something on the C drive here, and we are looking at documents in the Windows directory.

Down here is the list of files. We have directed

248

it to look at only text files, so I am not seeing program files or graphic files or anything like that.

Up here is a little box where I can tell it what file I might want to look for. If I only wanted files that started with S I could tell it up here that. That is about the capabilities of this dialogue. So with WordPerfect's history we had some of the same elements. We have the files -- thank you.

We have some of the files here. We have where I can type in what name I'm looking for. Down here it is saying I want to see all files, so this is similar to the files and the drives were similar.

So then there are some differences that historically WordPerfect came by with what its users wanted to do. They didn't like going out to the fill system and looking for these cryptic names. In DOS the names traditionally were confined to eight characters. You had to name your whole file within eight characters, and the back end of the file could have at most three characters, which is why it only has three there.

WordPerfect -- a couple of things. It knew from experience that people had places that they commonly visited, and so this quick list over here are places like, oh, this is where I keep my documents. This is where I print things. Here is where I keep my sound clips that I am

249

going to put inside of my document if I am doing a presentation. You can jump to those places.

The point here is that these are capable of being in other places, but here is where you live and so here is where they are. I may want to view a document. I don't want to go out to another program and do that. I want to do it here. You can bring up a viewer. Here is the find that I talked about and being able to search right here, because I am not out starting a program in program manager and thinking about what does this document look like. I am concentrating on the program first. We want to be concentrated on your work. Sorry. WordPerfect wanted you to be concentrating on your work. So you're trying to bring all these features here.

Now, this is where people had to live in the product. I could go and make changes to the network and, as I said, WordPerfect had traditionally very strong ties to the network. File options. I might want to modify the file. If I couldn't save a file because it was read only, where somebody had marked it and said I don't want you to change it, and then I am looking at it and it is like, no, I need to change it and I may need to change it. All of these features -- also, I'm displaying information about the files to give as much information as possible. If these files had been WordPerfect files, documents, there would actually be

250

long names here like you would find on a Macintosh. So all of this information and different abilities -- because we had been so focused on where people lived, these things were expected of the customers that we had.

Q. Are you familiar with the term evangelism as used by Microsoft?

A. I am aware of the term evangelism as the industry uses it with software.

Q. How does the industry use it with respect to software?

A. When you write -- going beyond writing the product you aren't just going to solve the problems that are before you. If I'm trying to move WordPerfect from one platform to another, that is a more mechanical process. I have a set of tasks. I have a set of tasks that I need to do, and I can charge them out and I can figure out what is the critical path. But if you're going to do something -- things will happen and a customer will ask for something and they will tell us I have this problem and you're like, oh, that is an opportunity. There is --

MR. TULCHIN: Same objection, Your Honor. Hearsay.

THE COURT: I don't think so.

Go ahead.

BY MR. JOHNSON

Q. Go ahead, Mr. Harral.

251

A. With a customer coming to us and telling us that they have a problem to be solved, and you look at it and say that is an opportunity, so we are now not moving existing code, we are looking at something new that we want to solve a problem with.

Now you have a task, or I have a task, if I were evangelizing technology, I have a task of going out to the people in my own company or to the partners that I have or in the press and convincing them that this is something that I need to do. If I convince them, then those features or those projects will move forward. If I fail to convince them, then it will languish or we'll go in and look for something else to do.

That causes bad things too, because if I have to go back to that customer and say -- if I go back to them and say, yeah, we're going to do that and here is how we're going to do that, then all of a sudden I have improved that relationship and they are looking forward to that work because it is going to solve their problem.

If I go back to them and say we are not going to be able to provide that to you, then I am damaging that relationship. So we were always looking for opportunities to bring new technology into the product. It would be my job or some of the other people who were evangelists in the company to promote those new and what we felt were forward

252

looking changes to both people inside and outside of the company.

Q. Can you bring that, what you have just been talking about, in the context of Microsoft and the evangelization of the operating systems being built by Microsoft?

A. WordPerfect, all the way from DOS going forward, and for the time fame that I was at the company -- well, and even before when I was working at BYU, I had access to representatives at Microsoft, and as they would produce their products, either operating systems or applications, they would also be evangelizing those products to us. They would be telling us that we should really move to O.S.2. We should really move to Windows. We should really move to N.T., and telling us the reasons why the things they were currently talking about would be better than what we had been work on before and the features and the advantages that it would bring. Every company has to do that.

Q. Did you attend any events where Microsoft was promoting application developers to write for Windows 95?

A. Yes, I did. I attended a developer conference with Microsoft and 3,000 other developers.

Q. Do you recall generally what type of information Microsoft would be providing to developers looking to produce a product for Windows 95?

A. Windows 95 was in my view a significant step forward

253

for the P.C. and for Microsoft. I talked about Macintosh before, and there was angst amongst our customers about should they -- was going to a graphical environment, was it a toy or was there real work to be done there? And probably some of the early graphical environments might have seemed more like toys as they matured, but as the industry tailored and decided what things they thought were more significant, it became more and more apparent that by having a graphical environment we could communicate more information to people and give them through pictures and common ways to operate the computer, that they would have to learn less and they could do more of their tasks and less of dealing with the computer.

So Windows 95 had a couple of things that were very interesting to us. The first was the graphical environment being placed on top of the -- in place of Windows 3.1. We were seeing full long names coming, so that people could name things what they wanted to help them identify what they had.

It would also -- when we were looking at the open dialogue box from WordPerfect 3.1, I mentioned that we could do things with a network.

Q. Mr. Harral, let me stop you. Perhaps I can provide a teaching help here.

MR. JOHNSON: Mr. Goldberg, could you put up

254

figure two again.

BY MR. JOHNSON

Q. You had described this figure earlier as the Windows 3.1 --

A. Yes.

Q. -- graphical user interface.

MR. JOHNSON: Could we now show figure 7, Mr. Goldberg? Can you put these two side by side?

BY MR. JOHNSON

Q. Perhaps this will help you talk about the differences between 3.1 and Windows 95.

A. Okay. So in Windows 3.1 there are programs that I could run, and so file manager, and here is where I would look at files on my machine. Control panel. I have different things in here. I could view my clipboard. I could go out to the DOS prompt. Down here are other groups of programs that I could run. I might have an application here if I wanted to have Word or WordPerfect. I might have another group here to run them.

This whole way of looking at the computer is about the things that I have put on my computer. If I want to go look at my files, I am going to go look at what is my stuff on the computer, you know, talking about it in small terms. But basically this whole thing is about running programs.

Can we switch over to --

255

Q. Yes. Sure.

A. Thank you.

In this view, we talked and I mentioned in WordPerfect that going and getting the files that the user was after was really the focus. That is why all of the features moved into where people lived. We were excited about Windows 95 because the file browser and looking at your files is now in the foreground. That is the desk top up here, and in the background you see my computer and network neighborhood. I could store files right on this desktop.

I know people who had a file and they would maintain customer lists that they were contacting them in an office that I worked in, and they would open that up and as they were calling people they were making changes to that list. It would sit on their desktop, and that is what they would work in, so the things that they were working in are here in the foreground.

We still have, you know, the other pieces that we were looking at. Here is the control panel and those pieces. I have a way to get a recent document, but what is surfacing now is getting the work that you're doing and a diminishing of the applications. We are no longer looking at -- in an object oriented, in computer terms we talk about object oriented, and it is basically a way to focus on -- it is a way to bring what is the intended focus of the person to the

256

foreground and diminish the things that are considered ancillary. I want to edit my document. I don't want to know which program I want to edit my document with. My document is the focus. So that is a wonderful evolution that this has done.

MR. JOHNSON: Your Honor, we have been going about an hour and 40. Should we take a short break or do you want me to continue?

THE COURT: Well, I'm caught between two things. I like to do what is reasonable, but I like to run my own courtroom, but I will adopt your suggestion and we will take a short break.

(Recess)

257

THE COURT: I know you all are working very hard on lots of things, but the jury is confused about the acronyms, and to the extent that you can give them some glossary of terms, they would appreciate it.

MR. JOHNSON: Unfortunately, we tried, Your Honor, and it has not been a successful effort. We will try again.

THE COURT: Okay. Well, maybe if they have things about specific ones, we will have them ask you and then we'll try to come up with an answer.

THE CLERK: Are we ready?

THE COURT: Oh. Oh. In terms of the -- I don't care, but it may be for completeness of the record, the figures, which really aren't exhibits, and nobody said they should be exhibits, maybe they ought to be marked for identification so that they are -- so that the record reflects what was being shown on the screen. Thank you.

MR. JOHNSON: Sure.

(Jury brought into the courtroom.)

THE COURT: We talked but giving you all a glossary, and that may not turn out to be possible, so I know that there are all kinds of acronyms being used in terms. If you could tell Theresa specific ones that you're having questions about, then I can go over those, at least, with counsel and try to answer -- tell you what they are or maybe have them explain what they say. So, that's not as perfect as having a

258

general glossary, but there is an awful lot of information to absorb, so if you've got questions, tell Theresa.

What's an API? Without giving -- what's that mean?

MR. JOHNSON: Application programming interface.

May I proceed, Your Honor?

THE COURT: Yes.

MR. JOHNSON: Thank you very much.

Mr. Goldberg, if you would put up figure 8, please.

A technical glitch, Your Honor, momentarily.

THE COURT: I'm curious, but will refrain from asking whose product you're using.

MR. JOHNSON: It's right there. It's on the screen, Your Honor.

THE COURT: Oh, good. That figured.

Q. BY MR. JOHNSON: All right, Mr. Harral, can you tell us what this is a picture of?

A. This is a picture of the -- we had looked at the file viewer in Windows 3.1. This is the next generation of the file viewer. It's what they call the explorer. It let's you look at your different places on your disk and other things for further information, as well as some other things.

Q. So, is this the explorer for Windows 95?

A. It is.

Q. Have you ever heard of the term NameSpace extension API's?

259

A. Yes, I have.

Q. Generally, can you tell us what was this functionality?

A. NameSpaces are what the explorer -- or what Windows 95 is showing to you. Your -- when you go into the -- into Windows 95, and you are looking for your documents or settings or other things, NameSpaces are where those things could be stored or found. So, when we looked at the -- at the background, and it had my computer, and I said you could put documents there, that's a NameSpace.

It's a place where things live. And places can have other places inside of them. So the -- so every place inside of Windows is a NameSpace. They use that term because they didn't want to call them -- I'm telling you how I interpreted this. They didn't want to call them files because you may be looking at mail messages. You may be looking at on the web, some place. And it would have been misleading to have used a term that would make you think of only living on your disk.

And so those are NameSpaces. NameSpace extensions, then, are how you plug in new places. So, if I wanted to let you see your e-mail messages in your inbox, right off of your desktop, I would try to extend the NameSpaces and make it so that my mail system would put those things on your desktop. So that's a name -- in general, NameSpace extensions allow you to add in things into the -- into the view that you have for the desktop.

260

Q. Okay. And can you describe that with your pointer with reference to what is shown on the screen?

A. Okay. So, I talked about different -- here's our C drive again, and here's the different file folders, and here's the D drive. So these are -- these are real drives, traditionally in DOS. So these traditionally in the file system and in DOS, we think about these as the floppy drive and the hard drives.

But one of the great things here is that now we're trying to bring all these things, all these different places together because, really, all I want, is I want my documents, or whatever I'm working on. I don't want to care which place they are. And so they brought these things together. We have this thing called the network neighborhood. That is a NameSpace because it's bringing all those network places we talked -- that I talked about before in one place.

And that's significant because, in -- in companies that WordPerfect had dealt with, there were actually many network providers, so, Novell that I mentioned was one. Banyan VINES was another company that was a network provider, and people would choose which network they had and purchase that. The nice thing about network neighborhood is that you could even be running both of those networks, but here you could just see the network places and not care which network you were on.

261

So we're moving more towards what -- what is the information you want to find and less worried about how am I getting there.

The recycle bin here is another place. The recycle bin actually lives on all of these drives, but they are giving you a single view that, when I delete something, it's going to go here, and you don't care which drive it's on. If you want to go and bring it back, you can. So that's the importance. The NameSpace is hiding this complexity and giving you a view that is more useful for what you want to do.

Briefcase, down here, that's also a NameSpace that -- it looks like a regular folder, but it's going to give you an additional feature that you're not used to previously in DOS, which is, it might be also linked to a document out on your network, and it might be actually bringing a copy down so when you close down your laptop and get off the network you can still see that document.

And so just these different concepts here, different features that may be had been available in a number of places before, but now bring them together in a way that people can find the information without having to worry about programs and network technologies and things like that.

Q. The pane on the left-hand side, that you were pointing to there, does that have a name?

262

A. This -- we usually -- well, I usually call it -- it's the tree view because it's like a tree, but there's a lot of names I guess it could be.

Q. Why do you call it a tree?

A. Because a computer software term, are about when you link information together, they call them trees and because you take one element and you tie other elements to it, so when you draw it out on a white board, like software people are often known -- wanting to do, it branches out and so it looks like a tree. It's a graph of the different places and how they connect.

Q. And what about the pane on the right? What would you call that?

A. Well, this is the content view. So, what we're doing is -- these two are tied. The tree over here is -- I can go and manipulate these pieces, these little plus signs, I can -- here you can see I opened up this C drive so I can see these pieces here on the D drive. It's got a little plus. I haven't opened it up, so I can't see it. So I can manipulate this. And this little program file is open. It has a little open folder. What they are trying to convey here is, they have pressed on this program files, and then this view is linked to this tree and so it's actually showing me what is inside of this folder over here. So the two have a relationship to each other.

263

Q. So, what would a third-party developer use these NameSpace extension API's to do?

A. Well, so, based upon what I think my customers might want, I am interested in working with my files. If my brother were working on a graphics, he might have over here in this view, he might have all of his documents that he's working on for ads for different agencies. But if he is often working on bringing these document graphics library -- you can purchase hundreds of thousands of images. A company might do that if they are in advertising.

And if I wanted to have those easily accessible, then the goal, from my experience and perspective, is I want people to be able to live here because that's what we are trying to do. We are trying to make it so that you don't know the technologies, you just see your information, and so, I am trying to -- if I am working on documents, I want to find them here and so there might be something in here called my documents, and I want to go down and get my documents.

Well, I'm also -- if I have a graphics library, and they put that out on a server, a database, so that you can easily go in there and you can say the database is a tool that can store information, but it keeps statistics about information. So if you wanted to say, I want to find all the pictures that have hats in them, different kinds of hats, you -- in a graphics library, if it were in a database, you

264

could go in and ask it a question, and if it had stored that information, you could quickly find all the pictures that have hats in it.

Well, you don't have a database on your C drive, necessarily. It might be stored on the network somewhere where everybody can get at it. You don't want all that on your laptop because you wouldn't have room for anything else. And so you what you might do is you might then say, well, fine, I'm going to put a NameSpace, an extra one, down here. Maybe I have a thing called my images or graphics. And that -- that would look like a little thing down here like recycle bin. I mentioned recycle bin doesn't live on one disk. It's actually a bunch of disks, whatever ones you want it to keep files for.

I could have another one down here that would -- actually, when we go and click on it, this pane here wouldn't be -- the view here wouldn't be showing you files, it would actually go out to the database and say, get me a list of all the graphics and it might fill this out. And the point here is that we are bringing all of the things that you're after into the same place where you got the documents and so the whole focus here is to bring everything you want into this one way of doing things so that it's very easy and predictable to the user.

Q. So, was adding new NameSpaces to the Explorer important

265

to Novell's development of products for Windows 95?

A. It was a -- it was a key element of moving into Windows 95.

Q. And why do you say that?

A. Working for the shared code, we were in the business of drawing out pieces of work that WordPerfect Corporation and Novell had done and putting them in a -- understanding that we weren't -- we weren't the only tool out there. We -- if you wanted to -- if you wanted to go and get maybe documents off the web, okay, we didn't necessarily have a tool to do that. There were other tools at WordPerfect. We might encounter things that weren't part of our product.

So we were in -- we were constantly in shared code looking at ways that would solve needs of our customers, and we knew that those things didn't have to do always with us and that were -- but this is -- these are the tools that the customers wanted and so that's why we broke out the spell checker. If somebody licensed the shared code, they would have a spell checker in them. They could put it in their product.

We were in the business of providing features to people that weren't necessarily WordPerfect. And so, wherever people were going to live, we were wanting to put those features where they would live. And so, we were looking at the Windows 95 shell, and bringing all this

266

information together in one place, meant that people were going to want to live here because it was very consistent in how it presented information. It was very consistent in how it acted, and so we wanted to -- to evolve our product to Adopt these ways of looking at it.

Anybody who moved to Windows 95, they were basically saying, I want to work this way.

And so now the question is --

MR. TULCHIN: Objection, Your Honor.

THE COURT: Sustained.

MR. TULCHIN: I don't know how he can speak for all people.

THE COURT: Sustained.

Q. BY MR. JOHNSON: You can't speak for all people.

A. Sorry. So, our customers wanted -- if they bought Windows 95 --

MR. TULCHIN: Same objection, Your Honor. Sorry to interrupt.

THE WITNESS: Sorry.

MR. TULCHIN: Unless he has this information. I apologize.

MR. JOHNSON: And, Your Honor, I think he's familiar with his customers.

THE COURT: Well, let's find out.

MR. JOHNSON: Okay.

267

Q. BY MR. JOHNSON: Go ahead, Mr. Harral, talking about the customers at WordPerfect here.

A. The customers of WordPerfect and the support questions that we had to field for them.

Q. Okay. Go ahead.

A. Okay. That, for the ones that were speaking for customers of WordPerfect Corporation that were telling us that they would want to move to Windows 95, their base -- they are buying into this technology. They are going to be living this way. And so, for us to be able to bring forward features that they have come to expect in us -- they stayed with our company because we continued to provide those things that they wanted. We weren't breaking the work that they had done before.

So, we knew that, in the -- in the shared code, we needed to be able to evolve our technologies to work in these places in the same ways that every other shell extension was working.

Q. Okay. And what sorts of new NameSpaces did Novell plan to add to this tree view?

A. So the NameSpaces and shell extensions that we were planning to add are -- our presentations product had a graphical library that was a database. And we wanted to present it as in the view so that they could see those pictures directly. We had a document management system that

268

we were were also putting out with our product. That also puts documents in the database and so we would want it to be -- we would want them to see them as these files. We wouldn't want them to have to go and do something different than they were presenting here.

We had a mail product, and the mail group was interested in having their -- your e-mail messages presented. Or another concept was, you might go to a NameSpace, and all it would show you were all the attachments of your -- of your e-mail, so you wouldn't have to go hunt through your e-mails to find where's that, you know, picture, that Grandpa sent. You could -- it would then just go and show you just the things that were attached. You knew that's where it was at, it was in my mail, so you could -- so it would filter the information so you could get to what you wanted.

Those are some of the NameSpaces that we were looking at.

Q. So, if you -- if you added these new NameSpaces to the Windows Explorer, would they be available for users in other places?

MR. TULCHIN: Objection. Leading, Your Honor.

THE COURT: Yeah. That's okay. Go ahead. He's not suggesting the answer. Go ahead.

THE WITNESS: Okay. Because the shared code had partners outside of WordPerfect, and because we realized that

269

we had conversion technologies of being able to -- we could open up WordPerfect documents and save them. We could open up Word documents and save them. We could open up Word Star documents and save them. We could open up different graphical formats. We were about dealing with people's information beyond our products, and so we had every intention of putting the shared code technologies into the -- onto the customer's computer in a way that they weren't just going to search for WordPerfect documents in WordPerfect. If they wanted to do a search, they could search an entire system for all the WordPerfect and Word documents and Word Star and everything else that they wanted to.

The question isn't about WordPerfect's products at that point. It's about, what do users want to do, and can we give them the tools to provide that?

So, every extension that we were planning on using, if you wanted to put your clip art inside of your Word Pad Editor, which, you know, is a product that let's you write text, right out of Windows 95 -- you know, it ships with the operating system -- you could still grab WordPerfect's clip art that you, you know, were familiar with and drag it over, and it would put it inside of Word Pad. So all of the shared code technologies were intended to go into the operating system for using every single product installed on the platform.

270

MR. JOHNSON: Mr. Goldberg, could you put up figure 9, please.

Q. BY MR. JOHNSON: Mr. Harral, could you tell us what this is.

A. This appears to be the common open dialog box for Windows 95.

Q. And you spoke of it being the common file open dialog. What do you mean by that?

A. The operating system tries to provide -- just like shared code, and more so, it provides things that are -- are commonly done with programs. Lots of programs open files. Lots of programs create directories. Lots of programs need you to type in something to search. And so, the operating system, for two reasons that -- you know, at least two reasons that I can enumerate, would provide common -- these common things so that every program can use them.

It -- it helps the developers get product to market more quickly. And, at the same time, because it's easier for them to use, it imposes the standards of the operating system. So, because you -- I want -- I go into Word Pad to type. I want the open dialog to have the same behavior and look as going into another product and so this is the way, this is a way that the operating system can help all of the applications, all the programs that run on it to have a common way that they feel and a common way that they act.

271

Q. So, if WordPerfect had used the NameSpace extension API's to add a new NameSpace, would those new NameSpaces show up here in this common Windows 95 file open dialog?

A. Yes.

Q. And can you point to where they would show up, these new NameSpaces Novell had created?

A. Well, so here we see the my network places. And that is a NameSpace. We see the desktop, and that is a NameSpace. And so, you can install NameSpaces. This one is underneath this other one, so that they don't have to always be at the top. You can install them where they are convenient for the user to find. But they would -- so, if I were -- just off the top of my head, I could pick a place and I could put them at the same places underneath my network places there might -- there would be another one here that I could put in, which might be my e-mail documents, for example.

Q. And would it have been important or not for WordPerfect's new NameSpaces to appear in this Windows common file open dialog?

MR. TULCHIN: Leading, Your Honor. Objection.

THE COURT: Sustained.

MR. JOHNSON: Let's take a look at figure 10, Mr. Goldberg.

Q. BY MR. JOHNSON: Mr. Harral can you tell us what this is?

272

A. This looks like -- it could be -- well, it's similar. This looks like the file open in Windows 95, although it could be the file manager. They are very similar.

Q. For what product?

A. For WordPerfect Office, so PerfectOffice 3.0, I think, on Windows 95.

Q. Okay. So, this is the file open dialog, then, for WordPerfect?

A. Uh-huh.

Q. How does this differ from the common file open dialog?

A. Okay. So, well, going -- actually going from top down, the first thing is the menu. This is -- in the previous dialog, there were all of these buttons that were pointing out with view and network and things like that. The features of the file open dialog for WordPerfect were very robust, and so, at the top, there is the menu. There are lots of options in there because those features need to be brought forward. The tool -- the tool bar down next is -- and what we're doing is we're moving all of the features from that older style into the way that people are used to seeing them in Windows 95.

But now we have commonly used features right at the top there because we're -- this is, again, if you are -- if you're a user that wants to live in the Windows shell, you're going do to these things in the Windows shell. If you're a

273

person, you know, coming from WordPerfect that you are used to living in the open dialog, we don't want them to have a diminished capacity or experience, and so we are now evolving the open dialog so that it does not lose those features that they have come to expect.

That's why we're -- you can see, under -- sorry. I should go to this now. So, after the tool bar, we have different features that you might be looking for, finding files, finding content. There was no preview inside of the Windows 95 dialog. There is one here because we had that coming forward, information just being provided. Here's our tree view, which is like we had in the open dialog. Here's the list of the files. But we still have that list of commonly used places because that's what people have come to expect. So, we can't -- going forward, we've got the task of adopting what is new and innovative, and, at the same time, not losing all the people that have made an investment in our product in the past, to help them come forward and be comfortable and productive in this environment through our products.

Q. So, Mr. Harral, if WordPerfect then used the NameSpace extension API's provided by Microsoft to add new NameSpaces, would they appear in this file open dialog of WordPerfect?

A. Yes, they would. Wherever we had placed them. And they would have appeared in the common open dialog. They

274

would also appear here.

Q. So they would appear both places?

A. Yes. That is correct.

MR. JOHNSON: Mr. Goldberg, could we take a look at image 11.

Q. BY MR. JOHNSON: So, we have circled in red here what you identified here earlier as the tree view. Using the NameSpace extension API's, would WordPerfect have been able to include the new NameSpaces being offered by Microsoft that you looked at earlier, network neighborhood, recycle bin and my briefcase?

A. They would appear here as well.

Q. And why was that important?

A. Because, as I said before, people who are buying Windows 95 are adopting what it's bringing. They are buying it. When people buy Mackintosh, they want that experience. When people buy Windows 95, they are asking for that experience. They -- Windows 95, in every application, is going to have the ability to show the network neighborhood, the recycle bin, the -- you know, if they have a briefcase, or whatever other ones come along. If you have a -- you have a place where you have archived your files, so that they are -- because you don't use them very often -- we call them compressed folds. And if you have those, you can't usually -- you need a program to open those up. They can

275

appear as NameSpaces so you that think they are just regular files so it doesn't get in the way. All of those can be NameSpaces, and a person using Windows 95, they are going to expect to find those things and how they behave. What happens when I press my mouse on them? What happens when I press, this, you know, the enter key on my keyboard when I'm on that?

All of those -- all of those behaviors are standardized in this operating system, and to be inconsistent with that would be to induce confusion with the user of a product. And so, if they could find my network neighborhood out on the desktop and they could access the files through network neighborhood and map drive, so basically find places on the network and move things around on the network, and when they come into WordPerfect, they better be able to find network neighborhood because they have learned how to use it.

We are not trying to teach them a new way. We are trying to leverage the knowledge so they can get on and do what they want to do.

Q. And does the WordPerfect's file open dialog here also have a contents pane, as you described earlier on the common file open dialog?

A. Yes, the pane on the right here, would be the contents pane.

Q. So when you clicked on one of the new NameSpaces, would

276

the contents appear in that pane?

A. Just the same as it would inside of the Windows 95 Explorer.

Q. A little earlier, you were pointing at those tabs at the top that say open, find file, find content, find by form.

Let's go to figure 12, Mr. Goldberg.

Which has brought up the tab, find file. Could you tell us about that.

A. One of the technologies that WordPerfect made great use of what was they called Quickfinder. They employed people who were -- who had a lot of knowledge about file, search and linguistics, and so this is the presentation of the Quickfinder inside of the file open dialog box.

Q. And was Quickfinder a differentiation feature compared to Microsoft's Word?

A. I am unaware in Word of a find feature like Quickfinder, where we could -- you could traverse all -- you know, traverse the documents on your machine regardless of whether they were WordPerfect documents or not or whether they were even -- in Windows 95, you had -- you had to teach it about your file and so that it could -- so it could show you, oh, this is a Word document, or this is a graphical document. You have to teach it about these documents.

The Quickfinder ignored those boundaries and would actually go in -- so you could name the files whatever you

277

wanted to, which is a good thing, because when -- when DOS came along, there were no restrictions about how you could name your document, and as -- as these -- as the operating system evolved, you would program -- programs would try to recommend the way that people would name documents, but we understood that people had lots of documents that didn't conform to that. And so our technologies, in WordPerfect, were made to try and -- if I wanted to find all of the WordPerfect documents that were -- were written last year and had something to do with, or had mountain or landscape or something in it like that, then I could do a search, and it would not ignore any -- any documents just because it said that they were -- you know they belonged to AMI Pro or it could even say that it was graphic, even if it was really -- it had been misnamed, it would still find that and so, yes, we felt that this was very much a differentiating technology.

MR. JOHNSON: And if you would go to figure 13.

Q. BY MR. JOHNSON: That's bringing up the find content tab. What was that?

A. So, in the find file, they are actually looking at the file names and the find content and actually looking at the text inside of the -- inside of the document.

Q. So is this another aspect of Quickfinder?

A. It is.

A. MR. JOHNSON: And what about the next image,

278

Mr. Goldberg.

Q. BY MR. JOHNSON: This find by form, is that also another aspect of Quickfinder?

A. It is. What you're -- inside of files, you can do things -- there's information that you could store that doesn't print in your file. You can know who was the last person that edited the file, what were their initials. You could have notes about the file that would maybe show up when you were doing the file open but, you know, things that you were using to catalog the information and make it easy for you to find but is not supposed to be there when you print the document or when you show it to people.

And this is a find that is going to -- if I were to tell it to find by form, and I said mountain, it could look in the WordPerfect document in the notes, and it could say, well, is mountain here? But it could also look inside of a picture that you took, and if you had inside the picture -- there are tags you can put on the picture that say where you took the picture or you could put your own notes, and it could look in picture for mountain, too, just across whatever files it was looking at.

Q. So, in doing these searches, if you had used the NameSpace extension API's to add all these new NameSpaces, both Microsoft's and WordPerfect's new NameSpaces, would a user have been able to search through all those NameSpaces

279

for this information?

A. Yes. The nice thing about the NameSpaces is that they were -- they were giving the programmers also, not just the users, but the programmers a way to look at all of these files in a common way. So, Quickfinder here, if it wanted to go look for graphics that had mountain in it, it could go and look at files on the disk, but if it was a NameSpace, they would go and went and looked at the database that had images in it, it could still -- to it, it just looked like a collection of graphics, and it would just go into it. It wouldn't know if there was a database on the back end that was, you know, shuffling and searching and pulling things out.

And so the NameSpaces were a great enabling technology, even within the applications as well.

Q. Mr. Harral, during the Microsoft's opening in this case -- that's when Microsoft's lawyer talks to the jury about what the case is all about -- he described what he thought, quote, the NameSpace extensions are all about, close quote.

He described two ways in which ISV's could launch their applications, including putting a shortcut to their applications in the start menu or putting a shortcut icon on the desktop. Microsoft's attorney told the jury yesterday that -- or two days ago. Excuse me -- that what Novell says

280

it wanted, what Novell says it was entitled to through the NameSpace extensions was a third way, a way that would allow users to get to WordPerfect and Quattro Pro from the Windows Explorer, close quote.

Is that an accurate description of the functionality of the NameSpace extensions?

A. For what we intended, it was not an accurate representation. It -- there -- you can do those things that were stated, but to -- at this point, we are not launching applications. It's not about applications. It's about user information. That's what an object-oriented operating system is about. So, people concentrate on what they want to do.

The briefcase, for example, synchronizes. It's not considered an application. It's -- it is -- it is a feature that happens there to move information around. The user is never presented that they are even really dealing with another application. If WordPerfect had moved its clip art libraries out to a NameSpace, then all we were doing was giving people the ability to see those files. If people had created their own clip art library, like a third-party developer, you know, you wouldn't even know that WordPerfect was there at that point.

This was about getting our operating system technologies that we had built up on top of operating systems to people so that they could use them everywhere. And from

281

the shared code group, if the person here were a WordPerfect developer, he would give a different answer because, inside of a company, each person who is speaking, they have the intent of working on the software and the pieces that they are charged with, but from a shared code perspective it was -- we had no intention -- we weren't owned by a product. We weren't owned by an application. We could work with other people outside of the company.

Our intent was that when we sold licenses to somebody outside the company, just as much as inside that, when they installed our products, if we were putting technology on that computer, it was going to work everywhere so that we could get wherever they lived, it was there.

Q. Did Microsoft promote the functionality given by the NameSpace extension API's to WordPerfect?

A. Yes, they did.

Q. Did WordPerfect have a goal in mind with respect to the time of release of its Windows 95 products?

A. Yes, it did.

Q. And what was that goal?

A. To ship within 90 days of the release of Windows 95.

Q. Have you ever heard of the first wave program?

A. Yes.

Q. And what was that?

A. For applications that were working with Microsoft and

282

criteria that were set forth, that they would meet that criteria, whatever. I don't have the criteria here to enumerate, but there was criteria set forth about how the application would behave and what it was supposed to -- what technologies it would try to take advantage of in Windows 95, and it would release within a certain time frame of the release of 95.

Q. So there was a goal for first wave participants with respect to time of release?

A. Yes.

Q. Okay. And was that consistent with WordPerfect's own goal in that respect?

A. Yes.

Q. Was WordPerfect a participant in the first wave program?

A. Yes, it was.

Q. We talked about evangelism events in general. Did Microsoft ever visit WordPerfect to specifically promote its Windows 95 operating system?

A. I was aware of one time that they did that.

Q. So you personally met with Microsoft?

A. I personally met with Microsoft representatives for Windows 95 adoption.

Q. Mr. Harral, could I turn your attention to Plaintiff's Exhibit 105, which is in the binder in front of you.

283

Mr. Harral, have you seen this before?

A. I have seen this paper before.

Q. And did you attend this meeting with Microsoft in 1993?

A. Yes, I did.

Q. And do you recall the purpose for Microsoft's visit on this particular occasion?

MR. TULCHIN: Objection, Your Honor, for the witness testifying as to Microsoft's purpose. Maybe he can testify as to what he was told.

THE COURT: Just rephrase the question.

MR. JOHNSON: Sure, Your Honor.

Q. BY MR. JOHNSON: Do you have any understanding of Microsoft's purpose in visiting WordPerfect on this particular occasion?

A. There were -- there were at least two discussions. There were many people there. There were two discussions that I would state were key for what we were talking about. One was the general adoption of Windows 95, but, secondly, the purpose that we were told, for this meeting, was to go to the next level and how we could be a great Windows 95 application. And so that -- that centered around a couple of things.

One was that we would adopt the look and feel of the -- of the new operating system. And that meant that, if they had -- like I mentioned before, if they had a way that

284

you wanted to pick a color, we were using their way of doing it. If you were clicking some place with your mouse, would it do the same thing that they were wanting it do in other places? And then -- so that was one side of it.

The second side was, we were then -- especially in the shared code group, we had these technologies and so the question kind of from the representatives there was what are you planning to do? And it was kind of. It was a forum and so we talked about the things that we felt would allow us to bring our technologies and make them congruent with the way that Windows 95 was trying to approach its users.

We could see that there were -- the shell was the main thing that they were going to see, and so there were other things that were being rewritten that were useful to programmers underneath; how it managed the memory of the machine and how it talked to its graphics card and stuff like that. But we were focused on, what were the people who bought this product, how were they going to interact with it.

And so, we talked at length with these representatives about the document management system that we had, so that we could service it so that it would be a part of Windows 95, it would work the same way, basically as like the briefcase is represented. We had our clip art libraries. We had -- we mentioned the fact that we wanted to that hook in Quickfinder and how we could do that.

285

There were representatives -- as I said, we didn't -- we didn't own all of the pieces of the shared code. Some of those came from other places, and we would ship them out. We didn't own the Quickfinder, but we were the one that distributed the Quickfinder to everybody. So, there were other representatives from other teams that were also there and interested, and they also talked about some of the ways that they could add ability to the Windows 95 shell when our products were installed. --

So, searching, the viewers that we had, having previews. We were interested in having -- putting our viewer -- when you go and touch your files, the viewer could be there so you could say, well, I want to see what this file looks like without having to launch an application and so that -- you know, because it takes a long time sometimes to launch applications when we are just trying to look for something. So, being able to go around and look for things, that would be something we were interested in.

They had property sheets that gave you more information on the files that you looked through. And so we wanted to make sure that we would be able to -- the information that were putting in our file open dialog, when we gave this information, we wanted to make that available as well. So there were a number of technologies and people interested at WordPerfect and even inside shared code.

286

Q. Well, what, if any, connection is there between adding these functionalities to Windows 95 and the NameSpace extension API's?

A. That was -- the NameSpace extensions and the shell extensions would be the way we would have to hook this in, so that anybody who was living in the shell, as opposed to living in our products, could find and utilize the features that we were giving them in.

Q. This e-mail, this Exhibit 105, is actually from a Microsoft -- a Mr. David Cole talking about the visit with you all. And he states in that e-mail that the Microsoft developers went to WordPerfect last Thursday to talk to you about what Microsoft thought a good Chicago application was.

Now, do you recall any of those discussions?

A. I do recall this meeting.

Q. And can you tell us about anything in particular, with respect to what they thought a good Chicago app was?

A. I described some of the things that we were going to do. They felt that those were necessary. They were very excited that -- they appeared trepidatious, a little bit, coming into the meeting, and I think they were surprised about how excited we were that we could -- because we weren't talking about -- we weren't talking about how WordPerfect just was going to be a good app, but we were talking about how we were going to enhance the user experience in general.

287

And they appeared excited that -- it's the hope of every -- every developer that I have dealt with, that when you work on something, that, one, you understand that the people are going to use it in a hundred more ways than you ever thought that they would and that those ways are more useful than they ever envisioned. And you are excited when you see that that comes to pass. And then that was the kind of excitement that was in the room there, that, you know, they're working on the Windows shell. They are trying to get it out. They are trying to make this leap.

And when we were talking together, then we are telling them, yeah, there are things that we can do here. There are features that we can add. There are ways that we can expose what we do and change what we are doing so that it conforms to what you are trying to -- to present to the users through this new interface and new way to look at information, that PC users did not traditionally have. So they were very excited -- we were all very excited about these possibilities.

Q. In the second paragraph, Mr. Cole writes that these guys will bet on Chicago, and they have never had any doubts about that.

Do you think Mr. Cole correctly described WordPerfect's attitude toward Chicago?

A. Yes. It was -- Chicago was -- as far as a

288

where-people-lived kind of approach to a program, Chicago was exactly the kind of forum that we needed to be able to get our technologies out of just being part of a WordPerfect application and getting them to where they were usable by our customers everywhere, no matter how they decided to work.

Q. Mr. Cole writes, further on in this e-mail, quote: "It was interesting to see how enthusiastic WordPerfect was about Chicago, much in contrast with the ho-hum attitude of our own apps group." Close quote.

Strictly with respect to what Mr. Cole said about WordPerfect, do you agree that WordPerfect was enthusiastic about Chicago?

A. We were very enthusiastic about it.

Q. Now, looking a little further down in this e-mail, Mr. Cole states that they, meaning WordPerfect, were very happy about us deciding to document the shell extensions.

Do you recall being told by Microsoft at this meeting that they had decided to document the shell extensions?

A. Yes. It was one of the reasons for the meeting, was gathering the -- and even -- and we would not have had more than half of the conversation if that was not happening.

Q. So, half of the conversation concerned these NameSpace extension API's?

A. Yes.

289

Q. Did Mr. Cole accurately describe your feelings as being happy regarding Microsoft's decision to document the shell extensions?

A. We were -- we were ecstatic.

Q. From your years working in the software industry, do you have any understanding of why an operating system vendor would provide you with these API's?

A. Because -- so, going back to my experience, I've worked -- I've worked on other operating systems, and I can say that, on every operating system that I have worked on, that their success was greatly determined by not the operating system but by the applications that were written on that operating system. So, it's not that you -- you know, on the Mackintosh, you might like the pretty graphics, but if you can't edit a document in a way that's comfortable, it's -- okay, it's a pretty door stop at that point.

The extensions are -- were key for us in being able -- the extensions were key for us being able to provide to the users all these features.

Q. Mr. Cole goes on and says that he explained, quote, "conceptually how the extensibility would work and what controls they'd have." Close quote.

Do you recall that discussion with Mr. Cole?

A. Yes.

Q. And would this have included the functionality provided

290

by the NameSpace extension API's?

A. They discussed how they would work and that we would have the information at a later time to be able to deal with the details. So, at that point, they were demonstrating what they were -- what they were doing and planned to do and that we would continue the discussion later on to get the information so that we could -- we could further explore how we would have -- what we would have to do to be able to get our technologies onto the Windows 95 platform.

Q. Mr. Cole goes on to say, quote, "Since they just acquired a document management system, I forgot from who, I assume they will want to plug that in, plus WP Mail and other parts of WPOffice, too."

Can you tell us or do you know what Mr. Cole was talking about here?

A. Yes. He was talking about most -- the technologies that I have mentioned in shared code, and he mentions a couple of the others from -- from other applications that -- as part of shared code, we were -- I was asked many times, and being a liaison with Microsoft, I would consult with the other teams as well. So, as we would -- as we would move forward, we would discuss with each other about collectively how we should move technologies forward because it wasn't just a single product. We were trying to make all the products move forward in the same direction.

291

And so here he's mentioning the technologies we've talked about in the shared code, WP Mail, if we had a separate mail group, and we talked to them quite often because they had a -- they had different needs than WordPerfect did but still congruent needs with utilizing the shell extensions. And the document management system was a separate application as well, but we needed to integrate it in as well.

So the shared code team always had those ties to the other applications, so those are all the things that I see mentioned here.

Q. Do you happen to know the name of the document management system? Apparently Mr. Cole forgot from who you had obtained the document management system.

A. We obtained it from a company called Soft Solutions, and that document management system later went into the WordPerfect Suite.

Q. And would the NameSpace extensions have allowed you to plug in, in Mr. Cole's words, that document management system into both the WordPerfect product and the Windows 95 product?

A. Yes.

Q. You talked a little bit about WP Mail. Do you happen to know what WP Office refers to?

A. That's a general term for the collection of products that we have, but, specifically, when they talk about the

292

parts of WordPerfect Office, that would be name extensions. Most of that would have been shared code.

Q. Mr. Cole goes on to say in the next paragraph that he anticipates that WordPerfect will have a very exploitive Chicago app ready close to when Chicago ships. Close quote.

Mr. Harral, was that WordPerfect's goal?

A. Yes.

Q. We've already discussed that Microsoft told you at this meeting that they had decided to document the NameSpace extensions. Was there -- what, if any, suggestion was given to you from these Microsoft representatives that they might change their mind?

A. There wasn't any indication given at this meeting that they would change their mind.

Q. What, if any, suggestion was given to you from these Microsoft representatives that this was a tentive decision, subject to change?

A. There was not that indication given. In fact, when -- leading up to the discussion about NameSpaces, as I said, they talked about how Windows 95 was going to change the way that people looked at PC's, the PC, personal computer. They -- to lead into the discussion about how we could add technologies to Windows 95, they demonstrated the NameSpaces that we had been talking about here, that they had done or talked about, the network neighborhood and the recycle bin.

293

I don't recall the briefcase being available at that time. I don't think it -- at least in the demonstration that they talked about, that wasn't, but we talked about these other ones.

So they demonstrated they were using those same technologies to build the Windows 95 platform, and we would be able to as well.

Q. Mr. Harral, I'd like you to now turn your attention to Plaintiff's Exhibit 113. Are you familiar with this document?

A. I am familiar with this document.

Q. And how did you become familiar with it?

A. I -- the document was distributed amongst developers and evangelists and managers at WordPerfect, a meeting that was held where the information was discussed. I was not able to attend the meeting, and it was distributed to everybody from the participants in that meeting.

Q. I'd like to turn your attention to the page -- and there's these little things called Bates numbers at the bottom of the pages. In this case, it's an NOV Bates number. And the page I want you to go to is ending 373, which is, I guess, the third page. That might have been easier to say.

This slide states, in the first bullet point, that, quote, "We are providing new controls you can and should use." Do you recall Microsoft encouraging WordPerfect and

294

other ISV's to use these new controls?

MR. TULCHIN: Sorry, Your Honor. I thought he just said he didn't attend the meeting when this was discussed.

THE COURT: Yeah. Establish a little more foundation.

MR. JOHNSON: Sure.

Q. BY MR. JOHNSON: Mr. Harral, in the meeting you did have with Microsoft that we talked about earlier, did they encourage WordPerfect and the other -- WordPerfect to use these new controls being offered in Windows 95?

A. Yes. That was the first part of our discussion.

Q. And did these new controls make it possible for WordPerfect to extend the shell, as shown in this, as indicated in the third bullet point on this page?

A. The new controls that they are referring to would be the common controls that they would want people to use. I don't know if those controls would directly cause them to reference the shell extensions.

Q. Okay. Let's turn to controls number 4 at the page Bates stamped 378. Are you on the page Bates stamped 378?

A. Yes. Oh, 37 -- sorry.

Q. It's on the screen, too, if you'd rather look at it there.

A. Okay.

Q. Does this page describe some of the NameSpace extension

295

API functionality?

MR. TULCHIN: Objection. Leading, Your Honor.

THE COURT: It's harmless. Go ahead.

THE WITNESS: This control is -- the way they represent it here -- the representation that they are given with this new control is that of the file viewing NameSpaces.

Q. And do you have any understanding of what they mean here by: Useful for custom container implementations?

A. They are showing, in the tree view here, that -- being able to organize information, and you would be able to add to the -- the things that were here and even the behavior of how it worked. So, you know, talking about custom containers, you might want to put your own content in here. You might want to -- for example, one thing that's custom is, like, while I'm in this place, there's this little indication here that says that's being shared with other people who are on my computer. And that's a customization of this particular view that's particular to browsing files.

And so that would -- those kind of extensions, being able to add to what they had originally intended here.

Q. Okay. Would you now turn to the page Bates stamped 389, which contains the title Shell Extensibility. And drawing your attention to the forth bullet point, Explorer UI integration. Does this have anything to do with NameSpace extension functionality we've been talking about?

296

A. Yes, it does.

Q. Can you explain to the jury what the connection is?

A. Okay. Explorer UI integration. There's two things about a shell extension that have to be done. One is, you need to be able to plug your information into the shell so that it's available to everything else. The second thing is, you need a place to be able to present it to people so they can interact with it, so they can click on the files and they can move them around and drag them to other places and it behaves.

The Explorer UI, that was when we were looking at the Windows 95 desktop, so the background there and then the views that come down from it. Those are not just -- there are shell extensions there, but there are also those shell extensions, or those NameSpaces are communicating with the shell and saying, I've got ten things you need to put up in the view. And they are not allowed to drag them around. It would control that. But, if they press the copy button, I will let that happen. Those kind of things.

It's coordination between the desktop and this extension to let them act with each other so that when the user tries to perform these commonly done tasks that it behaves properly and so that's what they mean by UI. UI is user interface integration. You had an application that displayed a collection of file-like objects -- the ones we

297

are talking about are file-like objects -- create your own custom container and display it in the folder Explorer hierarchy.

So basically they are talking about how not only are you able to create these places, but you are going to be able to have some control over how they get presented to people. And that's important because, if I had a collection of files, and on the file system they were named with little short, tiny cryptic names, but I wanted to present long names to them, this would give me the ability to present those names in ways that people were used to seeing them in WordPerfect and could understand them. And so that's how you could do it in a way that is custom for that particular place.

Q. Turning to the next page of this presentation, Bates stamped 390, does this slide have anything to do with the NameSpace extension API functionality we've been discussing?

A. Yes. It says that -- it talks about applications, it says. It talks about application displays a pseudo folder, electronic mail document management. Pseudo folder. What they are saying is that it's something that looks like a folder in window browsing, because these are regular folders, but this here, that may actually be the link to the database, and these folders under here may actually just be names of how you organized your pictures when you stored them.

And so when it says pseudo or false folder, this is

298

basically saying they are presenting it as if it's something in their regular view, but it's actually not. It's something that's being presented with a custom view, like the previous slide said.

Q. So, did WordPerfect have any plan to display such pseudo folders for, for instance, as shown here, electronic mail and document management system?

A. Yes. Yes.

Q. Were those two of the things that, in fact, you had talked to Mr. Cole about during his visit a month earlier, in November of 1993?

A. Yes, we did.

Q. Let's turn to another page of this presentation, 393. It's entitled Ten Keys For Making a Great Windows Chicago Application UI, which I think you've told us was user interface. One of the keys, number 4, says "Use the common dialog file open or recreate its NameSpace accurately including network browsing and links." Can you explain that one to the jury?

A. Yes. So, we already looked at the common open dialog, and talked about how it represented the new things that were inside of the Windows 95 interface, the shell. So -- and we talked about how using those common dialogs -- I talked about how using those common dialogs would -- would allow for each application that was built to have a common way that people

299

could use their files and their documents and their information so that they could -- they could -- not have to relearn everything.

And this -- this number 4 item is pointing out, rightly so, that, in order for this operating system to succeed and have the applications that are consistent and leveraging all of the learning that people are going to do to run this, if you're going to get outside of using the things that are provided by the operating system, the open dialog the save dialog, the create folder dialog, the pick font dialog, whatever it happens to be, if you are not going to use those, then it's saying you need to recreate it accurately.

And that's because it's very disconcerting -- an example is, I work on Macintoshes and on PC's, and I have found it extremely annoying when I am running a Windows application on my Macintosh because it behaves differently, and I know how things are supposed to work, and it seems like the differences get in the way. Likewise, if I were running a Macintosh program on a Windows environment, the -- how you -- I can't size the window from every side. You go down in the corner. And when I close the application, the little box is in a different place. All of those little things get in the way.

And so they are pointing out the importance, here,

300

that it has to be consistent. You will confuse your user if there are things missing or that behave differently and so they are making sure that these applications succeed by pointing out that you've got to be able to conform to the whole way that Windows 95 is -- is communicating to the users of how you work in this environment.

Q. Now, did you ever have any discussion with Microsoft whether WordPerfect planned to use Microsoft's common file open dialog in its applications?

A. We did have that discussion, and we were -- we were interested in doing that. Anything that -- as I said before, shared code was a third of the application, effectively. That's a lot. And we had lots of things that we were looking at, you know, our plans for things that people needed in our product. And so, in shared code, if we can stop supporting something, then we can go on and do something else. We have plenty to do. But we also know that we have to maintain what we've done or we don't have any customers.

And so, if we could use the file, a common file dialog, if there was a way we could stop doing as much of the work that we had, and use it, we would do it. But if we needed to write one of our own to preserve the expectations of our customers, then we would do it. Whatever they needed, that's what we were going to do. So we were extremely interested in using the common dialog. If there was a way we

301

could use it and also give people what they expected from us, that was definitely the path that we wanted to take.

Q. And was that possible?

A. When we had this discussion, yes, that was possible. The question would be in the details of whether we would be able to do that or not. But, yes, the file open dialog, we had talked about that we -- there was a program, application program interface, an API, that we would be able to use that would allow for customization of those common dialogs. As I said, again, we didn't have the actual API's in that meeting, but they said that those would be provided later so that we would have the details of that.

Q. Did Microsoft provide Beta versions of Windows 95 to first wave participants?

A. They provided them to us.

Q. And what is a Beta?

A. In software development, the Beta is a point in your program where you are done writing your product to the point where you are not -- you're going to allow a large, controlled group to work with it. Before Beta -- so I've got to explain something backing up. Before Beta, there is Alpha. Alpha is usually released to specific people that know that you have most of the product there, or maybe all of it, with some problems, and you are evaluating, in an outside group, how -- the expectations that they had when you told

302

them about it, is it meeting their expectations? So it's a test of controlled people.

Then, when you go to Beta, you basically have consumed the Alpha input. You have worked out that input of people who are outside of your company and your -- you know, they don't have your blinders on them. So you're getting -- you're probing a wider group of people, and then you've integrated that. When you go out to Beta, you're basically -- at that point, Beta in the industry is: I'm letting you all see this now. Now you're going to -- you're going to use it because we are trying to find the bugs, the things that are not -- that are breaking, where we are really saying most everything isn't changing at this point, but the Beta is to hammer out the problems; not, at that point, to do new features or change features.

Q. Do you recall when you received the first Beta from Windows 95?

A. I do not know when WordPerfect received the first Beta. I received the first Beta at the Chicago -- at the developer conference.

Q. And do you recall the milestone that that Beta was?

A. That was M6, as I recall.

Q. Did Microsoft, in addition to providing the Beta, provide any documentation for the NameSpace extension API functionality with this M6 Beta?

303

A. They did provide documentation for the extensions. It was the first time that I was able to go through. When -- there's two kinds of documentation with software. There's the -- and I mentioned some before, with our libraries. You have the documentation that people read to know how they want to use the libraries or the features or the API's. Then, there is the description that the company produces, any company, when they are doing a library, that the compiler of the machine or the program will be able to read.

And a programmer can look at either one of these and get some information out of them. The person documentation is much more descriptive. It has -- it might have samples. It might have recommendations. The machine documentation is going to tell you basically how to tie it together. And so -- and so in the M6 Beta, there was some electronic documentation for people, and there were the header files that we could use that would give the exact definitions for the program, of how to tie it together.

Q. If you would take a look at Plaintiff's Exhibit 181 in your folder there. Can you explain to the jury what this is?

A. This is that machine computer documentation that I was referring to.

Q. And does this have anything to do with the NameSpace extension API functionality?

A. It -- you -- yes. The -- traditionally,

304

the documentation for the computer can be quite lengthy in some operating systems. It can be hundreds of thousands of lines, and so they traditionally will split it up into pieces so that you only need to include what you do. This -- this printout here is for the computer documentation for just the shell NameSpace extensions.

Q. And can you explain to the jury, looking through this document, just generally, not too much detail, please, about the functionality of each of the API's identified in this document?

A. I can try. Most of them. So. Okay. So, you're not going to see what I'm looking at, so I'll look over here. Can we move down to the bottom of the page? It says, right there -- this piece. Okay. So, the first -- this first piece, it's the shell. It's an item. We talked about how people wanted to view folders and files and places in databases. Where are my graphics stored? I don't care whether it's a file or a folder.

What that means, then, is that I need some way to name those things so that the computer can uniquely identify that's different than -- so, if I have a picture in the database, and I have the same picture on my local machine, even though it's the same file, I need to be able to know which one you're pointing at and which one you want.

So this first definition talked about an item ID and

305

ID list. It's a definition to capture that unique location. It's kind of like an address on your house. This is your full address on your letter. How can I find your doorstep? And they are storing inside of this definition, here's your full address, from what country you're in, all the way down to how many steps it is to your door.

Okay. So, the next page.

MR. JOHNSON: Have we got the next page?

THE WITNESS: This will get faster. Okay. The icon text menu down there. Second half. When you're in the shell, you can -- so, I'm not familiar with the operating systems you know, so we'll just go from there. On most operating systems now, you have a mouse, and you can use a curser with the mouse. If you move the mouse, you can go up to different items or files or things, and you can click with one or the other button.

If you press with your left mouse, the left button, you're usually telling it, I want to do that. If you press with the right button, you are saying, I want to interact with it. You are not telling it to do something yet. I want to see what my options are. The icon text menu brings -- that's called a context menu, and it shows features or options that you can do.

So, on a folder in Windows 95, it might say, you know, mail this out to somebody. Or it might say, delete it.

306

It let's you choose. This is the way, underneath, how a NameSpace extension would expose its context menu for its items.

So the next page. And the next page. Okay. In the Windows 95 shell -- yeah. That one. Next line, please. So in the Windows 95 shell, there are NameSpaces. That's the shell extension. There are things called property sheets. We talk about being able to show for a document -- do you know want to know who typed it or when it was edited last? That's information that you put on a property sheet.

If you were to go to a document in Windows 95 and right click and say properties on it, then that would be something that would come up. That's a shell extension. If you have a folder, one of those pseudo folders I talked about, that's a shell extension because, in Windows 95, they call it the shell, so everything that's the shell, it's some piece of that desktop. And all of those things, whether it is the control panel for setting your settings or what printers I have or what devices I have or which mouse do I have, all of those are shell extensions. This is how you initialize for the shell, how it starts you up.

So let's go to the next one. So, this next one, those property sheets here is how you would get those property sheets up for the -- in the shell, showing that information about the document or the graphic. Okay.

307

IPersistFolder. That's okay. It's a short one. That's fine. IPersistFolder. When I'm inside of the -- when I'm inside of the shell and you click around and you move your -- the little pictures around, you want them to stay there. Okay? You don't want them to migrate to places that you can't find them. You have arranged them the way you want, so persisting is talking about saving out the information you did.

If you told it to hide one or you --

THE COURT REPORTER: If you wanted to what?

THE WITNESS: So you didn't see it any anymore. I'm talking too fast. I'm sorry. We had this same problem during the deposition, didn't we, that I talked too fast?

Anyways. Whatever you do in that view, that's your information. You wanted it to be there. So, it's going to keep it. So this is a directive for it to save all your information out. It also is -- it's -- it also is going to give you access to some of those objects because I can show you the objects, but then the question is, once I get the object, can I actually -- you have shown it to me, and that's good for the user, but that doesn't mean the program can touch it. The program has to be able to go to that picture and read out all that information because just because you can show a picture that says you've got one there, that's not interesting to you. You want to be able to actually edit it

308

or do something with it.

It's talking about binding here. That's being able to go down -- it's taking the object that the shell has and says, I'm going to give you the real thing. I'm going to get it out of the database. I'm going to get it off the network, those places.

Q. Mr. Harral, there's so many of these. Let's just go to a few I'd like you to hit.

A. Thank you.

Q. On page 9 and 10 --

THE COURT: And then we'll break for lunch.

Q. BY MR. JOHNSON: On page 9 and 10 you've got one called IShellBrowser.

A. Okay.

Q. If we can get that one up. Can you tell us about that one?

A. Okay. IShellBrowser is when -- okay. So the shell, we talked about the shell, the Windows 95 shell. When the shell -- that desktop that comes up, that's letting you browse, letting you look at the things that are on the desktop. Then I click on my computer and it goes up and it says, okay, here's one of your disk drives. And I click on a disk drive, and it says, here's all your files. And I can keep going through it. These are all browsers because it's letting you browse your -- when we talk about internet

309

browsers, it's letting you browse the internet. Well, the shell is letting you browse your computer, and that might include the internet, it might include all sorts of -- all the NameSpaces are available now.

When a NameSpace comes up, the NameSpace knows how to present the things that it knows, but it doesn't know anything about where -- where it's supposed to put them. It doesn't know. It's the browser that knows. The browser says, I've got this space on your screen, and I'm going to put the things in here. It controls all of the places where things go. And then, that shell extension, the NameSpace is going to say, well, here's the things you need to put on it. Go do it.

The IShellBrowser is the API that is given to the shell extension to broker displaying those things on your desktop or in those windows underneath the desktop.

Q. Okay. And then the -- I'm going to mispronounce this, I know. ICommanddigBrowser on page 12. If we could get to that one?

A. Okay. ICommdigBrowser. It stands for the common dialogs. Okay. This -- just like -- just like the IShellBrowser, is the way that a NameSpace could negotiate for displaying its items, its folders or files, or whatever, to the person using the system. If we wanted, then, to enhance the way that the common dialogs worked, because you

310

can just display the common dialog and just have it give you back the file names, but if you wanted to enhance the common dialogs, this interface is similar to the browser in that now I'm negotiating for the space on the common dialog. If I wanted to change it so that it could resize on all sides, I could do that, or if I wanted to make it so it could drag and drop items off of the dialog onto the desktop -- I have done that before. I'm going along and I realize, oh, it's not here. And so I go on and it's not where I want it to be, and so I might go and find it -- it's -- I want to go and find it, and I might find it in the browser and drag it out there. You know, it's unrelated to me opening the file.

So this is the interface that's like the shell browser that lets me modify how the program would present the common dialog. Okay.

Q. Then IShellView on pages 13 -- I think it's on page 13.

A. Thanks. Okay. The shell view is -- now that I have a place in the browser to put my -- my view of things, the shell view is what the NameSpace extension does to draw the information. So, once it's negotiated with the browser, the IShellBrowser, which is the shell where can I draw my things and under what conditions can I do that? The IShellView is the browser coming back to me and saying, oh, your window just came to the front. You need to show it. You need to draw all those things you said you were going to draw or, oh,

311

so something went over the top of you, you need to change how you're coloring things so that people don't think that they are touching your window anymore, they are touching this other one.

And so all of that -- all of that control that the browser has to make sure that people don't get confused, this is the NameSpace talking to the desktop telling it what's displayed.

Q. Okay. And just one more. IShellFolder, page 15.

A. Okay. So we talked -- I talked about the -- how we draw things. Once we have drawn those things and you select a file, IShellFolder is a way to take that -- those shell items we talked about in the beginning, and you can go back to the shell folder. And now this is how I go and say, okay, I want that thing or I want to delete it or I want to do something with it.

And so this is the program. I showed you there -- this is how the program interacted with the IShellFolder, what the program then uses to be able to do the work that we told it to do with the other pieces.

Q. Now, Mr. Harral, I know you didn't get through all of those, there are a lot of them, but do each of these, then, represent an API provided by Microsoft to you?

A. Yes.

MR. JOHNSON: Your Honor.

312

THE COURT: Thank you.

Why don't we -- I think your lunch is here a little early. I hope it's there now. We'll break for 20 minutes or so, maybe a few minutes longer, and then we'll pick up at 12 and then we'll have an hour and a half of testimony after.

And let me stay here with counsel and Mr. Harall for just a second.

(The jury leaves the courtroom.)

THE COURT: I want to ask you a couple questions, and I don't want to do it in front jury, because, A, I don't -- sometimes jurors draw wrong inferences from the fact that a Judge is asking questions. Secondly, I don't think that -- many of my questions are not good, and even if they are good, they are not well asked. And they are not meant to be trick questions, sir, but I have got to understand some things about this case.

As I understand your testimony, at least parts of your testimony, you and your fellow developers at Novell were very excited about Windows 95. It was technological breakthrough. It was a whole new operating system, a whole new -- not a whole new operating system, it was something that was a real breakthrough in the industry?

THE WITNESS: Yes.

THE COURT: And I can understand why you think that the withdrawal of the API's, the NameSpace extensions hurt

313

you, Novell, and the consumer, but, in the short run, at least, talking through the time that Windows 95 is marketed, at least in that period, from your point of view -- and I'm not asking you to speak for Novell generally, but from your point of view, Microsoft was hurting itself, wasn't it, because it was making Windows 95 less desirable because it was not allowing the enhancements that you would have brought to the product?

THE WITNESS: Yes. I -- the enthusiasm that we saw when we talked with the Microsoft representatives were that they understood -- we had just -- I'll back up a second. We had just come off of the OS/2 operating system to Windows. We had done the transition. And in -- one of the major reasons we felt that OS/2 didn't do as well and Windows did was because Windows had applications that -- and features that people could use. It was useful for business.

And so, anything that brings to the operating system the features that people want, enhances their ability to stay on that operating system.

THE COURT: So, therefore, in the short run, at least, by withdrawing the API's, Microsoft was hurting it's own product and perhaps reducing its market share?

THE WITNESS: That was confusing to me, because that's exactly how I saw that.

THE COURT: Okay. Thank you.

314

I'll take a short recess. And, incidentally -- thank you very much.

In terms of that deposition, I absolutely -- I think I agree with Novell. I certainly did until I read the rule that the counter designations should not be read, but now that I've read the rule, it's not quite just context. It is -- I'm supposed to let in -- that, in fairness, should be considered with the party introduced.

That's a slightly broader standard than I thought it was, which was going to understanding the question. One could say: Look, it's fair. We're talking about the same document. It's just different parts of the same document, and, in fairness, everything that was asked about that document should be asked. Also fairness as to the Micro issue of fairness.

The macro issue of fairness is, I have obviously -- over Mr. Tulchin's understandable objection, I will have Novell -- and I think appropriately -- sort of put things in at different times. And I posponed Mr. Taskier and keeping him from reading those wonderful findings. I have allowed the deposition to -- the video to be given at different times. I think that's the right decision. In terms of macro fairness, rather than bringing this in truncated fashion, that was -- if it was related to the document being asked about -- it's not totally unrelated -- and since I'm allowing

315

testimony to try to come in in an untruncated fashion, my preference would be -- I haven't ruled yet, but my preference would be to allow that portion designated by Microsoft to come in.

So if you all will talk about it. And I understand exactly where Novell is coming from on that, but the standards are slightly different than I thought, and one could even just say, just looking at the document, this is part of the document. In fairness, it all should be read.

Frankly, more important -- at least important is the fact -- the way I am not allowing evidence to be presented in a non-truncated fashion. So just take that into account and talk about it at the end of the day.

(Short recess.)

316

THE COURT: Let's get the jury.

(Whereupon, the jury returned to the court proceedings.)

THE COURT: Mr. Johnson?

MR. JOHNSON: Thank you, Your Honor.

Q. BY MR. JOHNSON: Mr. Harral, when we broke, we were looking at Plaintiff's Exhibit 181, which was the computerease about all of these APIs involving the NameSpace extensions.

Can you tell me, Mr. Harral, did this document provide WordPerfect with full documentation regarding the NameSpace extension functionality?

A. It would not.

Q. And how do you know that this document provided only partial documentation for the NameSpace extension API?

A. As I mentioned before, you have what the machine needs to know, which is this document. The computer can't infer how I want to use things or what my --the intended outcome is. So that's, you know, that's what we call semantics of the process. It's the intent. And so the person who's developing their software, they would need additional documentation that would describe how these computer definitions are meant to be used. There will be edge cases where you could try and use them, and it may not behave in ways that are predictable with the rest of the system. And so those nuances or differences would be documented.

317

There would also be samples of how to use them, and there would be -- and recommended ways in which they would use, as well. And I'm speaking from documentation that we had seen in the past, that I had seen in the past from both IBM and Microsoft on programming interfaces for other systems and party systems.

Q. Did you have any conversations with anyone at Microsoft about providing the full documentation?

A. Yes, we did. Well, there was the meeting that we had where we asked about having both this and the full documentation. We also -- at the conference there was discussed that the documentation would be forthcoming when we received the M6 beta. And as a member of Premier Support, I had opportunity to talk with representatives at Microsoft and would have also asked what the update would be on getting the information along with other issues that we would be asking them about at the time.

Q. And based on those conversations, did you have any understanding of when WordPerfect could expect to receive a complete documentation?

A. The next beta would have been the time that we were told that we could receive that.

Q. Let's focus in on the time period before you received the documentation, Exhibit 181. Was the shared code team doing anything in anticipation of receiving this

318

documentation?

A. Yes.

Q. And what were you doing?

A. We were -- because we had been tasked to move the shared code as we were for any installation, we were going over the documentation we had, and we were moving the shared code in anticipation of WordPerfect and presentations of our graphical product and word processing product to move over to Windows 95. We would also be talking with the other groups about the Quickfinder, the spell checker and thesaurus. We would be working with all of those groups to find out what their time frames were to be able to deliver things so that shared code, we would know how much of shared code would be there when the applications were moving.

Q. Would there be -- would there have been any work going on prior to receiving this documentation with respect to WordPerfect's file open dialog?

A. Well, yes. First of all, we were working from an existing code base. And so we already had a Windows file open dialog, even though we're not talking -- even though I'm not talking about how it's presented, the fact of how to connect to a network drive or how to preview a file, those are things that we were already working on because we knew that those components, those pieces would then be plugged into the graphical framework of Windows 95 once we got ahold of that.

319

Q. Now, after you received this documentation reflected in Plaintiff's Exhibit 181, can you describe generally to the jury what the shared code team was able to accomplish with it?

A. So we began a discussion with the other parts of the company that would provide features so that we could, we could then talk to them about details, about how they would interact with the shell and try in an architectural role, and we were having a discussion, how is your software going to move forward given this description now? It also gave us some of the detail that come, what are we going to have to provide to the shell, as we have this discussion about -- we could see that there were -- there were things, it's going to ask us where you want, you know, how much space do you need to display things? So there's this discussion of dealing with it, how we can work with it.

At the same time, we began working on the pieces that we contained inside the shared code with the file open and file save as. We were moving to hook these up into the shared code so that when people -- when the engines called the shared code they were getting Windows 95 features, and it would start to give the developers of the applications of the engines an accurate feel of how the product was going to behave in this new environment.

The other thing that we were then doing is we were

320

also having a discussion about, with the mail team, the document management team about, and other groups what they were going to provide as far as extensions of what they thought they could provide.

Q. And what, if anything, did this documentation add to that process that you're talking about?

A. It gave us the ability -- it gave us the ability to actually not just talk about but see how it behaved. So we were actually -- we were actually hooking in WordPerfect code and having -- or shared code and having it -- we could see how it behaved. So it wasn't just now -- we weren't just talking about how we think it should behave once you learn something about -- it's like if I want to learn about rock climbing, I can read books on it. But once I tried it the first time I have a whole set of questions because I am now smart enough to ask stupid questions about it.

And so it's the same thing with the APIs. Now that we could actually hook things in, we had, you know, a whole new set of questions. We were continuing down -- we were getting down to the details to be able to get us to the end to deliver us.

Q. When you talk about hooking things in, are you referring to hooking into the beta that have been provided by Microsoft?

A. Yes.

321

Q. And for how long did you get in that process?

A. For the shared code or for everything?

Q. Shared code.

A. For shared code we were about 80 percent of the way through -- well, in that process to what point?

Q. Let's talk up to October of 1994.

A. We were about 80 percent of the way through hooking up the shared code pieces into the Windows 95 system.

Q. What, if anything, was holding you back from completing the shared code portion of the development?

A. We -- we had a lot of information and experience with the file system. We were needing more information on the new pieces of Windows 95, the NameSpace that were provided we needed. Traditionally WordPerfect would try to present the network. Windows 95 had a way to present the network now, so we needed to have details on how that was behaving and how we could merge that with what people had already done or had -- or had expectation with the previous products. The recycle bin. Mostly the NameSpaces were the ones that we needed.

Also even in the regular file system when somebody says to copy something in the file open dialog box through the context menu, so right click on an item, we -- or deleting, there were things that we might keep track of, like the Quickfinder might want to know that that file is gone and then no longer need for us to tell you that it's not there when

322

it's not there.

So all of these things that we had in shared code we had to evaluate in terms of how the new code was acting so that we could represent accurately what our users expect from WordPerfect.

Q. Let me ask you, then, hypothetically speaking, if you had received the final documentation from Microsoft with respect to the NameSpace extension APIs, how long do you think it would have taken the shared code group to complete the process?

A. It probably would have been before December of that year.

Q. December of 1994?

A. '94.

Q. I think you may have answered this before. But do you recall approximately when WordPerfect merged with Novell?

A. It was in 1994. I don't remember the month. It was mid.

Q. Would that have been around the time that WordPerfect received the M6 beta?

A. Yeah. I think it was, because it was, the M6 was in the summer.

Q. You need to keep your voice up.

A. Sorry.

Q. That's all right. Did the merger affect your

323

day-to-day job as a software architect in any way?

A. The only impact it had was that there were a couple of meetings with Novell architects to see, one, how we could have shared code technology available to Novell, which would have been the same for any customer that we might be asked to do; and for us on the same side seeing if there were ways that we could in the future leverage Novell technologies and our products. There were only one or two meetings that I can recall with that. That was really the only impact that I had that was needed for that.

Q. To your knowledge, did the merger with Novell affect in any way the development schedule for the Windows 95 products you were working on?

A. No. The -- we had schedules beforehand. Novell was very -- was very hands off about that for -- they didn't want to disturb what was happening. And I've been involved with mergers for many companies, actually. And this was a very hands off kind of acquisition. They just wanted things -- they wanted to do what it was always doing, that was shipping product.

Q. Could you turn now to Plaintiff's Exhibit 369 in your binder. And, Mr. Harral, can you tell us what this document is?

A. Let me --

Q. Take your time.

324

A. Okay.

(Time lapse.)

THE WITNESS: This is the shell exploration and integration document for the applications for the suite for Windows 95 and WordPerfect.

Q. BY MR. JOHNSON: At the top of Page 1 you see a revision history there. As of September 30th, 1994, were you -- did you continue to be the lead architect for the shared code group?

A. I did.

Q. And who is Sid Cragun listed here with respect to these revisions?

A. He was the maintainer of the document. He was the shell integration developer for WordPerfect word processor.

Q. Was he part of the shared code team?

A. He was not.

Q. If you'll look at the next page of this document, Bates stamp ending 715. And it says, these requirements were formally reviewed as follows. And down this list there's three meetings, August 31, September 23 and September 30. Were you an attendee at these requirements meetings?

A. Yes, I was.

Q. And do you recall attending these meetings in the summer/fall in 1994?

A. I remember some of these meetings, yes.

325

Q. There's a lot of large number of attendees at these various meetings. Can you tell us generally what product groups are represented here by the attendees?

A. So I see representatives from the printing group, Leonard Shoell. I see a representative from the WordPerfect mail product, and people from WordPerfect, from shared code, Bryce Pool, that would be writing tools. And there's also upper management in some of the later meetings.

Q. Well, why was shared code at a meeting dealing with those products?

A. Because we had already had significant work done in the shell extensions. We were bringing together those shell extensions. So the applications, when they got to the point where they had their -- the engine working, then the question came to, okay, how do we do the other piece now that we can edit a document? How do we do the things that we promised in the first wave of making sure that we have shell integration and property pages that say, this is a word printed document, here's who types it, and making sure that our program is behaving the way it -- so the applications wanted a forum that would be unified so that they were all understanding the same way that they were going to do it. And this document was the means of being able to get that forum to happen so that everybody understood the same way that the applications would evolve.

326

Q. All right. So what shell integration, if any, was the word processing WordPerfect doing?

A. It would have been interested in the property sheets for the files. And it would be interested in knowing that the other shell extensions that it might rely upon like the document management system, et cetera, were going to be there. But there wouldn't be anything more that they would need to do for that because it would share a code that had already provided the means of accessing that.

Q. So the shell integration being talked about in this document with respect to WordPerfect, the word processer --

A. Uh-huh (affirmative).

Q. -- did that have anything to do with the NameSpace extension APIs?

A. I don't know anything that WordPerfect word processor needed to do for a NameSpace extension. They did have shell extensions, but I don't recall a NameSpace extension that they needed to do.

And there could be other -- there were other parts represented here, too, and I would have to look at each one of them. But that one didn't need anything, that I know of.

Q. You previously testified that you were one of the liaisons for WordPerfect with Microsoft Premier Support?

A. Yes.

Q. And did that continue when you merged with Novell?

327

A. It did.

Q. You may have touched upon this earlier, but can you describe again how Premier Support works?

MR. TULCHIN: Is this present tense, Your Honor, or meant to refer to that period?

THE COURT: I think it was present tense, but I'm sure it was meant to refer back then.

MR. TULCHIN: Thank you, Your Honor.

MR. JOHNSON: It was, Your Honor. Thanks.

THE WITNESS: So in Premier Support at Microsoft, we would have access to a representative that as we had technical concerns or maybe other concerns, like how we were supposed to behave under a certain circumstance in WordPerfect -- or WordPerfect would behave or some other application.

As issues came up inside of WordPerfect Corporation or Novell, one of the three, there were three people who were designated as support people, they would hold that conference basically with the people from Microsoft and work out -- they were there to help so that products could move forward. And they could work out any issues that they had.

So at WordPerfect there were about 1200 people in the software division. I had responsibility for about 400 people that would raise questions in Windows. The reason they selected me for being a Premier Support liaison is that I

328

had a lot more experience in graphical operating systems across different platforms. And I actually spent a lot of time, being in Windows before, I had spent a lot of time keeping up with the technologies, so requests would come to me, so that -- so that Microsoft engineers would concentrate on the issues that were very important to us. Usually 9 out of 10 of the issues that came to me I would answer or I would find somebody in the company to answer. And so only the ones that -- so they knew that when we talked to them, only the ones that were really difficult were the ones that we were trying to consume our time with. And that's kind of the role that I had with them.

Q. BY MR. JOHNSON: All right. Did you ever talk to Premier Support about the NameSpace extension functionality?

A. I did.

Q. Do you recall when you first spoke with Premier Support about this functionality? And we can put a time frame on it. Did you talk to Premier Support about this functionality prior to receiving the M6 beta?

A. I did not -- did I talk to them about it prior to receiving the M6 beta? There wouldn't have been any discussion with them prior about the beta except for probing for information on the extension. When we got M6, that we finally got the information that we had been told that we would have somebody compile against, build our code against.

329

So there would have been only small queries about having the documentation so we could proceed and hook in what we had already been working on.

Q. And how about after you received the M6 beta? Did you have conversation with Premier Support after about the NameSpace extension functionality?

A. Yes. Because of the lack -- we were not as concerned about the lack of documentation over a short period of time because having -- that was part of the reason for the Premier Support. In the past I had -- when we had things that needed clarification from Microsoft, we would call them, and sometimes they would get the developers who had actually worked on the Windows features together with us so that we could talk directly.

I remember one time that I spent a lot of time working on the presentation of menus. That was one of the -- as well as an architect, we had our own features that we worked on, as well. And I was working on menus, and the liaison that I had at the time I was discussing with the developer of Microsoft the things I was trying to solve. My Premier Support liaison said, this is really interesting to me. And he says, I'm taking notes on this.

And later on, he published an article in Microsoft Systems Journal. And so it was really neat that the liaisons were also a means of disseminating a lot of information about

330

how to solve problems in the operating system.

And so that was -- after we had M6 we were not too concerned over the short-term because we had this access to Premier Support where we could engage them and try and solve any immediate issues that we had until we had the documentation.

Q. Can you give us any kind of estimate for how many times you personally spoke with Premier Support regarding the NameSpace extension functionality prior to October of '99 -- 1994?

A. I remember three times because I wasn't the only liaison. But I remember three times.

Q. Were other liaisons to your knowledge having similar conversations?

A. Yes. Especially one of the liaisons would have been, was in the WordPerfect mail group, Lynn Monson, and he was also a liaison. And the WordPerfect mail group was very, very interested in the extensions, as well. I know that he was having conversations with them.

Q. Prior to the launch of Windows 95, which occurred in August of 1995, did Microsoft ever provide the full documentation with the NameSpace extensions to Novell?

A. No, they did not.

Q. When did you find out, if you did, that the NameSpace extension functionality which was, had been

331

partially provided in the M6 beta would no longer be provided by Microsoft?

A. I found out on a call to Microsoft to the Premier Support in around the October time frame. I -- we were -- we had a couple of issues that we needed clarification on, and one of them had to do with our file open dialog and some of the NameSpaces. And we approached Premier Support and asked the question, and they told us that the NameSpace extensions and what we were asking about was no longer something that they could discuss through Premier Support at Microsoft.

Q. Let me show you what has been marked Plaintiff's Exhibit 227, which is in the binder in front of you. Can you tell us what this document is?

A. This is the same terse document that we were looking at before. But it's from the next release of the beta.

Q. That would have been the M7 release?

A. I think it's the M7 release because it says at the top it's for the 10-28-1994.

Q. And did you review this documentation when it was provided by Microsoft?

A. Yes, we did. I did.

Q. And did this documentation provide the full documentation that Microsoft had told you would be coming in M7?

332

A. It did not. It, in fact -- some of the pieces that we had had been removed from it.

Q. What do you mean some of the pieces had been removed from it?

A. The ability for us to present our NameSpaces to Windows 95 shell for it to negotiate where we were going to place our NameSpace items, being able to store what the user did when they interacted with our NameSpace and being able to enhance the common dialogs were all missing.

Q. And can you with reference to this document -- and this may be too difficult. But with reference to the document, can you tell us what had been taken away in terms of the APIs we had been discussing earlier?

A. So I guess in terms of what -- what was impacted?

Q. Yes.

A. Okay. So shared code would no longer be able to use the Windows 95 common dialogs to provide the features for all of the products that we were providing for and for the third-party people that were also licensing the technology. We would not have the ability to integrate the e-mail product, the image browser for showing graphics from our presentation product into the -- into the shell so everybody, everybody who would have lived in the shell would not have access to our features like they had in our -- in our file open dialog and places that we had inside of our product. And so if people

333

were living outside, they wouldn't gain the advantage. If they were living inside, they would have those things.

But also because you couldn't provide the common dialogs the other question is, then, that also put at risk us being able to talk to Windows 95's regular shell extensions that it provided.

So now the question was, how do I get the recycle bin to show up? It's not just a directory. It's actually a place across multiple places. Am I going to have to rewrite the recycle bin and duplicate exactly what it does? Network neighborhood was a bringing together of all the networks. And now if I have -- I have code and shared code that can talk to a network, but how do I present those networks? How do I know what ones even the user has access to because all of that is already defined in the shell in that NameSpace. So I've got to go talk to that NameSpace to be able to represent the same view that they have out of the shell in my product.

And so we had a twofold problem. One was we couldn't expose what we had out to the customers who had lived in the shell; and we were having a problem getting all the new Windows 95 pieces from the shell into our product. And we became an either/or kind of world.

Q. During Microsoft's opening in this case to the jury, Microsoft's lawyer describes -- described the NameSpace extension APIs, as quote, four little APIs, close quote, out

334

of approximately 2500 APIs within Windows 95. You've heard this stated that the NameSpace extension APIs were, quote, just a very small piece of what the operating system was being written to provide to companies like Novell, close quote.

Do you agree with Microsoft's lawyer that the NameSpace extension APIs were just four little APIs?

A. No; because when we were looking through the APIs before, we talked about -- I pointed out initialize shell extension. That's how you start up something that wants to live in the shell. It's one API. If you remove that, there would be no way to start up a shell, okay. So there are different weights to the importance of things.

We're not talking about changing the color that's the background of a picture, you know, of a little image on a desktop here. The browser APIs stopped anybody from finding a place to put things on the shell. The view APIs stop them from showing anything from the shell. The common dialog APIs stopped them from getting at those things in the common dialog and adding things for people beyond what the shell provided. And the persist just made sure they couldn't -- even if they could do that, they wouldn't be able to save it so that the user would have that same consistent view from one time to the next.

Those were -- the four removed APIs, that's the impact that we saw in removing those four little APIs. You

335

can do something to my house, but if the thing you decide to do is remove the door and close it up, that's a pretty significant thing to do to your house.

Q. How long have you worked as a software engineer?

A. 31 years.

Q. In your 31 years, have you ever experienced an operating system vendor remove a major feature from a published beta?

A. No. The designation of beta in the software industry is that it is for ferreting out problems to be fixed, not for changes in the features. That's what alpha is for. So no.

Q. In your opinion, based upon your 31 years of experience in the software industry, would the removal of a major feature from a published data be an extraordinary event?

MR. TULCHIN: Objection, Your Honor. He's not qualified as an expert, and he shouldn't be asked for this sort of opinion testimony.

MR. JOHNSON: He's got 31 years of experience in this industry, Your Honor.

THE COURT: Based on your experience. Overruled.

Q. BY MR. JOHNSON: Go ahead, Mr. Harral.

THE COURT: You can answer it.

THE WITNESS: Okay. Say it again. Sorry.

MR. JOHNSON: Sure.

336

THE COURT: And there'll be an objection at the end, but it's overruled.

THE WITNESS: Okay. That's fine.

Q. BY MR. JOHNSON: In your opinion, Mr. Harral, based on your 31 years of experience in the software industry, would an operating system vendor removing a major feature from a published beta be an extraordinary event?

A. It would. May I speak to why I feel that way?

Q. Why?

A. Okay. One -- as an example, one of the things that I had occasion to do with IBM is that they were also thinking about removing APIs from the OS2 operating system. And they selected a half dozen people from across the industry to come in and counsel with them on what APIs should be removed so they could reduce the size of OS2 and make browser smaller computers. As we went into that and started talking about what we could remove, they started to go through the list. And even though they pared out a small portion of them to try and remove it, they realized that the impact and the perceived impact of their industry was so great that they did not dare do it. And so instead, what they did is -- so that's one approach which they could do. They could just remove some things and cut it out and say, okay, this is our light version.

But what they decided instead is that was so

337

unacceptable that they tasked a brand-new team, and they went back in and rewrote the operating system to remove it so that it would be smaller. That was how damaging they felt it was to try and remove APIs. And so they tasked an entire team to go back and fix that problem.

MR. TULCHIN: Your Honor, I move to strike the extensive testimony about what IBM was thinking and what IBM was feeling.

MR. JOHNSON: Your Honor, it was based on his personal knowledge.

THE COURT: I don't see how he can because he didn't work for IBM.

Or did you? Were you at IBM at the time?

THE WITNESS: I was at WordPerfect, and they had us working with them to decide whether or not to do this or not. And so this is what they told us.

THE COURT: Sustained.

Q. BY MR. JOHNSON: Based upon your 31 years of experience in the software industry, Mr. Harral, an operating system vendor publishes an API and provides you a code and beta release, what does that mean to you, if anything, with regard to your expectation that the APIs will continue to be supported above now and in the future?

A. So the answer is because it's a beta that they have decided and they have already talked with their main partners

338

that this is what needs to be there --

MR. TULCHIN: Same objection, Your Honor, to what they have decided. Again, the witness is just --

THE COURT: The problem is, just make sure --

THE WITNESS: I'm sorry.

THE COURT: I know you know because what they told you. The problem is in court unless they're here, what they told you I just can't let in because it's for the truth of what was said. It's a legal issue. It's nothing wrong with you. But that's the problem.

THE WITNESS: Okay.

THE COURT: So if you were told something, for some purposes it is admissible. But it's not admissible for like IBM did this because of this. They have to be here to answer that.

THE WITNESS: Okay. Okay.

Q. BY MR. JOHNSON: If you could give us your understanding based upon what you know from 31 years of experience.

A. Okay. All right. So in dealing with betas for operating systems for Apple, for Microsoft, for billings, when we are given a beta, that is because that's what they intend for us to build our application on. We are on a schedule. We have made commitments to companies that we are going to provide them with things that they do, you know, that they run

339

their business on. And we also have vendors who are going to sell our products, and they're going to start marketing campaigns months in advance, you know, in the event of these things coming out.

And so we rely very heavily, that is why in the software industry it's termed beta, is because the state of the software development is that this is what people are going to rely on. This is what people are going to make marketing decisions upon and company purchase decisions based upon.

So it's a -- I know that between the releases of operating systems that what is provided might evolve. But that's what different versions of operating systems are for, is you evolve it. That's why you release a different version of it. You're saying things have changed. That's not the practice for a beta.

Q. Did Microsoft ever inform you why they decided to de-document this functionality?

A. I was never informed why by them.

Q. Did you have any understanding of why they did that at all?

A. I guess the answer is that I was never given a reason by them why.

Q. In your opinion, was there anything incomplete about these APIs?

MR. TULCHIN: Same objection, Your Honor. Again

340

he's not an expert and hasn't been qualified.

THE COURT: From his perspective. He worked with the APIs.

You know, from your perspective, would you have been able to work with them?

THE WITNESS: Was I able to work with them for what I was needing to do? No.

Q. BY MR. JOHNSON: Okay. Microsoft's lawyer said in its opening that there were three reasons why Microsoft and Mr. Gates in particular chose to withdraw the NameSpace extension APIs. The first reason -- could we put that up? The first reason proffered by Microsoft lawyer was a program written to use those APIs could potentially crash the whole shell.

Based upon your years of experience as a software developer, do you believe that reason justifies Microsoft's decision to de-document the NameSpace extension functionality?

MR. TULCHIN: Same objection.

THE COURT: I'll overrule that, also. That's a call for Microsoft to make.

MR. TULCHIN: I'm sorry, Your Honor?

MR. JOHNSON: I'm sorry?

THE COURT: It's overruled, because as far as I'm concerned, that is a decision for Microsoft to make, not for him to make. I don't care whether he's an expert or whatever,

341

but Microsoft decides that. You know, it's crazy, but if you want a real expert in there just saying it makes no sense, that's one thing. But the way the question was phrased, the objection is sustained.

MR. JOHNSON: Thank you, Your Honor.

Q. BY MR. JOHNSON: Faced with Microsoft's decision to de-document the NameSpace extension functionality, what options, if any, did Novell have for continuing to develop its products for Windows 95?

A. One option would be to continue to use the documentation that we had for the APIs and be relied upon our ability to ferret out all of the issues we would have had help from their support to do. So basically we could do it on our own with something that we were told we shouldn't be using. That was one option.

The second option would be to see if we could somehow fit within the framework that they had given us and reduce functionality. And then there would be the question of the impact to our customers, if those changes would be viewed as inconsequential or if they would be significant or even dire.

The third option we had was to try and recreate what was missing or what we yet did not have access to. That could -- that would be a significant commitment in resources and a dangerous way to go and would probably be our least

342

favorite choice, because as the -- as the operating system nears its release, there are things that they would fix at Microsoft in the product before it released. There are -- there were really -- there were NameSpaces in the product already. And if we were going to -- as the slide from Microsoft said, if we were going to exactly reproduce the abilities and functionality of the NameSpace then any change that happened we would be reacting to at WordPerfect so that we could release, it would be -- it would be a difficult thing clear up to the day of release to make sure we had everything we possibly could get in.

We did know, however, that no matter what option we took we wanted this going forward. And we were going to write our system based upon the definitions that they had given us. So even if I -- we went through all the computerease for talking to these libraries, the shell. If we didn't want to rewrite our product once they did document them because we had written our own to make it -- because we could make it look exactly like potentially, but that didn't mean it had to be exactly like underneath. And if we decided later that we were going to move to what they documented, we could force an entire rewrite of most of the shared code to be able to come into compliance with that documentation.

And so in order to minimize that, what we would do then is we were going to -- we would have to look at what they

343

had -- what Microsoft had given us in the beta, and we were going to have to -- if we wrote our own system we not only had to mimic what people saw on the outside, we had to mimic what was happening on the other side. So at that point we were almost literally rewriting every access point into that system. So that would be the most undesirable of the three options that I mentioned.

Q. So what did Novell decide to do?

A. The first option that they decided to do was to use the APIs and try to explore -- use what was there and try to build that up. We had access to the NameSpaces, and we -- if we had leverage -- if we could leverage the existing code, then we could provide the functionality that the operating system gave us, we could maybe back off on some of the NameSpaces and present them as installed folders. But the key issue for the shared code group -- I can't speak for the other parts of WordPerfect that were providing their own parts. It was their decision, as well, what they thought was the best way to do this. But for the shared code group, trying to build a file open dialog on top of what we already knew about the NameSpace, because if Microsoft were to rewrite that, that would cause them to have to go through more testing. If you understand the software development process, if you're going to change things you're going to revalidate your testing, you're going to have to go back and revalidate that. So that

344

didn't seem like a likely avenue for them to go on.

The question would be, could we get access to the NameSpaces and represent them in our system appropriately so that -- so that when people saw our file open dialog they didn't feel like it was missing all the Windows 95 systems that were present. And so that's the approach that we originally took.

Q. And how did that work out?

A. We found that as we went down that road that it was difficult through Premier Support to get help on the shell in general. And so -- because icon text menu is documented. But when we asked, how is the -- how do we invoke this feature in the shell? If I get on the menu and it says map and drive, how do I invoke this? Or what's supposed to happen here? That's not a documented APIs, but there was no explanation forthcoming.

So we were -- because of the trepidation around whether you should be talking about the shell or not, our interaction with Premier Support was that they were starting to give us less and less information about the shell in general. And so at that point we realized that we really could not continue trying to explore the NameSpaces because we were not going to -- even on documented APIs we were not getting the level of help and it was diminishing, so we were going to have to move to something else.

345

Q. I want to make sure we understand this right. You were calling Premier Support and seeking information on this shell with respect to documented NameSpaces -- documented APIs, excuse me.

A. Documented APIs.

Q. And what was the response?

A. They were not providing the answers that -- or the answers about things like they had in the past, so we were getting less and less help.

Q. And that's with respect to the entire shell?

A. The entire shell.

Q. So what did you do at that point?

A. So, okay. So always, whenever we had -- when we came up to what we thought was an intractable problem, we always came back and said, okay, do we now know enough about the common dialog so we could use them and try to work it some way? So that issue always came up on the table every time we looked at it. And in talking with our customers, you know, losing features that they had used for 10 years was not going to be an option. If we -- they bought our product because of the enhanced things that we gave them in file management. And the concept of where you live was a big deal to them.

And so we looked at that option and again discarded it. And at that point we said, okay, what would it take for us to -- we have network code. We have -- we know where -- we

346

know where the recycle bin is at. Is there some way, then, that we can imitate the NameSpace inside of what we're doing so that we can give that same view in our file open dialog would look, like I said look exactly like the common dialogs?

Q. And you've heard the term reverse engineering?

A. Yes, I have.

Q. And was this a form of an attempt at reverse engineering?

A. Yes, it is; because we have to act exactly like it by their -- by them telling us we had to. If we were -- they said it. If we were to reproduce it, we had to act exactly like it.

Q. And how long -- I think you testified earlier that was the least attractive of the options. How long did it take?

A. For the file open dialog? Okay. It took the shared code group, once we made that decision, it was almost a year.

Q. Microsoft said during its opening that, quote, there were alternative ways that Novell could have gotten the same functionality that the NameSpace extension APIs would have given them, close quote.

Have you ever heard of something called CHICOAPP?

A. I have heard of it.

Q. Could you turn to Defendant's Exhibit 134.

347

Mr. Harral, have you seen this document before?

A. Hold on.

Q. Sure.

(Time lapse.)

THE WITNESS: Yes, I have this document before.

Q. BY MR. JOHNSON: Can you tell the jury what this document is?

A. This is a sample that was published through the Microsoft developer network to demonstrate how you might put a tree view up and tie it to a list view and tie the two together.

Q. And is that what CHICOAPP was?

A. I have never run CHICOAPP, so in the reading of the documentation that's what I understand it to be.

Q. And based upon the documentation that you reviewed, would that be a substitute for the NameSpace extension APIs?

A. No. The NameSpace -- there is a difference between window dressing and file management. If I buy a fender kit and screw a jaguar on the front of my car it's not going to make it go from zero to 60 in four seconds.

In file open, we in shared code didn't just control file open dialog, save as dialog. We controlled all of the file operations of WordPerfect. The shell in Windows 95 had the -- had a knowledge of certain document formats, and it could detect them, and they had property sheets that were

348

already available for those formats. We were planning on and had done implementation to write our document out in some of those formats that were native on Windows 95. We were using the shell to -- because it had the implementation -- if you want -- I talked about how you can see the object in the program and can touch the object. Just because I can display something that looks like a shell doesn't mean I'm touching the object. If I wanted -- I can see that there's a graphic there, I can't tell it to bring back the information that is behind that item then I can't get it. It does no good to show it and not do anything with it.

CHICOAPP is saying that here's a tree and here's a view, and you can put them together and you can put up menus, and here's how you put up menus. But it's not tied to the NameSpaces. If there had been a sample there to show me how to talk to the NameSpace and put it in that app, then that would have been comparable. But it's just window dressing from our perspective.

Q. Did you continue to seek the assistance of Premier Support on any of these issues?

A. I know that there were efforts that were through management to resolve the issue. I do know that the other liaisons with Premier Support also -- as I said, the mail product was even more frustrated because they, unlike shared code where we're bringing in answers and pieces, they were

349

talking about putting up their whole applications through this shell extension -- shell case mechanism. So they were much more animated as I talked to the Premier Support liaison with them.

So there were efforts. I did not have many more opportunities to interact with them on it because we were so entrenched in trying to reproduce this functionality.

Q. And what kinds of resources did you bring to the task within shared code?

A. Well, shared code, there were different teams on shared code for pre-scripting. They had a team that interfaced with printing. They had a team that worked on all of the file system, file open, file save as. They had another team that worked on internationalization and menus and keyboards.

In the beginning we -- in 1994 October, we had, the developer had moved us 80-percent there. He was -- he first was looking at the -- trying to move. And then in January we are now trying to move to a reproduction mode of trying to reproduce all of this. At that point, we start reassigning people because other people are freeing up. They've completed their tasks, and we're still -- we have not -- we're trying to reproduce the NameSpaces and assign one person to each of the NameSpaces. One person for the recycle bin, one person for network neighborhood, one person for briefcase, trying to

350

split the problem up so we can move through it as quickly as possible. The harder problem is without access to the file system, being able to open up the files, because in Windows 95 you could open up what is called a DOC file, which is the, which is similar format to what Word uses. And it's a standard format that Windows 95 recognizes.

So WordPerfect, also one of the commitments we had made is that we were, to our customers is that we were going to allow for our documents to either be saved in our old Windows or old WordPerfect format or to save it in the new DOC file format in Windows 95. So by not having access in the shell to touch those objects and open them up and do things, we were now having to rewrite all the file maintenance functionality of being able to interact with those files. And so we had actually -- we had a person originally and then two people assigned to that task in an effort to try and move this forward. And this was originally not a big deal for the applications because they could still use the WordPerfect file format. I mean, it had the dialog 80 percent of the way. So as long as they opened files on the C drive, they were able to operate.

But as it got closer to the release time and we weren't able to bring in the outlying issues of, can I get to -- can I get to the recycle bin? Can I get to network neighborhood adequately and represent it? These are not --

351

all of a sudden these things that were ancillary. These are the last things that are available, and they're holding it up, holding up the product.

Q. In your opinion would more resources have translated into an earlier release date?

A. No. It would have led it even more.

Q. Why do you say that?

A. Because in the shared code group we already did what's called cross training. So we already had people -- you assign somebody as an expert to a particular area, and you cross-train somebody else so that if somebody wants to go on vacation you let them. And the person who then is cross-trained, they then can come in and they can maintain and take up the slack where there -- that's made by the person who is missing.

And at the same time, the shared code group was, as I said before, I would go around and visit with people. We were all in the habit of working on and jumping in as people needed. So we all had familiarity with each other's projects. We had a -- we had established a common coding style so that when we looked at each other's code we could easily ascertain what was going on. In fact, we had an instance where somebody had left our team, and we had him -- and I had left the team and we had come back together. It was four years later, and I could still read his code just because his coding style was

352

the same. It was the one that we had always used.

So we had the discipline in place to be able to handle this. The problem you have is when you bring people who are not -- so we could all jump in. In fact, we ended up eventually with six of the people working on different aspects of just the file system trying to get through this problem. So that's half of our team.

The problem is that if you bring in somebody to train, you aren't doing your work. You've got to train them. So usually if you've got one more person in there that you're training, you've gone down, you're lucky if you've gone down to three-quarters productive. If you bring two people in to train, you go from three quarters to nothing, because you're spending all the time -- because they're going to ask questions as they learn. So you've got to dump all that -- sorry -- dump all that information for them so that they can be productive. If we were to double the shared code team, it wouldn't have taken a year. It would take two.

THE COURT: It sounds like the summer associates program.

MR. JOHNSON: It does, Your Honor.

Q. BY MR. JOHNSON: You mentioned vacations in that answer. Were any vacations being taken during this period?

A. I can only speak for myself and my teammates. And the answer is no. I can't speak for everybody.

353

Q. Is it fair to say you were working around the clock?

A. We had -- I had weeks where I was working -- I was 110 hours in that week. There were two weeks that that happened. 80 hours was common.

Q. Microsoft said in its opening, quote, at the time Novell never complained about Mr. Gates' decision to withdraw the NameSpace extension APIs, close quote.

Is that true, Mr. Harral, that you never complained to Microsoft?

A. I complained to Premier Support, and that's the avenue that I had. There were other people who had access. And my manager said that they had complained, but I can't speak --

MR. TULCHIN: Objection, Your Honor, hearsay again.

THE COURT: That's sustained.

Q. BY MR. JOHNSON: Just with respect to you.

A. Just with respect to me, I talked to Premier Support about that. Well, and we talked -- actually when we had the M7 conference, we also raised that at the conference, too, with people there.

Q. The what conference?

A. The M7 conference, when the APIs were first removed, we complained then, as well.

Q. So there was a conference devoted to M7?

354

A. No. But we had a discussion with them about it when we got the beta. Conference is, whether it's a public conference for everybody or whether it's one that's called privately by Microsoft and some company, they would, Microsoft would come out, that I know of, at least twice a year that we would have them on our premises.

Q. Did Microsoft's decision to withdraw the NameSpace extensions affect the functionality that Novell and ultimately Corel was able to provide in these products?

A. I've said this before. From an architectural perspective and from what I worked on, we released a product for Windows 98, which was the next version of Windows. The version that we released for Windows 98 was the version of the part that we envisioned that we would release on Windows 95.

Q. To your knowledge, Mr. Harral, did Microsoft ever publish full documentation for the NameSpace extensions?

A. I know of documentation that was published for the NameSpace extensions.

Q. And can you tell us approximately when that occurred?

A. My recollection is sometime mid '96.

Q. Could you turn to Exhibit 355, Plaintiff's Exhibit 355.

Have you seen this document before?

A. I have.

355

Q. Can you, please, tell the jury what this document is?

A. This is a document that I know of where the NameSpace extensions are being published.

Q. Did you review this document when Microsoft published it apparently in July of 1996, according to the document?

A. I did review this document.

Q. To your knowledge, did this documentation change the functionality of the NameSpace extensions in any way?

A. Being that I only had access to the computer version of the application program and the interfaces from what is represented here and those documentations, we could not find any differences in them.

Q. Did this documentation coming out in July of 1996, almost a year after Windows 95 was released, did this documentation affect your development efforts to produce a suite for Windows 95?

A. Yes.

Q. How so?

A. Because we had planned to use the APIs we knew about in -- I guess that's the best indication that things had not changed, because we knew about the APIs back in M6, and we had tried to meticulously recreate them, we were able to quickly switch over and use the documentation to tap into what

356

was inside of the shell instead of using our own implementation.

Q. And this would have affected later versions of WordPerfect that were being produced by Corel?

A. Every version after that would have been using -- would have been written on top of the shell and anything we did in shared code, and all the other products, as well. All of them going forward would have done that.

Q. And all these products going forward would have used these NameSpace extensions after Microsoft de-documented them in '94 and then republished them in '96?

A. Yes.

MR. JOHNSON: Do you want me to continue, Your Honor?

THE COURT: How much longer do you have before you finish the direct? It would be great if we finish the direct.

MR. JOHNSON: It could take a while.

THE COURT: We won't finish the direct.

Have a very nice weekend. This is the time when it's very hard not to talk about the case when you've devoted a lot of time to it. You're going to be out with family and friends over the weekend, over the extended weekend. They're going to say, hey, I understand. You're perfectly okay to say I told you don't talk about the case to anybody, okay?

Have a great day. See you at 8 o'clock on Monday

357

morning, and I'll stay with counsel.

(Whereupon, the jury left the court proceedings.)

THE COURT: Mr. Johnson, if you want to be heard. I'm not sure how pertinent that matter is in the --

MR. JOHNSON: Your Honor, we withdraw our objection. If I want to make that extra -- frankly, we're trying to keep the amount of stuff --

THE COURT: I appreciate that.

MR. JOHNSON: -- to give to the jury. These videos are long.

THE COURT: I understand. And it was perfectly --

MR. JOHNSON: And sometimes rather boring.

THE COURT: It was a perfectly appropriate objection under the circumstances. I actually came in deciding the other way, and I thought I better read the rule, and that's when I changed my mind.

MR. JOHNSON: And where we really get, we think it's a little more important to focus on is when it's the deposition of somebody that they're going to bring in live, anyway.

THE COURT: Absolutely.

MR. JOHNSON: And in that case, I think there's just no reason to have additional --

THE COURT: I understand. And I'm sure they'll be reasonable about that.

358

MR. JOHNSON: Let's hope so, Your Honor. Thank you.

THE COURT: Anything else we should prepare for for Monday?

MR. JOHNSON: Have a wonderful weekend, Your Honor.

THE COURT: You all come back here with me.

MR. TULCHIN: Thank you, Your Honor. Have a nice weekend.

THE COURT: Can you walk back with me?

MR. JOHNSON: Sure.

(Whereupon, the court proceedings were concluded.)
* * * * * I

359

STATE OF UTAH

ss.

COUNTY OF SALT LAKE

I, KELLY BROWN HICKEN, do hereby certify that I am a certified court reporter for the State of Utah;

That as such reporter, I attended the hearing of the foregoing matter on October 20, 2011, and thereat reported in Stenotype all of the testimony and proceedings had, and caused said notes to be transcribed into typewriting; and the foregoing pages number from 317 through 359 constitute a full, true and correct report of the same.

That I am not of kin to any of the parties and have no interest in the outcome of the matter;

And hereby set my hand and seal, this ____ day of _________ 2007.

______________________________________
KELLY BROWN HICKEN, CSR, RPR, RMR

360


  View Printable Version


Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )