Kevin Ready -|- Planet Kevin -|- Version X

Less is more. Ludwig Mies

Hello. I'm Kevin

Welcome to my website, a mix of professional and personal content, designed for mobile, tablet, laptop and desktop. From the days of defensive coding during the early Web to today's responsive design targeting devices with distinct features, the approach is the same. Content and consumers should not be separated.

This site is under development. To view snapshots in the evolution of PlanetKevin from 2001, please go here.

  • Read about Content in the Age of the Device
  • See some recent clients I've worked for
  • Contact me

Content in The Age of the Device

Digital media content development has undergone revolutionary changes over the past several years. Consumers have more choices than ever, as well as raised expectations for media they consume. Fast moving trends which content developers and publishers must keep up with include:

  • Rapid Growth of Mobile Market
  • Content Choices for Device Targets
  • New Mobile Device Features
  • CSS and JavaScript Maturity

Rapid Growth of Mobile Market

In the six years since it was introduced, over 250 million iPhones have been sold worldwide. Prior to its arrival, online ads and marketing were almost non-existent for mobile devices. There had been WAP and other non-rich media methods of accessing network information, but with the arrival of the smart-phone, the Web as a content medium changed forever.

More of us are accessing the Web through mobile devices than ever before. Design and development paradigms have been and still are shifting within creative departments and the online advertising industry at large. Content developers have to give attention to a myriad of display resolutions that each have their own native look, feel and functionality. Neglecting to do so quickly reveals a company or brand "just doesn't get it."

Some analysts are predicting that 2013 may be the year that more browser content is consumed by mobile devices, including tablets and smart phones, than by desktop and laptop devices. Regardless of the instant when there are more devices online than traditional computers, their sheer number makes them unwise to ignore from a content standpoint.

The rapid growth of the smart phone and tablet markets has impacted Web development more than any event or trend since the arrival of Netscape and Internet Explorer in the mid 1990s. Unlike the desktop browser market that only considered two browsers and two operating systems, today's developers are expected to support more than a dozen operating system and browser combinations, as well as future-proofing their code.

Content Choices for Device Targets

A decade ago, the software application that ushered in the CD-ROM era, Macromedia Director, was definitively replaced as the rich media authoring tool of choice by its sibling, Macromedia, now Adobe, Flash. In the era when Director was the most affordable and accessible authoring tool, it would be used for many rich media tasks. However, once Flash became increasingly powerful, Director could no longer answer the "Janet Jackson" question--what have you done for me lately? Now, it's Flash's turn to be under the microscope trying to argue the case for proprietary SWF content over open-source HTML.

Nonetheless, it is likely that Flash will be relevant for the desktop and other markets for the next several years at least, particularly if it is able to effectively evolve into an HTML5 authoring tool. The software still has a large install base and a dedicated developer community. However, it did not make the leap to mobile, as Adobe abandoned support for Mobile Flash in November 2011, six weeks after its most famous antagonist, Steve Jobs, passed away. Many say that it was Apple's decision not to permit the porting of the Flash Player to the iPhone that led to the demise of Flash Mobile. For the developer, the event's salience was the impact on which technology to choose to become proficient. Suddenly, legions of Flash developers began eyeing HTML, JavaScript and CSS with a renewed interest.

Flash and HTML are not the only contenders for rich media in the Age of the Device. Several other proprietary environments and languages have entered the arena, particularly the native languages for the distinct device groups: Objective C, for iOS; Java, for Android; Windows for the Windows Phone; and other hardware-dependent environments. While proprietary languages enable developers to access more device functionality than is available to browser-based content, the choice to develop in device-specific languages can quickly add up in costs.

If a company develops and maintains software for each of the major device groups, it will have to ensure that several sets of programming and media assets are updated and current across each of them. A sensible strategy that many companies are following is to build thin shell applications in each relevant environment with primary responsibility to: 1) communicate between the application layer and the device or network; and 2) access any functionality that is not available to browser-based content. Core business logic and presentation is shared in common HTML, CSS and JavaScript.

In addition to over-investing in native app functionality at the expense of open-source HTML, many companies have followed the disturbing trend of providing a website for desktop visitors and an app for their device-based visitors. Beyond the production costs associated with multiple application support, companies tend to lose perspective on their clients' behavior. In many instances, they miss out on the "fat middle," those visitors who use their mobile device to go to company websites instead of downloading an app. Downloading is a serious barrier to entry and should be a component of one's mobile strategy rather than its only strategy. Even the pesky alerts that regularly interrupt the mobile browsing experience asking the user to download an app can be off-putting to potential clients.

