Archive for the ‘Web development’

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 tlacroix 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 tlacroix 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 tlacroix 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 tlacroix 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 tlacroix Friday 4 April 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 tlacroix 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 tlacroix 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 tlacroix Friday 7 March 2008 Comment (1)

FirefoxFellow web designers and developers, you all are in the search of tools that will simplify your life and speed up your development and testing. Well here’s my top 5 of the Firefox and IE plugins. It’s the essential toolkit, the cream. I really couldn’t work without them.

5. ColorZilla (Firefox)

ColorZilla allows you to eavesdrop a color from a web page, and sends RGB color codes (as decimal or hex) to your clipboard for you to paste in Photoshop. It also provides you with a color picker where you can adjust Red/Green/Blue and Hue/Saturation/Variance. My rating: 9/10.
More …

category Web development tlacroix Tuesday 4 March 2008 Comment (0)

AccessibilityA friend of mine was twittering about accessibility, which gave me the idea to write on how to do no-javascript friendly stylish controls such as check boxes, buttons, and radio buttons.

Because graphic designers care more about the look and site designers care more about accessibility and usability, it’s often the developers’ role to satisfy them both. So here are the tricks I use to make stylish controls look cool when JavaScript is activated, and usable when it is not.

Being mainly a PHP backend programmer, I hate to see the design cripple the code. Therefore, I always make sure that stylish and standard controls end up sending the same data to the server.

In this post, I cover buttons, check boxes and radio buttons, and provide a simple PHP helper that automatically generates the code. You might also want to check out the demo page to have an idea of what it looks like.

More …

category CSS, HTML, Programming tlacroix Friday 29 February 2008 Comment (0)