Clarifications on Flash Player for Mobile Browsers, the Flash Platform, and the Future of Flash
I have worked with Flash and been part of the Flash community for about 12 or 13 years (over 10 of those with Macromedia and Adobe). Over that time there have been a lot of ups and down, but I think that the past couple of days have been some of the most difficult of my career. I wanted to make a post which will hopefully clarify some of the news from the past couple of days, and provide some more context around what is going on.
Read the rest of this entry »
Flash Professional and the Future
Yesterday was probably one of the most overwhelming days of my entire career. First, Adobe informed developers that we are going to stop developing the Flash Player for mobile browsers, then news came out that there were layoffs at Adobe, and finally, Adobe held a financial analyst meeting where we spelled out the Creative Cloud, and the fundamental strategic shift Adobe is making.
All of this news is a lot to digest at once, and I know that there are a lot of questions and concerns from the community about what all of this means. I am working on another blog post which will address this from the Flash community’s standpoint, but I wanted to make a quick post and debunk a rumor that has been going around about the future of Flash Professional.
Read the rest of this entry »
HTML5 Camp Tokyo : State of the Web Slides
I am in Tokyo for the week and just spoke at the Tokyo HTML5 Camp, giving a talk on some of the lessons learned from working on theexpressiveweb.com, and talking about Adobe and HTML. I have posted the slides with notes online.
Download Slides (26mb pdf).
If you have any questions or suggestions please post them in the comments.
Timing issues when animating with CSS3 Transitions
I have been playing around a lot lately with motion graphics created using HTML5 and / or CSS3. One of my favorite new features is CSS Transitions, which makes it super simple to animate element properties between two states.
However, I ran into a gotcha the other day, and wanted to make a quick blog post in case anyone else runs into it in the future. Basically, if you change a property that a CSS Transition is monitoring in the same script loop that you add the element to the DOM, the CSS Transition will not take affect. Instead, the element will be drawn with the new properties, and will not animate to those properties.
Here is an example that shows the issue, as well as how to fix it.
Read the rest of this entry »
JTV Live : A Google Chrome Extension for Justin.tv
Since I started playing Starcraft 2, I have become a pretty big fan of e-sports, and in particular, of watching streams of games. The most popular site for streaming is Justin.tv, where you can find tons of high level gamers streaming their gameplay. However, Justin.tv’s site does not make it easy to find out which of your favorite streams are live at any particular time.
So, to solve this problem, I created JTV Live, a Google Chrome extension for helping you track which of your favorite Justin.tv streams are live.
Read the rest of this entry »
Streaming your Desktop on Mac OS X
I have been playing a lot of Starcaft 2 lately, and really getting into the entire community. One part of the community that I recently discovered has been live streams of games (some from pros) via sites like justin.tv and ustream.com. There are plenty of articles online talking about how to stream your desktop on Windows based machines, but virtually none on how to do it from a Mac. This article will show how to use Adobe Flash Media Live Encoder (and a couple of other tools) to live stream your desktop to justin.tv (although the setup would also work for other streaming sites).
Read the rest of this entry »
Toggling mute on Mac OS X with non-Mac Keyboards and Alfred
I recently switched keyboards and picked up a daskeyboard professional (model-s). This is a really nice (and satisfying) mechanical keyboard, which I really like. However, das only makes a Windows version of the keyboard, and I am running Mac OS X. In general, this isn’t an issue, as I was able to remap control keys to be in the right position, but I really missed being able to quickly toggle whether the system volume is muted.
I could probably use an app such as DoubleCommand to remap one of the function keys to the mute key, but I didn’t want to rely on on a third-party piece of software that I would have to configure each time I wanted to set up a new system. So, I decided to create a simple AppleScript Application that I could call from Alfred (or Quicksilver) that would toggle whether the volume was muted.
Read the rest of this entry »
JavaScript Voronoi port
I have always been amazed by some of the digital art work that Mario Klingemann (aka @Quasimondo has created using with Voronois. After doing some searching, I found an early ActionScript 1 Voronoi implementation that Mario did, and I ported it to JavaScript.
I wanted to share the results:
Read the rest of this entry »
JavaScript QuadTree Implementation
Last week I was playing around with a little EaselJS experiment which required me to do collision detection against all items on the screen. This worked fine with a small number of items, but of course, the more items I added, the slower everything became.
I knew that I needed to optimize the code, and pare down the number of collision checks. I have done this before with a grid (even held a contest for it) and was going to port that AS3 code to JavaScript. However, Ralph Hauwert suggested I look at implemented a QuadTree, which should be more efficient.
Read the rest of this entry »
How to enable English translation for Japanese NHK Channel on Comcast
Comcast has made the Japanese NHK channel available for the next week. It can be accessed via channel 330 on Comcast. The broadcast is in Japanese, but if you have an SAP enabled TV or set top box, you can listen to a translation of the broadcast.
It took me a while to figure out how to enable secondary broadcast on my Comcast box, and I didnt find much info online, so I wanted to post it here in case anyone else was interested.
Using your remote, click the Menu Button, then go to:
Menu > Setup > Audio > Audio Setup > Default Audio Track
Set the Audio Track to “Espanol“.
Right now, they are rotating between multiple languages (including English), and repeating tsunami warnings.
If you have info on how to access it for other Cable boxes, then post them in the comments.