So what is the best choice for current and forward thinking rich media content? It would be hard to dispute that the leap to mobile is being made most elegantly by HTML, or HTML5, if you will, the new darling of Web content. It's been almost 20 years since NCSA Mosaic introduced the world to HTML. During the intervening years, many file types and programming languages have come and gone, including Real, Flash, Shockwave, Java and others. As HTML, JavaScript and CSS have matured, they have matched the bulk of functionality that previously required third party plugins.

With new 2D and 3D graphics functionality, native audio and video support, and the promise of support from the growing device market, HTML5 provides power and an agreed-upon framework for content to reach consumers across devices. Used in conjunction with proprietary native device applications, HTML5 provides publishers and developers a single entry point for content across devices and environments. A generally safe rule of thumb to follow is to use open-source (HTML, CSS, JavaScript and XML) methods to achieve objectives whenever possible. Similarly, one should always consider why a target market should be unnecessarily excluded. Using HTML, JavaScript and CSS effectively, there is no reason why any browser or device should be left out of the developer's potential audience.

New Mobile Device Features

One of the most exciting areas in publishing and development that the Mobile Web has enabled comes from the tremendous feature extension that smart phones and tablets possess. These mini-computers have many functions beyond their desktop counterparts, including the ability to call and send text messages from the browser, GPS and compass capabilities, touch and gesture events and more. The onus is on content teams to find ways to integrate and incorporate these features into sites and campaigns. Some of the new features that are worth knowing about and what can be done with them include the following.

Call or send text messages from Device Browser--why not enable visitors to call or send text directly from the browser? Many campaigns have a mobile texting component, such as the voting on American Idol, yet this same type of feedback is not often enough considered for the Mobile Web. It is paradoxical that there are more ads for viewers to use their phone to send an IM on television than on content designed for the phone.

CSS and JavaScript provide factor-based layout and functionality--why not download and display only the resources that your distinct device requires? Using current methods of distinguishing physical information about the device that is consuming Web content, developers can ensure that their content makes sense for the resolution and capabilities of each device. Graceful degradation is key to Web development as it always has been.

Enable consumers to enjoy content even when offline--people don't always have a connection, but they always want content. Knowing what to cache and make available and ensuring that it is facilitated will earn you respect and loyalty from site visitors. Having access to content when no network is available is especially satisfying for all of us.

All smart phones have location-based awareness--in the world of Real Time Bidding, can anything sound more relevant than knowing where your potential client is? Knowing where you are will certainly impact your choice horizon when it comes to where to eat, where to shop, what car to buy, and much more. It also helps to determine which language, currency and other information may be most appropriate.

Most of today's smart phones have built-in compasses and gyroscopes--why not help someone out when they're trying to find you? Many people have a hard time understanding maps and orientation. If you hold your phone at arm's length and turn in a circle and see a big thumbs up on the screen when you're facing the direction of the place you're looking for, it might be friendlier for some than a grid of unfamiliar streets.

Touch and Gesture Events are waiting to be creatively utilized--why not integrate them with other features to provide a true HTML5 experience. In addition to navigation, this user interactivity can be used for games, organization, and many other applications. A fairly trivial usage could enable a person to stand in place, then move the screen view forward a few blocks and then turn the direction by moving the phone. In this fashion, a person can control the position within a map environment and do some exploring without having to move. The sky is the limit with these events, particularly in conjunction with built-in gyroscope and GPS functionality.

And of course, today's devices enable users to download apps--regardless of HTML 5 penetration, it will still be chic to maintain at least a shell within the principal device environments that contain the mobile website. Ideally, there will be some distinguishing feature(s) that the app provides to justify its download. App Stores provide income and exposure to developers and publishers and should be exploited in appropriate ways. Respect your users, consider what you're offering them and how to best serve their desires, and the choice of app versus website features will be logically revealed.

Finally, the last frontier for taking advantage of new mobile functionality is the one that is least supported: the sharing of knowledge gleaned from one application for use in another. For instance, suppose you hide some "Easter Eggs", each with a prominent QR code, as part of a campaign in XYZ City. The contest rules require the users to use a QR code reader to find the coded items, use another app to find their exact latitude and longitude, then send in all the locations to you, who will reward the first correct contestant with the Grand Prize.

It is an exciting time in content development, and features available on devices are driving the envelope of what is possible. It is a time for creativity and experiments. We are only at the dawn of the age of the device.

CSS and JavaScript Maturity

