The
Ultimate
Business Machine

Technology, business
and innovation.

And, not least, about
the Mac.

Weblog Archive Cutedge

by: Bernard Teo








Creative Commons License

Copyright © 2003-2012
Bernard Teo
Some Rights Reserved.

Thu 08 May 2008

MailServe Pro for Leopard Manual takes shape

Category : Commentary/MSPforLeopardManual.txt

I've spent a lot of time the last few days thinking about this - how to develop the MailServe instruction manual so that even a novice could set up a mail server and take advantage of every feature, with zero handholding from me.

It used to be murder, supporting things like Sendmail Enabler and Postfix Enabler for Jaguar and then Panther, four years or more ago.

So, it's an interesting problem - is it possible, through the design of the software's user interface, and the design of the accompanying instruction manual, to make something so complicated do-able by even an idiot (metaphorically speaking :-).

And I'm not talking about clicking a button and turning on Postfix or Dovecot or LDAP. That's not a problem now. I've got that part pinned down pat by all the know-how built up over the last four years.

I'm talking about all the attendant issues that I've had to help a user grapple with - domain names and how do they work anyway?, why can't I reach my server from my own network?, why can't my PHP script send mail past the Smart Host?

I've solved these each time, user-by-user. And I've helped people understand how mail servers work, building their knowledge layer-by-layer. But I've had to repeat the answers every time.

I could have had a forum, but you'd still have to dig through it.

Is there some way to build these answers, solutions and ideas into the narrative structure of the instruction manual?

The web page - with its hypertext links, accompanying graphics, and even animations (if I were so inclined to expend energy doing that) - offers a rich medium on which to organise the information to meet that pedagogical need.

So, I have the information and I have the medium - it'll be a creative act to shape that medium to display that information so that it can be acquired as know-how, internalsed as knowledge, and expended as a new capability by another person.

This is the first page of the new manual. It's like performance art, a work-in-progress. Can the objectives be met? How will it look at the end? I don't mind doing it to find out.

Posted at 4:33AM UTC | permalink

Mon 28 Apr 2008

MailServe Pro, ready for business

Category : Commentary/MailServeProReadyForBusiness.txt

So, we are selling MailServe Pro now. We're asking people to pay first and use their serial number/email address combination to download the zipped application. It's a new workflow - you can't directly download the application.

I now know for sure that the workflow works and can concentrate on improving the documentation and working on further enhancements.

I think this will go some way to towards limiting piracy. I didn't want to build in "shrinkage" through piracy to the selling price, thereby making legitimate customers pay for the sins of non-paying users.

And I didn't want to make the code overly complex just to do serial number checking - the scheme we use is not too difficult to break, but more elaborate schemes can have un-intended side-effects that derail users during the running of the program.

So we thought about this for quite a while and decided to try this out. Pay-then-download may not be hard too hard for people who're using MailServe for Leopard now, and who've dealt with me personally before, to accept. I don't mind if this limits the number of potential users but that subset is the one I build these enhancements for.

As for those who subscribe to the theory that it's better to have pirates than not to have them because they spread the news about the application far and wide, there's still MailServe for Leopard, and all the rest of the stuff that still works the old way, that they can pirate.

So, it's good thing to have this balance, to see which way is better. The next thing to do is to figure out how to sign the application, so the pirates can't just break it once and distribute that broken copy. And anyway, the things I do are quite low-level stuff that I take responsibility for. Do people really want to use something that's been patched and broken into and take a chance with whatever else was changed on that copy of MailServe? I don't really think so. It's better to be sure and pull down the application from my site.

Posted at 6:23AM UTC | permalink

MailServe Pro for Leopard with Dovecot

Category : Commentary/MailServePro4Release.txt

I've released my version of MailServe for Leopard with support for Dovecot (it's the version 4.0 release of MailServe).

It's a stealth release because I'd prefer to support one person at a time, rather than a whole horde, in case there are teething problems that I hadn't anticipated, though I've already taken care to seed this for a few people to try for a few months now.

Also, I'm interested in seeing how information diffuses through the web. How does news spread and how long does it take? For example, I'm now tracking the downloads of LDAP Enabler, to see which sites pick it up and make referrals and why. Over the course of a year or two or three, if it does succeeed in picking up users without any [overt] advertisement on my part, then the reasons why it succeeds would become very instructive. What are the improvements I have to make, and the features I have to add (and the manuals I have to make), to make a piece of software popular?

I'm interested in seeing if I can introduce and make popular a range of software without having to advertise them in places like Version Tracker or MacUpdate.

