Mac@Work
The
Ultimate
Business Machine


A Mac Business Toolbox

From databases to programming languages to web servers, there are powerful new tools on OS X for business users.


by: Bernard Teo

Back to weblog:
The Ultimate Business Machine


Creative Commons License

Copyright © 2003
Bernard Teo
Some Rights Reserved.

This work is licensed
under a Creative
Commons License.




Businesses like to talk about excellence and delighting the customer. It means that spriritual things, like care and craftsmanship, do make business sense.

So, if you take this thought through the end, we have to suffuse everything we do in business with the care that come from good design - from design of business processes all the way down to the design of technology.

That's why the Mac matters. When you buy into the Mac culture, you buy into a certain way of looking at the world. A way which can infuse a business with a vigour. And wouldn't that be good for business?


A Mac Business Toolbox

Databases

A database system has to ensure accuracy. It has to be fast. And it has to scale well as the business expands. Those features are now taken as a given. To gain an edge, though, businesses ought to pay attention to database design :

  • how you organise the data
  • how you present information to an end user
  • how you make it clear that there are controls available for digging deeper into the data

A good database design ought to make it easy for users to see patterns in the data - to review how they got from there to here, and decide where they want to go next. The computing environment, as a whole, has to make it easy for the users to extract data from the system, and re-use them in other tools that can help them communicate those plans.

A useful synergy exists if we can take things we learnt from desktop publishing and apply them to database design. There is a tradition in desktop publishing to pay attention to the use of fonts on a page, to the balance of white space versus text, and the use of colours, all in the service of helping people understand information with the minimum of effort.

In all the years of the PC's dominance, there was very little cross-over whereby corporate systems benefit from the refinements we have come to expect as readers and television viewers. With the Mac, however, even software developers pay attention to good interface design, simply because that is just the expected culture among the user base.