As the Mobile Web has forced developers to mature and open their design and testing sensibilities, the business logic and presentation layers in the browser have grown in their ability to manage our evolving needs and expectations. This has happened on a number of fronts: most importantly, in the new layout and programming functionality; and the advent of approaches and libraries that have become popular in developer communities.

Responsive coding refers to the technique of authoring content in such fashion that it will display appropriately for the device that presents it. The reality of multiple targets has existed since the second browser was created, or even since the first browser was ported to a second operating system. Among the latest browser features are advancements in CSS and JavaScript methods of detecting user agent information. The user agent refers to the device and application used to display content, such as a desktop MacOSx or Opera Mini running on an Android. The display screen size is invaluable for ensuring an appropriate viewing experience on a given device.

There are many rules of thumb to incorporate in one's design approach--all of which are only guidelines, and best practices are not the same for all persons or all situations. Nonetheless, some broad strokes to consider when targeting multiple devices over a network are the number of network operations--such as image requests or even ajax calls--that are being made, and the technology layer that has the responsibility of rendering the display. Just as server-side solutions should be minimized, so also should be the reliance on JavaScript to do what CSS can achieve. This includes layout, animations, interactive effects like mouseover, and more. The rules of thumb, or best practice, that I follow are, if it can be done in the client, do it in the client. If it can be achieved in CSS, do it in CSS. Another rule of thumb that I attempt best to follow is, do not unnecessarily cut off a segment of your audience, but don't shortchange those who have the capacity to appreciate the design frontiers that you want to explore.

In 2013, most online forms have at least some degree of client-side verification before a user can submit them to a server: such as ensuring a field is not blank; or that the appropriate value or format is followed for a given field. When developing for the Mobile Web, this consideration applies more so than it does to the typical connection one has from a cable modem. Bandwidth is not always an assumption that can be made, and this refers as much to the number of requests than the file sizes.

CSS Sprites were officially sanctioned by the W3C in 2011, but they've been supported by browsers as old as IE5. A CSS Sprite is a collection of images that are combined into a single image that is then referenced through CSS by having explicit width, height, scale and background-position properties set. Imagine a page with a single image, a button, with two states. Instead of downloading two files, you make a single file that has one dimension doubled. Then, by offsetting the position of the image around the width and height parameters, a different piece of the image is seen: the default and selected, for instance.

Other recent CSS arrivals include graphics features like 2D and 3D design and animation. Previously firmly in the realm of JavaScript coders, the advent of webkit and mozilla extensions that execute transition and transform functions enable CSS coders to insert trivial amounts of effort to create complex animations. The best thing about it being done in CSS is that it is guaranteed to degrade gracefully, as unrecognized attributes, such as -webkit-transform, are ignored by browsers that do not support them. The 2D and 3D extensions enable developers to design and animate content previously possible only through plugins or downloadable applications. Keep in mind that some of the more graphically compelling features also tend to be CPU or GPU intensive. This can result in poor frame rate, as well as heating up the user's device. Avoiding gratuitous animations is one thing, but abandoning altogether the idea of spicing up your site's sizzle with just a taste of the latest CSS features is missing out on the sexiness that is the Mobile Web. We all have raised expectations.

There are a number of reasons why CSS should be considered prior to JavaScript. Among the most important are, many users have JavaScript turned off; no calculations are made by CSS, while JavaScript typically cannot begin until the page is loaded; CSS provides human-readable properties that enable easy modification for distinct targets. It is important to know that CSS cannot tell what the application or OS is, but it can control content for distinct display sizes. In the Age of the Device, that is one of the most important distinctions to be able to make.

While CSS makes the entire user experience far more compelling and beautiful than it may otherwise have been, it is the new JavaScript that really explodes the power of the mini-computers we carry with us everywhere. Fortunately for endusers, there have been a number of converging JavaScript frameworks, such as JQuery, Backbone, Dojo, and others that have catalyzed the spirit of a new generation of JavaScript coders. These new coders have learned in a culture of agile development, of closures and responsive design through JavaScript, of ever-more functionality available to browsers, and they have learned to create the giants upon whose shoulders to stand.

Without boring the reader, the types of things that are now somewhat trivial for developers to achieve with current frameworks include the quick selection of page elements for styling, styling the page for distinct devices and resolutions, creating 2D and 3D images using nothing but text, opening network sockets for peer-to-peer communication, providing map directions and associated GPS and compass features, and APIs that empower users to access information from innumerable data sources. What may interest the reader is that the majority of the functionality associated with the mobile browser experience is that it comes from JavaScript, primarily through framework coding.

