Tuesday, March 22, 2005

A Place for the PC?

While it is not exactly news, today Bill Gates responded to a Nicholas Carr article on the "Requiem for the Corporate PC". Carr has a good point. A large proportion of the employees with PCs do not need a high powered general purpose computer with a very hackable operating system on their desk. In large corporations the majority of the workers could be better served by a relatively thin client that gives them access to many of the services that they need on well protected corporate servers.

The problem is that the best general office productivity suite comes from Microsoft, so corporations do need to buy the highly hackable operating system with its attendant support costs to run the standard desktop. The funny thing is that while Microsoft did an extraordinary job with Office their Outlook is not so stellar.

Unfortunately, while Carr may have a good point, he tends to sex up his argument by personalizing it and that drag us down the wrong path. So rather than discuss whether the corporate lacky is best served by a thick or thin client, Carr gets in a fight with Gates. In his response, Gates is more abstract and less compelling than usual.

I think that there are interesting and compelling arguments on both sides, I would just like to see them being made.

Sunday, March 13, 2005

The ASP Model

The PC revolution was about everyone getting their own computer and running their own applications. The Application Service Provider (ASP) model is about bringing all this under control, by using the universal connectivity of the internet to run applications professionally and centrally, often outsourced to a third party.

The ASP concept has had a rollercoaster ride. At the hight of the boom 5 years ago, ASPs were going to be the next big thing. Then the boom deflated and most ASPs disappeared. A couple survived, most notably Salesforce.com, and suddenly the ASP model has become so fashionable that now I hear you cannot get funding for a new software venture unless your proposal has a service delivery component.

I am starting to appreciate the ASP model. Last week the disk on my work laptop started to die. At first the symptom was that a couple of applications did not work. Unfortunately the applications were email with calendering and IM, so I was lost, not knowing what I was supposed to be doing and unable to communicate with anyone. It took a day and a half to identify that the problem was the disk and not the applications, another day to identify that the disk was beyond repair so I needed to get a new one, a day to get the new disk and another day to get it installed and set up. So I was without my computer for a week.

The good news was that we use Lotus Notes at work which is run on the ASP model from centralized servers configured for high availability and reliability. As soon as we figured out that it was a hardware problem, I got a loaner laptop, connected it to the Notes server and was back in business with email, calendar and IM.

I was secptical of ASPs at first, but seeing how well it worked for my recent problem, I am starting to see the point of having professionally managed services delivered from centralized servers over the internet.

Monday, March 07, 2005

More Windows Fuglies

There are those times when I feel the jaw muscles tighten and my teeth start to grind. Recently Windows is has been causing my fillings to crack. At home, I have discovered that I can render the movie by switching off DMA mode on my disk drive. The movie renders with the disk in PIO mode, it just takes 10 times as long. So I find myself doing the rendering overnight just as I used to do when I had a 150 MHz processor.

The thing is that I rendered movies in January without a problem, and the only change to the system since then has been Microsoft's persistent security updates. The patches have been coming so fast and furious recently that I have not even been looking to see what they are. Anyway, given the way they are delivered, Microsoft seems to encourage the ignorance is bliss approach to patches. In this case ignorance has lead to anything but bliss.

The "funny" thing is that the hint to switch off disk DMA came from a NT bug workaround from years ago. Has the bug been reintroduced, or more likely the original source of the problem was never properly fixed and a change to another module has uncovered it again. I suppose that I should uninstall the patches one by one to find the one that is the cause of my problem, however that would mean doing the absolutely ridiculous act of writing down bug numbers on a piece of paper because sure as hell you cannot use the computers cut and paste to copy them (subject for another rant that has been brewing for a long time and seems close to erupting).

I will not go into the anguish at work where my computer has switched off DMA mode on the disk drive and cannot be persuaded to switch it back on again.

Sunday, February 27, 2005

Windows is out of my Control

Microsoft Windows is out of my control. I just want to do something simple, render a movie, but the movie render program exits at random about 3 minutes into rendering. The customer support section of the render program web site suggests that I close down all background tasks before I start rendering in case they are interfering with the render. When I watch with the task manager, I see plenty of background processes that pop up from time to time and they may well be the cause of the problem.

However, is absolutely impossible to close down background processes. My system is not owned. I do not have a spyware problem, it is just that I do not have proper control over the components that I have installed on my system. There is an unwanted Windows component that will not go away. I have uninstalled it, however its process still runs and when I kill the process with the task manager it just springs back again after a few seconds. There are other Windows components that are too scary to stop but annoyingly active when they do not need to be.

