CATEGORY: Software

Apple Worlwide Developers Conference 2007 has passed for almost two months by now, and all the huzz and buzz of iPhone has started to calm down.

But, time-travelling to about a month ago, the day when I met Joe Goh, one of the very few Mac developers we have in Singapore. It was over a-cup-of-coffee talk, a nasi-briyani and roti-prata meal at Ang Mo Kio (AMK) Hub, he shared his experience at the conference, and one thing that caught my attention was The Bay Area Rapid Transit (BART) Widget, the winner of 2007 Apple Design Award (Dashboard Widget Category).

BART_widgetBART widget is small swiss-army tool that allows commuters to plan trips on the BART subway system in the San Francisco Bay Area.

When he showed me the widget, I was fast to be impressed at the amount of information packed nicely into such a small widget, and its intuitive design that delves with immediate feedback and speech synthesis. The best of all, that widget was all done basically with HTML, CSS and Javascript!!

The BART Widget proved to us, that given enough thoughts and creativitity, much we can do to replace the simple and traditional web interfaces that we all have been familiar with.

Finding out more about Bret Victor, the guy behind BART Widget, I found a paper he has written on User Interface (UI) design, named ‘Magic Ink‘. If you are a software developer or a UI designer, nothing beats bumping into a resource as delicious as this.

Bret stresses that information software design can be seen as the design of context-senstive information graphics, which he shows clearly through his widget, and he steps through the process and throughts behind the creation of BART widget, which I think is an invaluable information.

In the paper, he also shows other great examples on how a typical information-rich page, can be redesigned into a context-sensitive information graphic. An example shown below:

Flight Original

Consider the re-design:

Flight Redesign

Music The Way You Love It

FRI, 8 SEP 2006

logo_pandora.gifI’m not sure about you, but I always listen to music when I work. It creates the mood.

If you and I alike, can’t afford to buy songs that last you a week without repeating “Superman” for at least 20 times (additional 1 more time if you watch Paul Twohill last night on TV), listening to radio is one option, it’s free anyway. :)

But when things get serious, and you need to crack your head for your one-million project, you wouldn’t want to listen to DJ’s jokes, song dedication messages, or some ads about big sales in town. I love DJ’s jokes btw, Daniel Ong is my favourite, but not when doing really serious stuff.

The alternative will be Pandora (I love this name). If you have not heard of it, it is okay, that is the reason why I am writing about this anyway. It was released some months back, and it has been indespensable for me.

Using Pandora is like playing your own radio station, you start creating a new station by entering an artist name or a song title (the one that you love). Then using a smart algorithm, it will play songs similar in tune, rythm, and groove with the artist/song title that you have just entered.

You can even vote if you like or hate the songs suggested, and it will remember, and the algorithm gets smarter I presume, coz I just fall in love with the station each day. And some unheard artists with songs of your taste may also pop up. Smart! Isn’t it?

If you have not tried it, go and check it out, start creating your own radio stations, the way you love it. And big thanks PANDORA!!

CodeJamYesterday, I met Casey Chiang and Kang Ngee, founders of CodeJam Pte Ltd, known for their flagship product, MemoriesOnTV, a friendly application that allows you to create photo slides playable on CD/DVD. CodeJam has been around for 4 years, and MemoriesOnTV has been downloaded over 700,000 times on download.com; and they are growing, they just moved to a new office. It has a meeting room!! :)

They bumped into BookJetty through a link that I unashamely posted on a dicussion forum. They think that what I have done for the community through BookJetty is a nice gesture, so they invited me for a friendly visit and a chat.

We shared our lows and highs, our pains and struggles as software startups, and we had a good laugh and an enjoyable session. They gave me some invaluable advices and about the plans I have for Pluit Solutions, and encourage me not to let the flame in me being put off. We parted with a promise that we will keep in touch.

