|
Tue 16 May 2006
The End-to-End Model Gets its Day in the Sun
Category : Commentary/deviceModel.txt
Walt Mossberg, "one of the most respected technology experts on the planet", has been widely quoted lately in the Mac press ("Apple kayos PC dominance with iPod technology") : But did it - crush Apple, I mean? Certainly the Mac-hating Charles Ferguson did crow loudly about that "collapse" in "Computer Wars" and I had something to say in rebuttal (here and here). I probably wasn't the only one who thought that there was something wrong with the conventional wisdom. But such notions take time to spread. But if it's true, it will eventually take hold in the public imagination. Walt Mossberg's utterance lends credence to the notion and is evidence that this point of view might just be on its way towards reaching tipping point : And about time, too.
Posted at 6:16AM UTC | permalink
Wed 10 May 2006
Updates to the French localisation of MailServe and Postfix Enabler, plus a DNS Enabler page in French
Category : Technology/FrenchPFE122MailServe214.txt
Joselyne Rochaud and Corentin Cras-Méneur have updated their French localisation for MailServe for version 2.1.4. And they've also helped me update the Postfix Enabler French localisation for version 1.2.2. On top of that, Josy has sent me her translation of the DNS Enabler web page into French : 
I really want to thank Josy, here. It took me a long time to write that page. So I would know just how much work that must have taken her. Thanks, Josy. I'll always be in your debt.
Posted at 12:49AM UTC | permalink
Mon 08 May 2006
Bonjour/Rendezvous
Category : Technology/Bonjour.txt
Bonjour - this time I mean the technology previously know as Rendezvous. Nathan S. Duran (www.khisf.com) writes : Now, I don't know a thing about Bonjour, so Nathan sent me this Google video link, of a talk given by Stuart Cheshire of Apple. Then things started clicking in my head. This is a great talk/demo. Watch it - it's about an hour long - and I hope you may start to see all sorts of possibilities, like I did. I never understood what Bonjour means. Until now. Thanks, Nathan for sending this.
Posted at 4:45PM UTC | permalink
Fri 05 May 2006
MailServe and Postfix Enabler Updates
Category : Technology/MailServe214PFE122.txt
I've taken time off from working on Luca to update both MailServe and Postfix Enabler. Valerio Fioretti (at Image Now Studio) asked "if there is a way to REJECT all the messages sent JUST to one specific email address"? For example, for an employee who has left the company but who had subscribed to a lot of mailing lists. I've updated MailServe to do just that. Just add a "bannedUser@ REJECT" line to the Access field. Plus, I had provided MailServe with a way to turn off the open relay if you've placed your Mac server directly on a broadband line and your Mac had been set to relay mail automatically for all machines on the local subnet - because, then, all other machines on your ISP's network become your local network! Since I had to do a series of testing again, I've taken the chance to change the check box I had used to stop the open relay into a radio button to more clearly convey its intent. And I've added that feature to Postfix Enabler, too. Also, back to MailServe, I've added a "Virtual Domains" field to distinguish it from the Additional Domains field. The primary and the additional domains constitute the list of domains you will receive mail for - implicitly for all user accounts on your server. The problem is that there is no demarcation between the domains - mail for sales@domainOne and sales@domainTwo will all end up on the same mailbox. If you want sales@domainOne and sales@domainTwo to end up on different mailboxes, you need to use Postfix's implementation of the concept of Virtual Domain Aliases. You need to create two separate real user accounts on your server, sales1 and sales2, say, and assign them to be monitored by real users. Then you add the two domains, domainOne and domainTwo, to MailServe's new Virtual Domains field. And, finally, you add the address mappings - sales@domainOne to the real user account sales1 and sales@domainTwo to sales2 - to MailServe's renamed Virtual Domains Alias Mappings field. The difference between a Virtual Domains implementation and the use of the Additional Domains field is that you must list explicitly every virtual address that you are using because the mapping to a real user account needs to be made known to Postfix. By contrast, Postfix accepts mail implicitly for every real user account for the domains listed as its primary and secondary aditional domains. Both implementations can co-exist at the same time. So, it is useful for MailServe to have both fields - Additional Domains and Virtual Domains - for the user to use both implementations, e.g., to avoid having to list every address in a secondary domain, just because he is using a virtual domain. So that's now done. Both MailServe 2.1.4 and Postfix Enabler 1.2.2 are out now.
Posted at 3:19AM UTC | permalink
Sun 30 Apr 2006
One Year On, We've Got 5000 Users
Category : Commentary/5000users.txt
It's one year ago that OS X Tiger was launched and we made Postfix Enabler into a revenue stream (is there any other way to say it?). We've now got 5015 paying customers, since we started keeping proper records, and that's over 5000 unique customers, some of whom have bought all four of our software - Postfix Enabler, WebMon, DNS Enabler, as well as upgraded to MailServe. And we've done five applications, including Luca which is going thru a total revamp right now, and should be re-released in a couple of weeks. 
We've got the server applications - WebMon and MailServe. And we've got the back-end accounting database. What I am trying to work towards is to build the pieces that will link the two ends, so that a Mac user could really run a business on the 'Net, end to end. It's because we have a back-end system (that the on-line sales transactions funnel automatically to) that I can see how we're doing over the months - how the sales of DNS Enabler and WebMon have grown relative to Postfix Enabler - so that we're not too dependent on just one line - and how likely people are going to upgrade to MailServe. What I'm trying to do is to make these data analysis tools available to other Mac users, too. And we've got lots of 4D code - payroll, real estate, construction project management, training administration, and general insurance - some of which (like payroll, most definitely) we're thinking of bringing over to Cocoa. The Mac's a great business tool. And I think we've got the applications to prove it.
Posted at 7:18AM UTC | permalink
Mon 24 Apr 2006
WebMon says Bonjour
Category : Technology/WebMonInFrench.txt
WebMon now speaks French. Joselyne Rochaud and Corentin Cras-Méneur have sent over another localisation : 
It's in WebMon version 2.1.3, now out. Thanks again, Josy and Corentin !
Posted at 9:52AM UTC | permalink
Fri 21 Apr 2006
The Multi-Lingual Mac
Category : Technology/Multi-LingualMac.txt
Joselyne Rochaud and Corentin Cras-Méneur have helped me create a French localisation for MailServe, below : 
as well as for DNS Enabler : 
I want to tell them I really appreciate it. Thanks so much ! And I've also taken the chance to release Hai Hwee's Traditional and Simplified Chinese translation of DNS Enabler. So they're all in version 2.0.8. 
Posted at 3:55PM UTC | permalink
Thu 20 Apr 2006
Postfix Enabler in Japanese
Category : Technology/PFEinJapanese.txt
I've got a Japanese localisation for Postfix Enabler. At last! Thanks very much to Takashi Yoshida, who helped us get it done. It was originally undertaken by Chiang Hai Hwee, who has put her weekends attending Japanese classes to some use. But she was afraid she'd be mauling the Japanese language so we sent it to Makoto Imai for comments, and encouragement, and then to Takashi Yoshida, who helped us to edit, correct and polish it. So, here it is, on version 1.2.1 of Postfix Enabler : 
Posted at 6:26AM UTC | permalink
Tue 18 Apr 2006
Cocoa Notifications and its importance to application design
Category : Technology/LucaNotification.txt
I would like to elaborate a bit more on what I wrote in the previous post, on the relation between technology and business needs. Cocoa has a construct called notifications and it works like this : If any part of an application needs to be informed of an event that happens anywhere else in the application, it can register its interest with a Notification Centre. Then you can code your application such that when such events occur, you post a notification to the Notification Centre, who will forward that notification to all parties (and only those parties) who had expressed interest in it. So, in a real world case, it works like this : 
In the Accounting System, you may be looking at your Current Assets, which includes a Debtors' list. Then, from another window, you may be creating a Receivable Voucher for a particular debtor. If you happen to be also monitoring that debtor's list of transactions, its totals will be updated as soon as the data entry for that voucher gets completed. If you're looking at the totality of all your transactions under Revenue, that figure will also get updated. Switching back to the point of view a programmer, it's very hard to do this type of coding on your own - unless you hit upon the idea of having a Notification Centre to centralise, coalesce and dispatch all the notifications in an orderly way, which I thought was brilliant when I came across it because I had been doing this type of programming on my own and they were often a mess. And look at the economics of the situation. It's a nice-to-have feature. So the amount of time you spend programming it should be kept in proper relation to the amount of code that really does the dog's work in the application. In other words it shouldn't be carrying too much weight, otherwise it would be like the tail wagging the dog. But what it gives your application, if you get it right, is a feeling of omniscience, and you know how God-like that feels. So that's what the Notification Centre, and lots of nice touches in the rest of Cocoa, does - it tips the economics in the favour of the creative programmer, by making it possible to do this in the time you are allowed to allocate to it. So, if you're a business owner and you hear your IT manager saying that he won't accept a language like Objective-C or a tool-set like Cocoa - "who has heard of it" and he can "pick up a Java or Visual-Basic programmer from any street corner" - rest assured that that street-corner programmer hasn't spent any time thinking through the economics of programming or scoured the world for the best programming tools to build the best business applications on. That's the fight we are in. If we had stayed in organisations we'll never have been allowed to do this. There is a world of Mac users out there. There's no time to spend debating the issue. There's work to be done and let's just do it.
Posted at 4:22AM UTC | permalink
Mon 17 Apr 2006
The Constant Gardener
Category : Commentary/TheConstantGardener.txt
No, I haven't read the John le Carre book, nor have I watched the film. But this what I've learnt from pottering around the garden - that if you want something to grow, you've got to prune, prune, prune, and prune yet again. It's about letting light into the dark places. It's about watching for the deadwood, and cutting them off. Works for plants. Works for organisations, too (most definitely for organisations). And it works for code. I've put aside the server-side stuff in the last week, and I've been going through Luca instead, looking for patterns in Hai Hwee's code and pruning them off. This has been Hai Hwee's version of The Long March. She's brought Luca from 4th Dimension, through PHP, to Java and now to Objective-C. It's like we had to go through this Hejira to figure out what we really wanted to do. I remember years ago, showing the NeXT machine to a division full of people, and I was asked why we were doing this. I said that there was something there in the Object-oriented way of programming that we ought to take notice of. If I were to be asked the same question now, I would be a lot clearer and a lot more emphatic in my reply. I think I know why, now, this is all going to be good. People who teach programming are missing the point when they focus on syntax in the programming language. The important issue is design. There's such a thing as finding the most appropriate, most natural shape for a program. It affects maintainability. And design is what gives you the leverage to build powerful features into the application. And as for humans, the best and most pleasing shapes are often the slender ones, carrying very little weight. There's an aesthetic to application programming design. If you're equipped with the sensitivity, you can see it in the way Cocoa works, which can serve as inspiration to the way you learn to code. For example, Cocoa has a concept called notifications - where you can set things up so that one part of your program can listen in for changes that happen elsewhere in the program. So I have been working on this : 
where the changes I make to an account record will be reflected instaneously in all other open windows, keeping all the data views in sync. There's a real world reason why you might want to do this. Accounting, as I have come to see it, is about making an account of the data, telling the story about how the data is related and what it all means to the health of a business. So you're going to be opening quite a few windows, to look at the business from a variety of angles, and at a variety of depths. And you want the changes you make in any corner of that world to be rapidly propagated to the other views. It's about the veracity of the data and about being able to trust what you see. And you can only trust what you see if all the figures line up wherever you look, no matter what you do to the data. It's a small thing but it can throw you off rapidly if you're always needing to refresh the windows to keep everything in sync. When it's done right, it's possible for the user to forget that he's working with a machine, and immerse himself into the flow of the data and divine its meaning. This kind of programming can be very hard to keep in sync, traditionally, because there are an infinite number of permutations. It's so easy to get the signals crossed. In all the versions of Luca we've done, we've never got it perfect. Until today. What has made the difference is Cocoa and object-oriented programming. When you're working with objects, and well-designed objects for that matter, you can look for patterns and factor them out, re-arranging them and the shape of the application, like you're re-working the shape of a plant. There's nothing you can do in traditional "linear" programming that can quite match this in conceptual power. I think we've found the holy grail. My kid was watching a program on Discovery Channel the other day about the making of a Maybach - those expensive, almost hand-crafted, powerful, luxuriously equipped cars from DaimlerChrysler. That got me sitting next to him, watching, too. That's what we want to do. Build applications of such quality. Luca may not yet look it, with its ugly buttons and so on. But underneath, in its engine and its chassis and its cabling, we're getting there.
Posted at 4:42PM UTC | permalink
Sat 08 Apr 2006
Clairvoyance
Category : Commentary/clairvoyance.txt
I was just thinking that I had written something like this, in a posting called "Prescience" on 12th of November 2005 : Well, Macs are running on Intel chips. And so we are, aren't we? So, is this going to happen or not? We live in interesting times.
Posted at 2:27PM UTC | permalink
Fri 07 Apr 2006
"Why should an app developer write for both Mac OS X and Windows if he doesn't have to?"
Category : Commentary/worlddomination.txt
My answer would be : when he would much rather program with Cocoa than anything else in the world, and as long as there are Mac users who appreciate it, which I would bet my life on.
Apple's market share is "miniscule" right now. And yet writing software for it already makes a nice business.
Are there going to be less Macs sold in the world now that a Mac can also run Windows?
There's no point wasting energy arguing against the "This is the beginning of the end of the Mac" people.
All I know is that if Adobe or Quark or anyone who doesn't want to program for the Mac, then that's good because I will. There are so many things I feel that it's now possible to build because Cocoa makes it possible. Anyone remembers Improv? I'd love to build that.
If there are less developers, so much the better for us. But is it better for the users? Well, if these guys prefer to build on Java Enterprise Edition, blah, blah, blah, and we build on what we think works best, let us compete and see who comes up with things that will work better for the user. That's how the user will benefit.
Posted at 8:39AM UTC | permalink Read more ...
|