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

Magento eCommerce Review: Platform Perils and Impressions, Three Months In

It’s been about three months since I broke into Magento for my first project here at Synapse Studios so I thought I’d give my impression on the shopping cart tool having gotten to know it a bit better.

Obviously a free, full-featured, shopping cart and e-commerce solution is great concept. I mean, really, one can’t bitch too much about something that is free (notwithstanding, say, venereal diseases or OScommerce…) Magento’s feature list is comprehensive: coupons, specials, multiple checkout and shipping options, tiered pricing, layered navigation, etc. Unfortunately, when you are neck-deep into anything, you get a better sense of the minor and major flaws lurking just under the rosy surface. Take a look after the jump at some of its more vexing problems.

Read More »

Posted in: Development, Reviews

Handling State in Multiple Windows and Flaky Connections

The Interweb is a wonderful place to host complex web applications as long as you’re tethered to it by Cat5 and an ISP that has your back (Communism works out in this scenario as well). But that’s not the world we live in, and in all other cases using web applications from mobile platforms can be a new circle of Dante’s Inferno below that ice one.

The trouble with web applications on mobile platforms is two fold. First, displaying data for mobile devices is a problem in and of itself, for which I will say nothing more about in this article. Imagine users with laptops and tablet-PCs. The second and more interesting problem revolves around maintaining state and managing client server interactions in an environment where spotty network coverage and ambient radio noise are totally messing with your stuff.

Read More »

Posted in: Design, Development, How To

Get your X outta my HTML

As the guys around the office are well aware, I tend to obsess over minor details in our code. Whether it be fixing code formatting to be tabbed properly or renaming variables to better fit naming conventions of a project, the developers hate when I meddle in the codebase. Is it my fault that sometimes I miss a few when I go through and rename variables, functions, methods, etc? Clearly, no. The joys of being the boss.

But what I really want to discuss is something I don’t consider so minor, complying with web standards. Most times when I am doing web development I prefer to go with the HTML 4.01 strict doctype. We try to observe strict standards wherever we can, and they have helped us to avoid patterns of behavior that are more prone to errors. We make sure that notices and E_STRICT are enabled on the PHP side. While developing, our templating system is set to validate our markup against its doctype in a very angry way that we both love and hate. The added benefits of sticking so closely to the standards is that you can pick up errors through malformed output that browsers obfuscate, and you can achieve a greatest amount of compatibility between browsers. As any good website designer knows, creating web pages that render the same in every browser can be a royal pain (thanks Microsoft).

Read More »

Posted in: Design, Rants

AjaxDaddy.com: Making it easy to jazz up your UI

There are plenty of resources for code snippets and quick-and-dirty ways to accomplish all sorts of things in JavaScript. Back before AJAX achieved any sort of prominence, they were all form validators, alert systems, calculators and the like. Now that AJAX has hit the “Web 2.0″ scene in a big way, (in large part typifying the “Web 2.0″ application interface) more and more users are clamoring for ways to add those cheeky interface elements that they see on Flickr and elsewhere to their own attempts at the web.

We make pretty heavy use of YUI and occasional use of Prototype and Scriptaculous, all various forms of JavaScript frameworks/libraries that save us time and effort by packaging up neat effect calls and components into easily digestible chunks, while making the JS we write sane again.

The script samples here don’t do any of that cool stuff but they provide a quick and dirty starting point with some nice guidance to get in there and start AJAXing your site.

Worth a look, at least, but perhaps only if you have *some* familiarity with JavaScript basics. No? Alright, dive right in. Just be sure to test across browsers.

AjaxDaddy.com via Lifehacker

Posted in: Cool Stuff, Design

Magento: A New Open Source Shopping Cart Solution

A good amount of shopping these days is done online, but any developer knows that creating eCommerce websites is not a simple or mundane task. To cook up your own solution can take months of designing, coding, testing and headaches and there is no guarantee that you, your client, or your client’s customers will really benefit from your labors. [Reinventing the wheel is a bad habit we broke ourselves of a couple of years ago when we realized smart open source solutions could be built upon and expanded with great success.—Ed]

At the heart of these eCommerce websites naturally lies the shopping cart. There have been many attempts by both commercial and open source developers to create solutions that can be ported from one project to another. There are literally hundreds of shopping carts available for developers to incorporate into their applications and websites. Instead of talking about several of them and discussing their glories and pitfalls, allow me to present one of the newest shopping cart applications which we think has a great deal of potential.

Read More »

Posted in: Cool Stuff, Development, Tech News