MacTech Network:   MacForge.net  |  Computer Memory  |  Register Domains  |  Printer Supplies  |  Cables  |  iPod Deals  |  Mac Deals  |  Mac Book Shelf


  MacTech Magazine

The journal of Macintosh technology

 
 
Surround SCM 5

Magazine In Print
  About MacTech  
  Home Page  
  Subscribe  
  Archives DVD  
  Submit News  
  Submit a Tip!  
  Get a copy of MacTech RISK FREE  
Google
Entire Web
mactech.com
Mac Community
More...
MacTech Central
  by Category  
  by Company  
  by Product  
MacTech News
  MacTech News  
  Previous News  
  MacTech RSS  
Article Archives
  Show Indices  
  by Volume  
  by Author  
  Source Code FTP  
Inside MacTech
  Writer's Kit  
  Editorial Staff  
  Editorial Calendar  
  Back Issues  
  Advertising  
Contact Us
  Customer Service  
  MacTech Store  
  Legal/Disclaimers  
  Webmaster Feedback  
ADVERTISEMENT
Click Here
Volume Number:11
Issue Number:3
Column Tag:Inside Info

The Platform Problem

Going cross-platform for the wired generation

By Chris Espinosa, Apple Computer, MacTech Magazine Regular Contributor

Listening to Microsoft pitch their cross-development environment for Macintosh reminds me that I’ve been working on solving the platform problem for over three years now.

In case you joined late, the “platform problem” is the dilemma that an industry faces when there’s one dominant standard, and a number of minority players who can’t unseat the dominant player because of the huge infrastructure supporting the standard. Having more than one platform makes it look like things are competitive, but the reality is that the minor players really don’t have a chance to gain on the dominant standard in the markets it dominates.

Intel vs. everyone else is a good current example; so is Windows vs. OS/2, Mac, UNIX, Novell, NextStep, etc. The dilemma I face is how to help developers continue to make superior products for the Mac OS, even though the customers and the industry infrastructure favor the Windows platform.

And you’ve seen a lot of attempts by Apple to solve this. Against DOS, it was less of a problem, because there were so many things in the Mac OS that just didn’t exist on the DOS side. With Windows, that differentiation is small enough that many customers perceive that the Mac’s difference is a liability, not an asset. So to bridge the gap between Mac and Windows, we’ve tried running the Windows OS on Mac hardware; porting the Mac OS to Intel hardware; writing a new cross-platform OS from scratch (Taligent CommonPoint); creating a complete application framework to encourage cross-platform applications (Bedrock); creating a cross-platform component application technology (OpenDoc); doing a cross-platform framework for OpenDoc (OPF); building cross-platform APIs (QuickTime) and media playback platforms (Kaleida Media Player); and the current favorite, licensing the Mac OS to clonemakers to expand the Mac OS market share. We’ve done these alone, with partners, and through joint ventures. Some we’ve shipped; others were killed before they got too expensive. (And a couple just got too expensive without being killed!).

Through all of this, Apple’s OS market share has remained at pretty much exactly what it was in 1983, after the ascendancy of the IBM PC and the beginning of the IBM clone market. Maybe cloning will change that (after all, so many smart people told us to do it ten years ago that they must be right!). But maybe there is something else that will change the rules and make this API war irrelevant.

Think about what we would like to be able to do. Write something once and deploy it on many platforms. Have a common programmatic interface, but take advantage of the native user interface of each machine. Integrate smoothly with the underlying OS. Be lightweight. Be accepted as a common industry standard, neither monopolized by a single company nor designed by a committee. Support all of the cool new technologies, like multimedia and networking. And be quick about it - we can’t wait until 1997 to have it running.

Well, there may be an answer: the World Wide Web.

I’ve been cruising the Web recently, and I think it’s remarkable how platform-neutral it is. By reading the file names in the HTML source code you can see which hosts are on a Windows OS, which are on UNIX, and which Mac; and it’s clear from the credits on some home pages that a tremendous variety of Sun, HP, IBM, SGI, DEC, Dell, Compaq, Apple, and other equipment is being used as hosts. The Web is an incredibly huge heterogeneous environment running a single application that looks the same to the end user, regardless of the combination of client and host.

This may be the great equalizer that renders the API wars obsolete. Already I can see a large number of applications that I use in my work life that could be implemented as a combination of FTP, Gopher, Archie, and WAIS services, front-ended by a home page. I’ve seen Web pages that are very nice forms-based front ends to Oracle, DB/2, and Sybase databases. When I use these pages it’s clear to me that they are fulfilling my cardinal rule of computing: they’re helping me get my work done without my noticing what technologies are being employed to do it.

It is said that on the Internet, nobody knows you’re a dog; well, nobody knows you’re a Performa, or an Indy, or a Presario either. This is crucially important. Microsoft made Windows a phenomenon by changing the definition of what constituted compatibility with the industry standard. Before 1992, being a clone of the IBM PC AT defined compatibility; after 1992, running Windows did. If in 1995 the definition of compatibility is “can browse the Web,” a huge emotional weight will have been lifted from the personal computer industry. The Mac can be industry-standard-compatible without running Windows!

Of course HTML and WAIS and Gopher aren’t an API. Can they grow to be one? Perhaps. Is the growth process in reasonable, safe hands? I trust the people who built the Internet more than I trust the people who built the Pentium. Can the Web software form a solid layer of abstraction that masks underlying differences in OS and hardware? For many applications, yes. For all? Of course not.

Nothing will ever eliminate the differences in processor opcodes, system calls, and implementation details that make cross-platform programming such a pain. Programmers get paid to bridge those differences elegantly. The point of the Web becoming the next platform is that the popular mind will be saved from having to worry that those differences make a difference. The fear of buying a minority standard will be greatly decreased if all computers are assured a high level of basic functionality and interoperability through the Web. Then we can let Mac be Mac, Windows be Windows, and turn Mac vs. Windows from a worldwide religious feud back into a simple design preference among engineers.



Click here to find out more about our best subscription bundle deal ever!
2 years of the magazine, and the all new MacTech DVD ... at 70% off!



Click on the cover to
see this month's issue!

TRIAL SUBSCRIPTION
Get a RISK-FREE subscription to the only technical Mac magazine!
 
 


MacTech Magazine. www.mactech.com
Toll Free 877-MACTECH, Outside US/Canada: 805-494-9797

Register Low Cost (ok dirt cheap!) Domain Names in the MacTech Domain Store. As low as $1.99!
Save on brand compatible and name brank ink jet and laser supplies.
Save on long distance * Upgrade your Computer
Movies with No Late Fees!

See local info about Westlake Village
SJ * BRJ * BJ * OJ * NITS
Staff Site Links



All contents are Copyright 1984-2007 by Xplain Corporation. All rights reserved.

MacTech is a registered trademark of Xplain Corporation. Xplain, Video Depot, Movie Depot, Palm OS Depot, Explain It, MacDev, MacDev-1, THINK Reference, NetProfessional, NetProLive, JavaTech, WebTech, BeTech, LinuxTech, Apple Expo, MacTech Central and the MacTutorMan are trademarks or service marks of Xplain Corporation. Sprocket is a registered trademark of eSprocket Corporation. Other trademarks and copyrights appearing in this printing or software remain the property of their respective holders.