Adobe MAX 2007: Highlights, Shout-outs, Brags
October 6, 2007 on 8:21 pm | In Flex, Programming | No CommentsI spent a good part of the last week in the Chicago area, attending and speaking at Adobe’s MAX conference along with my colleague Daniel Rinehart. It was a great show this year, with a lot of excitement surrounding the new technologies and concepts on display, particularly AIR, Adobe’s new desktop application technology that blends the capabilities of Flash, HTML and PDF.
A lot of great stuff was shown at the conference, and many folks have blogged the details well (Daniel for one) so I won’t bore with another repeat of it all. There were a number of highlights, including Thermo (code name for a forthcoming design tool aimed at Flex UIs that has some powerful capabilities for designers, allowing them to seamlessly move from comps to a “real” app in small, simple steps of refinement). I was also impressed by the move towards breaking out VOIP/collaboration capabilities (like those found in Adobe Connect) into separate Flex components that could be deployed in any application. I think Adobe is moving in a smart way to make their stuff more open and more invention-friendly so that developers can use their technologies as a springboard, not a black box.
Of course, I have to give big props to my friends and former colleagues at Virtual Ubiquity, the creators of the Flex-based word processor Buzzword. At MAX it was announced that their company was acquired by Adobe, and little wonder. Buzzword is going to rock Word, OpenOffice and Writely/Google Docs, and what better vehicle to propel Adobe into the online-productivity-app world?
This show was particularly exciting for me because Adobe Chief Architect Kevin Lynch demoed my company Allurent’s “Desktop Connection” for Anthropologie as part of the keynote on the first day. We think AIR is a really promising vehicle for platform-independent rich media applications on the desktop, and at Allurent we’ve been busily prototyping and working up ideas on how to exploit its best features. Desktop Connection is a kind of digital brochure, intended as a premium shopping experience for valued Anthropologie customers. It’s an AIR app that can be used either online or offline (since it comes with data for the whole catalog plus a bunch of preloaded media).
The feature that got the most audible reaction from the audience (and the most subsequent queries from developers and designers at the show) was the search-by-color feature:

The shopper can click on any point in a color wheel, or in a pixel of an image dragged in from the desktop or a browser, and the app displays a cluster of products with nearby colors, grouping similar hues together in the display. Although I don’t get much time to hack these days, this was a feature that I personally conceived and coded up myself, so that made it extra gratifying to see the reception from folks at the show!
Many developers and designers at the show came by the AIRPark (a set of barren white metal picnic benches on an Astroturf rectangle, in case you’re wondering what that might mean) to compliment us on the great-looking app and ask us how we implemented this feature. In case you’re one of them, well, the non-secret part of the sauce is this: apparel manufacturers typically create tiny “color swatch” image files that are used to convey color choices on their website. We take the average color values of these swatches, transform them into HSV (hue/saturation/value) triples and put them into our database. Then we build a special index based on a perceptual notion of “color distance” (check out color spaces on Wikipedia if you’re interested), and use that for a fuzzy match to the target color. The results are then sorted in a simple way to place similar hues near each other — for instance, in the example above, you see some orange items placed together although the target color was a shade of red.
Oh yeah, and my panel on Flex Best Practices went pretty well. I wanted there to be more blood, guts and arguing; in the end I think I was too polite and went easy on the contestants panelists. But at least the audience got to hear a bunch of contrasting, dissonant opinions on basic questions. I’m going to have to make Barcelona a real WWF-style smackdown. Hope to see you there!
Please Rinse Your Used Planet Before Recycling
September 13, 2007 on 1:04 pm | In Uncategorized | 1 CommentLately I had been taking occasional solace from the fact that our planet seemed to be one of those disposable models. We have been making a royal mess of it, but at least (or so I had thought) in 5 billion years Earth would be incinerated in a thermonuclear explosion, courtesy of our Sun’s transition into a red giant. I thought of Earth as sort of a planetary Huggie, something that gets dirty and smells bad but ultimately gets thrown away, burning into nuclear ash and leaving a cleaner galaxy behind it.
But today, courtesy of the New York Times, I read:
About five billion years from now, astronomers say, the Sun will run out of hydrogen fuel and swell temporarily more than 100 times in diameter into a so-called red giant, swallowing Mercury and Venus and dooming life on Earth, but perhaps not Earth itself. Astronomers are announcing that they have discovered a planet that seems to have survived the puffing up of its home star, suggesting there is some hope that Earth could survive the aging and swelling of the Sun.
So it appears that Earth may instead be destined for some kind of galactic curbside recycling bin.
If so, I think it would make sense for us to leave the planet in some kind of reasonable shape after all. You wouldn’t recycle filthy, unwashed food containers out on the street, where they would attract flies. Would you? No, I thought not. Likewise, you shouldn’t leave a nasty, polluted planet lying around the solar system where it might attract… well, I’m not sure what. Anyway, my plea stands: let’s clean this place up so it’s ready for recycling. We can do this any time in the next 5 billion years or so.
Flex Best Practices Melee at MAX
September 11, 2007 on 7:56 pm | In Flex, Programming | 1 CommentAt MAX North America and MAX Europe this fall, I’m very pleased and excited to be moderating a discussion panel titled “Flex Best Practices”. A bunch of interesting folks will be on the panel, none of them lacking when it comes to having an opinion: Steven Webster (Adobe Consulting), Dave Coletta (Virtual Ubiquity/Buzzword), Dave Wolf (Cynergy), and Anatole Tartakovsky (Farata Systems).
I can promise a few things about this panel:
- No Canned Dog Food. There will be no PowerPoint slides or videos shown in this panel, just unfettered, spontaneous discussion. Some of it could involve you, if you’re in the audience.
- Concrete, Topical Questions. I’m canvassing the Flex developers around me (including readers of this blog) for the issues that are bothering them as they work right now. We’re not going to discuss how many MXML tags can fit on the head of a pin. We’ll probably talk about ways that we’ve seen Flex projects run off the rails and self-destruct, though.
- Contradictory Answers. In discussions of practice, we should cherish contradictions — they are a sign that we’re talking about something that is actually interesting, on which there are multiple points of view. I don’t think we’ll have to worry about everyone on this panel agreeing on everything! And the disagreements may help us all get closer to our own answers.
We’ll certainly be touching on frameworks, coding standards, multidisciplinary workflow, team structure, software modelling. What else? Please post a comment with your ideas, if you have some!
Connected to: Jesus. Signal Strength: Excellent.
August 11, 2007 on 12:43 pm | In Communication, Miscellaneous, Travel | 1 CommentAnyone could be forgiven for not knowing Jesus’s MAC address (00:14:6c:a6:23:4a), and for not knowing Jesus’s approximate location (somewhere near Norwalk, CT). It’s hardly common knowledge, after all. I only found out because I was on the Amtrak Acela Express from New York City to Boston yesterday, and decided to run Network Stumbler on my laptop for the entire journey. (Network Stumbler is a free program that logs the names and details of every wireless network that it encounters.)
Altogether I logged 1,660 access points during the train journey, one of which was named “Jesus”. The naming of wireless routers should rightly occupy an odd little niche in social anthropology. When you look at this many access point names, a couple of points become clear. People name these things with an awareness that the names are publicly visible. At the same time, these names belong to private spaces, and a lot of the names have private significance. A wireless name is a little like a button with a personalized slogan, only you can’t see the person wearing it.
As a rough jump-start to this discipline, here’s an organized digest of some of the access points that I rolled past:
Home Sweet Home
- Jimmy’s Place
- Kobes-Castle
- rejectbarn
- rockpile
- HoMe
- homey
- DAWGHOUSE
Shout-outs
- CATS_bklyn
- Harrison Represent Yo (near Harrison, NY)
- OakHill_Boomerang
Network Sweet Network
- Mi Gente Network
- YupNet
- Ken’s Extreme Network
Screen Names/Handles
- lillamb
- Fruity
- kittyup
- katburki
- spoiledone
- toughguy
- SirKnight
- Sweetness
- Geek06583_Clark
Cultural References
- Hogwarts Quidditch Pitch
- Napoleon Dyno
- Night Rider
- Me van a Matar por las Mujeres
Cryptic
- ManTown
- Sitivity
- apSSIDiointerpol
- Deshmukh (I had thought this could be Klingon, but a reader pointed out that it’s a common Hindi surname. Possibly the network owner is bilingual in Klingon and Hindi.)
- Numbers
I miss…
- Texas
- Florida
- Sonoma
- phoenixarizona
- dakotaboy1
- riven (some people spent a lot of time there)
We Want Your Business
- Pay3$@javajoes
- H@rv3yguns (why the hacker orthography?)
- Holiday inn Bridgeport (also could be read as the very unlikely concept, “Holiday in Bridgeport”)
We Don’t Want Your Business
- Dont Touch This Router
- Mine
- Not For You
- BuyYourOwn (amazingly, this network was not encrypted)
- fuck you
Islands In The Crowd
- redsox (at the western end of Connecticut)
- yankees (at the eastern end of Rhode Island)
Antennae Flex Ant Templates now on Google Code
June 22, 2007 on 3:58 pm | In Flex, Programming | No CommentsA while back I announced Antennae, a powerful set of templates for building complex Flex projects with Ant. I’m very pleased to share the news that Daniel Rinehart has taken over leadership of this project and has moved it over to a new home on Google Code. This is a great move for the further evolution of Antennae.
Daniel is also going to be speaking on the topic of automating Flex builds at MAX 2007 — if you’re going, be sure to catch his talk!
…and A Moment of Coolness
June 20, 2007 on 11:13 am | In Flex, Programming | 1 CommentLet’s not overlook a Moment of Coolness (see previous posting): I was able to log a bug against the Flex framework in Adobe’s public bug database, and refer to it in an online post. This is some real progress towards openness, and a milestone for the platform. It bodes well for the health and progress of Flex.
There’s been a lot of discussion of Silverlight vs. Flex [Continued...]
Moment of Weakness: Weak Event Listeners Can Be Dangerous
June 20, 2007 on 1:43 am | In Flex, Programming | 8 CommentsIt’s been a funny week, in which I’ve run into two different killer bugs, both of which were caused by the same dangerous (but occasionally useful) programming practice: weak event listeners in ActionScript 3. I’m going to write a bit about this scenario, because it’s very hard to debug and it’s a very non-obvious mistake that I think many people can make. (Even the Flex team can run into this: one of the bugs I found was in the Flex 3 Beta framework, SDK-11389.) And, yes, this can occur in other languages: I’ve seen it in Java too.
Both bugs manifested themselves as an event which, unpredictably, would fail to be dispatched to a waiting listener. When I say “unpredictably”, I mean, about 1 out of 3 times, with no apparent rhyme or reason. It took a lot of troublesome debugging to reach the conclusion: “hey, there’s this object which I can see adding itself as a listener for event X, and then X gets dispatched and the object never gets notified.” It took a bit longer to reach the next conclusion: the object wasn’t getting notified because it didn’t even exist any more!
In both cases, the missing object was a weak event listener. [Continued...]
Software Modelling: Soft Focus or Hard Edges?
May 17, 2007 on 2:49 pm | In Programming | 4 CommentsAn ex-colleague recently posted a question about “model-driven architecture” (or MDA for short) at the company he works for. It was a set of issues that I’ve heard many times in different guises over the years, phrased in different ways. I’d paraphrase what he said something like this (the original was more coherent):
Some people here seem to think it’s better to have a process where you have to design everything in UML up front, so that you’re forced to model things before you can write a line of code. In fact, they want to universally generate a code “backbone” from the model, which means the UML has to be constrained and decorated with extra detail so that code generation can succeed. This runs counter to my experience that super detailed design throughout the project lifecycle doesn’t really help. Testing should drive development, not ever-more-detailed design. Agile development really seems better than model-driven architecture.
This made me think about a bunch of reactions that I’ve had — also recurring over the years — to this kind of question. After all, model-driven approaches and agile development are hardly new concepts, although the nomenclature of “MDA” and “agile” is more recent.
I replied something like this…
New Mexico, Episode 1: The Church Of Cartesian Space
May 16, 2007 on 1:27 am | In Travel | No CommentsMy wife and I just returned from a glorious 2-week, 2000+ mile road trip in many parts of New Mexico. Now, it’s been my practice to write a post after such trips, with a travelogue of some nature accompanied by a cornucopia of pictures. This trip, however, produced such a wealth of experiences and memories that I feel overwhelmed by the prospect of sitting down and summarizing it. The intensity, the quantity and the diversity of what can be seen in New Mexico are daunting.
At some point I realized the way to go was episodic: whenever I feel up to it, to simply pick some fragment of the trip, any fragment, and work with those images and those memories.
Part The First: The Church Of Cartesian Space, describing our visit to Walter De Maria’s Lightning Field in Pie Town, New Mexico.

