Adobe or HTML5?

I know, some people will say it’s apples to oranges. Some people will say Adobe is also pushing for HTML5. But I’m writing this for people who read the title of this blog correctly: Flex or JavaScript.

Disclaimer 1. I do both.

Disclaimer 2. I don’t care about game programming. I work for a company that does enterprise development.

In the enterprise IT circles Adobe is a whipping boy of 2012. Adobe has accepted this award, and only their cleaning ladies and janitors didn’t apologize for what their CTO and CEO did last November hiding behind the wide back of Danny Winokur. But let’s put emotions behind and get real.

Today, there are two types of the enterprise CIO’s: those who don’t care about developing for mobile and those who do. CIO’s who don’t care about mobile can be divided into two groups: smart and typical.
Smarts will start new Web projects selecting a technology that would allow them to easily go mobile if the life will force them to do so. And not so smart will just go HTML5 because this buzzword is an easy sell to CEO’s.

Let’s continue splitting hairs. Enterprise Web projects can be divided into two categories – Web pages and Web applications. Web pages can be divided into (you guessed it right) two categories – those don’t have to be blazing fast (just show them that Donate or Pay button), and those that must be blazing fast.
Further splits would involve Intranet vs Internet, and by reliability requirements.

Now the most important question, “Who do you care about the most?” As the saying goes, men who shave in the evening love their wives, and those who shave in the morning love their work. Who can you afford to love more – developers or the users?

Seven years ago the most popular examples of successful AJAX applications were Google’s gmail and maps. Most of the people were drawn into this Google state of mind forgetting that their own teams had less skillful developers and more modest budget than Google’s.

Today, people are choosing the technology to go mobile. In a meeting with a prospective client I’d start drawing on the white board. You have two choices… I’m not going to do it here, but learn from the past – don’t assume that what the big guys do is affordable to you too.

I’ve learned from a Facebook engineer presentation that their users login from 2500 different mobile devices. On the other hand, this article states that Facebook has bad experience with their HTML5 mobile application and they are creating an iPhone version in Objective-C. Sounds great. What about people carrying 2499 other mobile devices.

Do you have to make such choices? Do you have skillful teams of Objective-C, C++, and Java programmers or prefer to have the same code base in HTML5? How many concurrent users do you have? Do you have enough money to cater to all possible devices your users carry?

It’s up to you to decide. But for most of the enterprise mobile Web applications the choice comes down to selecting between Adobe AIR and JavaScript. If you select AIR, it’ll cover all your today’s intranet desktop needs and the same team will be able to port this app to iOS, Android and Blackberry devices. If you are ready to dive into JavaScript, just double the time allocated to the development cycle of your project. But you may save time in the long run cause your Web application will already work on lots of mobile devices, especially if you’ve been using responsive design principles.

As to myself, my typical week is split between Adobe AIR and JavaScript. And yours?


Reading another funny document by Adobe

Today Adobe released another document that brought tears into my eyes. Why they think that people are dumb? Why not just say, “We couldn’t figure out how to monetize Flex and we’re getting rid of the ballast”? Adobe is a public company, and, beside developers they have investors and their stock went more than 10% up since last (infamous) November. They’ve chosen investors over developers. This is understandable, but why keep lying to developers?

Today’s doc contains lots of words, but the most important section is this:

Adobe runtime support of Flex

Flash Player 11.2 and Adobe AIR 3.2, which are anticipated to ship in the first quarter of 2012, will be tested
with applications built using Adobe Flex 4.6. Adobe will test future releases of Flash Player and AIR against the
Adobe Flex 4.6 SDK and maintain backwards compatibility for five years.

While Adobe will ensure that the Adobe Flex SDK 4.6 and prior will be supported in future versions of Flash
Player and AIR, it will be the responsibility of the Apache Flex Project to test future versions of the Apache Flex
SDK against released Adobe runtimes to ensure compatibility and proper functioning.

In the past, features were added to Flash Player and AIR specifically to support the needs of Flex applications.
Going forward, features will be added to the runtimes to support Adobe’s vision for the Flash Platform. The
Apache Flex Project may choose to take advantage of those features; however, new features will not be added
to the runtimes specifically to support the Apache project’s efforts.