I think CodeJam can be a good inspiration for the software startups in Singapore; to be creative, let loose, and fulfill the core value of programming, to improve the quality of life. Let that spirit lives within us, and let’s help each other out, if not money, let it be an encouragement.

15 Sep 06 - CodeJam is looking for a good C++ developer, if you are one, find out more here.

RSS Auto-Discovery Howto

MON, 17 JUL 2006

rssRSS feed has been the blood vessel for bloggers. But sadly many blog sites that I bumped into still do not have the RSS feed auto-discovery feature.

This simple feature allows RSS feed reader to auto-discover your feed link by just entering your website url. Isn’t it very convenient? Instead of having to skim through your page layout for the tiny RSS button, the extra click to load your feed link and manual copy and paste the URL to the feed reader.

So how can you do that? Very easy. Edit your page layout, and insert the following tag under the <head> tag, as such:

<head>
    ...
    <link rel="alternate" type="application/rss+xml" 
title="[Your Feed Title]" href="[Your RSS Feed link]" />
</head>

Do You Need RAID?

WED, 5 JUL 2006

The short and sweet answer is Yes, because you will never know when your hard disk will fail.

I just got my server up last Friday (brand new server). On monday the hard disk failed, no offense to Dell, I have used Dell desktop for years and my hard disk has never failed. You just never know.

So my first setup was without RAID and I had to spend half a day in the data center recovering my server. Isn’t it wonderful if there is RAID? You just have to swap the failed hard disk with a new hard disk. And the best part is you don’t even get a down time.

So RAID it!! No question asked. Your server downtime and the time spent recovering your server is worth the extra hard disk.

DellThis week has been full with activities involving Linux, Linux and Linux. And the Dell server for BookJetty is finally up, loaded with LAMP (Linux, Apache, My SQL, and PHP), Tomcat and also the new vBulletin based BookJetty forum. Now it’s just pending the green light from the webhost, Qala.com, to move the server there.

Having lived and breathed Windows, switching to Linux was a bit daunting initially, but having played with it for a week, I started to fall in love; at least my typing speed has improved!!

LinuxLinux (also known as GNU/Linux) is the obvious choice if you are a start up or you just want to save some money to buy iPod. Linux is free, it is licensed under GNU General Public License (GPL), but what the @#$%, why Dell is charging me a couple of hundred bucks for Red Hat Enterprise Linux (RHEL).

Well, before answering that, the Linux here means the Linux kernel, the basic libraries that form an operating system. Since it is licensed under GPL, which in layman terms, it means you can use it, modify it, repackage it with other software, do whatever you want, but you have to give your version for free too. So pretty fair, isn’t it?

And the different repackaged versions of Linux kernel are commonly known as Linux distributions, the cool jargon is Linux Distro. So you may have heard of Red Hat Enterprise Linux, Fedora Core, SUSE Linux, CentOS, Debian, Ubuntu, Knoppix, and others; those are the different distributions of Linux.

So each distribution is different, though all of them are using the Linux kernel for the core. As for the RHEL history, it is a bit tricky. It was started as Red Hat Linux (without the Enterprise word), but in late 2003, Red Hat Linux was merged with Fedora Linux (another distro), and born out of that is the commercial version (RHEL), and the free version is known as Fedora Core.

But wait, how could they charge the RHEL, isn’t it still under GPL license? Oh hell ya…it is, RHEL source codes are still free, you can still download it from Red Hat Inc. web site. What they are charging you is for the binaries they have compiled in a CD, for support, for software update subscription. Smart move! And it makes sense for the ENTERPRISE, there’s someone to call now if anything goes wrong.

If you are a start-up like me, that is what we call luxury, and that, is a deadly sin. But no worries, there are other free distributions available. Fedora Core is one of them, but it is not as stable as RHEL, as new libraries for RHEL are first relased in Fedora Core, which then moved to RHEL after they are more stable.

But again, worry not, thanks to another open source community, they downloaded RHEL source codes (well, they are free right?), and create a final distro which is very similar to RHEL, called CentOS (Community ENTerprise Operating System). Halleluja!!

