Sat 06 Mar 2004
Mac@Work at Apple Singapore
Category : Commentary/trainingpictures.txt
Leon Chen, of World Wide Developer Relations at Apple, put up some pictures of the Java on OS X Course that Hai Hwee and I did at Apple Singapore last week. He'll probably have put up pictures of the AppleScript Studio Course, too, by next week. After four days in their company, I've got the images of Frank Lloyd Wright, Gandhi, Picasso, and Einstein burnt into my memory.
Posted at 9:59AM UTC | permalink
Computer Wars
Category : Commentary/ComputerWars.txt
"Apple's iPod has put it in pole position in the MP3 downloads race, but with the entry of aggressive new competition, the running order may be about to change", says Victor Keegan of the Guardian, in an article called "The Great Downloads Wars". "... Apple has been here before - it dominated the computer market decades ago but later blew it - and the question is whether history will repeat itself in an eerily similar manner." That history and the theory behind Apple's collapse was discussed in the book "Computer Wars", by Charles Morris and the ever boastful, ever grating, Mac-hating Charles Ferguson ("thank God for the arrogance of Mac users"). In it, you will find the authors advancing the notion that the battles in technology will be over "architectures" - the standards that define computer networks - and, of course, in their book, Microsoft has won the wars, now and for ever more. You know - the Sony and BetaMax analogy. But, coming from the trenches, observing how the war was really fought and, more importantly, understanding why, I've had little patience for that piece of revisionist history. History was always written by the victors. What has been written could be true, but was it the only valid account, or, more importantly, was it the account that most closely matches the evidence? That, I think, is something that remains to be seen. It's been said that Microsoft has won because the users have chosen. But the people who've chosen were often only the IT departments. The users, themselves, often fought bitterly to hang on to their Macs, right to the end. And you can find an abundance of anecdotal evidence to support this statement. Now, why would IT departments choose Microsoft over Apple's solution? Robert X Cringely, for one, has made an attempt to answer it. (" First, a trick question: Why aren't Apple Macintosh computers more popular in large mainstream organizations?") When the Mac first came out, when the pockets of Mac users in organizations started producing minutes of meetings in neatly organised, laser-printed documents, the keepers of the corporate IT resources were often asked why theirs were still produced using ugly dot matrix printers. The implication underlying such subtle signals from management, like the raised eyebrows and the quick double-take when they compared the reports handed back during meetings (picture the beaming Mac user) was that, maybe, the IT guys were starting to get out of touch and maybe we could get some help from those Mac users. What we saw ensuing was a power struggle, pure and simple. They're things that happen everyday in organisations. But it was still a fight - between people who held a vision in the glint of their eyes of what their organisation could be, if you could just exploit the potential in the technology, and those who saw technology as merely a form of control, and not incidentally, the source of their own privileges in the organisation. The latter had to find a solution that looked like they gave the users what they wanted, i.e. something that, to management's un-trained eyes, looked and worked like the Mac, and yet kept the strings of control firmly in their hands. But it couldn't really be the Mac, because the Mac was all about liberation, and joy and verve. Of course, in the waning days of their champion, IBM, there was, waiting in the wings, Microsoft, who stepped in and obliged. Microsoft's genius was, and continues to be, in recognising the true needs of IT departments, which may or may not be (and more often was not) aligned with the needs of their organisations. So, in a situation when there are no IT departments to control individual purchases, would people choose Microsoft over Apple? (They are both intent on "locking you in".) I've often believed that the "systems architecture" model espoused by Ferguson and Morris was flawed. It was true in general but wrong in the particular. People want tools that work. And, since tools are often an intricate melding of hardware and software, people want tools that have been seemlessly and carefully integrated. In the PC world, it's not clear whose responsibility it is to provide that superior computing experience - certainly not Dell, not Microsoft. Mac users are like craftsmen who love their tools and they're glad to pay Apple for continuing to make them. So without an IT department to act as controller of purchases, I believe people would vote with their dollars for the company that best provides that superior experience. And that un-analysable feeling of being cool and being hip. I bet the guys who feel good listening to their iPods have their eyes glaze over when you talk about "architectures and standards". Sure, it's a theoretical argument that you could get abundantly more choices with Windows Media Format. But will all those stuff, with their layer upon layer of "architecture", just work. In over twenty years, with our IBM PCs and Windows-based PCs as evidence, we can be sure, as night follows day, that they won't.
Posted at 7:32AM UTC | permalink
Sun 29 Feb 2004
Joy and Verve, and InDesign
Category : Commentary/IndesignJoyVerve.txt
We slipped into this by chance. Somewhere along the way, putting together the Java course, I decided I need to include a concise description of the Java language, together with an explanation of classes and objects, encapsulation, inheritance, method overriding, and exception handling. Something that a person can get a good grasp of the language with, over a weekend of reading. Something along the line of Java in a Nutshell, the very first (slim) edition of which I bought many years ago, and which did the job for me - i.e., taught me Java over a weekend. Due to the shortage of time, I quickly extracted just the parts I need, in an effort that will be difficult to defend against charges of plagiarism. So, I'm going to promise that I will make sure all the students are encouraged to buy the now much-fattened book from O'Reilly, and subsequently rewrite all my notes in my own style, with our own examples, for future courses. But the point I'm getting at is about InDesign. I used InDesign to create that language guide and I always knew I could print out a PDF version to distribute to the students. But then I realised that I could export a "text-selectable" version of the notes using InDesign's export-to-PDF feature. So I tried it out and, yes, you can select the snippets of code, copy them into BBedit or Xcode, and run them right away. So we're on a roll. We quickly moved in all of our examples, both Java and AppleScript code, and wrote up the tutorials, all in InDesign. Except for some problems we continue to have with either InDesign or the PDF file, or BBEdit or Xcode, putting in extraneous characters that mess up the purity of the copy and paste process, we can pretty much run the course off the PDF version of the course notes - with all the explanatory pictures, instructions and source code available in one place. Fortune may, or may not, favour the brave - but we've now got a way to move people quickly through a course - and we're going to find out if it works, or not, soon. But that's not all about InDesign. If you're on QuarkXPress, PageMaker, or, horrors, still on OS 9, dump them all and move on to inDesign on OS X. It's a high-performance productivity engine. Plus, you get application integration between the Adobe applications that, for once, live up to their marketing hype. And the Adobe applications really do exploit the OS X platform. While you're designing the look of the page, you may not like the fonts you already have on your system. For example, I felt serif typefaces didn't look quite at home on a page about Java and object-oriented programming. I wanted a clean modern serif-less typeface. I got out the OS X Font Book, looked through all the fonts I have, and loaded in a couple more that I happened to have on my external hard disk. When I got back to InDesign, the new fonts were picked up automatically by the running program. If you use style sheets, it's a snap to switch in the new fonts and see the effects percolate through the document. So, at one go, I'm writing a manual for computer programmmers, looking through a book about type faces ("The ABC's of Type : A Guide to Contemporary Typefaces" by Allan Haley), and I'm putting it all together in InDesign. So I'm a writer, geek, and designer, all at once. And, one more thing. It's so easy to build a Table of Contents in InDesign from the style sheets' structure. And you can put in hyperlinks that will lead your reader to other resources on the web, when they're clicked on. Export them all into a PDF document, and you've produced an indexed, free-text searchable book that faithfully represents the look you've designed into the original document. And you've done it just like a pro.
Posted at 9:47AM UTC | permalink
If we build it, nine of them will (probably) come
Category : Commentary/9willcome.txt
We've got nine people each for the Java on Mac OS X course on Tuesday & Wednesday, and the AppleScript Studio course on Thursday & Friday. The course material's ready. Or just about. We've been so busy preparing the notes and tutorials that I've had little time to think about how I'm going to go about delivering it. But without my friend Hai Hwee's help, I wouldn't even have made it here. The Java on Mac OS X tutorials, as we build it up, will contain a lot of original solutions she discovered as we went about building our Accounting application (called Luca) on Java and Cocoa. There may be the basis of a book in there, somewhere. It's not easy to find Cocoa on Java material anywhere out there. I grabbed hold of the Big Nerd Ranch book on Cocoa programming because it, at least, had a section on using Java. But when I went home and read it, it said something like, "Doing Cocoa programming using Java? Don't." So much for that and not much help elsewhere, too. But I'm more convinced than ever that, from the point of view of enterprise computing - i.e. building systems for use by businesses - Java on OS X, including building stuff on Cocoa, has got a tremendous potential. What I am seeing is the power to express and deliver solutions that can address all the fronts that a business is likely to face - on the web, in the back office, in retail point-of-sale terminals, and on hand-held palm-sized computing devices. What I am trying to communicate, through the courses, and wherever I can, is the concept of code reusability. Say, from the point of view of an insurance system, 80% of the code deals with modelling the business processes - e.g., creating an insurance policy object, then teaching it all about computing premiums and the various levels of taxes and commissions, and then making subclasses of it for motor policies and marines policies, and underneath these we have subclasses for private cars and commercial vehicles, ocean tankers and pleasure crafts, etc. The idea is all about containing complexity, and once you have done that, reusing the core of the code for supporting the e-commerce applications, client-server applications at the back-office, and for building web services for interfacing with other companies' systems and the regulatory agencies. So, Java on OS X allows me to think like a corporate IT guy (or at least how they are supposed to think, rather just spouting Microsoft-centric geek-speak), and yet use the best computing platform there is to give form to the ideas. There's a strong, and very troubling disconnect in the IT world. Or at least, as I've felt it. Why is so much of the corporate IT computing experience so much like being in a totalitarian world? It's like the Chinese movies about olden times. When they mention the emperor, even in passing, they cup their hands in salute and do their obeisance, even where the emperor is nowhere to be found. Life with IT should be lived with so much more joy and verve. And we shouldn't have to live among the Mac (lunatic) fringe to find it.
Posted at 7:13AM UTC | permalink
A Web and Mail Server on a Clamshell iBook
Category : Commentary/oldmacusers.txt
Rob Duncan is running a mail server for two domains (turned on using Postfix Enabler), as well as a web server, on an original clamshell iBook. As for us, I rotate our server between a Graphite (original) iMac, and an old G4 PowerMac. And I remember a comment someone made about running Internet servers on old Macs. So I searched my mail archives and, yes, it was Terry Allen, "Just a quick email to separate my last comments/suggestions, I noticed your point about older macs being useful - quite right - I have OSX 10.3.1 running on my old blue & white G3 450 with 256MB RAM & an 18GB Seagate Cheetah 10000rpm HD - it is running Tenon's iTools 7.2 & quite a few virtual hosts - runs great, thought you'd be interested in it. No need to chuck out those older macs." Also, I know my cousin is among the huge contingent of Mac users over at Sun (count James Gosling, Richard P. Gabriel, John Gage, and Bill Joy among the luminaries), though he uses the sleek Pismo-era PowerBook that he upgraded with a G4 processor and is now running Panther on. So there is plenty of life left in old Macs. I bet Apple's "share of use" is a lot higher than its so-called market-share numbers, whatever they mean.
Posted at 5:40AM UTC | permalink
Sat 14 Feb 2004
Low Power, High Performance, 64-Bit, 32-Bit Backwards-Compatibility, Symmetric Multi-Processing
Category : Technology/970FX.txt
Just announced. The IBM PowerPC 970FX. All good things in one unified package. And potentially much cheaper, too. It's going into volume production just in time to go into the new Xserve G5's. It's the one number we need to remember. Looks like we're going to see the whole Mac line coalesce around this chip in the years to come.
Posted at 4:27AM UTC | permalink
Thu 12 Feb 2004
Projectory - An open-source web-based Project Management System
Category : Technology/Projectory.txt
Just got this e-mail from Corey Ehmke. He has just released Projectory, an open-source web-based Project Management System that runs on any platform with Apache, Perl, and MySQL installed, but was created completely on the Mac. Projectory is free and is released under the GPL. Full information is at http://projectory.sourceforge.net. I haven't had the time yet to look further into this but I think it's a great thing for developers on the Mac platform to have, as an alternative to the Windows-only project management systems. I hope to have checked it out in time for the Java on OS X course because it may be just what these people are looking for. In the mean time, this is Corey's short description of Projectory : "Projectory is a platform-independent, web-enabled project management tool designed to track software projects through all phases of development. Where traditional project management software is primarily useful only for planning and reporting purposes, Projectory lets you track actual development effort expended by teams or individuals across multiple projects and activities. It's easy to configure for small or large software development groups, and its streamlined user interface makes it easy for individuals to enter and manage their work entries. Its comprehensive reporting capabilities serve the needs of team leads and managers alike. You can get an accurate snapshot of current development activity, track effort on planned vs. unplanned work, and compare actual effort expended to the estimates in your project plans. Its project-agnostic activity tracking functionality makes it a great tool for improving estimation on new projects, as you can mine historical data to determine real-world development metrics." And I reproduce below the Projectory team's full press release : "The Projectory development team is proud to announce that after two years of development and extensive beta usage in a rapid software development environment, Projectory 1.0 has been released under the GPL. "Projectory is a platform-independent, web-enabled project management tool designed to track software projects through all phases of development. "Where traditional project management software is primarily useful only for planning and reporting purposes, Projectory lets you track actual development effort expended by teams or individuals across multiple projects and activities. It's easy to configure for small or large software development groups, and its streamlined user interface makes it easy for individuals to enter and manage their work entries. "Its comprehensive reporting capabilities serve the needs of team leads and managers alike. You can get an accurate snapshot of current development activity, track effort on planned vs. unplanned work, and compare actual effort expended to the estimates in your project plans. Its project-agnostic activity tracking functionality makes it a great tool for improving estimation on new projects, as you can mine historical data to determine real-world development metrics. "Projectory is platform-independent and can be installed on any web server that supports Perl CGI applications and MySQL databases. Installation and configuration instructions are provided for *nix (including Mac OS X) and Windows 2000. "Full details, including a feature overview and screenshots of the application in action, are available at http://projectory.sourceforge.net "You can support future development of Projectory by making a donation to the project. 10% of all donations will go to the Electronic Frontier Foundation (EFF). For details please see http://sourceforge.net/project/project_donations.php?group_id=57546"
Posted at 2:50AM UTC | permalink
Tue 10 Feb 2004
If we build it, people will come
Category : Commentary/JavaOSXCourseUpdate.txt
We've got four people, and maybe three more, on board for our Java on Mac OS X course. So it's panic time, as Ian Beattie, the Final Cut Pro guy, would say. Three weeks more to make sure these guys will get their money's worth.
Posted at 9:46AM UTC | permalink
Mon 09 Feb 2004
Build Your Own Browser
Category : Technology/buildownbrowser.txt
Try this exercise at MacDevCenter, if you have the OS X Developer Tools installed (and have upgraded to OS X 10.3.2 and Java 1.4.2). In five minutes, without writing a single line of code, you would have built your very own web browser. Wait, that's not all. Log on to the bank where you do your Internet banking. In my case it's at the Development Bank of Singapore (DBS). Be prepared to be amazed as your very own web browser does Internet banking. It's jaw-dropping, eye-popping time. For good measure, I transferred some money from one account to another. It all worked, flawlessly. And fast, too. And all without having written a single line of code. This is going to enable a totally new class of web applications. I'm not sure how it is all going to work out, but there's going to be a hybrid between client/server and webserver/browser -based applications. If you've ever used 4th-Dimension before, you may be aware that its client-server architecture was, for some time, quite ahead of its time. But it wouldn't scale across the web. Web-server-based applications will, of course, work across the web, but the browser cannot come close to matching to the kind of end-user interactivity we used to be able to build into client-server applications. I've often wished I could get the best of both these worlds (e.g., get the web-based application to do some pretty complicated computation as I tab along from one field to another, without having to do a POST everytime). Now, I think there may be a way to do it. But how? Not sure, but I believe it'll work in combination with the technology called Web Services. And I believe also that the breakthrough will appear first on a Mac, if only because Mac developers can now cut the crap and start experimenting.
Posted at 12:59PM UTC | permalink
Wed 04 Feb 2004
Courses at Apple : Java on OS X and AppleScript Studio
Category : Commentary/Applecourses.txt
It's been announced. I'll be conducting these two courses at Apple Singapore - Java on Mac OS X on the 2nd and 3rd of March, and the AppleScript Studio Course on the 4th and 5th of March. We've completed development on Luca, an accounting application on OS X that was written using Java. So the Java on OS X course will use this as a case study to show how a Java application could be constructed on OS X. And we'll also cover areas like code re-usability, showing how most of the Java code can be re-used to build a web-services-aware accounting application that will work over the web - great for consolidating information from several physical locations. Postfix Enabler will be used as the case study for the AppleScript Studio course. I hope to get more people building such applications on OS X after the course. But will they come? We'll soon find out.
Posted at 9:32AM UTC | permalink
Tue 03 Feb 2004
Java 1.4.2, Safari 1.2 and LiveConnect
Category : Technology/liveconnectishere.txt
Downloaded these two updates and I'm now able to do Internet banking using Safari. The key improvement is the existence of LiveConnect support - at long last. Now I can connect to DBS Bank and I've heard others say they've got good results with UOB and Citibank, among others. So Netscape Navigator is out of my dock, now, and I won't ever miss it.
Posted at 6:13AM UTC | permalink
Mon 02 Feb 2004
Category : Technology/polyglot.txt
We now have two (contributed) localisations for Postfix Enabler, one in Traditional Chinese and one in French. In case you're wondering how people could contribute a localisation, this is the way it's done in OS X. If you click on Postfix Enabler in the Finder, and simultaneously hold down the Control (Ctrl) key, you will see a pull-down menu appear, so you can do a Show Package Contents, which will open up Postfix Enabler as though it's a folder. Navigate down the folder until you find the Interface Builder file (in Contents/Resources/English.lproj/MainMenu.nib). If you've installed the OS X Developer Tools, you will have Interface Builder installed, which will allow you to make a copy of MainMenu.nib, open it, and also edit it. If you take care not to disturb the structure of the interface, e.g., the size of the windows and other parameters, and restrict yourself to working on the textual elements in the interface, it's quite easy to change the words on the interface into any language you want, if the you have the text input method installed on your Mac. You can open the International panel under System Preferences and switch the Mac to use any of a dozen other languages, and then it's a simple matter of highlighting a text field anywhere on the interface and overwriting it with an equivalent text string in the language that you want to translate the application into. Then you send the "localised" MainMenu.nib file back to the author of the application, and, in less than a minute, he has a French or Chinese localisation bundled in and ready to be used. It's really that simple. The problem comes when the author makes a new version of the software. If you're the translator, you can take the new version, make a new copy of the Interface Builder file, and do the translation all over again. Without automated tools, all you can do is to look into the older version that you did the translation on (if you did remember to keep a copy), and do a lot of copy and paste to get the new version up to where you were last on, and then work on translating whatever is new on the new version. After doing this a few times, it all starts to be tedious, and you wished you never volunteered to do the trsnslation in the first place. Now what we need are automated tools that will magically compare the new version with an older localised version, somehow bring all the translations that were done before over to the new version, and then let the translator concentrate only on the new things that have appeared on the interface. Mistakes can crop up if the translator works on the Interface Builder files, so it'll be better if the translator does the translations on a text file which, again magically, can be used by the system to create the new version of the localised application, automatically. I say "magical" but such a tool indeed exists. It can be found, if you are a subscriber to the Apple Developer Connection, in the monthly CD/DVD mailer. The tool is called AppleGlot, and I've just discovered, it is also available for download on-line. It's a wonderful tool. I've got my friend, Hai Hwee, to try it out updating Kuo Yuan-Fen's Traditional Chinese localisation of Postfix Enabler from 1.0.7 to 1.0.9 and it works. We've just bumped our productivity up several notches. Now, when I update Postfix Enabler to version 1.1 from 1.0.9, I just have to work on the English version, send the new version to the translators so that they have a context to work on, but they will work on a text file (called the Glossary file), and send that back to me, which I will use to create new localised versions of the application automatically. Today, Singapore; tomorrow, the world. Did I ever mention why I call the Mac the Ultimate Business Machine?
Posted at 1:34PM UTC | permalink Read more ...
|