Let me re-write it in plain English:”We’ll release the new version of Flash Player, and we ‘ll test our past versions of Flex against it. We love (kinda) Apache Flex, but we don’t give a shit about what these guys will come up with. Flash Player is OUR runtime, and you’d better make sure that your smart-ass next generation Flex works with it, or else… In the past, every  release of Flash Player would accommodate for the new features of Flex. From now on, ” We are not adding new features to Flash Player to support whatever you come up with”. Or as we say it in New York City, “Fuggeddaboudid.”

Keep reading Adobe’s doc. Their version states, “Flash Catalyst CS5.5 is the last release of Flash® Catalyst®“. BTW, why do they even add these ® signs to Catalyst? Anyone wants to reuse this lousy brand?  OK, maybe. Let me translate it into simplified Chinese: “It was stupid in the first place to work on such a tool, and we wasted two years of our Flex team re-writing the FLex Halo components into Spark architecture just to accomodate the need of this still born baby – Flash Catalyst” .

Keep reading – it’ll get even funnier: “Development of Flash Builder continues. Adobe plans to maintain support for Flex projects in updates to Flash Builder 4.x, including additional work to ensure Apache Flex based SDKs can work within Flash Builder“. This is what it means in Bengali language, “During six years we tried hard, but couldn’t create a stable and performant version of Flash Builder for our own Flex SDK. For some weird reason, Flex developers would spend half of their time waiting for Flash Builder’s workspace to finish rebuilding itself. Design mode never really worked for Spark components. We are off the hook now, yay! Noone would even expect us to fix this for some Apache product. Just use IntelliJ Idea, will you? ”

The only product that was not mentioned in this doc was LiveCycle Data Services. What’s the fate of this highly overpriced monster? Is it dead in the water? I don’t really care about this one. During the last six years I ran into one client who bought its licenses. On multiple ocasions I was trying to convey to Adobe that they should lower LCDS price, but they didn’t give a damn.

Adobe has inspired these T-shirts.  Still, it’s sad. I’m going to miss Adobe Max conferences. They knew how to put up great events, really.

The Future of the Flex Framework in Enterprise IT

Disclaimer. Everything posted on this blog is my personal opinion and does not necessarily represent the views of my employer.

Part 1. Emotions.

Three days ago I’ve received the following email from an enterprise architect of one of our former clients (we’ve conducted two Flex training classes there):

“Adobe has been in the news lately with Flash not being developed for mobile devices and then the Flex SDK being donated to Apache. With all these things going on I was thinking if it still makes sense to develop using Adobe Flex for RIA applications. There are several opinions out there on the web but would like your take on the future of Flex and Flash. Is it still a safe bet to develop in Flash for RIA applications. Does HTML5+CSS+jQuery come close in terms of functionality that Flex offers? Please let me know.”

I’ve quoted this email because it described well what many of enterprise IT shops are talking about after Adobe simply decided to change their priorities. It started with that infamous blog of November 9th stating that Adobe didn’t care about Flash Player in mobile devices. But they didn’t stop there. Now they’re donating Flex framework as well as BlazeDS to Apache Software Foundation. Flash Catalyst was a mistake. It seems that Adobe decided that enterprise IT shops extinct. Apparently someone invited Adobe’s executives to a wild orgy, and the morning after one of Adobe leaders said, “How about changing our vision? I clearly see us in digital marketing and digital media! Enterprises are soooo boring, right hun?” Then Adobe went berserk.

Five years ago no one in the enterprise IT considered Adobe capable of anything but making nice tools for designers. They put tremendous effort into getting their foot in the door and be treated seriously by most (if not all) Fortune 100 companies. Back in 2006 enterprise developers didn’t want to hear about Flex framework. It changed. Very serious applications were developed and deployed into production using Adobe Flex and AIR as a front end tool. Will Adobe respect their existing support contracts with all these customers? For how long? Who’s going to provide such support if Adobe laying off hundreds of people second year in a row? As of today (Dec 14, 2011) Adobe didn’t care to make a clear statement about support of their enterprise customers.

Adobe’s executives keep silence. Santanu Narayen, the CEO was always the man of few words. But is Kevin Lynch, the CTO, in town? On Earth?
A couple of technical managers and evangelists are trying to fix the ugliness of the situation, but there is not much they can do. They can’t speak up for executives. Their words like “we’re absolutely committed to…” can’t be trusted anymore. These nice professional people are not being invited to decision-making orgies.

