Recent Projects

MTV IggyEconomics Student AssociationHeaven s Best   Enjoy Life  We ll Clean It Up.madisonfund2AustinsWholesalemoderndesignincsmallworxcelluleanrevaultdigitallauretilaw

My daughter turns 1 year old

Posted in Main on February 11th, 2011 by Mike – Be the first to comment

Our daughter, Rebecca, turned one year old today. Happy birthday, sweetheart! Mommy & daddy love you very very much!!!!

Share and Enjoy:
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks

Traffic has increased 1,000%

Posted in Main on February 10th, 2011 by Mike – Be the first to comment

Just wanted to give a quick thanks to everybody including my clients for helping boost traffic to this site 1,000%!!!

And thank you everybody who has been contacting me, I greatly appreciate your business!

Share and Enjoy:
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks

Should You Hire From USA or India?

Posted in Main on February 6th, 2011 by Mike – Be the first to comment

I see this a lot, and to be honest, I'm not terribly concerned about it myself and I'll explain why below.

The big question… should you hire a USA programmer or a programmer from India (or other third-world country)? When hiring from outside of USA, you are likely to be spending about half the cost per hour than you would if you hired from the USA.

True, they do have a lower cost of living and so they can afford to work for less. What's also true is the old saying, "You get what you pay for." This is especially true in the web industry.

While you're paying more, you're paying for quality work which will be more flexible, better extended in future, and robust. Not only that, but you'll also have your project completed faster. And I'm only speaking generally here. There are some shoddy US-based programmers as well… some that just don't care, to some that are just starting out. But overall, you will get far better quality from a US-based programmer or team.

And not surprisingly, when factoring overall costs, US-based programmers often come at the same cost or even CHEAPER than India-based companies. The timezone gap and communication barrier presents an enormous challenge. Not only are you practically guaranteed that your final product will be something other than what you envisioned, but it's going to be a very frustrating work experience the whole time.

So you have to ask yourself… is my idea.. my project…my future……. is it worth spending a little extra per hour to get an end-result that is leaps and bounds more robust and stable and flexible than it would be otherwise?

When I'm working with my clients, I work with them in real-time. They see my screen, in real time, as I work. This allows unparalleled collaboration short of working together in person. Not only do you verify that I'm actually DOING the work when I say I'm doing it, but you're there along every step of the way able to quickly catch any mis-communications, or when new ideas come to mind, we are able to immediately discuss and implement those new ideas!

All of my clients are repeat clients. That's right. 100% of my clients have come back to me for more. And about HALF of my clients are people who have worked with third-world country programming teams who have upset them so much that they were forced to seek an alternative, better programmer who can actually make their plans and ideas a reality, quickly. Once a client switches to me, they are part of the Infinity Web Creations family for life–they refuse to leave because I deliver only top quality at an affordable price. I've not heard the same said for ANY third-world country programming team in my 10+ years in this industry.

Share and Enjoy:
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks

jQuery 1.5 released!

Posted in jQuery on February 1st, 2011 by Mike – Be the first to comment

As everybody who knows me knows… I'm a huge fan of jQuery. So needless to say, the next major release of jQuery (1.5) has me extremely excited!

We are told that the largest charge to jQuery with this version is AJAX. It has been completely rewritten in jQuery. Instead of returning a regular XMLHttpRequest object, jQuery.ajax(…) now returns a jXHR object. This allows you to perform previously impossible tasks like aborting JSONP requests, according to the jQuery blog.

jQuery 1.5 also introduces deferred objects. This is a chainable utility object that can register multiple callbacks into callback queues, invoke callback queues, and relay the success or failure state of any synchronous or asynchronous function.

And finally, one of the most exciting changes in jQuery 1.5 is the massive performance increase in traversal functionality. Calls to .children(), .next() and .prev() have been dramatically sped up.

This was just a quick overview of the changes jQuery 1.5, and more importantly a notification that you should go get jQuery 1.5 immediately and start experiencing the changes for yourselves! Full information on the jQuery 1.5 release can be found at: http://blog.jquery.com/2011/01/31/jquery-15-released/

Thanks for reading!

Share and Enjoy:
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks

How to Create a Throbbing/Pulsing Image Effect With jQuery

Posted in jQuery on January 27th, 2011 by Mike – 2 Comments