My video card has two unnecessary background processes. I have managed to disable one, however I cannot find a control to disable the other one. My sound card software has unnecessary background processes that cannot be controlled and when I stop them with the task manager they spring back to life unasked. My CD burner software has several unnecessary background tasks that cannot be controlled in any sane way, and I have spent hours looking through the options dialog boxes for ways of disabling them.

I want to stop the anti-virus program as I know from experience that it can cause all sorts of problems. So I disconnect from the internet and disable it. The problems are firstly that even although I have disabled the anti-virus program its processes are still active and doing things. Secondly, I find out that there is a program that is run periodically to check whether the anti-virus system has been disabled and warn the user. So the total effect of disabling anti-virus to get rid of background processes is just to make extra background processes appear at regular intervals.

All in all it is enough to make me want to give up on Windows and buy a Mac!.

Wednesday, January 26, 2005

UI and Scripting

One thing that Scott Collins mentioned in his talk tonight on "Mozilla Lessons Learned" at the SDForum Software Architecture and Modeling SIG touched a nerve. He suggested that User Interfaces should be scriptable. This is something that I have believed for a long time.

In my early days I built several interactive user interfaces only to find that their principal use was with scripts. This was before GUIs so you could just feed a script into any UI. The problem was that as I had assumed that the interface was being used interactively it did not handle errors in the script gracefully, and the program would often get wedged.

Recently I have only been tangentially involved in UI design, however there are two things that I have noticed. Firstly, GUIs are notoriously difficult to test, and secondly, as always, any worthwhile application that has a GUI also needs an API for automated access. Consider that a scripting interface can be used to expose programmable access to the application and we get to a thought about how we should be building applications with GUIs.

Instead of designing an application with a GUI, we should be designing the application with a language interface. This makes the application accessible from a scripting interface, and it also allows comprehensive automatic testing of the application through scripts. At the same time the application needs a GUI, which should be generated automatically from the language definition. Because the application is thoroughly tested through its scripting interface and because the GUI is generated automatically, the GUI does not need a lot of testing. Provided that the GUI generator works properly, the application GUI should work properly.


Sunday, November 21, 2004

Portable Media Players and DRM

Portable Media Players are arriving to try and catch the next big market for portable media gadgets after the Portable Music Player market has been won by the iPod. As the Register points out, portable music makes a lot more sense than portable video as portable music can be appreciated everywhere and while doing most activities, while portable video requires the concentration of the sense of vision as well as hearing and should not be used while driving, operating heavy machinery, or a lot of other things.

Another problem with Portable Media Players is that they do not work with the media that you own. So while your iPod comes with software so that you can rip your CDs and load them for your listening pleasure, ripping your DVDs for your Creative Zen is either impossible or difficult depending on who you listen to.

This shows how shortsighted the copy protection that is being built into DVDs is. Unlike audio, which you listen to again and again, most video content is consumed by watching it once. Sure, it is nice to have so that you can watch it for a second time, and it is good to be able to revisit your favorite scenes, but except for children, video content is not the kind of thing that you watch over and over again.

The Personal Media Player allows people to consume content while they are on the go and thus it allows them to increase their media consumption. Copy protection on DVDs prevents people from consuming media on DVDs and thus limits the market for DVDs.

Saturday, November 13, 2004

The Half Life of Knowledge

I know that I am coming to this meme late, however it is central to understanding intellectual property. The common statement is that knowledge has a half life. It is easy to argue against this simplistic statement, and I would state it slightly differently to capture the underlying idea. The value of knowledge, or for that matter any intellectual property, has a half life, and by value, I mean monetizable value. There may be a lot of value in common knowledge, but it is difficult to use it to gain some advantage that results in a large pile of cash because it is common and shared by all.

It is the long term fate of intellectual property to become common knowledge, it is rightful that this is the case. Most importantly, it is better for the intellectual property to become free and commonly shared, because the alternative is for it to languish and be forgotten.

A good example is Mickey Mouse. It is rumored that copyright has been extended in the USA principally at the behest of The Disney Corporation who wants to keep all the rights to their creations since the company was founded in the 1920's. The problem is that because Disney keep such a tight control on Mickey Mouse and friends he is being forgotten and the brand is being devalued. If Disney would only let go, others could broadcast the cartoons and advertise the brand at no expense to Disney.