One of the very respected software engineers (a former Adobe employee) twitted, “Watching Adobe remove engines, wings, drop fuel, seats while in midair flight with customers aboard is truly fascinating.”

I see the situation similarly: today’s Adobe is a plane driven by pilots who lost control and are trying to press random buttons hoping to find the way home.

Part 2. Business.

Coming back to the original question, “Is it still a safe bet to develop in Flash for RIA applications?” This was the question of an enterprise architect of a mid-size IT shop, who’s not into politics and honestly tries to make the right technical decision.
The short answer is yes, you have nowhere else to go if you’re planning to deploy applications in production in 2012-2013. Flex is the best Web framework available today, and the fact that Adobe is donating it to Apache is better for everyone. The same applies to BlazeDS. As a matter of fact, Adobe stopped supporting BlazeDS two years ago, anyway.
I’m sure, under Apache Flex framework will go strong. My main concern is if Adobe will be willing to keep their future releases of Flash Player in sink with the future releases of Apache Flex?

What about HTML 5 (a.k.a. JavaScript)? At least for the next two years HTML5 should be used only by the early adopters. But we are in the enterprise development and have to deliver a number of cross-browser Web applications under limited budget and with a team of regular developers, not geeks. Six month ago I joined the project that was developed in Java/Swing by a team of 4 developers. There seniors left the firm. The person who left had 2 years of Java experience but was a quick learner. This week the new financial Flex/Java application developed by two of us goes to production. I’m trying to be fair to all technologies, but it wouldn’t be possible to pull something like this off with any JavaScript or Java front end framework.
If you are planning to go mobile, the most cost-effective platform is Adobe AIR. Can you afford to hire three teams with three sets of skills to develop for desktop, Android, and iOS? If you can’t, stick to AIR.

Part 3. Political stuff in the large enterprises.

Back in 2006, enterprise architecture groups of large enterprises were the main obstacles for making Adobe Flex an approved tool for development of the Web applications. Now, because of those drunk pilots, it’s their “Told’ya!” time.

They will try to squeeze Flex out of the list of approved tools arguing that Flash Player has too many patch releases, security holes, and, after all, the mankind moves to a no-plugin Web browsing. If I’d be running an application development team of Flex developers in a large enterprise, and an enterprise architect tried to to push me away from Flex toward an XYZ Javascript framework, I’d ask if the suggested XYZ framework would patch these security holes. Most likely, the answer would be “No, but at least we can set the Web browser’s security to the highest level for the JavaScript applications, which is not the case with Flash Player”. This can be a valid argument, and if Adobe cared, they could have created a special JavaScript wrapper for Flash Player to mimic security settings of the Web browser. It doesn’t take a rocket scientist to write such a wrapper, but since Adobe remains the owner of Flash Player, it has to be done by them.

Part 4. What to read next on the subject?

I like this post by Adam Flatter from Roundarch.

Part 5. Summary

1. Flex remains my first choice framework for developing RIA and AIR for developing desktop and mobile applications.
2. I’m also planning to go deep under the skin of one JavaScript framework, and it’s not jQuery. I like to have more than one tool in my toolbox.
3. Our company, Farata Systems will offer commercial technical support for Flex, AIR and BlazeDS both on the desktops and on tablets. We’ll make an official announcement about it shortly.
4. Our company continues offering training in Flex and Java as we always did, but next spring we’ll add a class “HTML5/JavaScript for Enterprise Developers”.
5. Under such management Adobe won’t last long and will have to be acquired by another company.

Happy New Year, everyone! It’s going to be fun.

Adobe: Another one bites the dust

A well known Adobe evangelist is forced to say good bye to his employer. He was notified about being fired while vacationing in Mexico. Should he be a pregnant woman, Adobe wouldn’t be allowed by law to fire him remotely…
Duane posted a blog about this important event in his life.

First, I wish all the best to Duane in his future career in both software development and music. Not the end of the world.

Being a professional, Duane posted a politically correct Thank you note for Adobe for being a great employer. But let’s re-read the reason for firing Duane: “Adobe is doing a major refocus and as part of that, many of us “enterprise” types are no longer required.”

Adobe is planning to turn its back on the enterprises… Back to selling Photoshop boxes (or subscriptions?).