For the lay person, what is salient is that many modular libraries are available for developers to use to create mobile and desktop content. By using code that has been tested by many different browsers, devices and websites, a lay person should hope to be able to expect a look-and-feel and interactivity that can be described and agreed prior to code commencement. Knowing how the developer intends to construct the site can enable the contracting party to participate in planning and assessment.

The powerhouse libraries of today loosely evolved in functionality from libraries like Yahoo's YUI, and its extension, ExtJS, which enabled integration with Dojo and Prototype, to today's leaders in desktop and mobile, JQuery, Sencha and newcomer, Angular. JavaScript has matured into a language with a strongly backed future. Interoperability is one of the core traits that many of today's most popular frameworks possess, which is beneficial for developers and publishers alike.

Even though there are many frameworks or libraries to choose from, each with advantages and shortcomings, including size, compatibility and ease of use, to achieve design objectives, there are some times that even these will not suffice the needs of an ambitious project. In these cases, one may look to either create their own frameworks or methodologies to address their specific issues, or to extend or alter existing code. Most libraries have the ability to be extended or over-written. However, there still exist many instances in which code requirements do not permit libraries to be used, such as online advertisers, who are reluctant to download a kitchen sink worth of code to achieve a thimble-full of functionality. 30K of code may seem small by some measures, by others it is more than the allotted weight of the entire creative, including rich media.

Links to some of the most important libraries and frameworks today are below:

JQuery has the largest install base and developer group. It has been around since 2006 and provides ways to address and affect DOM and CSS content across browsers and devices. It also has been extended with JQuery Mobile and JQuery UI JavaScript and CSS modules.
Backbone provides MVC programming to JavaScript, with the single dependency of the Underscore library. It works well with JQuery and others, providing event and state features.
Underscore provides utility functions that work with other code, such as mapping and filtering, in cross-browser fashion.
Angular is a recent arrival from Google, which extends core HTML by making it a runtime document including features such as data binding and localization.

This is only a small selection of the libraries being used today. The benefits of using libraries are multifold. The nature of the project will influence which, if any, frameworks are appropriate; and the availability of developers who already know or who are willing to learn a framework will also impact the eventual choice of code approach.

Content in The Age of the Device
Project Work

Project Work

Some of the companies and projects I have worked on in recent years include:

  • Mediaplex
  • AKQA
  • SmartShoot
  • VirtuOz
  • CBS Interactive
  • Organic
  • Frog Design
  • Mindjet
  • ON24
  • Eveo
  • UStream
  • Reality Digital


Mediaplex, a division of ValueClick, has been providing comprehensive solutions for advertisers and agencies since 1996, including ad serving, data management, tag management, rich media, mobile, and more.

Developed a series of JavaScript, CSS and HTML templates for Flash/Rich Media ads appearing on top-tier sites and ad networks, including Google, Yahoo, AOL, and others. Responsible for ensuring consistent and exceptional functionality in all modern browsers (IE6+, Chrome, Firefox, Safari, et al), across ad networks, and publisher sites. Integration with jQuery, backbone and other frameworks.

Primary Technologies: JavaScript, CSS, HTML, Flash


AKQA is a leading ad agency that stewards global brands in the digital age. Acquired by WPP in 2012, AKQA has more than 1,000 employees around the world, with offices in Europe, North America and Asia.

Developed client side functionality (JavaScript, CSS, HTML, Yahoo Map API), using JQuery and integrating Groovy/Grails back end for pharmaceutical application. Responsible for .gsp editing and localization, in addition to standard front-end JavaScript and CSS.

Primary Technologies: JavaScript, CSS, HTML, GSP


SmartShoot connects consumers with filmmakers and photographers in an online marketplace for location-based work and social rating, vetting and reviewing features.

Developed Facebook Application (page and profile/tab version) for online video company. My role was coding PHP, CSS, JavaScript, FBML using Eclipse and Zend Framework. Also created namespace-based extension to MRSS feed to augment search function.

Primary Technologies: Flash, ActionScript AS3, JavaScript, CSS, HTML


Virtuoz was acquired by Nuance Communications in January 2013. The company specializes in providing online support through virtual chat agents. Its functionality is being merged with Nuance's own mobile virtual agent, Nina.

Developed client applications for Intelligent Agent Web Service in Flex, Flash and JavaScript for VirtuOz clients PayPal, H&R Block and Chegg. My role was to write client-side logic in ActionScript and JavaScript to work with Asynchronous activity associated with the virtual agent.