Serious Intellectual Property like patents can also languish if they are too tightly controlled or sequestered for too long. One way this can happen is that the tight control forces the rest of us to look for alternatives, and when we find alternatives, the original idea loses value.

So this is the point. Intellectual property loses value over its life whether we want it to or not. It is better to accept this as a fact and acknowledge that Intellectual Property should become common and shared by all, because as a society we all gain from it. Lock it up and we lose it.

Thursday, November 11, 2004

Getting Indexed

Blogger is owned by Google. Great service, the only thing is that Google does not index my blog! On the other hand Yahoo does! What am I to think?

P.S. I am having a really interesting day. The Blogger spell checker does not have the following words in its dictionary: "Blogger", "Google", "blog", however it does have "Yahoo"!

Saturday, October 30, 2004

The Open Source Dilemma

It is easy to dismiss Free Software as the dabblings of a bunch of geeks on the fringe. Open Source software is another matter. Open Source is about business, making a profit and in the end, economic domination.

There are many motives for an enterprise adopting the Open Source model. For a small startup company, Open Source can be about creating a cheap and effective distribution channel. If you look at the income statement of a typical software company, sales and marketing is the single largest expense, and most of that money goes to the inefficient one-on-one process of a salesmen persuading a customer to spend a lot of money on the software package. As a Venture Capitalist might say, it is a process that is difficult to scale.

On the other hand, Open Source is like try before you buy. The game is to persuade as many people to download the product and try it out as is possible. Only after they have tried it out, found that it works and go to put it into production, do they discover that there are plenty of good reasons why they should pay for the product, or at least for support. Selling is a subtle job of positioning, partnering with other successful Open Source products and plain old getting the word out. Even so, the Open Source product is cheaper than the conventional software package because you do not have to pay the odious salesman their hefty whack.

A more interesting game is played by large companies who use Open Source for economic warfare. Open source can be used to weaken a competitor by destroying their economic value. It is a game that the larger, stronger, more diversified and aggressive company wins. A well known example, although not exactly open source is the Microsoft and Netscape saga. Netscape's principal product was a browser that they were selling for a modest sum. Microsoft killed the market for browsers by giving away their Internet Explorer with the operating system.

Interestingly enough, as a part of their war on Netscape, Microsoft opened up the source of Internet Explorer, and licensed it relatively cheaply to companies that wanted to build their own browser based product. When Netscape looked at their code, they discovered that they could not respond. Game and set to Microsoft, however it is not clear whether the match is over yet. Netscape rewrote their code and it has been released as the Open Source Mozilla browser. With security problems swirling around Internet Explorer, Mozilla has a chance of making a comeback.

IBM is an example of a big company that is actively supporting a number of Open Source initiatives for various purposes. IBM has helped develop Linux. One reason is that Linux can extend the life of the mainframe. However, a side effect is the Linux has developed to the point where it is getting to be a contender for the desktop, and thus capable of sucking some of the air out of Microsoft's lungs.

Another IBM product, Websphere is connected with the Apache Open Source web server, and IBM continues to donate software to the Apache Foundation. IBM also took an also ran development environment and turned it into the leading IDE by making it Open Source. IBM sells hardware and services as well as software, so giving away a little software to help grease the skids for an integrated sale of hardware, software and services is an excellent tactic. In fact, giving away the software to sell the hardware was standard operating procedure at IBM for many years.

So now we come to the Open Source dilemma. The first thing is to realize is that there is no such thing as a free lunch. Any software that you select is going to cost you money, and the cost of the software license is only part of the total cost. You need to pay for the implementation of the software and the hardware that it runs on. You need to train staff to manage and use the software, and you need staff to keep it running.

Thus, you are making an investment by selecting software package even if the package itself is free, and you need to protect that investment. If you do not have a relationship with the entity that produces the software, you do not have any control, and the investment is at risk. There are many types of relationship that you could have, offering code or other services in return, but the easiest way to have a relationship is to pay for it.

The core of the dilemma is that by choosing an Open Source system you may be getting involved in a battle of the giants. In any battle there is going to be a winner and a loser and while the battle is going on, anyone near the field of battle risks being trampled. When selecting Open Source software you need to do due diligence, looking not only at the resources and stability of the producers of the package, but also their motives and the likelihood that they will prevail.

Thursday, October 21, 2004

R Unmasked

We were midway through the presentation on R when I got it. R is a programming language for doing statistics and we were looking at a code sample. I said "R is just APL without the Greek symbols", and that is what it is! In practice there is a language called J that really is APL without the Greek symbols, but R is close enough.