Let’s see… Their heavy-weight and way overpriced enterprise product called LiveCycle didn’t make it.
They had a more useful server-side product called LiveCycle Data Services, which was seriously overpriced too. On multiple occasions I’ve been posting blogs and talking to Adobe’s employees asking to lower the price and stop killing this good product. But who am I to give advices to Adobe. The lead of the LCDS development team left the firm a couple of years ago.

Now Adobe’s claiming that they are into cloud. I have my reservations. You can’t just nuke one server-side product after another and then resurrect from ashes in the market where such 800-poung gorillas as Amazon, Google, and other big guys already feel at home. Who’s going to build your cloud if you’re firing best people?

I don’t like firing of Duane for yet another reason. It shows that Adobe doesn’t care about their best people. Is abandoning of the some enterprise solution product lines a reason for getting rid of good people? Don’t they think that Duane could have been re-trained to something else? I’m a partner in a rather small consulting company, but we’d never even think of firing our key developers when they are in between projects. We keep them busy while something else comes up. It’s so easy to destroy a team, but so difficult and expensive to find good people regardless of what technical skills are required. Even more so, finding an instructor who gets 4.96/5 is mission impossible. This is simply a proof that Adobe’s management lost their feel of reality, which is a pity.

The chances are very slim that I’ll be attending Adobe MAX next year. It’s a place where the top management of the company makes fools of 5000 attendees. This serious change in the company’s direction as well as laying off 750 people takes time to prepare. Adobe’s top management knew about it BEFORE MAX. And Kevin Lynch had guts to go on stage and not even mention serious changes in the company’s roadmap.

Being a part of the community Flash Player Platform expert group I’ve attended this special meeting (during MAX) where Adobe was asking for our feedback. No one in the room has mentioned that some drastic changes were being cooked.

Another one bites the dust…and another one…and another one…and another one bites the dust…

The Rumors of Flash Player’s Death are Greatly Exaggerated

This morning ZD Net published an article stating the Adobe will cease development of Flash Player on Mobile in favor of packaging mobile applications in Adobe AIR.

The Flash Player haters quickly picked up this news and to draw attention to their blogs/tabloids started to cash on Steve Job’s name stating that he won the battle with Adobe since Steve was the one who didn’t let Flash Player on iOS.
As of now, I don’t know if these rumors are valid, but even if they are, this ain’t breaking news. Let me explain why in three simple sentences.

1. Adobe AIR includes Flash Player
2. Adobe AIR remains the main and the only means (at the time of this writing) for development of cross-platform mobile applications
3. Adobe AIR 3 Captive Runtime is a way of packaging the runtime inside the mobile application.

In other words, a mobile application developed in Adobe AIR and deployed in Android or iOS has inside the entire AIR runtime (this increases the size of the app only by 6-8MB) and won’t require neither iOS nor Android to ship the proper version of the runtime separately.

Once again, your mobile application has AIR inside, which, in turn, has Flash player under the hood. Machinarium is a good example of a console-quality game for iPad written in Adobe AIR.

The only question remains what will happen with Web pages that includes the videos requiring Flash Player. Most likely Web browsers will use HTML5-based video players. But let’s not confuse mobile applications and Web sites.

Anyway, no need to mourn. Have a wonderful day!

Update. The morning after

Next morning, Danny Winokur, Adobe’s VP and General Manager published a blog confirming the information from Adoleaks. This caused a storm of posts in the blogosphere, which predominantly blamed Adobe for betrayal. Peter Elst, an independent Flash developer even started gathering signatures to have Adobe CEO realize that he’s a bad guy and step down.

Our company, Farata Systems, has been working with Adobe’s product that were relying on Flash Player for more than five years, and we managed to build great relations with lots of corporate customers who used our services in building Flash-based rich Internet applications. After the announcement we started getting questions – was Flex the right choice? Can we reuse our investments in Flex in the mobile space? Should we abandon Flex and switched to HTML5 and JavaScript?

Adobe have caused serious damage to their image by having Mr. Winokur writing this infamous blog. I’m sure the top management of the company has approved it so Danny Winokur bears only a partial responsibility for this. My question is why Adobe decided to use one person’s blog for spreading this rather important news instead of publishing press release prepared with collaboration with their PR agency? Were their top executives ashamed to state it in a manly fashion?

Can you imagine the president of the USA making a war announcement by posting a blog? Adobe just did it. Professionally prepared press release could have include the proper wording along with the quotes of industry analysts who would offer their interpretation of the news. Have anyone seen an official PR on this subject? I didn’t.

