I never thought there could be a convention more interesting than a Macworld Expo, but attending the O'Reilly Open Source Convention in Portland this year was one of the best "computer" shows I've witnessed. At an open source convention, you experience a convergence of all the computing platforms: Unix, Linux, Windows, Mac OSX. This annual gathering has a different "buzz" than Apple's shows because anything you might learn from it costs you nothing and enables you to program for any computer in the world.
As an early Mac pioneer from Apple's earliest days, I'm used to creating my own software solutions with Apple HyperCard for various tasks I find the need. Not discounting how I've seen HyperCard used to handle back-end processing tasks on web servers for many years now, I was interested in seeing what open source software was offering that HyperCard couldn't do as a tool for customizing the delivery of web content.
What is open-source software? More and more, we hear about open source technologies. Even Apple has rolled many open source technologies into Mac OS X, largely because of its BSD UNIX foundation. Specifically, the Mac OS X install provides a range of web-centric open source technologies: the Apache web server, PHP hypertext preprocessor, the Perl scripting language, and the Python interpreted, object-oriented programming language.
By delivering UNIX to the Macintosh platform, Apple has made all of these technologies available to give Mac users an even playing field with the architects of the internet. These tools provide means to do the CGI things web servers do for you when you search the web, submit a form from a web page, and other kinds of really neat stuff. O'Reilly describes it as IT becoming a do-it-yourself marketplace. Just like HTML, all of these open source languages can be used with a simple text editor.
The introductory pamphlet by O'Reilly emphasizes that the dot.com downturn the past few years has been because of a fundamental shift that has been occurring in the information technology industry. The new paradigm has become widespread adoption of these open source technologies and that there is a market of several billion dollars (US) that these technologies will create in the IT economy. Many companies and government entities have been using open source for more than a year now; IBM, Google, Amazon, Yahoo, Ticketmaster , Canada Customs and Revenue, Barclays Group, Industrial Light & Magic, United Space Alliance, and others.

The first day of the show brought home a canvas full of exhibit matter, a couple of CDs, and a hungering thirst to browse the O'Reilly books on sale again the next day. Besides what Apple gives you with Mac OS X, you can download and learn to use XML to build "intranets on the fly", MySQL database for storing accessible data on your web space, or Gnu Privacy Guard (GnuPG) if you want to use signed or encrypted email with closely held interests. These tools mean businesses can create entire transaction processes (web services) without concern for IT infrastructure of compatibility issues between them. When you use a language like PHP, Perl, or Python to address XML documents, the information can deliver or edit web pages, be sent as an email or instant message, or inserted into a MySQL database.

