|Column Tag:||From the Field
WWDC 93 Report
A quick look at this years Apple World Wide Developers Conference
By Neil Ticktin, Editor-in-Chief
Once a year, Apple pays a lot of attention to Macintosh developers. This years World Wide Developers Conference took place May 10-14 at the San Jose Convention Center. As you might imagine with a full week of developer information, well only be able to touch the surface on the conference happenings.
Apple - the King Marketeer
This year Apple made a lot of progress in their presenting - they trimmed the marketing and presented the meat. Although many developers considered day one to be (as one developer put it) content free, day two and three were so content intensive they left everyone overloaded. Apple got this message and hopefully they are headed in the right direction for future WWDCs. I imagine that it is hard for Apple to keep the hype down - they had a great year and they have a lot to be proud of.
In 1986, John Sculley came up with the idea of the Knowledge Navigator. This computer [which is actually a video demonstrating a concept] is the ultimate digital assistant. Today, several years later, we are still striving towards this kind of technology. And although we are a long way off from Knowledge Navigator, we have made a lot of progress. There are a couple of important parts to the direction that Apple is taking - most importantly is the notion of Agents. Its hard to define an agent, but think of them as the intelligent little pieces of software that do what you want because they know what you want them to do.
There are a lot of technologies to cover beyond Agents and also that make Agents possible. Well take a look at these one by one.
PowerPC - The Chip
Before WWDC, I didnt care too much about PowerPC. Apple takes many strategic directions and sometimes you get burnt if you arent sure theyre serious first. I have news for you - they are serious about PowerPC!
For those of you living in your local cave who dont know what PowerPC is - heres a quick description. PowerPC is a family of CPUs designed and manufactured through a joint effort of Apple, IBM and Motorola. This chip family is based on the architecture for the processor in IBMs RS/6000 workstation. It is a Reduced Instruction Set Computer (RISC) as compared with the 680x0 series which is a Complex Instruction Set Computer (CISC). Originally (40 years ago), computers had very small instruction sets. As they became faster, designers added more instructions. RISC is coming full circle back to where computers started - very few instructions, but done as fast as possible. It is the intelligent reduction of instructions based on the experience that came with CISC processors. Todays thinking (unless youre Intel) is that its better to be a very fast RISC than a fairly fast CISC.
Intel is a standout in their thinking. Theyve created Pentium in the belief that you dont need to be RISC to be fast. Theyre right - Pentium is very fast. In fact, Pentium is a little faster than the PowerPC 601 (the first chip in the PowerPC family) when it comes to Integer instructions. On the other hand, PowerPC is significantly faster than Pentium when it comes to Floating Point.
Pentium has some problems though. First, its late. Second, there are rumors that the first version which was supposed to be 66MHz will end up being 60MHz for production reasons. Third, its expensive - under $1000 compared to PowerPC 601 being under $400. Fourth, the chip generates so much heat that some PC vendors are considering a fan within a heat sink to deal with the problem. The joke going around is that you can cook a hot dog on a Pentium!
But more important than all the current problems is the notion of Pentium and its future. Intel has consistently tried to convince people that RISC is not necessary. Now, theyve produced a chip with an enormous surface area and production problems. It consumes so much power and so much heat that a laptop version may prove to be very difficult. PowerPC is the beginning of a new family. Pentium is [towards] the end - where are they going to go next?
One interesting note: other companies are coming up with other uses for PowerPC. You may already know about IBM using PowerPC in their computers, but did you know that Ford Motor Company is going to use PowerPC in their Electronic Engine Control modules as early as 1997? Now if they would only build in that Macintosh!
PowerPC - The Macintosh
So theres this hot new chip. Who cares? If you buy Macs, you do. Apple expects to ship the first of the PowerPC based Macintoshes in the first half of 1994. These will be relatively inexpensive, very fast machines. Apple engineers showed demos of the PowerPC running 2-6 times faster than a Quadra.
But, you wont be able to take advantage of the speed unless you have software that will run on the new chip. Apple realizes this. So theyve created an LC68040 emulator that will allow you to run all of your current software without a hitch. Then, you can slowly move to PowerPC versions of software. There will be no FPU emulation, but 68K emulation of SANE is faster than a native 68K FPU anyway. The MMU is also not emulated, but their solution is also faster and virtual memory is supported. You should expect the emulation speed to roughly be a 25 MHz 68040.
Not all of the toolbox will be ported to native PowerPC code right away. They have analyzed the code to see what is most important to translate first. This analysis is based on a number of different applications currently on the market (including System 7). The tentative list of accelerations includes: DrawText, QuickDraw, Font Manager, QuickTime Components, Resource Manager, Memory Manager, Fixed point math package, BlockMove, Trap dispatching and SANE. This list may change.
From the Macintosh developer point of view, the transition will be relatively painless. There are a few things that you will have to watch out for. For example, ProcPtrs need to become routine descriptors. Youll need to make changes if you are executing code resources. There is no segment loader. And if you are using 80- and 96-bit floating point data types then youll have to change to new data types. Well try to bring you some detailed information in issues to come. However, rest assured, we are talking about days or weeks to transform decent C code - not months or years. One example of porting was Aldus FreeHand. It is very clean C code, but it is huge - 500,000 lines and a 3 meg executable. The port is almost complete and it only took 2 man weeks. Without any major optimization, the port is already 2 times faster than a Quadra 950.
The PowerPC Macintosh will have a mixed mode available. This means that you will be able to intermix 68K and PowerPC code. Code linked together has to be in the same instruction set, but executable resources can be mixed. The PowerPC runtime environment is tuned for speed. There are register based calling conventions and the segment loader has been removed. There is support for a new exception handling model and shared libraries.
If you still arent convinced on PowerPC, realize this - Apple is basically betting the company on PowerPC. Their estimates are that by the end of Calendar 1994, about 80% of the mid- to high-end Macintoshes will be based on the new CPU. That comes to about 1 million PowerPC based Macintoshes in 1994. One piece of disturbing news - to date Apple has only announced upgrades to the IIvx, IIvi, Centris machines and the Quadra 800. We hope Apple is aware of the market for other Mac IIs and Quadras.
One last thing, 11 major software developers have announced that they are writing new versions of their applications for the PowerPC Macintosh. They include: Adobe Systems Inc., ACI US Inc., Aldus Corporation, Claris Corporation, Deneba Software, Frame Technology, Insignia Solutions Inc., Microsoft Corporation, Quark Inc., Specular International and WordPerfect Corporation.
CD-ROMs and pushing products
CD-ROM drives are selling like crazy. Some time ago, Apple embarked on a mission to populate the world with CD-ROMs. They figured that the best way to do this was to sell drives at cost and the rest would follow. That strategy has begun to work. In 1992, Apple sold about 50,000 CD-ROM drives. This year, Apple expects to sell at least 1 million drives. And in 1994, they are expecting double the rate of growth as well. So, if youve been thinking about doing a CD-ROM product, nows the time. [And if it is a developer related product, contact MacTech about publishing the CD for you. - Ed.]
Apple is also learning a lot about getting more boxes on the street. For example, with their Performa line, theyve repackaged some of the products so that a person buying a Performa 600 (a Mac II class equivalent) can walk out of the store with a single box. That box contains a CPU, keyboard, mouse, monitor and software. Why? To ease the purchasing decision. Why is this relevant to you? Because unless you are competing against one of the bundles pieces of software, it increases your market size.
Apple has made several announcements here. Newton is expected to ship in Summer, 1993. It will ship with Macintosh and PC connectivity and is initially focused on paging, fax and e-mail as well as personal record management. There will be a family of Newtons in 1994 and Apple is licensing the technology like crazy.
Members of Apples Newton team showed parts of the Newton Toolkit which is what one will use to develop Newton Software. Development takes place on the Macintosh and then new software is downloaded to the Newton via a modem or serial cable. The tools consist of both content tools and developer tools. There are component palettes, graphical tools, browsers, integrated windows, and NewtonScript.
The big news is that AppleScript is now shipping! For a long time Macintosh users have wanted to control their Macs through automation (like the dreaded exec files on the PC). However, being Macintosh fanatics we couldnt have just any scripting, we had to have Macintosh scripting. For some time, Frontier (from UserLand software) has been filling this void. Now there is a solution from Apple, and products like Frontier and QuicKeys will work better than ever.
Next month well be covering scripting in a lot more detail, but there is something that you should know: the reason that Apple feels scripting is so important is that again, scripting is necessary for the implementation of agents.
Weve known about Taligent for some time now, and we also know that it will take a while for anything useful to ship. Apple has been focusing on some interim technologies that can be delivered quickly to bridge the gap. The answer: Amber.
Amber breaks applications down to parts. It has the ability to take these parts and support content types. What does that mean? It means that vendors will be able to assemble collections of parts into solution sets meant for a specific task. You will more easily be able to create compound documents and edit pieces in place.
From the developer point of view, you will be able to concentrate your expertise on a more focused area. This will [hopefully] result in more rapid software evolution. You will able to have truly reusable parts and youll be able to simplify your products. This should reduce the time to market and reduce barriers to entry - particularly for the smaller developer.
The major concepts of Amber are documents, parts, containers and software components. Documents are made of parts. Parts are smaller units bound with functionality (e.g., a text block, a QuickTime movie, or a spreadsheet block). Parts contain data - text parts contain characters, graphics parts contain lines and shapes, etc Software components are independent programs that implement a particular kind of content and provides a small set of functions for viewing and editing the content. In addition, there are viewing boundaries within a document, frames, and storage management features.
Amber will be seeded to developers in Fall, 93. It will ship in the second quarter of 1994. Theres no doubt about it, this is Apples answer to OLE 2.0 from Microsoft. Now, OLE is shipping sooner than Amber, but Apple has taken some interesting steps to assure the acceptance of Amber. First, Amber provides interoperability with OLE 2.0 so developers can kill two birds with one stone by supporting Amber. In addition, Amber is being set up as an open solution. Apple will be making the source code fully available and publishable without restrictions. Finally, Apple plans to make Amber parts and documents interoperable with Taligent, providing users and developers with a migration path.
Symantec C++, THINK C, and MPW
Symantec announced and shipped three products at WWDC. They are Symantec C++ for Macintosh, THINK C 6.0 and Symantec C++ 6.0 for MPW. [See the NewsBits section for more information on these products. - Ed.] The announcements were very well received. During the announcement, attendees were told that they could be the first on their block to have the new Symantec C++ for Macintosh by purchasing the upgrade outside the conference hall. At that moment, one person got up, went outside and bought the product - before the session was over. Everyone else was left to be the second on their block.
For some time now, Symantec and Apple have been talking about Bedrock. The problem has been that people want it now and its not ready to go yet. The good news is that Symantec has released the Bedrock Architecture CD. This CD shows header files, demo files, and even has some documentation. This issue of MacTech Magazine is focused on Bedrock, so well leave it to the other articles to discuss this further.
After many years of Macintosh developers enduring MPW, Apple has finally changed direction. Realizing that Symantec has some very cool development tools, and taking into consideration their current relationship with Symantec on Bedrock, Apple and Symantec have announced the expansion of their relationship.
What does this mean? The bottom line is that Apple and Symantec will be working together to create the successor to both MPW and the THINK product for PowerPC Macintosh. This is not going to be a one-sided cooperative. Apple is sending engineers to Bedford to work with the Symantec team to produce the new tools. At a feedback session, Apple got an earful about what developers expected. These developers made it very clear that they wanted the best of MPW to be in the new product - and without that, the new environment wont succeed.
Your next question is Will it be a port of the THINK C compiler? The answer is basically no. This environment will be developed from the ground up. If there are parts that they can use that are already complete, they will probably use them, but it is a new product.
What about Pascal developers? At this point in time, it looks like youve been left in the cold. Neither Apple or Symantec has announced a solution for Pascal on PowerPC. If this bothers you, write to Dave Neal at Symantec and tell him that you want your THINK Pascal on PowerPC (AppleLink: NEAL). Now, realize that Dave is not the bad guy, but he is the one that can help to bring THINK Pascal to PowerPC, but only if he gets enough response from you to support such an effort.
Apples Open Collaborative Environment is much closer to shipping. The basic concept behind AOCE is to fully integrate collaboration efforts. E-mail is an excellent example. To support a number of different e-mail systems, AOCE combines all of them into a single metaphor that can interact between systems making them all much more transparent to the user. There is a lot more to AOCE, but comparatively, not much new was revealed at WWDC.
Macintosh on other platforms
In a [somewhat] surprise move, Apple showed an impressive demonstration of a HP System 720, a Sun Solaris, and an IBM RS/6000 machine all running Macintosh software. Apple spoke of the Apple Integration Architecture. The bottom line here is that workstation customers want to be able to run some of the great software on the Macintosh. Apple is making this possible and hopes to ship this support in the first half of 1994.
For some time, QuickDraw has been showing its age. QuickDraw GX is Apples solution to the problem. GX handles many of the problems that the page layout and drawing applications have dealt with the hard way. For example, things like rotated text, kerning, ligatures, etc are all dealt with at the system level. There are some great graphic tools and a whole new printing architecture that is more powerful and makes it much easier to create new printer drivers (which are currently a nightmare!).
QuickDraw GX is now close to shipping. Version 1.0b1 was distributed to all attendees. The key to GX is going to be widespread support. There are two ways to support GX: being Aware and being Savvy. A GX aware application provides full support for the new printing architecture. A savvy application is more work, but a bigger payoff.
To support the new printer architecture, you will need to support the new print architecture, paper trays, and other device features. You will also have to allow for font embedding. There is also a new GX clipboard and line layout for text.
GX is Apples imaging architecture for the future. Future system software will be based on it and PowerPC will support it. In addition, GX is the basis for high-resolution displays and three dimensional graphics.
Text to speech
Being that the first Macintosh program that I wrote, back in 1985, was a speech synthesizer, I have high interest in this technology. There are two qualities that one is concerned with when working with speech - is it intelligible and is it natural? Im sorry to say that although they have definitely made progress in the area of text to speech, it has a long way to go before we get natural speech. Today, we have fairly intelligible speech and practically speaking, thats the most important part of the problem.
Apple engineers showed two pieces of software - MacInTalk II and Gala Tea. This latest version of MacInTalk has the classic MacInTalk quality - mostly intelligible and very unnatural. Gala Tea (which takes up a lot more computer resources) does sound better and can deal with things like tone and mood. But this aint no HAL 9000. The good news is that Apple has revived their support of Text to Speech. Why? Because it is absolutely critical to Agents. And today, Agents are at the top of Apples agenda.
For some time, weve been hearing about the Casper technology out of Apple. This is speaker independent voice recognition. Once again, Apple has demonstrated the technology (see ATG Extravaganza below). Here too, they are making progress, but there is a long way to go. What most people dont realize about speech recognition is that the computer has to understand to some degree what you are talking about to recognize what you are talking about.
Lets take an example, think about the times that you are talking to someone that isnt talking fast enough for you. How many times have you finished their sentences? More importantly, how many times were you right about what they were going to say? The reason that you are right so much of the time is that because in order to recognize speech, you understand it. In fact, you make an educated guess as to what the next word out of someones mouth is going to be.
Heres another example: think about the last time that you heard someone speak a foreign language that you didnt understand. Didnt you think that all of the sounds were running together? Werent the only pauses that you could detect at the end of sentences and paragraphs? People speak at a million miles an hour - it only doesnt seem that way because you understand them. Last example - say these two phrases quickly: I have an aim. and I have a name. See how close it is - I feel sorry for the poor computer!
The bottom line on speech recognition is that we are going to start being able to put it to practical use towards the end of this year or the beginning of next. Some companies (like Articulate Systems) have already done so. The best way to make this stuff work is to limit the amount of possibilities that the computer has in a situation. In other words, if the computer knows that the word is going to be one of 10 choices instead of 10,000, it stands a much better chance of getting it right.
Finally, most of the speech recognition that Apple is talking about will be most useful if you have your applications fully wired with AppleEvents. If you do, it will be fairly easy for speech recognition to be applied to your application because the recognizer can take a spoken command and just send the equivalent AppleEvent.
This is Apples chance to show off. Note that there are no product announcements here, just demonstrations of some technology. The focus of the demonstration was to show what parts of Knowledge Navigator that we are capable of today. My favorite part of the demonstration showed an agent which acted as a secretary to schedule a meeting. Heres a similar scenario to what they showed.
From a cellular phone, I called my computer.
Agent Dave: This is Dave - Neils computer. How can I help you?.
Neil: Computer, please schedule a meeting with John at 4pm on Friday.
Agent Dave: What is the purpose of the meeting?
Neil: To discuss the Knowledge Navigator.
Agent Dave: Ok.
Neil: That will be all for now.
Agent Dave: Goodbye.
Then, Agent Dave looks up Johns phone number and calls him.
Agent Dave: Hello John. This is Neils Agent Dave. Neil would like to have a meeting with you at 4pm on Friday [recording of Neils voice] to discuss the Knowledge Navigator. Can you attend the meeting?
Agent Dave: Thank you. Goodbye.
Then, Agent Dave calls me back.
Agent Dave: Hello Neil. This is Agent Dave. Your meeting with John has been confirmed at 4pm on Friday.
Neil: Thank you. That will be all for now.
I dont know about you, but this was very impressive to me. Granted, there were a number of minor problems with this demonstration. They did have to say most things a couple times before the computer got it. But it did work.
Even with such an impressive display of technology, we have a long way to go. For example, it is possible for the computer to figure out things like Which John? (it could tell this by watching the people that I speak to most). But there are problems like When is it ok to call John? (4 a.m. is probably not a good time). There are all kinds of rules that govern the way we interact with other people. The computer will need to know about these rules. There are people working on this, but its no small task - some have been working on it for 10 years+.
The last year for Apple has been quite good. Sales are up, costs are down, and some of the technologies that they have been working on for a while are starting to be delivered. Macintosh is now the best selling personal computer in the world (unit sales compared to other manufacturers product lines). The PowerBook and PowerBook Duos are selling well and Apples CD strategy of selling units basically at cost is beginning to work as well.
From the technology point of view, Apple is beginning to realize what they do well and what they could use some help on. The agreement with Symantec is great for the developer world - Symantec products with Apple testing and communication, and hopefully power. The only problem is that Bedrock is not shipping as early as everyone wants (or needs), but they are communicating about it now.
Most importantly, as they showed us at WWDC, Apple seems to be thinking better. Their path with PowerPC is excellent - speed, compatibility, design, etc AppleScript will finally provide the base for a lot of customization by people who arent programmers. Amber is the beginning of a new type of software industry - one that can produce something quickly. Im excited to see some of these technologies - so go to it developers!