(There is a short article by Derrick Story at O'Reilly called, "Rendezvous is French for JXTA". To me, never is the gulf between the technologists and the human race more revealing than in the name given to quite similar technologies. Further proof, if you need, that Apple does get it.)

Prior to OS X, there were less opportunities to demonstrate the value of that aesthetic sensitivity because we had less choices in databases. The databases created using FileMaker Pro were pretty to look at and easy to use, but they had limited conceptual power. For example, it was never possible to build an accrual-based (double-entry, rather than cash-based) accounting system using it. A posting to Income is often accompanied by a posting to Accounts Receivable. If one fails, due to deadlock for example, (remember, there are other processes updating the system at the same time) the other will have to be rolled back gracefully.

With OS X, we've now got powerful new tools at our disposal. We can install databases like MySQL, PostgresSQL, and Oracle natively on OS X (which is just another flavour of Unix). These are all first-class, scaleable, multi-user, fast, popularly-supported databases that can support mission-critical applications (we are now so buzzword-compliant). And of course, MySQL and PostgresSQL are gloriously free.

More importantly, with all these databases appearing on OS X, we are getting the drivers we need to connect front-end applications to databases. For example, we can now once again pull data out of Oracle (or MySQL) into Excel on OS X. This was a capability which languished in OS 9. With this feature on the Mac again, we can provide accountants, managers, and analysts with pre-packaged queries which they can use to extract data from corporate databases.

So the opportunity comes again, where we get the data circulating to where it could be better used. Now, this is where the IT industry can make a real contribution to business productivity - if we realise we're really in The Understanding Business, rather than in the technology business. If we realise that we're really in the business of helping people understand information better, we'll know how all the desktop publishing, digital media, and visual design tools fit within the larger scheme of things. Databases and networking form the plumbing. If we fit in a convoluted, difficult to use contraption for a tap, we'll never get the understanding flowing where it matters (no matter how much fun the technologists have playing with the plumbing).

Mac users and Mac developers are quite united in the understanding that good design matters. I believe we are only beginning to see the consequences being played out as former Unix/Linux geeks discover the Mac via OS X, absorb the culture's aesthetic sensibility, and deliver applications that combine power with simple usability.

Programming Environment

Let's say we agree that working within the traditions of the Mac will implicitly encourage an adherence to good design principles. And now, all the necessary plumbing are in place - databases, conformance to networking standards so that the Mac becomes a good corporate citizen, etc... What other tools exist to create custom solutions for business users? We now turn to the OS X programming environment.

Objective-C. When Steve Jobs returned to Apple, he brought along the NeXTStep software development environment, whose primary language was Objective-C. NeXTStep has since become Cocoa, and we can now also program in Cocoa using Java. But Cocoa remains a very productive development environment. What this means to users is that we are once again getting a lot of hot new products appearing first on the Mac, all coming from independent developers. Example : NetNewsWire. You can look up Version Tracker to get a feel for the pace of the innovation.

Java. Java is a god-send to OSX. Although Apple's own Objectice-C is arguably more elegant and productive as a programming language (Mac is better than PC; Betamax is better than VHS, etc...), the Java developer community is huge. As a developer, I am starved for access to databases, and I have drunk deep from the Java well. JDBC (Java Data Base Connectivity) drivers exist for so many databases, including Oracle and MySQL. They all work out-of-the-box on OS X. Java programs call these drivers in a consistent way. So you can swop in and out databases at will. (Check out Luca, an accounting system on OS X written using Java, Cocoa and MySQL).

PHP, Perl, etc... These languages, which are a staple in the Unix/Linux world, are supported out of the box in OS X. If you need more recent releases than are provided in a stock OS X installation, or you need even more alternatives as to language and libraries, there is a project called Fink which has done a fantastic job of porting Unix/Linux applications onto OS X.

The point about listing all these alphabet soup of programming languages is to describe how the Mac is not isolated as a platform any more. If an OS X developer is at a loss as to how to implement a certain business solution, he has the whole Linux/Unix/Windows community on tap on who uses the exact same language as him. Just like on Windows or Linux, OS X-based systems are infiintely tweak-able. That should reassure the techie.

Yet the user base remains very cognizant of good design. Look up Perversion Tracker (a hilarious parody of Version Tracker) to see how poorly working software get mercilessly lambasted.

Project Management Software

Projectory. There is one Project Management System that was written specially for Mac OS X users, called Projectory by Corey Ehmke, but it will run on any platform with Apache, Perl, and MySQL installed. It was created completely on Mac OS X.

Web Servers

Apache. On OS X, when you turn on Personal Web Sharing, you are actually turning on Apache, the world's most popular web server. Once you modify the web pages, that's it. You move on.

But to the techie, there is a CGI-Executables folder (under /Library/WebServer) he can drag Perl scripts into that makes the web server even more useful, e.g., for hosting weblogs from the simple (Bloxsom) to the baroque (Moveable Type).

Actually, you can extend the capability of OS X's built-in web server to run Perl, PHP and AppleScript scripts and Java servlets, among others. The point here is that you have choice - lots of choice - to fashion a custom e-commerce solution to a business problem. Did you notice, Apache, PHP, Perl, Java are all license-free? There is a cost for the techie who does the custom work. But you get no Microsoft tax.

Mail Servers and Others

The "free" theme continues when we look at offerings available for hosting the company mail server. SendMail, the veritable workhorse in the Unix world for e-mail servers, is built into OS X. You just have to know how to turn it on. If you need to run your own Domain Name Server, you guess it, that other work horse called BIND for DNS is also built in. All these on a plain-vanilla OS X installation.

Summary

Macs may be a little more expensive but Apple continues to make the most appealing hardware, in terms of looks, portability and usability. How else could they have gotten such a loyal customer base?

What we usually forget to add to the equation is the amount of robust applications that are built into the system out-of-the-box. These applications solve real-world problems and cost nothing to use.

It is ironic that in today's Internet-based world, a Mac user ends up with greater choices than a Windows user. A business whose applications run on Macs can move these over to Windows, Sun, Linux, IBM, HP hardware easily, depending on the trends the future holds. A Windows user using Windows-only applications like .Net is locked into Microsoft's proprietary architecture, no matter what advances emerge in the rest of the world.

A business should use the right tool for the right job. In a day when we have established standards at the Internet level, we only impoverish ourselves when we settle on the lowest common denominator. If we can find an edge to do things better, if we can find better ideas, don't you think we should at least give it a try?

.

References:

Finally, keep this book at your side:

  • Mac OS X Unleashed - by J. Ray and W. Ray

Contact : Bernard Teo