Posts Tagged ‘Programming’

Multiple ways to do the same thing in software development

Thursday, March 19th, 2009

Today I've tried installing Drupal 5.16.
It couldn't pass the database settings screen.
The fix applied for Drupal 6 couldn't fix it.

I created a ticket: http://drupal.org/node/407342

We all know that in every software product contains errors. This is *normal*.

I think that a better software product should allow different options for doing one action depening on the different personas.
E.g. experienced linux guru, designer, complete newbie etc.

For example php, MySQL and other offer installers as well as manual installation instructions.
This way bugs in the installer won't prevent people from using the software.
An early bug can easily turn many clients down.

How to implement a timed effect with jQuery

Tuesday, March 10th, 2009

By a timed effect here I mean do some animation and then redirect the user to a page.
Requirements: jQuery (and Javascript)
Download the file: timed_effect_jquery

Here is how to accomplish that:

Implementation

/*
This function performs some effects on a target_obj and after 2.5 sec redirects to a location defined by ahref_obj
Usage: in shopping carts e.g. when someone adds a product then some animation is perfomed to make the user aware that something is happening.
License: LGPL
Author: Svetoslav Marinov
Site: http://slavi.biz
*/
function my_timed_effect(target_obj, ahref_obj) {
jQuery(target_obj).attr('style', 'font-weight:bold;').fadeOut("slow").fadeIn("slow").show('slow');
setTimeout('document.location="' + ahref_obj.href + '"', 2000);
}

Usage:

<a href="/cart/add/1" onclick="my_timed_effect(jQuery('#my_status_container_id'), this); return false;">Add a product</a> <br />
<a href="http://google.com" onclick="my_timed_effect(jQuery('#my_status_container_id'), this); return false;">Add a product</a> (go to http://google.com after the animation)

This example will perform the animation and then redirect where the link points.

How would you do the same effect ?
Are there any other option(s) ?