Another disto will be SUSE Linux (I’ll leave it to you to figure out how to pronounce). It’s by Novell, similar with RHEL, it has commercial and free version available. Free version is also known as SUSE Linux OSS (what a name).

Now you know why Linux is still not gaining as much adoption as Windows, though it has been gaining a lot of mementum lately. Just to understand the distros can be stressful enough. But, don’t you feel a little smarter if you know other OS other than Windows?

And the recent popularity of Linux was partly contributed by the latest very -user-friendly distro known as Ubuntu (it means ‘humanity towards others’). It is a spin off from Debian Linux project, which simply a more user friendly version. Ubuntu as two editions, the desktop edition and server edition.

And I have to stop now, or you will never visit my blog again. At the end, I chose Ubuntu for my server. It just took me a couple clicks and minimum inputs to setup a basic running LAMP server. But of course there are other things to work on after that.

So Linux for you? And which distro? :)

I have always been very irritated with the default search in Firefox address bar. If you enter “Singapore”, it will redirect to the closest matched page without showing the search list, but most of the times I want the search list!

I did a quick search in Mozilla site, and found out that you can easily customise the default search behaviour, and here are the steps:

  1. Type "about:config" in the address bar and press <Enter>
  2. The config page will show up, type "keyword" in the filter input box to filter the list
  3. Double click on "keyword.URL" to change its value to "http://www.google.com/search?btnG=Google+Search&q=".
  4. And hooola… you have successfully hacked your Firefox address bar

When Creativity Runs Wild

TUE, 2 MAY 2006

Firefox browser is getting more and more popular these days. One very good initiative to promote Firefox is through firefoxflicks.com. The site allows Firefox fans to upload a short 30-second Firefox ad.

This is hot

And a fan has created this very creative and impressive Pixar-quality 3D ad. That’s what happens if we let our creativity runs wild. Check out this flick now, and the other flicks are pretty cool and entertaining as well.

Bookjetty.comBookjetty.com is my first initiative to release an application for the public. I found myself doing repetitive tasks of finding good books in Amazon, and checking each book if they are available in Singapore National Library (NLB).

The chore was quite time consuming, so I decided to create a search engine that combines both results under one roof. The concept is not new, but lately famously known as Mashup, a website that combines the result from multiple sources seamlessly. A9.com search engine is an example of that, Bezurk.com, a travel search engine, is another example; and one of awes me is Trulia.com, it combines the search results from real estate sites and merged them into Google Map.

Stunning, isnt’ it? Thanks to the advancement in Javascript lately, the introduction of AJAX and browser suport for DOM document manipulations, all these Web 2.0 experience are made possible.

The site was designed from library user perspective. It aims to help user to find good books as fast as possible in the library.

  • Popup is  used to avoid unnecessary clicking.
  • Catalogue location is grouped for easy visibility.
  • Sorted by “Not On Loan” groups on the top, as that group matters most.
  • Book locations are grouped for easy readability.
  • Total books, Total Available books, Total Not On Loan books in the listing, for a quick view of book availability.
  • Short description for each book on mouse over for those who don’t have time to read too much.
  • Print catalogue to bring it as a reference to the library.
  • Sales ranking and customer average reviews for quick assesment of the book quality.

Bookjetty.com is still at its infancy, sometimes the listing by amazon only shows the latest edition of a book, and the latest edition may not be found in the library, but other editions may be available. This was due to the Amazon webservices Application Programming Interface (API) does not provide other editions information. But thanks to another online book service, called xISBN service, which provides other book editions list. The list will then be matched back to retrieve book information from Amazon and NLB.

I will be working on this feature this week. So stay tune. Thanks to those who have find this site useful and thanks to many who have sent in their feedback too. Please help to spread it to your friends, family or your kids too.

Note that currently the site is hosted on a shared server in the States, so the response maybe a bit slow at night.