The Ultimate Business Machine - Archives
List of Categories : Commentary * Database * Singapore * Technology * Travel *
Mon 20 Jun 2005
Fetchmail and other things
Category : Technology/fetchmailGUI.txt
I've created an interface to configure Fetchmail. It's going to be part of an "enhanced/improved" version of Postfix Enabler that I'm working on.
It's also part of this whole idea that we could use the Mac to build a business on. For example, carrying forward the idea about "working without a safety net" (see previous post), imagine you're on your own now and you've decided that, instead of spending a couple of years applying for job after job, you would stop to think - about "what economic value could you contribute to the marketplace" and "what tools do you need to get on track again"?
Over and above the technical details about doing "sudo" and launching Unix services, this is what I've always felt - that I should be spending a lot more time thinking about the real-world issues, like what assets do I have that people would be willing to pay to use, and how each could be made into a stream of income.
That's why I built these tools - so that I won't have to spend any more time than I need to get these services turned on to help me be in business.
So what do we need? For a start, I think, a mail server. Firstly, it's convenient to have this totally under your control and it's really the foundation for a lot of future automation. Then there's the web server, but you need to be able to turn on a few services to reap its full power (e.g., WebDav for sharing calendars, PHP for running a weblog), and, even more importantly, to be able to know what people are reading when they stop by your site. Do they stay, or do they move on? And, finally, you may or may not need a DNS server configurator yet, but it's important to have that handy when you need it.
So there's this whole Internet-in-a-box idea. You could use an XServe and OS X Server. Or you could use an ordinary Mac and concentrate not on every conceivable Internet service, but only on those very focused activities that could help you get a business going.
So, I'm working on this "iBox" idea that could help people run a business on a Mac. There's going to be a lot more changes to all the stuff that I'm working on by the time I'm done. For example, this is what the Fetchmail interface looks like now. But I'll need to move a lot of things around by the time I'm done. (So, I'm just sending this to a couple of people to try out, for a start. But I'm reviving a bulletin-board/forum idea that I had for the site so that people can chime in on what they want to see being built.)
While on the topic of building systems, I don't think I would have spent as much time building all these applications if Cocoa hadn't been so much fun to use. For example I don't think I'd bother writing Mac applications if we're still on OS 9's programming APIs. I've had the five or so volumes of Inside Macintosh but I've never managed to build more than a couple of applications (in C) in a decade of use and, even then, these were of limited usefulness. (I've always had to use things like 4th Dimension or FileMaker Pro, instead).
If you look at the interface above, I used Cocoa Bindings to create and populate that table and it was very fast. The only problem is that there seems to be a bug in Cocoa Bindings when it's handling a table column with a NSSecureTextField cell (the "password" column, above). It doesn't update correctly when a user edits the column. I've got a couple of other places in Postfix Enabler that handles passwords and I've always been concerned that these passwords were left in the clear. So I very much want to find a way around this. (While Googling for it, I found just one other guy who had reported this problem, but I'm sure it's a Cocoa Bindings bug because the NSSecureTextField cell works OK on a table that's been created the "traditional" way, without Cocoa Bindings). I've actually spent more time trying to make the password column work than I took to create the whole Fetchmail interface and I'm still looking for a solution. So it's still quite a bit of work.