Before and AfterEffects
Patrick Junkroski writes, “I took a course in Premiere at AFI in 1994. One of the ‘goodies’ that came with the class was a floppy of a program called AfterEffects, which worked with Premiere more or less as a plug-in. It was in fact developed by a company called CoSA (Company of Science and Art), not Aldus. I don't believe Aldus ever had anything to do with AfterEffects, though I'm not positive about that.”
Rob Isaac explained further, “AfterEffects was not originally an Aldus product. It was developed and marketed by CoSA, and had a substantial following in the six months before Aldus bought the company and product. The CoSA team remained largely intact and independent within Aldus, and continued to develop new versions of the product.”
So Adobe's portfolio of design apps, just like Microsoft's Office and Apple's Pro Apps and iLife, have mixed together a suite of applications that were original developments and acquisitions. Maybe a family tree is in order.
Origins of Macrodobemedia Flashflexapollo
“FutureWave successfully sold the product themselves as a web development tool (via a Netscape Navigator plugin) from May 1996 until Macromedia purchased the product and company in December 1996. The Macromedia buyout came about in part because the product was being sold to high profile customers the two companies had in common.”
Apple gets Two Gems From Macromedia
Macromedia's distraction with Flash enabled Apple to obtain two key assets. One of course was Final Cut. As Nick del Castillo writes, it is somewhat ironic that Apple bought Final Cut from Macromedia primarily because Adobe couldn't commit to supporting Premiere on Mac OS X. Now Apple has two NLEs instead of zero.
He writes, “I really enjoyed your article about Quicktime, and all of your articles for that matter. One point I wanted to make about Premiere and Final Cut: I recall an interview with Steve Jobs discussing how Apple came to purchase Final Cut from Macromedia. He said that they specifically asked Adobe to make a version of Premiere for OS X, but they refused, so they had no other choice than to come up with an NLE on their own.
“My guess is that this happened at roughly the same time that Macromedia was leaving their Final Cut team high and dry. Good timing if you ask me! I couldn't find a reference for this, but I'm certain it was an interview with Jobs. He didn't mince any words.”
And the other find at Macromedia? Terry Schussler added, "I just read your recently posted articles on the Microsoft - QuickTime - Apple story. Having worked with Macromind, Macromedia, Apple throughout the late 80's and 90's, I can say that you have your details amazingly correct. I'm impressed. By the way, there are some interesting tidbits you could add such as that Phil Schiller worked as a product manager at Macromedia or that many of the principals of the SF Canyon Group were former Apple engineers."
The Story of FreeHand: the First Big Mac App for Mac OS X
The first major Mac app released for Mac OS X was Macromedia FreeHand. It demonstrated Apple’s new Aqua interface and helped to spur Carbonized development of existing creative Mac apps for the new Mac OS X.
Interestingly, FreeHand has a history that spans between Altsys, Aldus, Adobe, and Macromedia, and had even been among the first and few major apps ported to NeXTSTEP. That historical wrinkle had a complex role in its being ported to Mac OS X, as Scott Thompson describes:
"In 1993 I was hired at a company in Dallas called Altsys. Atsys handled the engineering and development of a couple of programs related to font technologies, the most well known being Fontographer, and FreeHand. Aldus--the names were similar phonetically but otherwise unrelated--handled the sales, marketing, and tech support for FreeHand. I believe they were the ones that actually owned the name FreeHand.
"In the end Altsys ended up suing Aldus for a return of all the rights to FreeHand. The basis for that suit, as I understand, was a clause in the contract between the two companies that said Aldus--now Adobe--couldn't handle any competing applications. Adobe already had Illustrator.
"If I remember correctly it went to federal court in Texas and the federal judge ruled that if Adobe owned PostScript, Illustrator, and FreeHand, they would have a virtual monopoly on the desktop illustration market. As a result, he ordered the rights to FreeHand and some associated collateral (like lists of customers) should revert to the ownership of Altsys.
"For several months we began gearing up our infrastructure at Altsys to handle FreeHand distribution ourselves. We had to do things like find product managers, ramp up our sales staff, etc. Then in around October of 1994 we were all called into a company meeting to meet Bud Colligan, CEO of Macromedia.
"Macromedia bought Altsys and FreeHand along with it as part of a strategy they were developing called the ‘Digital hub’ (more on that in a second). Now for the delicious irony parts:
"When Apple announced its Rhapsody strategy, I was investigating the idea of reviving the old NextStep code and continuing development of FreeHand based on that. It would have been an interesting task because the NeXT code hadn't been updated years, based roughly on FreeHand 4, while the Mac OS and Windows code bases had developed through versions 7, 8, and started on 9. There never was a FreeHand 6; it would have been the first version released by Macromedia, but we skipped a version for 'marketing reasons'.
"Second, FreeHand was the application I was invited to Carbonize prior to the 1998 WWDC, when the Mac OS X Carbon strategies were announced. It was one of the first commercial applications demonstrated as a Carbon Application at Seybold in 1998. It was also one of the first commercially available, professional Carbon Mac OS X native applications on the market.
"Third, the Macromedia 'digital hub' strategy included FreeHand as a drawing application, Sound Edit 16 for editing sound, FutureSplash (now Flash) and Dreamweaver for the web, and Director for CD authoring.
"Developing the Windows side was very difficult because the technology was new, it didn't have the features we needed all the time, and the differences between Video for Windows and QuickTime made it difficult to write effective frameworks. Eventually, the windows side of things fell apart, Microsoft withdrew their forthcoming multimedia framework and left that part of KeyGrip high and dry.
"The team then began retooling the Windows side to work with QuickTime. Macromedia was very disappointed with the setbacks that they had on KeyGrip. Eventually the digital hub strategy began to unravel as the Web took on more importance and the appeal of the other environments waned. Eventually KeyGrip was purchased by Apple, lock, stock, and developers. Today we call it "Final Cut Pro" and to a lesser extent... iMovie."
There and Back Again: An App's Tale
Getting the inside story on the development of FreeHand at Altsys, I had to ask: did the Mac OS X version of FreeHand use any portions of Virtuoso? Thompson answered: "Let me intentionally take your question at face value and 'not answer' your question before I answer it.
"You were speaking in the article about how Adobe set up their code so that they could share a common code base between Mac and Windows.
"Macromedia uses the same development scheme. FreeHand, for example, was composed of several different parts. We broadly classified them as Core and Edge. Core was cross platform code and handled much of the business logic of a drawing. It answered questions like: 'What is a bezier curve?' 'How is it positioned on the pasteboard?' 'What happens when I move one of the control handles?'
"The Edge side was platform specific parts, there were separate bodies of Edge code for Mac, Windows, and NeXT. The Edge code handled the user interface, drawing libraries (QuickDraw vs. GDI vs Quartz 2D) and that sort of thing.
"So in a very pedantic sense, Virtuoso did share some of the Core code that survived from the FreeHand 4/5 era through to the Mac OS X/FreeHand 9 era. However to answer your real question, the answer is no, FreeHand did not use any of the Edge code from Virtuoso.
"The Virtuoso code was so far removed, version-wise, from Cocoa that it would have been difficult to update it. I don't remember what version (or permutation of capitalization) of NextStep that Virtuoso used; I think it was 2.5 or something along those lines. I do remember, however, that it was before NeXT developed OpenStep and Cocoa evolved from that.
"At the same time, much of the common code had evolved as well, new features were added, things were shuffled around. The biggest change, however, was a move away from the preprocessor that gave us Objective-C like functionality to C++ in FreeHand 7-8. Based on that, even if the Virtuoso code were useful, it would have required a lot of work to modernize.
"Now, having said that, that doesn't mean that there was no sharing involved.
"After Altsys finished the development of FreeHand 3 (Mac and Windows) they had some bugs to fix and started working on FreeHand 3.1 in parallel with Virtuoso. When they got done with FreeHand 3.1 they wanted to move some of the work that had been done on Virtuoso to FreeHand 4 for Mac and Windows.
Porting NeXT Development Models to the Mac
"To replicate some of the UI advancements, they needed a UI framework on the Mac to serve as a counterpoint to the AppKit on NeXT. What they did was copy some design elements of the AppKit framework. While the code was implemented in terms of the Mac APIs and in our proprietary dialect of C, it was structured the same way that NSWindow and NSView sit in Cocoa today.
"So while Virtuoso and the Carbonized FreeHand didn't directly share any Edge code--they were, in fact, written in different languages, C++ vs. Objective-C--their user interface frameworks had a surprising amount in common, a fact which personally made it much easier for me to pick up Cocoa.
"The inspectors that are all the rage in Keynote and Pages? They look like the inspectors in FreeHand and some other Mac OS 7 era programs. In FreeHand's case this is because they were actually based on work done in NeXT. For example: compare HLS FreeHand's color mixer with the Mac OS X color picker. The similarities are not coincidental:
Who's on First?
Was Macromedia simply able or willing to migrate its FreeHand version to Carbon in advance of other developers like Adobe?
"It was release schedules more than anything else. Mac OS X's shipping date happened to coincide nicely with the development schedule for FreeHand 9, I think it was. As you know, Apple was keen to see Carbon applications from big name developers and, in return, they offered us technical and marketing support.
"Not to get too far off track, but I do have to brag a bit about my role in that 'marketing support.' You may recall that Mac OS X was released at one of their Special Events? I was actually part of that event. I demonstrated a pre-release Carbon version of FreeHand to the world on the birthday of Mac OS X in front of everyone.
"Before the event started I had my very own 'Steve encounter' (which would take too long to explain here) during which I fell under his legendary piercing gaze for an uncomfortable moment or two. After demonstrating FreeHand, I got to hear Steve's Speech to Apple Employees in Cafe Macs.
"Following that, Bertrand Serlet himself stopped by the Carbon Development Kitchen I was at that week to show me how to use 'sampler' and other performance tools to profile the application. He thought FreeHand was a little sluggish in the demo.
"I also got to get up on the big stage, during the Stevenote, at WWDC in 2000 or 2001 and talk to everyone about carbonizing FreeHand.
Adobe and Macromedia Compare Notes on Mac OS X
"But back to Adobe, I went to many of the Carbon Kitchens that Apple hosted as we moved FreeHand to Carbon. Back in the dim ages we didn't have all that fancy documentation that these kids have today. We had largely uncommented header files, by gum, and we were lucky to have those!
"One of the slow-to-evolve systems in Mac OS X was the printing system. As you might imagine, printing is a very important part of FreeHand. It's also a very important part of Adobe Acrobat. I spent many hours at the Carbon kitchens with Vince Parsons from the Acrobat team. You must understand that--with Adobe and Macromedia being rival companies--he and I were very careful not to look at one another's code. Still there was a healthy amount of 'Do you have a bit of code like this?.... Yeah, I have that... Do you have this? Yeah, I do that too...'
"I imagine that if Vince and I hadn't collaborated without collaborating that neither FreeHand, nor Acrobat would have printed so early or so well as they did :-) Acrobat Reader shipped in the same time frame that FreeHand did.
"Vince did introduce me to my counterpart on the Illustrator team, Dave MacLachlan (who now works for Google), at WWDC one year. From talking to Dave I can assure you that Adobe's later start was because of timing, the complexity of the task, and fitting changes of that magnitude into a schedule. Dave and I still chat at WWDC every year."
What If The Sun Had Set on QuickTime?
In a reply, Ryan wrote, "Sun actually disposed of Microsoft by terminating the agreement they had. Microsoft was unable to continue developing their Java VM for Windows and had to end support for their Visual J++ IDE. Sun Microsystems initiated this action, because Microsoft was trying to make Java a Windows-bound technology."
That’s one way to describe things, but in reality, Sun partnered with Microsoft to create a JVM for Windows, not expecting MS to hijack its implementation of the JVM so that 90% of the worlds Java could only run on Windows.
In licensing Java from Sun, Microsoft agreed to maintain interoperability with the Sun Java specification, then purposely broke that agreement, famously dropping the line: "Lets move on and steal the Java language." Sun only "pulled out" after having its JVM strategy destroyed when Microsoft failed to uphold the agreement it signed.
Another Fine Mess: Silicon Graphics and OpenGL
Of course Sun’s Java isn't the only warning example of a technology hijacked and then sabotaged by Microsoft. Another prime example is related by Gavin Baker, who wrote, "I think the history of OpenGL is very important here too."
For some background, Silicon Graphics once ruled the high end of graphics workstations with its advanced IRIS machines running SGI's own version of Unix, called IRIX. SGI also developed its own windowing system and graphics library called IRIS GL. In 1992, SGI distilled IRIS GL into an open specification for handling 3D graphics and abstracting it from graphics hardware, resulting in OpenGL.
A pioneering step, SGI planned to license the technology and continue its development through a group known as the OpenGL Architecture Review Board. Among the ARB's members were 3Dlabs, Apple, ATI, Dell, IBM, Intel, Microsoft, NVIDIA, SGI, and Sun.
As Baker writes, "Microsoft was involved in the ARB for a long time, then did the bait-and-switch with SGI, pretending to partner on Fahrenheit and then running off to do Direct3D (which they bought of course). Then when SGI were in financial trouble, MS bought key 3D patents and then left the ARB."
While ostensibly working with SGI to merge its Direct3D with OpenGL in the 1997 Fahrenheit project, Microsoft decided that developing its own closed 3D graphics library would enable the company to lock up the market for games development and possibly help derail industry cooperation on OpenGL as a standard as well.
As SGI lay bleeding, Microsoft bought out the remaining rights in the failed Fahrenheit project and incorporated them into DirectX.
Microsoft brought David Blythe from SGI to help deliver DirectX 10, which exists primarily to tie new software development--particularly games--to Windows Vista, providing users with a compelling need to upgrade.
Did I miss any details?
Next Articles:
This Series