Primary Technologies: Flash, ActionScript AS3, XML, AJAX, JavaScript, CSS, HTML

CBS Interactive

CBS acquired CNET in 2008 and rebranded the network as CBS Interactive (CBSi), and CNET became a subsidiary. The company is a major publisher of broadcast and online entertainment.

Developed a Facebook IFrame application for a reality TV show; was responsible for ActionScript, JavaScript (jQuery), PHP, and Facebook programming, including FBML, XFBML, FQL and the JS and PHP Facebook APIs. Worked with client to ensure knowledge transfer to enable staff to work with commented/documented code.

Primary Technologies: PHP, FBML, FQL, XML, Flash, ActionScript AS3, JavaScript, CSS, HTML, SVN

Organic Inc

Organic is one of the first digital marketing agencies, IPO’d in February of 2000, and became a subsidiary of Omnicom in 2003. They have maintained a focus in online and cutting edge technologies.

Developed Income and Expenses module for Bank of America's current home loan guide. Created interactive charts using existing and new AS3 frameworks. Worked with Ant-backed project builds with other AS3 developers.

Primary Technologies: Flex, Flash, ActionScript AS3, Ant, XML, JavaScript, SVN

Frog Design

frog designs, engineers, and brings to market meaningful products and services for its worldwide customers. Their experience spans technologies, platforms, and media across a spectrum of industries. frog has worldwide offices and is a company of the Aricent Group, a global innovation and technology services firm.

Developed an Air application for a prominent telecommunications firm that used a variety of technologies to bridge the desktop and mobile devices. After developing prototype, tested with beta version of Web Services for Fortune 100 software firm for usability analysis. Project associated with Windows Azure launch

Primary Technologies: Flex, Flash, ActionScript AS3, XML, Air


Mindjet creates team collaboration software. Its products share your ideas visually, help organize information, create plans, and work across teams. Mindjet works on Windows and Mac desktops, in the cloud, on-premise, and on mobile devices.

Developed interactive videos for the new MindMaster 8 flagship product for front page of their English and German sites. Attended client meetings and worked with their team to ensure pixel-perfect replication of PSD comps.

Primary Technologies: Flash, AfterEffects, Video, ActionScript AS3, JavaScript


ON24 provides webcasting, lead generation, and virtual event solutions that are designed to meet performance requirements for businesses of all types and sizes. ON24 offers a portfolio of licensed ASP products or turnkey solutions.

Developed MXML components for Virtual Tradeshow. Used Cairngorm framework for B2B administrative application for Tradeshow. My role was Flex development and bug resolution.

Primary Technologies: Flex, Flash, ActionScript AS3, XML, Air


Eveo has provided innovative digital solutions for clients across devices, media and networks since 1999. Their principal clients are in the healthcare and pharmaceutical industries. Their services include interactive and video content development and design, 3D animation, mobile solutions, tradeshow solutions and more.

Created XML-driven marketing application with video, Tweener-animated fades, blurs and placement, for Novartis FocalinXR. Developed XML-backed PDF to SWF conversion process for a number of vaccine products for GlaxoSmithKline, as part of a larger application suite.

Primary Technologies: Flash, ActionScript AS2, AS3


Ustream provides a platform for live video broadcasting and user-generated content for personal and business users worldwide. They boast more than 50 million unique monthly visitors and have been referred to by many as the "YouTube" for live events.

Developed horizontal reflective thumbnail scroller using ActionScript 3 which loaded object data from AMFPHP (Flash Remoting) and called image and video feeds in response to user interaction. Was responsible for determining handshake requirements, gradient fade, exponential navigation and media functionality. The videos are served from a Flash Media Server, and all feeds are live.

Primary Technologies: AMF, PHP, Flash, Video, ActionScript AS3, JavaScript, Ajax, XML

Reality Digital

Reality Digital provides white label video solutions for social networking, intranet and corporate uses. Since 2003, they have built social media experiences for leading brands and agencies, providing the infrastructure to build, manage, publish, distribute and monetize the video component of social media campaigns.

Developed suite of XML-based FLV players--simple video players, video players for blogs, WebCam recording, video editing--which shared a core logic swf and are configurable to support size and shape requirements, third party assets, ad tracking, and advanced functionality. Was responsible for the Flash/ActionScript programming, and client-side functionality of RD's Opus Platform.

Primary Technologies: AMF, PHP, Flash, ActionScript AS2, JavaScript, XML

Bonus Content
Interested in connecting?

Questions or comments ---> Contact me