My idea is that, if I can have a core group of software that people come on over to pick up, then can I use that traffic to make them interested in picking up other new pieces of software that I also then make available at the site?

The idea is simple, but if it works, then it becomes self-generating and self-reinforcing, because if those additional software are any good, then it drives further traffic on its own and may even introduce new people to the original goods.

Then when we have sufficient pieces of good software, we can do things like promotional bundles.

This is why doing these things is fun. It's like a microcosm - a corporation in miniature. I'm affected by things like exchange rates. I do promotional materials. And I, of course, also build the damned stuff (with the help of Hai Hwee) and do all the artwork. So it's art and science and business, united. One will, one resolve, one cause :-)

15 US dollars is now a lot like 11 in terms of Singapore dollars and this slide has occurred only over the last year or two. So, I now know what it feels like to be wiped out by an adverse movement in the rates. I never thought I'd hate to see a strengthening of the Singapore dollar and there's no end in sight.

I'm now working on a revamp of the MailServe documentation. If I can find a better and more workable format, I'll revamp the documentaion for all the other software.

I'm also trying out a new workflow - to see if it's possible to ask people to pay for a serial number for MailServe Pro and then use that serial number to download the application. The idea is that people who've used MailServe for Leopard successfully, and who are now interested in using Dovecot, will trust us enough to be persuaded to go with our new workflow. We'll know if it works, for better or worse. But that's another good thing about running a business like this. You can try things and learn.

Posted at 2:53AM UTC | permalink

Wed 23 Apr 2008

Going to Shanghai

Category : Commentary/Shanghai2.txt

We're going to Shanghai, Suzhou and (hopefully) Nanjing, at the end of May and for the first two weeks of June. That's the same time as WWDC but China won out. Our earlier trip, last month, to Beijing had left a deep impression and I wanted to go back for a deeper experience.

This is going to be our second trip to Shanghai. It's a great place for shopping, e.g., for leather goods like shoes, and also for jackets. But, more than that, these trips had set me thinking and wanting to know more, about the history of China, and about the Chinese diaspora, and about how people like us ended up in Singapore.

Our Public Library in Singapore has a great collection of books about China. These are the ones I've found and enjoyed :

I read Lynn Pan's "Sons of the Yellow Emperor - A History of the Chinese Diaspora", which was useful for placing a historical context around where I am and where I could have been.

But I very much doubt I could have survived a Cultural Revolution, or a Qing emperor like Yong Zheng. Reading Jonathan Spence's "Treason by the Book", about a failed plot to foment an uprising against the Qing, I was struck by how much I identified with the scholars/mandarins who were dumb enough not to keep their mouth shut and got executed by the Yong Zheng emperor. Perhaps that explains why my forefathers had to run away to the Nanyang.

Then there's Jonathan Spence's "Mao" and Ross Terrill's "Mao", which make painful reading, to escape which I read "River Town" by Peter Hessler, and his later book, "Oracle Bones", and a similar book, "China Road" by Rob Gifford. But they've all left me strangely dissatisfied. I felt that there was something missing.

Reading all these books from the Western perspective, one could forgiven for thinking that China is run by goons and thugs, as the CNN guy would have it.

But that doesn't gell with what I'm seeing or experiencing, and it was only after reading Han Suyin's book about Zhou Enlai, who was China's prime minister for twenty-seven years, - "Eldest Son" - that I realised that large swathes of history, drama, and even wisdom and heroism can be found in the China story. "Goons and thugs" don't explain China's meteoric rise in the last twenty years. From what foundation was this built on? I think the real story has yet to be told, at least in English. To maintain a balance, one needs to read books about China written by the Chinese.

And that's where I now look with envy at the collection available for my wife in the Chinese section of our Public Library, simply because she can read the language. One day I want to be able to read those books, too, rather than the English translations, as for example, Gao Wenqian's "Zhou Enlai: The Last Perfect Revolutionary".

So, between Ross Terrill's account and Han Suyin's, where lies the truth. As Zhou Enlai may have seen it: the truth, my friend, lies somewhere in-between.

I had read Han Suyin's trilogy about China - The Crippled Tree, A Mortal Flower, and Birdless Summer - when I was seventeen or eighteen. So it's been my pleasure to recall that time while I'm writing this now. Such is how one's world view is shaped - layer by layer - like an onion. And sometimes you weep.

Posted at 3:06PM UTC | permalink

Luca is going to be Leopard-only

Category : Commentary/Luca2dot6dot5.txt

I've found a problem with the last Luca release, version 2.6.4, which was crashing when run on OS X Tiger machines. It's not a logic error in the code. It's a problem with the latest iPhone-compatible Cocoa SDK (software development kit) that I am using.

