Google Speed Tracer Makes AJAX Optimization Easier

SpeedTracer-SluggishnessDetailGoogle today announced Speed Tracer as part of their Google Web Toolkit offerings. While most of the GWT focuses on enabling developers to create web applications in Java (which compiles down to optimized JavaScript), Speed Tracer is a useful profiling tool for any developer wrestling with XMLHttpRequest.

What makes Speed Tracer different?

Developers have long used Firebug to identify what AJAX requests were causing bottlenecks and to analyze responses to those requests. Firebug is an extremely powerful tool and does a serviceable job with this approach, but Speed Tracer takes things one step further, analyzing the “sluggishness” of your application by examining how busy or blocked the UI is in your browser. This can help developers analyze why their application feels slow, instead of simply focusing on network-based bottlenecks.

Speed Tracer makes use of specific, unique APIs built into Webkit for this very purpose, which gives it a unique advantage compared to other profiling tools. Instead of simply guessing and checking, developers will now have full visibility into what’s causing their applications to appear slow:

Using Speed Tracer you are able to get a better picture of where time is being spent in your application. This includes problems caused by JavaScript parsing and execution, layout, CSS style recalculation and selector matching, DOM event handling, network resource loading, timer fires, XMLHttpRequest callbacks, painting, and more.

Very cool stuff. What’s more, it’s free, open source, and available for users of Google Chrome right now. Check out their tutorial below:

Google Speed Tracer

Posted in: Cool Stuff, Development, Tech News

How to use dynamic keyword insertion in Google AdWords campaigns

As you may or may not know, when creating a Google Ad for insertion in their AdWords or AdSense network, (the ads that appear beneath search results or alongside 3rd party content, respectively) you can embed the relevant keyword that triggered your ad into the ad copy itself. This is pretty useful for creating a single ad template and applying it across multiple keywords while still maintaining relevance.

For example: If you were creating an ad for selling shoes, you might use shoes, nike, adidas, reebok as your keywords. The ad copy might read:
Buy cheap shoes!
But it’d be much more compelling if it parroted back my search term to me:
Buy cheap Nike shoes!

Learn how to make this happen in your campaigns, after the jump. Or learn about our AdWords Campaign Management services right now.

Read More »

Posted in: Development

Using CSS Sprites to Create Easy Image Rollovers: A Tutorial

In this tutorial, I’ll show you how to quickly and easily use single images and a bit of crafty CSS to create easy image rollovers. You can also use this technique to simplify browser caching of your images by storing multiple images in a single “meta image”, so to speak. (There are some reasons not to do this, though.)

I don’t know if the creators of CSS were thinking of sprites (more on that later) when they thought of the background-position property [Never doubt the range of "what if" thoughts of those who created CSS—Ed] but thanks to many innovative CSS users, we have an excellent way to reduce the load times of our pages. Check it out, after the break.

Read More »

Posted in: Design, How To

Function References and Runtime Functions in PHP 5

Well, it’s the final hour of the final day, so it’s time for my weekly mandatory blog post. I was going to counter-rant a hack-job post and call the author a chump as much as my fingers could muster. But I was told that “Chump!” three hundred times is not a blog post. As I was thinking of other topics to write about I realized two things. First, no one cares that much about Lindsay Lohan anymore. Second, I have a hard time deciding what to do.

But it is this distinct lack of commitment that, while being so destructive to my personal relationships, has brought me into a rarely discussed nether-region of PHP functionally: function references and lambda functions. The sad thing is there isn’t really either in the language – at least not what you’re thinking of if you just read “function references” and “lambda functions” and though, “Oh yeah! Those are awesome!”. No, I’m going to talk about the dark and shameful ways in which we make do without these features in PHP. That feeling you just got? It’s called excitement. Actually, it’s probably indigestion, but get it checked out anyway. All good? Follow us after the jump for a look into the depths of PHP 5.

Read More »

Posted in: Development