Now that it appears Webkit is slowly emerging as the defacto layout engine of most popular browsers (see Opera’s recent announcement), it wouldn’t do harm to reacquaint oneself with the nitty-gritty of optimizing Webkit across a variety of platforms. While coding keyframes is straightforward and streamlined in CSS3, there are some drawbacks to using Webkit - namely it’s sluggish response time on mobile devices.
While most desktop browsers use hardware acceleration to deliver smooth animations, this same behavior is not performed as a default on iOS or Android. Instead most devices will only use their CPU to process graphics; you are likely to run into glitchy, slow, animations if you attempt to run multiple or complex transitions. There is however, an interesting workaround to this that is simple to implement: trick your mobile device into thinking it is running 3D animations as opposed to 2D ones.
Most mobile devices will use their GPU to process animations if they are three-dimensional. Simply add this line to your keyframes to get a quick boost for your animations.
-webkit-transform: translateZ(0);
Developers go to great lengths to reduce latency during page-load; we weave sprites out of multiple images, compress reams of files and merge stylesheets and scripts into large tomes of code. Perhaps one of the more overlooked areas in regards to optimizing websites is that of confronting the fundamental issue limiting HTTP requests itself. Deep within the HTTP 1.1 Protocol is a specification that sets default parallel downloads to two files per hostname.
The HTTP 1.1 specification, circa 1999, recommends that browsers and servers limit parallel requests to the same hostname to two (Fielding et al. 1999).
This was originally done in a noble effort to increase security and reduce the likelihood that users would be flooded by malicious attacks via their browser. Unfortunately, if you’re only serving up your media from one hostname, it can significantly increase load time and frustrate your visitors. Alas, two things can be done to assuage this. You can opt to either serve up your media files on an entirely separate hostname or you can create subdomains on the original hostname from which to access your files.
Creating several subdomains for media before starting any project can go a long ways in streamlining your site’s load time as well as helping to reduce cluttered file structures on your server.
By now even those of us on the periphery of the tech community are acquainted with the details surrounding Aaron’s death and the legal battle that ensued during the last two years. In a media climate that lionizes ethically ambiguous figures like Mark Zuckerberg, Swartz’s work for the wider public good instead found him unendingly hounded by a Department of Justice unable to comprehend the nuance of copyright law. Amongst his numerous achievements, it is most essential that we continue to pursue the vision he shared with countless others of the Open Access Movement.
Read Swartz’s short manifesto and visit Open Access.