Date: Tue, 31 Oct 1995 08:24:28 -0500 From: "Glenn M. Picher" <gpicher@maine.com> Subject: News flashes from the conference
Charles Wiltgen, Peter Lundholm, Carey Smith and I are here sitting around the dinner table on Monday nite at the Macromedia User's conference. Here's a few tidbits observed during the days' public events:
Much more on this later (I'm reporting on the Xtras tech sesssion for the Macromedia "UConn" Web site (http://www.macromedia.com).
Charles says "Hi!". Peter says "Yeah." Charles suggested that we should kidnap John Dowdell, get him drunk, and threaten unspoken action with marshmallows until he agrees to violate every non- disclosure agreement in the book. Peter smiled politely a lot.
Charles: Intel's (Andy Grove's) presentation was all left-brain. Apple's (Michael Spindler) was all right-brain. Kai's was even more right brain.
All in all:
Speaking for myself, any doubt I have had about whether Director is
the right tool to move forward with has been dispelled. (Charles
substantially agrees, though he might not put it this way). Macromedia
definitely has their head screwed on straight. It feels like they
are really proceeding with a vision. Many, many kudos to the
Director development team. They've made some remarkable technical
achievements and usability improvements.
Date: Wed, 1 Nov 1995 08:56:51 -0500 From: "Glenn M. Picher" <gpicher@maine.com> Subject: (LONG) Report on Director Xtras technical sessionDIRECTOR XTRAS PROGRAMMING WORKSHOP
It's hard to conceive of a task you couldn't acheive through the Xtras SDK, except perhaps reducing the runtime size (and disk usage) of Director projectors. Macromedia appears committed to generating good docs and providing genuine assistance to third-party developers, offering Web space for Xtras technical information and product development announcements, and even co-marketing opportunities. Developers were urged to apply for the Director 5 Xtras SDK beta program, in order to begin development efforts for Xtras to be ready when Director 5 ships. As of yet, there's no firm date for the Xtras beta program (or Director 5's anticipated ship date), although other sessions indicated the 1st quarter of '96 was likely.
There will be three kinds of Xtras plug-ins: Lingo Xtras, which will extend the capabilities of Lingo, in much the same way as the current XObject specification (which will itself continue to work as expected); Sprite Xtras, which allow for the definition of new media types and cast members, such as 3D models or QuickTime VR scenes; and Transition Extras, which will expand the range of transition effects possible in Director (and Authorware, for that matter).
Xtras will use a common API for both Mac and Windows platforms, based on (and binary-compatible with) Microsoft COM. For optimum performance, though, Xtras will need to use platform-specific code appropriate for the target processor. Supported compilers at this time include CodeWarrior C++ for the Mac and Visual C++ on Windows (with support for other compilers expected later, as demand dicates). The Xtras SDK will be free with Director 5. The same Xtras code can be recompiled for both 16-bit 32-bit (Windows 95) targets; a mechanism is provided for 68K and PowerPC code for the Mac. Director will provide utility methods for debugging Xtras (apparently just a "put" to the message window, at least for now); CodeWarrior can also be used to step through running Xtras code.
Lingo Xtras will be useful in Director only (although an eventual cross-product cross-platform Common Lingo is envisioned in later MOA-aware releases of Macromedia tools). Transitions Xtras will be usable in both Director and Authorware (although certain Xtras coding practices could make them Director-dependent). Sprite Xtras will use a Shared Multimedia API, and will work for both Director and Authorware.
Hooks are provided for Xtras to call internal Director functions; Xtras in turn provide methods that Director calls. Memory access is platform independent and uses Director's internal memory manager. Director 5 on the Mac will automatically use Multifinder temporary memory, which should end problems associated with projectors launching in fixed partion sizes, sometimes not leaving enough room for System expansion such as QuickTime codec loading when a QuickTime cast member is displayed on the screen within a projector.
Full access is provided to the score, the cast and to .DIR file reading and writing, allowing developers not only to create runtime extensions, but to create authoring-time extensions-- perhaps an "animation wizard" Xtra that could literally create Director movies on the fly, or could dynamically dither the cast on the fly for the current display resolution.
Xtras become cast members; your Xtra's code is called when double-clicking on such cast members in the cast window to edit them. Progress-box services are provided (or you can roll your own). You can use Director's internal algorithm for finding linked files on disk.
Polymorphic parameters and return values are allowed (goodbye to 'X', 'S', 'I', etc. declarations in a method table). Parameters and return values are copies of data, so calls by reference are not supported; however, all Lingo data types are supported, including lists, which can provide a sort of a back-door call by reference.
Global Lingo variables can be queried and set. Access is provided to the property symbol dictionary of the host app (usually Director). All Lingo properties can be accessed; new properties (accessible through Lingo) can be created. Property type conversions (to OS-specific data types) is provided identically on both platforms (i.e., access a DIB in a Mac Xtra, access a PICT in a Windows Xtra). If you can program more effectively with platform-specific code, you can access the graphics context and write directly to the stage (or to Director's internal compositing buffers)-- but at the cost of making your Xtra platform-dependent.
Access to these features is provided though methods made available by the host app. Xtras don't have access to the internal data structures used within Director (which, apart from proprietary considerations, can change significantly between builds). Thus an Xtra developer is insulated by the API from Director's internal code, and new Xtras builds aren't required for new Director builds.
The Xtras architecture will work in Shockwave versions based on Director 5 (the initial Shockwave release will be based on Director 4). No mechanism is as of yet provided to prevent Xtras downloaded from the Internet (as part of Shockwave documents) from behaving antisocially, although it's under consideration.
Because Lingo itself will be routed through the Macromedia Open Architecture, Director movies themselves can become Xtras, when dropped into the Xtras folder-- so you can, in effect, write Xtras using Lingo.
In short, Macromedia seems to have done a hell of a good job with the Macromedia Open Architecture concept. Some of the most eye-popping, applause-inspiring Director 5 features demonstrated in other sessions were implemented as Xtras. The Xtras SDK looks robust enough, and Macromedia seems committed enough, to create a healthy subindustry of third party plug-in providers.
Date: Wed, 1 Nov 1995 08:57:00 -0500 From: "Glenn M. Picher" <gpicher@maine.com> Subject: 2nd day's news flashes from the conferenceSome notes on the second day of the conference:
Stated strategy for "Author Once, Play Anywhere": taking advantage of a platform's strenths, not reducing the possible to the least common denominator.
Overheard thoughts:
This year's conference has a different flavor.
In previous years, it was called the Developer's Conference; now
it's called the User Conference, which accurately reflects a
shift in emphasis (sighs of lament).
I continue to be impressed by Macromedia's efforts, and the degree to which they are making their tools work together
Date: Thu, 2 Nov 1995 07:40:31 -0500 From: "Glenn M. Picher" <gpicher@maine.com> Subject: 3rd day's news flashes from the conventionSome abbreviated notes from the third day of the conference (abbreviated because I was only there a few hours today):
One notable tip I gleaned was that a single QuickTime movie is allowed to contain more than one type of compression-- thus, different portions of a large movie could use the codec that's appropriate for their imagery. Simple cut & paste in MoviePlayer can be used in assembling such a multi-codec movie.
I was really impressed by the number of really smart people I met. There is an incredible pool of talent both at Macromedia and among their user base. My hope is that we can all use that talent, not just to amaze each other, but to really produce stuff that matters in people's lives. Good multimedia can really enhance people's understanding of their worlds, and can encourage a creativity of thinking and living that is really sorely needed these days. As amazing as all this new technology is, I hope to keep in mind our ultimate purpose: connecting to other human beings through our work. Macromedia can really help with this by providing tools that free our brain space for the graceful expression of ideas that matter.
I imagine I'll get flack for going mushy at the end this way, but I don't apologize. The exhilaration of technophilia needs to be grounded outside the flashy confines of Moscone.