I guess, after Adobe’s executives realized the size of the damage caused by that unfortunate blog (I hope Mr. Winokur is still employed with the firm), they asked other managers and technical evangelists to save the situation. Have a read:

1. Your Questions About Flex by Andrew Shorten & Deepa Subramaniam. Nice try, but these guys failed to deliver the main message: Adobe AIR 3 is a solid replacement of Flash Player for the mobile.

2. Adobe’s technical evangelist Lee Brimelow has mentioned AIR, but has deliver another wrong message, “No longer having to support the mobile browser version of Flash frees up valuable resources that we can redirect to these more important areas.” This is yet another mistake. Does Abobe put their customers first, or the most important goal is to do a reorg after laying off 750 people?

3. Mike Chambers, the lead product manager, speaks about AIR, but this message can be understood only by techies, and not corporate clients who were sitting on the fence trying to decide if they should develop with Flash or go with HTML 5. And we are talking about the corporate world that brings a huge portion of Adobe’s revenues.

4. Ben Forta, the Director of Technical Evangelism stated “For in-browser experiences on devices, browsers can finally do what they really should do, and we have HTML5 to thank for that.” Really? Who’s ready to start the development of their next cross-platform enterprise project using HTML5 and JavaScript? Does Adobe or any other company have any production-grade solution in this area? Would love to hear about such tools.

Why people didn’t realize that Steve Jobs was heavily promoting writing pixel-perfect applications for iOS-powered devices, not Web pages? Adobe AIR 3 fits this bill. And as I wrote earlier, replacing engines in the browser-embedded Flash videos with HTML-5 one is not a major undertaking. So what the mobile world as the result of this misinterpreted Adobe’s announcement? Nothing. MXML, ActionScript, Flex framework, and AIR 3 remain the tools of choice for cross-platform mobile applications.

When HTML5 can be considered as a main choice for development of applications for both mobile and desktop platforms? It may happen several years from now. It’s great that Adobe is working into this direction, but they should have done it in parallel, not by stopping development of Flash Player without offering HTML5 alternative.

Anyway, the damage is done. Adobe spent years to become a recognized tool maker for the enterprise developers. Five years ago they were known as a company that created Photoshop. They managed to change this image. I really hope that they will find a way to remain on this market.

Here’s my message to Flex, Flash, and AIR developers:

“All IT shops that have invested in learning Flex or ActionScript for developing their desktop-based Rich Internet Applications will use these skills in development of the mobile applications in Adobe AIR. There is no need to jump the ship”

Update 2. After publishing this update I’ve learned that Oliver Goldman, a tech lead from the AIR team has been moved to the team that develops creative cloud. It’s time for Adobe to give away AIR to open source too.

Update 3. Two weeks after the infamous blog of Danny Winokur was published, Adobe made a statement explaining its upcoming strategic transformations.

If you want to update my Reader…

During the last two years, every week or so, a little icon starts jumping up and down on the screen of my MacBook. This is Adobe Acrobat Reader asksing me if I’d like to upgrade it. Since I’m a polite person, during the first six months I was clicking OK. Please do. Sure, upgrade my free Acrobat Reader. During the last 18 months I was simply ignoring this request and was closing this little jumping icon.

Two weeks ago, during Adobe MAX, Rainn Wilson from The Office was hosting a Sneaks event. He started with asking Adobe to do something with this Update the Reader button. I knew exactly what he was talking about. Everyone laughed.

Five minutes ago this little beast started jumping up again. I clicked on it hoping that after Mr. Wilson mentioned it in front of the five thousand people in the Nokia Theater things changed. So I clicked on this mofo again. It showed me the usual popup:

I pressed OK. Guess what? Nothing changed. The usual response came up once again:

Dear Adobe, can you please find some cash and hire a good programmer who can fix this issue once and forever? If you think that I’m asking for too much, please turn this freaking update offer off, will you?

During the recent Adobe conference the bank Weezer performed their smash hit – the Sweater Song, which includes the following words:

If you want to destroy my sweater
Pull this thread as I walk away

I have my version:
If you want to upgrade my Reader
Do it quick and, please, walk away!

Update. A reader A.T. has hinted that there’s a configurable item Updater in the in the Reader’s Preferences, which allows to turn the automatic updates off. Thank A.T!

Adobe MAX 2011 Was Good Despite The Keynotes