I was telling the person who first reported the crashes that I don't believe it - Luca never crashes. So, it's been a bit of a disappointment, this drop-off in quality. Got to maintain the standard.

It seems like I can't now make this work on both Tiger and Leopard. If I try to keep the code that worked on Tiger, I can't compile it for Leopard. But if I replace the deprecated API calls with the ones that Leopard requires, the application will compile, run well on Leopard, but crash on Tiger. It's like between a rock and a hard place.

Luca is my last app that I've managed to make it work on both Leopard and Tiger, with one single code base. I may not be able to hold it together much longer. I plan to update Luca with all the nice new Leopard-only Cocoa features. And that will mean the end of the Tiger version because these stuff won't run on Tiger.

I've fixed the crashes on Tiger. But this latest 2.6.5 release of Luca will probably be the last version that will run on Tiger. Version 2.7.x onwards will be Leopard-only.

Posted at 11:55AM UTC | permalink

Fri 18 Apr 2008

LDAP Enabler, in the larger scheme of things

Category : Commentary/LDAPEnablerAgain.txt

Quite few years back, when I was working with an insurance company on their underwriting, claims and accounting systems, I've observed that the same piece of contact information can be found in each of the three sub-systems and they're often not synchronised.

And even when we've finally managed to keep them synchronised in one central system, they're not available to the email systems, and so each underwriting, claims and accounting officer would have their own rolodex, diary, Palm Pilot, laptop, phonebook, etc. And I've been wanting to find a way to obliterate all these redundancies, ever since.

So with LDAP Enabler, I have finally a tool that could potentially do all that.

I could enter contact information into the LDAP repository, and have it appear on everyone's Mac, MacBook, or iPhone, which they can then use to email, call, fax, send a piece of snail mail, or pay a visit to the contact.

And lets say I'm in the accounting department and I happen to find that a client or vendor has changed place of operations or contact numbers (often the accounting people are the first persons to know such things), and I can update my system, which transparently is pulling data out from the LDAP server, and so my update consequently propagates to every salesperson's iPhone.

Or someone new joins the company, so you create an employee record into the LDAP database, and this new guy subsequently gets email access, and access to the databases, etc, with just that single password.

It's these kinds of integration that I'd like to explore next, with MailServe and with Luca.

While I talk about departments here and departments there, I actually believe that the future is increasingly one of much smaller, two to five-person companies. It's so hard to find good people to hire that I'd much rather work with just my wife, and my friend Hai Hwee, and that's it, the three of us, and I'm much happier for it. With that, you'll want things to just work with the minimum of effort - what I call No Sweat Computing - and hope to run rings round the bigger competitors.

While I'm sitting here writing this in a McDonald's, I take great comfort that my system continues to receive people, lay out my wares, make a sales pitch on my behalf, process the transactions, and most importantly, receive the money and tell me the good news.

So I'll always recommend that it is worthwhile spending time thinking about ways to build good systems. It's the difference between being happy or being harried.

And that's why I'll never understand, what's there not to like about the Mac Way?

Posted at 1:21AM UTC | permalink

LDAP Enabler is a real application now - it has an icon

Category : Technology/LDAPEnablerIcon.txt

I was wracking my brains about finding an appropriate icon for LDAP Enabler. It needs to convey the idea that it's a tool for setting up information about people (of course, you can set it up to store information about things, like resources and conference rooms, etc) but most people would use it naturally to store information about people.

And this information is hierarchically organised. This idea about hierarchy in the LDAP setup is so fundamental - you can't search for things if you mess up the hierarchy.

(I've released a new version of LDAP Enabler - 1.0 beta 2 - that disables the domain name field while the LDAP Server is running because this messes up the Search Base and, consequently, the root level of the hierarchy. You can only change the domain name when you stop the LDAP Server. But then you can't find the contacts that you're already entered because they are still stuck to the previous search base. This may be a source of some confusion but it shows just how tied to the notion of hierarchy is LDAP. It's not anything like a relational database.)

Anyway, I needed an icon to show that the application is (mainly) about storing information about people - lots of people - and the people are hierarchically organised, and the information is bounded by a domain.

I tried various permutations of the NSEveryone icon used in the OS X Directory utility, plus the Address Book icon, but they all seemed so cliched.

Then I remembered that I'm a member of that race that still uses the longest surviving ideographic written language on earth (not that I had retained much facility with that language, to my eternal shame, so thoroughly had I been immersed in Western education and ways of thinking). How would the Chinese write this if they have to invent a new word that would depict said notion?

