The HTTP protocol is quite simple. But many of us under-use it, programmatically speaking. There are many very simple performance mechanisms that are often forgotten. Many developers go for disabling HTTP caching completely, as they often don’t understand how to use it, and because it can cause weird bugs when used incorrectly.

But so much things are cacheable: pages, images, CSS, JavaScript, even many REST web services! Yes, even in this social web era where content changes faster than you can write, there’s still plenty of slow changing information, such as home pages, or lists of countries, regions and cities.

Efficiently using caching translates into:

  • Better response and loading time
  • Decreased load on the server
  • Better user experience

This article aims to present a simple explanation of the HTTP protocol and proper use of HTTP caching.

More …

category PHP, Usability Thursday 17 July 2008 Comment (0)

If you played with the pretty cool Amazon Web Services, you probably started off fetching a sample off the Developer’s Connection pages. At least, I did.

One cool sample for Simple Queue Service is the one by Justin@AWS. But (you saw it coming, I suppose), being anti-PEAR (for many reason, such as dependencies, weight, version conflicts, non-catchiness of the name, fructose intolerance, etc.), I just couldn’t leave the sample like that. Yes, this is me again reinventing the wheel.

The original library depended on two PEAR components:

More …

category PHP Friday 11 July 2008 Comment (0)

Update (Aug 15, 2008): The AMF0Parser library has been updated to support the Date type in the metas, added among others by the “inlet media FLVTool2″ tool.

If you’ve done Flash banners or micro-sites that embed video with cue points for synchronization before, you know that it’s a pain in the arse. There doesn’t seem to be any tool around to modify the damn points once the file is encoded, so you’ve got to re-encode the file over and over to have your things synced correctly.

If you’ve tried to reverse engineer the FLV format before, you know that it’s a pain in the arse as well. The AMF0 format is anything but intuitive, and the documentation has been lacking for a long long time — although there’s apparently an SDK now. Luckily, there was OSFlash, and SabreAMF and AMFPHP that could be used as a documentation source.

If you recognize yourself, this might be your lucky day. After many hours of trial and error, I’ve finally been able to reverse engineer it, and to build a library that extract essential FLV information, reads the Meta, and allows you to write them back — including the cue points.

More …

category Flash, PHP Friday 4 July 2008 Comments (3)

I got no IPod. I got no IPhone. But I’ve got an OpenID. I’m like a low class geek. But whatever. I’ve read a bit lately about OpenID and wanted to give it a try on one of my personal projects (CodeIgniter based, you bet).

I’ve stumbled upon Rémi Prévost — who’s blog a follow more or less consistently due to the lack of time — CIOpenID module. It’s basically a CI embed of Janrain’s PHP_OpenID.

His code is great and works well. But one thing I don’t like about it is that it requires a different bootstrap file (a modified version of index.php) and a somewhat hacked version of your typical .htaccess file. The reason is, CodeIgniter annihilates the $_GET variable during initialization, because GET queries aren’t secure (ok, this is overly simplified, but you get the idea).

Being who I am, and somewhat liking to reinvent the wheel during my free time, I used a different approach. Rather than using a different bootstrap file, I rather chose to use the pre_system hook.

More …

category PHP, Social networks Wednesday 25 June 2008 Comments (2)

Getting back to good habits, here’s another issue of the usability review of the week. I should actually be called usability review of the day, as all the good stuff I came across was published on April 3rd.

  • Big impact, small changes on Amazon (04/03/2008)
  • Effective text only emails (04/03/2008)
  • A Refreshing Take on Usability (04/03/2008)

Shall you stumble on great usability pages, feel free to leave me a comment and I’ll give it a look.
More …

category Usability Friday 4 April 2008 Comment (0)

Facebook LogoLong time no write, I have been really busy in the last two weeks. Big news coming professionally. I’ll keep you posted on this.

Schedule aside, there’s an idea that has been on my mind for quite some time. Actually, since I saw the What happens in the Facebook stays in the Facebook Flash presentation, and after my advertising teacher told us something like : “Advertising on the web is great, because you can track the viewers behavior, including pre and post viewing”.

More …

category Marketing, Social networks Sunday 30 March 2008 Comment (0)

Bunker GameIn this saturday morning, I’m pasting my copy, sipping my coffee and sniffing around other peoples blog looking for gems.

Well, no gems found this morning, only a little single-handed pleasure Flash game called Bunker. Free advice: don’t buy the shitty 400$ shot gun, it really sucks.

category Funny stuff Saturday 15 March 2008 Comment (0)

Another crazy week, and not so much good usability articles appeared on my radar. Yet, there’s a few, and here they are.

  • Is Customer Experience Recession-Proof? (03/14/2008)
  • eCommerce Usability Review: Advanced Search Pages (03/13/2008)
  • 11 Ways to Fill Your Shopper’s Cart (03/12/2008)
  • Google to start to implement site performance metrics in SEM Quality Score (03/07/2008)

More …

category Usability Friday 14 March 2008 Comment (0)

As the post title says, TaffyDB is a JavaScript database with a CRUD — Create, Read, Update, Delete — interface. Object oriented, under 10K and compatible with most AJAX frameworks around, TaffyDB is a cool tool to bring your AJAX applications to the next level.

The object usage is quite intuitive… see for yourself:

products.find({price:{lessthan:10},
              type:{not:"Book"}});

products.update({status:"NA"},
                {manufacturer:"XZYDesign"});

products.orderBy(
   ["type",{"price":"asce"},{"quantity":"asce"}]);

I’m definitely going to find a use for this in a project soon. Meanwhile, I’m still messing with it to seize its full power. Enjoy…!

category Programming Wednesday 12 March 2008 Comment (0)

Here’s what I stumbled upon this week, on the web, about usability. The reviews are quite brief as this has been a crazy week for me.

  • Jakob Nielsen’s reports usability ROI decline(03/04/2008)
  • Yahoo Automates Usability Consulting (03/03/2008)
  • Study: Introductory Paragraphs and Tabs Don’t Aid Reading Comprehension Online (05/03/2008)
  • Measuring satisfaction: Beyond the usability questionnaire (03/03/2008)

More …

category Usability Friday 7 March 2008 Comment (1)