I received a request from a client of mine who sought my help after his other developer was unable to perform a specific task using jQuery, and they didn't want to revert to Flash. As you probably guessed, he wanted a throbbing or pulsing image effect. An image (several, actually) were to "fade" in & out partially, to give the desired illusion when hovering over the image with your mouse. Not only that, but the effect needed to continue repeating as long as the mouse was hovering over the image.

I've never built such an effect before, and was unable to really locate any help with it via Google and so after a few minutes of planning and experimenting, my appreciation for jQuery's simplicity and power was once again renewed. Here, I'll explain how to achieve the effect and show a demo of it since nobody else has documented it that I could find.

To demonstrate the effect I'm going to show you how to reproduce, take your mouse and hover over this image:

Demo Headshot for throbbling / pulsing jQuery effect

Neat? I thought it was. And thanks to jQuery, the effect can be had with MINIMAL work. In fact, I'm going to provide the code for you copy/paste-type folks, and then explain how it works.

 

// #############################################
(function($) {
	$(document).ready(function() {
		window.pulse_image = null;
		window.pulse_continue_loop = false;

		$('.pulse_image').mouseover(function() {
			// User is hovering over the image.
			window.pulse_continue_loop = true;
			window.pulse_image = $(this);

			PulseAnimation(); // start the loop
		}).mouseout(function() {
			window.pulse_continue_loop = false;
			window.pulse_image.stop();
			window.pulse_image.css('opacity',1);
		});
	});
})(jQuery);

// #############################################
function PulseAnimation()
{
	var minOpacity = .33;
	var fadeOutDuration = 650;
	var fadeInDuration = 650;

	window.pulse_image.animate({
		opacity: minOpacity
	}, fadeOutDuration, function() {
		window.pulse_image.animate({
			opacity: 1
		}, fadeInDuration, function() {
			if(window.pulse_continue_loop) {
				PulseAnimation();
			}
		})
	});
}
  1. Copy and paste the above code into a file (I'm using /js/pulse_image.js).
  2. Make any changes you'd like to the minOpacity, fadeOutDuration, fadeInDuration (duration is specified in milliseconds; 1000ms = 1 second)
  3. Link to the javascript file within your web-page. I'm assuming you've already linked to jQuery.
  4. Give your image or images that you want to have this effect a class of pulse_image.
  5. Enjoy!

For those who are still reading, I'm going to assume you want to know how it works. It's actually quite simple.

We set 2 global variables called pulse_image and pulse_continue_loop.

window.pulse_image is a jQuery object for the CURRENT image that is being hovered, or previous image that was being hovered.

window.pulse_continue_loop tells us whether we want to continue the pulse effect animation or not. This is a boolean flag.

When the DOM is ready, we initialize those two global variables and then create our event handlers. When any element with a class of pulse_image has its mouseover event fired, we set our pulse_continue_loop flag to TRUE, because we do want a constant pulsing effect. We also assign the pulse_image variable a jQuery object that is for the current image being hovered. Finally, we start the animation by calling PulseAnimation().

Next, we need to handle when the image is no longer being hovered. When this event fires, we set pulse_continue_loop to FALSE, because we're done with the animation… the mouse is no longer hovering. In addition, we want the current animation to stop, so we call pulse_image.stop(). Since we may have stopped that animation mid-fade, we set the image's opacity back to 100% (1).

So now we've directed what should happen, when… but still need the actual WORK done. This is where the PulseAnimation() function we called earlier comes in.

Here, we have 3 local variables we can set to configure the dynamics of our animation. Those are pretty self-explanatory and the defaults work very well. Experiment as you wish.

We take our image, pulse_image, and create an animation. The only effect we're doing is setting the opacity to minOpacity which is defined above. We specify our fadeOutDuration, and then our callback function. Within our callback function, we're starting a NEW animation, which sets the opacity back to 100% (1), over a period of time specified by fadeInDuration, which then has its own callback.

Within the second animation's callback, we check if we need to continue looping or not (via pulse_continue_loop global variable). If true, we call PulseAnimation() which starts the initial animation over again, and the cycle repeats. This is our exit strategy which is vital or else we would be stuck in an infinite loop. pulse_continue_loop gets set to FALSE whenever the mouse stops hovering over the image, effectively stopping our loop when the animation is no longer needed.

So there we have it. In 39 lines of code, we achieved a throbbing or pulsing effect with jQuery. We can make any number of images have this animation, and in fact it's not limited to only images!

Mouse Over Me!

All that's needed to be done is adding a simple class to any element that you want to have the effect. It doesn't get much easier than that. Thanks, jQuery!

Share and Enjoy:
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks