Tuesday, October 30, 2007

beware of airline websites - short review of www.brusselsairlines.co.uk

So here I start, armed with my brand new FF, going to http://www.brusselsairlines.co.uk/en_uk/shop/flights/default.aspx.

The one way flight option is selected by default, so it must be they don't really want me to fly with their company on my way back?! A friend of mine at a UK airline tells me that the bookings they get are more than 90% returns, so you see my point.

I'll fly out from London, Heathrow is very close to me so I go on and delete Gatwick from the default entry London Gatwick, then tab to the To input field that suddenly changes to Abidjan. Common guys, you can do better than that, you are a Belgian company, where would you like me to fly? I'll help you this time, it is Brussels. So here I go and type in Brussels, all the way to the end because there is no AJAX to help me on, nor a drop-down.

The calendar control is useless

so I'll have to enter the dates manually. Click the departure day control, choose the 24th, yes, November is correct, well done, click on the arrival day control, choose 25 and it is so smart that it figures it has to choose a return month for me, but it gets it all wrong: I can't possibly fly out in Nov and return in October!

Ok, by now I should have overcome all obstacles, after all I did not expect that a journey from London all the way to Brussels would incur no risks at all, I am happy to fight them.

Click Submit, and here I am ... where?! NO, I told you I was going to Brussels, not to Abidjan, oh yeah, ok, that's fair, let's blame my English. (by the way, the desperate one in the upper right corner of the picture below is not me ... frown)

I will behave, so I won't use the browser Back button, and click Change your selection instead. One thing you got wrong is the button label, it should say Where did you say you wanted to go? you don't remember right? don't worry, let me choose again Heathrow instead of Gatwick, Brussels instead of Abidjan (this time there are dropdowns, so they guessed my mind, they might be good after all), wow, my travel dates are the correct ones. No, it is not a flexible date search, I told you it was an exact date one.

So show me what you've got. Leaving at 10:20 is sensible, returning in the evening. (At this moment, I don't dare play a lot with the radio buttons). I proceed to the payment pages, use my card, and I get the confirmation page saying the flight is actually leaving at 11:20 instead. So I put this on the recent DST changes and wait for the confirmation email and e-ticket. I'll probably have to call them and confirm the travel times?

Yes, 2 new items in my Inbox. E-ticket and booking confirmation. Only that the latter starts with

Server Error in '/' Application.
Input string was not in a correct format.

Did you actually want to communicate to me something important instead, like baggage allowance information, regulations, how many bottles of cider I am allowed to pack?

Also thanks for the stack trace but no, I won't debug your application.

To the developers supporting the site:
- my life should be simpler than this
- I used FF
- no, I won't try it with IE, that's your job
- yes, I did maintenance and support work for the website of an airline company

To the site owners:
- for the sake of your customers, enforce some quality metrics on your website solution maintainer
- you'll even get fewer calls in support, so you'll save money
- you'll even get fewer bookings done by agents, so you'll save money

I hope you fly better than your website performs, see you in Brussels!

Sunday, October 28, 2007

software and taps

What software and taps have in common is the public interface: APIs vs knobs.

In case of software, you expect that the API will work as documented and without side effects. Sometimes the paradigms used in the API are so common that they simply need no documentation or one does not have to read it before using the API. This is the case of the setter/getter paradigm in Java Beans or the basic REST methods.

I agree that in case of taps there is no documentation to read, nor that I'd read it before taking the first shower in the new flat. I simply expect them to work as ... expected.

Now, in the flat I am staying in UK, here is how the "undocumented public interface of the taps" works (the arrows show how to turn the taps on):

Every now and then when I try to adjust the water temperature, the water becomes too hot and burns my skin. The same thing happens to me when I use bad APIs.

Friday, October 19, 2007

good blogs

We are talking every day of specialization as a mean of making our work more efficient, still I am always appreciating non-programming skills like GUI design and marketing (just to name a few) in programmers. If you accept this idea, then this post is for you.

If you also accept the idea that the blogs you read are an extremely valuable source of such information, here are a few advices for you to arrive at just that critical mass of blogs in your reading list, realize that the ROI here should be good content in little time.

Set a threshold of how much reading you'll do every day, it might be 20 or 30 minutes. Do not allow blog reading to take up more than that, getting things done is more important.

If there are no blogs on your reading list, you should know at least one name that sounds like making a big difference in the industry. Look up his/her blog and start from there. Other colleagues in the company that have the hacker reputation could help with a few URLs.

Read regularly and yes, make exceptions, you don't have to do it every day.

Find a decent RSS reader to aggregate your blogs. They come in 2 flavors: as a desktop or a web application. You'll only know what suits you after a few months of reading. I switched to Google Reader now for the main reason that it has a centralized database that keeps older posts in the history, no longer available through the current RSS feeds.

Look for blogs that have these characteristics:

They are inspiring. They don't let you forget that you do this job for fun also and not only to make a living.

They make your brain do unthinkable connections between old stuff and the new stuff that you are reading. They are filling in the gaps.

New ideas are born into your brain. It might be a new software you could write or how you could improve the development process of your team.

When you read them, time flies by. You are bothered by that Outlook popup reminder that you have a meeting in 15, 5, oops, you're late.

They contain links to other good blogs, book titles and good software, so your reading list grows.

They just feel smart - no need to comment on this.

Thursday, October 18, 2007

your personal blog

There are 2 things a personal blog can do for you .... er ....actually only 1, cause the 2nd I thought about was to leave you how you are, i.e. unnoticed - which is not actually acting upon yourself.

The 1st one is to make your voice, opinions, ideas, comments, protests known. And if they are really good, depending on the audience, you'll be more marketable, you will gain respect from the community and (this is the thing I hope) the mere writing will teach you how to write well - you are no longer writing for yourself you see, but for a wider audience.

So there are a couple of things you need to figure out when you start a blog:
  • the URL: despite what you are thinking, this is not important. It is the content that matters, so if you are looking for a smart name for the URL, stop, find one that is close enough to your name (and it is not stupid), and instead think of a smart name for your blog title
  • blog title: it has to be short and smart, so if you are not a native English speaker (like myself), ask for a review from an English friend
  • personal description: it has to say something meaningful about yourself and be ... smart

Once you've got these, the only thing missing is the content, which believe me is the most important. People won't find you by trying out various URLs, they will still continue to search the Internet on their favorite topics - good for you if your blog posts score high. And make sure that your name is displayed on every page (i.e. part of the content), so that people searching for your name have higher chances of seeing a link to your blog within the first search results.

The good thing is that if the content is bad it won't do yourself any harm (embarrassment not counted), it will only leave you in the dark. But you've been there already right?