Adobe Flex goes open source
April 26, 2007 on 11:37 am | In Flex, Programming | 4 CommentsI have a release to get out the door this week, it’s almost time to go to the office, and I haven’t had breakfast yet. What am I doing writing a post right now?
It must be because Adobe has announced they’re open sourcing Flex. I have to hand it to Adobe: this is a great move on their part, for a bunch of different reasons:
- There’s a large, able body of developers who are ready to put their energy behind making Flex a standout platform. The quality and the feature completeness can improve greatly if the project is managed well.
- These days, information about a platform that remains proprietary and under wraps is an adoption barrier, not a competitive advantage. Although the framework code was already available, we didn’t have public access to the dev tool sources, the bug database, the development roadmap, and many other staples of OS projects.
- Flex vs. the competing MS Silverlight/WPF is no longer a mere feature comparison game, it’s a philosophy comparison.
- In contrast to the more balkanized AJAX platform world, this creates a clearly dominant open-source platform in the rich-internet-client space.
Now the big questions are going to be the little questions. For instance, from the Flex Open Source FAQ:
Our goal is to make the initial open source distribution as close to the commercial distributions of the Flex SDK as possible. Due to restrictions on some components that have been licensed from third parties or come from other Adobe products, some portions of the current free Flex 2 SDK may be made available in binary form only.
Hmmm…. what will those pieces be?
Anyway, I’m pleased and pumped that my favorite client platform of the present day is heading in a really constructive direction.
Entries and comments feeds.
Valid XHTML and CSS.
All content copyright (c) 2006-2007 Joseph Berkovitz. All Rights Reserved.