Just came back from LA, where I spent three days at MAX – the main Adobe conference. Four people from our company were there and all liked it. I went there to see if the company is still strong,  has a clear road map that, hopefully, matches  my understanding of where IT population is moving. Adobe does seem strong despise the bleak keynotes. I mean, the special effects were fine, the screen was huge, the projection software was pushing three million pixels a second to the monitors with showing ballet dancer and iPads running Adobe’s software.

Our seats were shaken from the bass as hard as if we were in IMAX during the Inception movie. But almost six thousand people have gathered in the Nokia not just to see a nice stage backdrop. The Adobe actors didn’t deliver good performance – the keynotes were not well prepared. Traditionally, Kevin Lynch runs the day one (the CEO prefers hiding away during MAX) and Ben Forta was the day two host.  As opposed to last year, I had a feeling that both of them were asked to host the keynotes just a couple of days before the conference, and didn’t have time to prepare.

In the past, the first day’s keynote was for both designers and developers and the second was more of a community show. It seems that Adobe quietly realized that bringing desinopers and devigners in the same boat is utopia even with Flash Catalyst. Below is a photo of the devigner’s leg with Adobe’s goody bag.

The first day was for designers and the consumers. Adobe joins the rest of IT world that hangs out in the cloud these days. Now you can subscribe to the Creative Cloud Platform and publish your own magazines (MAX attendees were promised a free year subscribtion). Adobe’s cloud is targeted not only for developers, but for consumers as well. Create photo albums like with Google’s Picasa. The difference is that there is no need to manually synchronize the photos between multiple devices. If you managed to put the photos on your notebook, they are automatically shown on your iPad. This app is called Carousel.  Work with Photoshop right on your tablet (carrying stylus is back in style). Create custom themes with Kuler or collages with Collage. Proto is for creating the prototypes of Web pages on tablets. Debut allows to access your Photoshop and Illustrator’s design from anywhere using tablets…

During the first day keynote, I had a feeling that Adobe spent this year creating applications primarily for iPad. Kevyn Lynch kept repeating the word iPad dozens of times. But after attending the demos of all these consumer-oriented applications, I realized that most of them will be released on Android first and only after on iOS. Most of them (except the Carousel) were developed in Adobe AIR. In other words, Adobe eats their own dog food.

I’d like to see more technical evangelists on the main stage during the keynotes.  They are developers’ rock stars. They’ve traveled day in and day out around the world spreading the word about the latest and greatest Adobe’s products.  They deserve to be treated as the first class citizens. This was happening in the past, but not any longer. Director of Evangelism Ben Forta was the only evangelist on stage (Ben used to evangelize ColdFusion, which wasn’t even mentioned once during the keynotes). Unfortunately, during the last year Adobe lost a number of really good technical evangelists to other employers.

After the keynotes, I’ve attended a number of technical sessions, which somewhat corrected the situation. Most of the sessions were of good technical level.

These are some important news for Flex/AIR developers:

  1. AIR Captive Runtime means that your application will not depend any longer on the availability of the AIR runtime on the platform you’re deploying to. The runtime becomes a part of your application. This started as a workaround to the strict policies for the deployment on iOS devices, but now it works the same on other platforms too. This will increase the size of your application by 6-8MB, which is not bad. For Java developers I can add that Oracle plans to do the same thing (in 2013) with the future versions of JavaFX applications – a small JVM inside the application.
  2. The next major release of Flash Player will support multi-threading. Developers will be able to start their ActionScript in a  background thread that will have access to the display object. Threads won’t share any resources hence developers don’t need to worry about race conditions. The new class Promise will allow to start a thread asynchronously and receive a result of its execution some time later. It seems to be the similar to Java’s Future class.
  3. Enroll in this pre-release program to know more.

  4. Flex Builder 4.6 should have serious improvements in the compilation speed.  Get on the pre-release program to get it now.
  5. AIR native extensions become handy to all mobile developers who want to use the mobile underlying OS sooner than AIR will come up with the wrapper classes encapsulating the same functionality. Our company has released beta of ClearDS that will compliment native extensions in Android.


The highlights of the conference were  traditional Sneaks, where Adobe showed exciting experiments that may make it into the future products. Let me tell you, they have some bad ass engineers and mad scientists! Adobe has posted all videos from Sneaks. Rainn Wilson from The Office hosted the Sneaks, and let me tell you – he did a great job!