Only two of the CDs were easy to use on my Mac: the Mac OS X Developer Tools CD (I found a Python-ObjC interpreter that effectively brought Python to Apple's Project and Interface Builders), and the OpenOffice.org CD. OpenOffice.org is the open source group that develops Sun's suite of office applications for UNIX. The benefit of using this is that it's files may be opened on any computer running OpenOffice on any platform. After downloading Apple's X-11-windowing software to use it, I had the same set of applications as Microsoft Office without spending the $300 price tag. Not bad. (For Mac users that still enjoy Mac OS 9, the "free for personal use" Ragtime product is equally strong and effortlessly makes the most impressive web pages I've seen).
Starting to look at this technology on the computer was a bit daunting, I immediately felt that this stuff was not as easy as Apple HyperCard for "massaging text" Over the years, I've produced many different kinds of stacks that "create" web pages, quite easily as though I was talking to my Mac in plain English (sort of). It was regular practice to even have HyperCard open, read and convert files anywhere I needed to deploy them, such as Windows. But my background in JavaScript and Cascading Style Sheets (CSS) for web pages was telling me that languages and structures for building web-centric applications was approachable, but would take some serious time. You want to use this stuff really bad.
Knowing that this technology empowers anyone to create their own web site services was an intriguing reason to learn more on the second day at OSCON. I listened to Mitch Kapor, of Lotus 1-2-3 fame, deliver a keynote describing the widespread adoption of Linux among many educational and governmental entities, as well as many corporations and businesses around the world.
Writing XML looks very similar to HTML, and equally as tedious to type. One excellent session introduced forms of "shorthand" XML for taking notes or quick compositions that could be programatically converted to XML for delivery and reference on the web. It would be child's play to write a HyperCard (or AppleScript) script to do the conversions! A simple example:
You may notice the "data" looks the same as data saved as tab-delimited ASCII, only this form is returned-delimited, similar to Quicken's .QIF format. What's nifty about XML is that each pair of tags creates a container that creates an addressable wrapper around the information. Any utility that can read the tags can get a reasonable idea of what the information is comprised of, making accessible each container's content.

Part of the reason Mac OS X is the future of the Apple Macintosh platform is that the entire world is changing the core language for text from ASCII, the standard character set that has been in use for the past decade or more, to Unicode, which is large enough to carry every character of every alphabet in the world. Unicode has UNIX roots, but even Windows and Linux, and many Mac applications, are being written to use Unicode because it simplifies internationalization and localization of text and data. A PHP session talked about these issues, as our information is more easily accessible around the world, there is a greater need to deliver it in native languages, numbers, dates and times, and currencies so what we serve is more "user friendly" for someone halfway around the world in India, for example.
The highlight of the second day at the conference was a session about an open source PIM (personal information manager) called Chandler. This product is being created by some really great minds. At the session were Mitch Kapor who announced that Chandler was being built in the tradition of Lotus Agenda, and seeing Andy Herzfeld speak about Chandler's design architecture was indicating this open source PIM might even be Mac-like.
The PIM is currently completing it's design stage and will offer an object-oriented set of web-centric tasks managed by "parcels" and "views". After the conference, I downloaded Chandler to discover some really neat web services built-in, while preserving the "card" metaphor I have been familiar with using Apple HyperCard. Chandler is being developed with Python and C, and its designers intend to deliver an extensible, scriptable product.
Looking back at what I've learned from the Open Source Convention, I can say that it looks simpler to write XML in shorthand, like SLiP, and write a HyperCard script that converts it to XML (and possibly and associated style sheet to go with it) for me. XML is another option to explore that will enable me to deliver web content I create with HyperCard. I've had quite good success with HyperCard scripts, though, to produce HTML that uses a blend of Cascading Style Sheets and JavaScript to create dynamic, interactive web pages. The parseability of HTML alone makes the idea of prototyping UIs for web applications using HyperCard, or any xTalk, an interesting idea. On the other hand, while HyperCard is great for reading and writing files to the computer, doing the same thing, unattended, on the web space requires one of the open source languages. All of them provide commands for unattended reads and writes on your web space if permissions are granted by your domain host. PHP looked the simplest to learn how to use, but is limited to use with web browsers.
Do I know from personal experience that open source software is worth considering to use? The cost savings alone (100% if you don't hire an open source programmer) is worth a look. Offering open source technology to clients can help keep a web site project affordable. Just prior to the convention, I had opportunity to create my first eCommerce web site for a local company. In order to provide the secure socket connection for their customer's web browsing and order form submissions, the client purchased a $200 digital certificate. However, once the digital certificate finished it's job of delivering the form to the client's email box, it would remain on the server open to perusal. The data needed to be encrypted automatically, and the client didn't want to spend another $200 for a software to do it.


Fortunately, the domain provider was using open source software on their servers and said that they offered Gnu Privacy Guard but didn't support it. Learning how to use GnuPG was easy, and required installing it on the client's Mac (there's a plug-in that adds menus to OSX Mail for signing, encrypting and decrypting email), then creating and submitting a public key for the client to the domain provider. Additionally, a PHP script was fabricated that submitted the form data to GnuPG on the server which, in turn wrote an encrypted version of the data to forward to the client's email box. The only pain the client experienced was not in their pocketbook, but in waiting a couple of extra weeks to learn and put it all in place. The client has been operating a reliable secure site for a couple months now. Yes, open source works.
R Charles Flickinger, iHUG Ambassador
www.ihug.org