Wednesday, 19 March 2008

The Mac is Back*

* No, not John McCain, I'm talking about the Apple Mac.

I'm going to make a wild prediction:

The Apple Mac will increase it's market share by more than 50% over the next two years from 4.8% to at least 7.5 %.

I'm basing my speculation on some figures:
And some opinion:

First, the Halo effect. Apple now has a solid (well integrated) product offering with the Mac line, iPods, iPhones and iTunes (music and movies). Consumers who are exposed to any of these products have (mostly) good experiences, which means they get warm and fuzzy inside and buy more Apple products. (but NOT shares. Hmmmm). Why are their product doing so well despite their higher prices? My first axiom:

People are always willing to pay more for a better quality product

Secondly, some perception. I work in technology (creating software), and I would hope that we have a better idea of where the market is heading that the average consumer. I would also like to think that we have some influence over how people will be using their computers in the future, especially though the products and services that we create. I'm seeing more and more Macs being used by the creators of software, especially by those who are more discerning, and my perception is that there is an increasingly positive view of the Mac and Mac OS X in the amongst software creators. Couple that with the buzz that has been created by the iPhone and the iPhone SDK (which delivers a platform for writing software for the iPhone by 3rd party developers), and the future looks rosy.

Lastly, Windows Vista. No matter what Microsoft says, it hasn't been a big success. All the problems associated with it's (much delayed) launch, the quality of the product, the whole "Vista Capable" fiasco etc. has created a unique opportunity for Mac OS X.

Let's wait and see...

Thursday, 6 March 2008

Acid3 Test released

What is Acid3? From Wikipedia: "Acid3 is a test suite that checks how well a web browser follows certain web standards, especially relating to the DOM and JavaScript."

There's some synopsis here and on the wikipedia page

Here are the results of the browsers that I have on my work machine (Windows XP). Note that this is a score out of 100:

No surprise that IE, the bastion of web standards, fails so miserably. I'm actually surprised that Firefox is doing better than Opera, since my subjective opinion at the moment is that Opera renders most pages better than Firefox (except the Google ones, which is not much of a surprise since Google funds a large chunk of Firefox development). Also, the first time I tried the test in Opera 9.26, it crashed the browser. And it just crashed again now with Acid3 open.

All these 4 browsers have big releases coming up, so it remains to be seen who become the new king of the Acid hill. Webkit based browsers like Safari seems to be in the early lead with scores of 90/100 floating around...

Wednesday, 5 March 2008

Apache + Erlang for dynamic web content

It dawned on me this morning that there is a way of using Apache (or any other web server for that matter) with Erlang to create dynamic web content...

How? Use FUSE. There is an implementation of FUSE for Erlang by the Dukes of Erl, called fuserl. If you haven't heard of FUSE, it's a way to make anything you want look like a file system. By using fuserl, you can make an Mnesia database (just one example) look like a file system. You can map queries to directories, and the files that are "listed" can contain the rows of your tables. But you can structure your filesystem in any way you want!

Take for example YoutubeFS: "YoutubeFS enables you to browse your favorite Youtube videos locally on your desktop without going to the youtube website. Just create a youtube account and add videos to your playlists, favorites list or subscribe to different channels. YoutubeFS then enables you to automatically load these videos to a local folder on your desktop. You can then view these videos (using a browser) as if they are local files."

If you extend this idea, you can imagine that you can point your Apache server to a FUSE filesystem location which generates the "contents" of the file system dynamically. To Apache it looks like it's serving normal files, but behind the scenes you can have a distributed Erlang system generating content for you...

This wouldn't work so well if you actually want to use parameters in your http queries, but then I would use Yaws with an appmod if that's what you need.

P.S. You don't have to use Erlang either, you can write FUSE file systems in many other languages...