It could be something like this :

So this is LDAP Enabler's icon. It's, of course, not any "real" word in Chinese. It's just my invention, but it's struck me just how close these ideographic representations are to icons. They both need to pack a lot of punch in terms of informational content, in such a small space. I've never thought of things this way before.

Posted at 1:21AM UTC | permalink

LDAP Enabler

Category : Technology/LDAPEnablerAnnouncement.txt

I've been working on way to activate and configure the built-in LDAP server on Leopard with just one click. Once enabled, you can use the LDAP server to store contacts information that will show up on any Mac (and iPhone), and keep them all updated from one central point.

(You can download it from here to try. It'll only work on Leopard).

It's still a work in progress. But this version is at least doing something really useful in conjunction with the OS X Address Book now.

Posted at 1:21AM UTC | permalink

Sat 22 Mar 2008

iPhone for the Enterprise

Category : Commentary/iPhoneForTheEnterprise.txt

Out of curiosity, I was wondering if I could embed our SQL frameworks into an iPhone application and use that to access a SQLite database, or a MySQL or PostgreSQL database anywhere on the Internet.

I'm glad to say it all worked beautifully. Here's a demo iPhone app accessing our (live, production) MySQL database across the Internet, basically re-using the SQL frameworks (shown in the red box below) that we had built for Luca:

What it means is that we can do version of Luca for the iPhone, if that makes sense. Or any number of database-centred, enterprise-friendly applications.

Just imagine the possibilities...

Posted at 3:27PM UTC | permalink

Fri 21 Mar 2008

Beijing

Category : Commentary/BeijingWebGallery.txt

I've uploaded the pictures I took of our Beijing trip to my web gallery on Mac.com (which turned out to be incredibly easy to do).

This is one view of the moat that surrounds the Forbidden City, at the eastern gate. To the left is the high red wall of the Forbidden City. To the right is a hutong with buildings that one can fall in love with. Though the sky was eternally grey, it's funny - we all felt sad to be leaving Beijing and coming back to sunny Singapore. I'm still sorting out my feelings. But I would want to go back again soon.

Posted at 1:23PM UTC | permalink

Wed 05 Mar 2008

Sleep Saver

Category : Commentary/sleepsaver.txt

This is the kind of mail I love to get :

On Mar 5, 2008, at 11:08 AM, Robin Plamondon about DNS Enabler:

Thanks!!

My DNS service on leopard server crash tonight and I can't restart the service, I don't know why! But with your software in 1 minute all my DNS service was created and work...

Thanks again I can sleep tonight!

Robin

Posted at 1:26PM UTC | permalink

A few nights in Beijing

Category : Commentary/Beijing.txt

I'm leaving Friday evening for a few days' visit to Beijing. My wife thought that I probably wouldn't pass up a chance to see The Forbidden City, and she's right. Any other place, and I would probably find it all too much trouble. I wouldn't miss this, even though it may be too cold up there right now for the liking of this southerner.

We're going to stay at a hotel somewhere in the lower right corner of the picture, below, which is an aerial Google Earth view of the Forbidden City.

I was at the tour agency and I was wondering why a lot of these companies won't let their staff get onto the Internet. I thought that's pretty dumb. Once I saw how I could zoom right down over those terra-cotta roof-tops, and imagined how it would be like walking those streets, I was sold on going to Beijing. Try stopping me from coming.

Posted at 5:13AM UTC | permalink

Read more ...

Mac@Work
Put your Mac to Work

Sivasothi.com? Now how would you do something like that?

Weblogs. Download and start a weblog of your own.

A Mac Business Toolbox
A survey of the possibilities

A Business Scenario
How we could use Macs in businesses

VPN Enabler for Mavericks

MailServe for Mavericks

DNS Enabler for Mavericks

DNS Agent for Mavericks

WebMon for Mavericks

Luca for Mavericks

Liya for Mountain Lion & Mavericks

Postfix Enabler for Tiger and Panther

Sendmail Enabler for Jaguar

Services running on this server, a Mac Mini running Mac OS X 10.9.2 Mavericks:

  • Apache 2 Web Server
  • Postfix Mail Server
  • Dovecot IMAP Server
  • Fetchmail
  • SpamBayes Spam Filter
  • Procmail
  • BIND DNS Server
  • DNS Agent
  • WebDAV Server
  • VPN Server
  • PHP-based weblog
  • MySQL database
  • PostgreSQL database

all set up using MailServe, WebMon, DNS Enabler, DNS Agent, VPN Enabler, Liya and our SQL installers, all on Mavericks.