The second evening ended with an excellent party called MAX Bash. The organization of this event was perfect. Ravioli with wild mushrooms were yummy. And then, Weezer came on stage. They kicked some asses big time!   It’s the rock band of the top tier, and it shows! “If you want to destroy my sweater…” –  you know who they are. My older son went to eleven of their shows already.  Even if Adobe wouldn’t have introduced multiple thread in Flash Player, I’d forgive them just for bringing Weezer to the conference. Jeff Houser was standing in the crowd, recorded the music and published it here. Love his tweet: “Whoever that screaming girl was on stage left at Weezer Max Bash; you screech and sing all over my recording.” That girl had a great time, really.

One more credit to Adobe – they start publishing Max technical session right after the event ended. The developer track’s sessions are here. Enjoy! This year Adobe MAX and JavaOne conferences where hosted at the same time, and I couldn’t be at two places at the same time, but some of the JavaOne presentations are posted at – look for the JavaOne 2011 channel there.

Overall, it was informative and fun event. The future of Flex is solid. We can stay where we are.

Can you fire a team?

Yesterday, I finished my dinner in a French restaurant with traditional cremme brulee. This time I’ve also ordered a small glass of sauterne wine. Then we went to our friend’s house to polish it with some good old port.

But no matter what software developers drink or eat in February 2010, one way or the other the conversation will slide into a No-Flash-Player-on-iPad discussion. Apple pretends that they will never allow Flash Player on Steve’s OS (SOS), because it’s buggy. Adobe’s CTO, Kevin Lynch, states that Apple doesn’t cooperate.

After the third round, I made a statement that when the dust settles, everyone will thank Steve Jobs for forcing Adobe to make Flash Player better and faster, which is a win-win situation for all application developers.

My drinking buddy responded that Adobe has a tiny group of hard core developers who work on Flash Player, have deep understanding of its internals, have the status of sacred cows, and Kevin Lynch can’t put pressure on them regardless of what Steve says or wants.

When I hear about any prima donnas in IT, I’m getting easily excited. I believe that if any developer in any IT team starts exhibiting the prima donna symptoms, there’s only one solution to this disease: s/he has to be fired.

My opponent was not so sure and replied, “You can’t fire the entire team”.

Don’t get me wrong, I not saying that the Flash Player team has prima donnas nor that Adobe’s management can’t control them… Why bug fix that cause Flash Player crashes were not deployed in production for more than a year? Does it take Steve Job to have a product manager openly admin that they didn’t pay enough attention to Flash Player bugs? Will it be different from now on? Anyway, after a couple of old ports it was interesting to dig into this direction a bit deeper.

I told my friends a story that happened with my friend Gregory ten years ago. Back than he had several gas stations in our state of New Jersey.Gregory had about 20 gas attendants working for him. All of them were relatives from some Asian country. They were self-managed, low maintenance, and hard working people. One day, the leader of the clan came to Greg and demanded raising salaries to all of them. Greg refused. Then the envoy said, “If you won’t raise our pay, we’ll all quit”.

Greg quietly responded, “Go back and tell everyone that all of you are fired as of this very moment.” Greg had to temporarily close his gas stations – he went to South Jersey, where the pays were lower, hired and relocated 20 new gas attendants. Greg has balls. Yes, he lost money, but didn’t bend to blackmailers who believed that they were irreplaceable.

The situation in the job market of gas attendants is very similar to what I see in IT. It’s a pretty small world, all local recruiters know you, and employers require references from the previous place of work.
Two weeks later, the blackmailer came back to Greg begging to hire them back, but it was a little too late.

No, I don’t think that developing Flash Player is as easy as pumping gas. But the source code of the latest build Flash Player is safely stored in a central repository, and if, for any hypothetical reason, Adobe executives will need to replace the entire team, they can do it within a month or so. There are so many brilliant programmers in this country!

Sorry Flash Player folks, for using your team for illustrating my attitude to prima donnas in IT. I believe that you did a great job with this VM and it ‘s gonna get better (trust me, I have something to compare with). But our conversation about your team did take place yesterday, and I ‘ve openly shared it with my readers. Yes, there is always room for improvement, but I’m sure there are plenty of non-technical reasons for the current situation in Mac OS and SOS.

I simply don’t like prima donnas. Plus sauterne. Plus the old port …