Drawing with CSS
From time to time I run across somebody that has pushed CSS to the point where they can draw pictures with only markup. There are a few interesting older CSS behaviors that make this possible, and of course some new tricks such as gradients as well. In being inspired by some of these examples, I couldn’t help but try my hand at the technique on an image I see nearly every day – the Adobe logo. Since the Adobe logo does not have any gradients, and is fairly blocky to begin with, it made for an easy subject for a first attempt. I was able to manipulate the border width and thickness, as well as width and height, to draw the triangles that make up the logo. It may, however, surprise you to find that I have also drawn the letters of the logo with only...
Cigars 2011
It is around this time of year when all the cigar blogs light up with annual reviews. The lists range from the top ten, to rankings of all the stogies smoked in the year past. I don’t have anything that exhaustive, but I do have some new and interesting smokes I encountered this year. Here are five of the cigars that come to mind, with a little description of why I chose them, or what I thought was unique about them. Should you encounter them in the wild, they are all worth your time and money. Drew Estates Dirty Rat Among my all time favorite cigars is the Drew Estates Liga Privada No. 9. It is a line that they continue to expand – the T-52 is also very good, if a bit more spicy. With the Connecticut sun-grown wrapper from the T-52, the Dirty...
Build a Web Socket Server
It is a little-known feature of Adobe AIR that you can build and publish applications using a web standards-based workflow. That’s right, take an “index.html” add some “mycode.js” and turn it into an application to be deployed as a desktop application. This feature has actually been there since the beginning, and comes with all fashion of fun and interesting API. One of those APIs is the ability to create a raw socket server. With this in mind, I couldn’t pass up on the opportunity to implement a Web Socket server with JavaScript. About Web Sockets Web Sockets have actually been under development as a specification for a few years. The initial draft of the “Hixie” specification dates back to 2009, and made it through 76 iterations before...
Animating Web Socket Data
Over the years I have learned many things about why companies build applications. There is the standard e-commerce site for example, which allows a company to sell its goods to a broad audience they may have never originally been able to reach. Behind the firewall of an e-commerce site then is typically a dashboard application, which allows managers and marketers to watch purchasing trends and learn how to execute better in the future. Historically, however, this has been a job of refreshing the data occasionally to see the latest. This lag can introduce missed opportunities for the business – especially when the data being monitored relates to a single event (e.g. special sales). With Web Sockets, this data can now become real-time information, and...
Child’s Play
Back at the beginning of November, I had the opportunity to present on “Exploring Canvas” at HTML5 Live in New York, NY. During the presentation I covered a variety of canvas topics ranging from the basics, such as how to get started, to more open-ended experimentation such as red/blue 3D rendering. It was a fun topic, with a fun audience, but the slides were especially fun to build since I had my seven year old daughter help me design them. I have since gotten a lot of questions about how I built the slides, so I thought I would spend a post talking about the process. I should note up front that I have often included my daughter in my presentations – especially around multi-screen and physical computing. The original idea popped into my head when...
iBond
As the end of our London-themed mobile application tour rolls around, we turn to the world famous Mr. Bond, James Bond. One of the features not provided for by mobile browsers yet is the ability to take a picture using the device camera. This of course makes it hard for James to use a web standards-based application to take spy photos when he’s off saving the world. Luckily, as we reach into Q’s bag of tricks we can tap into the device APIs offered by Mr. Gap, PhoneGap. From the point of conceiving all four demonstration ideas, through development, and to the point of delivery, which included a trip from the United States to London, England, was four days. Four applications in four days was an ambitious goal to be sure, but PhoneGap and web standards...
Tardis Finder
Poor Doctor Who. Always running around time and space, saving the universe … In a phone booth. Well, okay, it’s not actually a phone booth, it is a “time and relative dimension in space” machine, or “TARDIS” for short. But what I want to know is how, in all these different places, does The Doctor remember where he parked the Tardis? I can’t remember where I park my car at the grocery store. So in continuing the London-themed series of PhoneGap applications, and knowing that “there’s an app for that” I built Tardis Finder. Tardis Finder is really a simple example of using the device compass from PhoneGap. The code is actually pretty short and sweet. It is also very similar to using the accelerometer. You make a call...
I am a father, husband, photography enthusiast and pilot most of the time. I work for Adobe managing the world's best evangelism team the rest of the time. I also enjoy hacking hardware, cigars, travel, and movies.