Adobe MAX. Blog #6. Two conferences in one day.

On day number three I managed to attend only three technical sessions and now I need to make a confession. When I first saw the sessions approved for MAX, I was disappointed by the fact that there were too many presenters from Adobe. Yeah, yeah, yeah, it “s Adobe “s event and they can do whatever they want but I wanted to see more presentations from the trenches. But now I need to say that Adobe “s presenters that I “ve listened to where to notch. These engineers knew what they were talking about. I “m not sure, if results from the evaluation forms will be published, but I can guestimate that speakers from Adobe would be leading in the top presenter “s list.

Ted, if you read this blog, here “s a friendly advice for you – introduce Rock Star Wall of Fame program similar to what JavaOne has. Great speakers should get public recognition. It “s not too late to create a nice looking RIA that would feature best speakers of MAX 2008.

If such list would be created, Oliver Goldman from Adobe engineering would definitely make it. I “ve attended his session on AIR security. Oliver is one of these guys that you start respecting right away. Not only he “s smart ndash; Adobe has a lot of smart engineers ndash; but he also has excellent presentation skills, which doesn “t happen too often. I really enjoyed his session – my closing session at MAX 2008. I had to leave earlier because there was yet another presentation on my schedule. This one was in San Jose at the conference called ndash; SOAWorld 2008.

I rented a car, took 101 South and drove through the Silicon Valley for an hour. Do these names sound familiar – San Mateo, Redwood City, Palo Alto, Santa Clara? It was so cool seeing headquarters of the companies who are playing major roles in my professional life. But this trip was a bit spoiled ndash; I “ve never seen before so many ads stating that the entire building is available for lease. In this picture, the building next to McAfee has a sign that reads “Full Building Available ”

Guys, this is a bit scary. The Silicon Valley has lots of vacant professional real estate – not a good sign.

The SOAWorld conference was collocated with Cloud Computing, and this subject is getting hot. Alan Williamson, who ran Java Developer “s Journal for many years is now editor-in-chief of Cloud Computing Journal. If you are one of these guys who “s always looking for the next big thing, pay close attention to the cloud. It seems that sooner or later, one way or the other we “ll be working in this virtualized world where the infrastructure is a service.

In the evening I delivered my session on using RIA to consume SOA, and the cameraman said my session was the best of the day even though he was not sure what I was talking about. It “s not an evaluation sheet filled out by a professional, but it “s still a compliment, isn “t it?

To finish up my coverage of this trip to California, I “ll just give you a couple of more news and links.

Tour de Flex is an AIR desktop application that makes exploring Flex and AIR so much easier! The site is build using look and see principle. There is a bunch of application that demonstrate coding techniques accompanied with the source code and running examples. Tour de Flex will let third-party developers to showcase their components.

Here ‘s a new community site for Adobe groups.

Not to be missed yet another announcement ndash; there is a Flex plugin for Microsoft Visual Studio – an interesting twist, don ‘t you think so?

The closest conference for Flex developers is 360Flex . It “ll take place in Indianapolis on May 18-20, 2009.

The next MAX conference will take place on October 4-7, 2009 in LA, and I “ll do my best to be there.

The fun “s over. Getting back to my consulting work ndash; my younger son is a freshman in high school ndash; it “s time to put aside some money for college.

http://twitter.com/yfain

Adobe MAX. Blog #5. Day 2.Flash Catalyst

MAX, as a big brother hosts a number of small unconferences, which are located in the well equipped half-open spaces in the hallway. They have AV, comfy coaches, and are less formal gatherings of the developers. At 8:30AM I was sitting at 360MAX unconference listening to the presentation of Shashank Tiwary on communication protocols. The next hour I spent at interesting official presentation on testing with Flex by Mike Labriola.

Testing of RIA is a gray area, and pretty often is being ignored. Mike did a good job explaining objectives of different types of testing (unit, integration, functional, stress) and reviewed available software that works with Flex.

To attend session of interests, MAX attendees could book the sessions in advance using a hopefully-to-be-better-next-year scheduler. Rooms for technical sessions are large and can accommodate anywhere from 100 to 350 people. If a session is sold out but you want to attend it anyway, you have to wait in line, and when the first class passengers compete boarding, they may let you in.

If a session is not completely booked, you can register at special workstations and re-program your badge so these old ladies armed with scanners will treat you nicely. A number of advanced sessions discussing such boring subjects as communications with the servers, data persistence and the likes were undersold, and I had a chance to easily jump in.

The second day “s keynote was also flashy and energizing. We “ve learned about this mysterious Flash Player that Google bots use to index the content of other Web pages that include Flash content. It properly extracts text embedded in SWF, and its virtual user can run remote calls to retrieve the application data for smarter indexing.

Various Adobe groups demoed their product that by the end of the presentation competed the jigsaw puzzle called The life cycle of RIA development ndash; from Photoshop to Catalyst to Flex to the server side and back. Exchange between Flash Catalyst and Flex is done using a special format called FXG. To the best of my understanding, designer-developer workflow can work like this:

1. A designer creates a piece of art in CS4 using Photoshop, Illustrator or Fireworks.

2. A designer starts Flash Catalyst and imports this art. Then, he highlights various areas of this piece of art selecting Flex components to be generated for them. For example, a little birdy can become a button or a thumb on the scrollbar. The generated code is saved in FXG format.

3. A Flex/AIR developer loads into Flex Builder the FXG code that becomes MXML. If a developer needs to return the updated code to the designer, he saves it back in the FXG format that Catalyst can read.

I hope I got it right.

Update. Please see comments to this blog entry .

In general, Flex 4 completely changes Flex skinning mechanism. If now you can use either pre-created images or do a programmatic skinning, pretty soon you “ll start creating skins in MXML, and the level of granularity here is amazing. In the new architecture, component needs to know its data and what is selected in case of lists. The skin is none of its business and is a separate entity.

In the evening, Adobe ran a sneak preview event, and we had a chance to peek into the future. For example, Real Time Media Flow Protocol (RTMFP) allows peer to peer communication between the users running Flash Players ndash; no server is required. This protocol is built on UDP.

The demo of infinite zoom was awesome. Microsoft has introduced it earlier, but it ‘s ok.

Engineering departments of all major companies usually release new versions of their software at these events. Adobe plays by the same rules and Flex developers may download the following fresh from the oven software:

1. Flex 3.2 http://www.adobe.com/products/flex/flexdownloads/

2. LCDS 2.6.1. http://www.adobe.com/products/livecycle/dataservices/

3. AIR 1.5 http://get.adobe.com/air/

Every attendee of MAX 2008 was offered a DVD with the pre-release Flex Builder 4 and Flash Catalyst. Interestingly enough, this pre-release is available only for the lucky Mac OS users. Your “s truly purchased his first Macbook Pro two weeks ago. When time permits, I “ll give it a try and will offer you my unbiased opinion on the designoper-devigner workflow.

Wednesday is a closing day of the conference. Stay tuned.

http://twitter.com/yfain

Adobe MAX. Blog #4. Day 1.

On the MAX eve, I went to speaker “s reception. First of all had to meet with three other panelists participated in Monday “s session “Flex Architecture Faceoff ” – Chafiq Kazoun, Todd Anderson , Joshua Noble are very experienced software developers and published authors. We “ve expressed our views on how to do things in Flex.

Then I started bugging some Flex team members:

“Please tell me a secret rdquo;.

“What secret? ”

“For example, what will be announced as a new name of Thermo tomorrow? rdquo;

They refused to answer. The only useful information I managed to get was this mysterious phrase, “Flash Player 10 on mobile device rdquo;.

“Are you saying that FP10 will be available on iPhone, please hellip; rdquo;

He wouldn ‘t answer.But now we all know that my guess was correct, and I “m so happy that I knew about it a night before than the rest of the progressive mankind.

On the opening keynote, this message “Mobile First rdquo; was delivered loud and clear. Lots and lots of people treat their modern phones as powerful mini computers, not just the means of keeping in touch.In 2009, Adobe expects to reach one billion of Flash Player enabled mobile devices.

The general session was interesting. The CEO of Adobe used Sheryl Crow in his slides. This is a clear steal from one of my Flex presentations that I did back in 2006. But I used Sheryl in a more creative way. Take a look at the slides 5 and 6 of this presentation: http://tinyurl.com/66n7xy . The first slide had a quote from her song “No one said it should be easy, no one said it “d be that hard hellip; rdquo;. And the next slide reads, “Sheryl was singing about Java Swing rdquo; hellip;But that “s OK, no hard feelings.

Four major sports leagues networks are using Flesh Player for the online video streaming ndash; MLB is the latest addition. You can “t underestimate the importance of this for fact for Flex and Flash developers. These beer-bellied sports fans will ensure that the latest version of the runtime required for RIA made in Flex will be available in every household.

By the way, the number of the AIR downloads reached 100 million.

Yet another important work from the Monday “s keynote is “cloud rdquo;. Get yourself ready for the need breed of application that may look like something like this – an iPhone with a Flash Player talks to Amazon or other computing cloud. In my opinion, this is a place to be for those developers who are trying to figure out the next big thing.

After the keynote, I “ve attended the session of Andrew Trice who presented a couple of interesting AIR case studies. At the end of each session at MAX, attendees have to fill out evaluation forms that were used in the drawing for free O “Reilly book. It “s hard to believe, but I was sure that I was going to win. I never had this feeling before. And I did win a book!

The room with our framework panel was packed ndash; more than 350 people were attending, which is a proof that the subject of Flex frameworks remains one of the most important decision to make in Flex IT shops. It was a very lively session and I hope that the we will receive good grades in the evaluation forms.

After that, I “ve attended a session on internals Anatomy of a Video Player that was perfectly delivered by David Hassoun.

At 5 PM, yet another session on Thermo hellip;oops it “s Flash Catalyst now. I “m yet to see the demo of the iterative designer-developer workflow to get sold on Catalyst. But I can confess, that I “ve seen a project created in Catalyst is being read by Flex Builder. Presenters also showed some new features in the Flex Builder 4 – improved refactoring, template-based code generation, conditional debugging, a network monitoring tool and more. I “m still hoping to see serious performance improvements though.

At 9:30PM, I was running a BOF session on Flex frameworks. I was not expecting more than several people to show up that late. To my surprise, there were about 40 people in the room and we had a very live discussion on what framework to use and when.

At the end of BOF, a girl from the audience raised he hand and said, “I “m one of the creators of Mate rdquo;. Her name was Laura. Mate has not been officially released yet. In my opinion, this prevents Mate from being more widely adopted in the enterprises. Architectural committees don “t like any zero point something software.

It was a long day, they kicked us out of Moscone building, and we had to finish our discussion on design patterns on the street.

Stay tuned.

Adobe MAX. Blog #3. Freedom to AIR!

On Sunday morning, I got my two conference badges ndash; one for Press and the other one as a Speaker. Each of those gives an access to special receptions or meetings with Adobe big shots, and I don “t want to miss any of those.

While waiting for the doors to the AIR Lab room to open, I overheard how one of the attendees have whispered to the other, “T-Shirts are over there! rdquo;. Now I can fulfill my main mission at MAX ndash; bring MAX T-Shirt home for kids. Being an honest person, I explained the t-shirt girl that I have two badges and asked if I can get two t-shirts. She scanned both of my IDs ndash; everything “s kosher. But then, the girl realized that making such decisions requires approval, and asked the senior t-shirt distributor for an advice. The older lady said, “No, one person ndash; one t-shirt rdquo;.

So much for being honest hellip; My bad, I violated the KISS principle ndash; keep it simple stupid. I should ‘ve made two approaches to the counter. Learn from my mistakes and don “t delegate the process of making important decisions to inexperienced people.

The rest of the business hours I spent in the Adobe AIR 1.5 class taught by Leo Shuman, an excellent instructor who managed to run this hands-on class packed with the information flawlessly. This is even more impressive given the fact that there were fifty people in the room .

AIR adds to Flex has a pretty straightforward API for working with local files and directories. There is a simple mechanism of installing and upgrading AIR applications. If you want, you can digitally sign them too. AIR 1.5 introduces local encryption, which means that you can encrypt, say a user “s password and save it in a local storage.

lt;mx:HTML gt; component allows you to build a Web browser in several minutes. Flex developers would love to have it too…

Programmatic monitoring of network connection is really easy. This is one of the selling points of AIR. If you are disconnected, save the data in the local database, and when connection is restored, the local data can be automatically synchronized with the remote DBMS hellip;if you have LiveCycle Data Services. For BlazeDS you need to develop your own solution.

The API for working with local SQLLite is easy to understand, but the result set comes back as untyped array of objects with properties corresponding to the table column names. It would be nice to have an ability to specify a strongly typed ActionScript class corresponding to the expected result set.

I can live with this.

But AIR has some other restrictions that don “t allow it to be positioned as a full replacement to other platforms for development applications for the desktop. I see some inconsistencies in the design.

On one hand, you can write an AIR application that allows a user with the right credentials to erase files from local OS. On the other hand, AIR doesn “t allow execution of the local code. In the previous blog I wrote that AIR won “t allow you to invoke an ActiveX required to start Microsoft Outlook. Why?

After the class, I spoke to one of the Adobe engineers about it. He said, that the reason behind these kinds of limitation is a requirement to keep AIR a cross-platform tool.

I don “t think so. IMO, Adobe should learn from Java, which is cross-platform, but provide JNI API to allow developers using features specific to a particular OS.

As of today, to support automatic Outlook emails with attachments, I need to write a C++ program that will invoke AIR, and then Outlook, which is not the architecture to die for.

Dear Adobe, please make AIR a full-fledged desktop development platform. You can “t be a little pregnant.

Stay tuned.

P.S. Got a feedback from a Jim Hayes about untyped results with SQLLite: “In fact, you can do this. Set the “itemClass rdquo; property on your sqlStatement to your custom class and results are returned as instances of that class “. Thank you, Jim.

Adobe MAX 2008. Blog #2. Arrival.

Of all domestic air carriers, I like Continental the most. They showed Mamma Mia and the food was bearable. Last month, I was in the air for 14 hours flying to Japan, and now the trip across the USA is a piece of cake.

I have only carry luggage with me. This small bag has all the clothing I need for four days (4 t-shirts, four pairs of underwear, socks, three shirts, camera, laptop, over-the-shoulder laptop bag, toothbrush and shaver.

This bag fits nicely in the overhead compartments of most of the aircrafts. Two weeks ago, I was flying on a smaller plane to South Carolina. It didn “t fit up there, so I put it under the seat in front of me.

I “m writing this on Saturday, and tomorrow I “ll be spending 8 hours in the AIR workshop. I wonder if anyone will offer me a technical solution hellip; We “ve got a call from a potential customer that needs an AIR application that will allow to select some files from the disk, and on the click of a button, the application should open Microsoft Outlook window with selected files attached. This doesn “t sound like a rocket science, but to the best of my knowledge, it “s not possible unless you engage some other programming language too, i.e. C++. Please, anyone, prove me wrong!

After checking into a hotel, I went for a walk around the Union Square. There are two stores that I always visit when in town: Levy “s and Borders. I was a bit late for jeans, but the Borders was open ndash; it has a good selection of magazines. I bought the Photoshop magazine from UK , and Flash and Flex Developer “s Magazine printed in Poland but in English. This is the first time I see this well done quarterly magazine. It even includes a CD with 11 useful Flash applications and a good selection of articles too. Who said that printed software magazines are dead? Go Poland, go!

It “s an interesting business model though ndash; it “s not an outsourcing. A company from Poland (based on the names, the editorial is polish) invites English speaking authors and targets English-speaking market. Why not?

Early in the morning, I received an email with MAX daily news with the information about various conference events, which is pretty convenient. The registration opens on Sunday morning at 7AM. I “ll go there earlier ndash; because of the three-hour time zone difference, my biological clock believes that it “s already 7AM, but it “s actually 4AM as I type this.

In the unlikely event if you believe that just reading my blogs about MAX won “t give you a complete picture, install a little program MAXimizr written in AIR that will aggregate the MAX-related news and display them in a nice panel on your desktop.

Stay tuned…

Adobe MAX Blog #1. My personal schedule

Yesterday, I called my friend from SF to arrange for a dinner. During the conversation, I said that I have to be on a number of technical sessions there. He was surprised that I “m not going to present there, but will be sitting at the desk studying how to do things in Flex and AIR.

Actually, I like studying even more that teaching. Conferences of such caliber don “t happen too often and if you are lucky to be there, you need to get the most out of it. MAX 08 gives you a chance to learn from the cream of the crop, from people in the know, from those who spent endless hours trying to figure out what “s happening under the hood. How can you not use this opportunity?

I “ll just give you one example. Last week my colleague and I were running a private Flex workshop for software architects of a large corporation who are about to start development with Flex. Needless to say that they are smart and experienced software professionals. Some of them already started working with Flex. While explaining various types of library linking in Flex, I said that if you don “t mention a class in the application, it won “t be included into the compiled SWF. One of the attendees responded, “It took me six hours to figure it out by myself rdquo;. He said it all.

I don “t have time, and I don “t want to waste six hours if I can learn something like this in minutes from well researched professionals by sitting in the classrooms of the conference.

Training rooms is just one of the ways to learn. The expo floor is another one, but this will be a subject of one of my future blogs.

Here “s my personal learning schedule for a three day semester called Adobe MAX 2008 North America:

Sunday

Attending a full day class on AIR

Mon

11:30 AM Adobe AIR++

2:00 PM The Flex Architecture Faceoff, I “m one of four panelists there

3:30 PM Anatomy of a Video Player

5:00 PM Introduction to Thermo and the Next Generation of Flex

9:30 PM Birds-of-a-Feather meet-up on Flex Frameworks. You have your own Flex framework or have an opinion on other people “s frameworks, please come to the room MW 2012, and you will be heard.

Tue

9:00 AM Testing your Flex applications:

10:00 AM Comparing Flex frameworks. I “ll be giving a circumcised session Comparing Flex Frameworks at 360MAX corner.

3:00 PM A deep dive into the Flex 3 Framework

4:30 PM Next generation Flex skinning

6:00 PM Sneak peaks

Wed

9:30AM Maintaining security with Adobe AIR

11:00AM Debugging and profiling with Flex Builder

2:00 PM Building high-performance applications for Adobe AIR

3:30 PM Optimizing Adobe AIR for code execution, memory, and rendering

During general sessions I “ll be blogging and catching up on my emails. Between and after the sessions, I “ll be attending various receptions and press events ndash; This time I have two conference passes ndash; one as a speaker and the press pass too.

I want to apologize to all these vendors who sent me not answered emails asking for appointments presenting their next revolutionary products. I just don “t have time for this. This time my goal is to write about new trends in Flex, MAX spirit in general and other little things that will catch my attention while being there.

My twitter page is http://twitter.com/yfain .

Stay tuned.

Adobe MAX 2008. Blog #0.

Leaving for MAX 2008 in a day. Had to sign the Speaker ‘s agreement. This is not unusual, but this time it was a 5(!) page agreement. Lawyers run America.

How do you like this clause:

“Speaker shall take all necessary precautions to prevent injury to to any persons (including employees and other agents of Adobe) or damage property (including Adobe ‘s property) while performing the Services. ”

Since I don ‘t have a PR agent, I have to make the following public statement by myself:

“I ‘m a peaceful person and go to MAX 2008 with an open heart and best wishes to all persons (including employees and other agents of Adobe). I ‘m not going to get into a fist fighting with anyone (including those who developed Flex Builder), not going to bite any of the 5000 attendees (especially those Adobe employees who are busy with renaming Thermo).

I ‘m not going to damage anyone ‘s reputation (including developers of PureMVC framework) for abuse of design patterns. I ‘m ready to buy a beer to any Adobe Flex team member who can convince me that LCDS is that much better than BlazeDS. ”

Meanwhile, O ‘Reilly authors ‘ panel Flex Architecture Faceoff is almost sold out – according to the speaker ‘s Web site, there is only about 15 out of 350 seats left. Hope to see you there.

If you can ‘t make it, I invite you to a BOF on Flex frameworks on Monday in room MW 2012 at 9:30PM – let ‘s talk about Flex frameworks. If you can ‘t make it,let ‘s talk about it at 360MAX corner on Tuesday morning.

On Wednesday afternoon I ‘ll drive to San Jose to explain the crowd at SOAWorld 2008 how to administer some Botox injections to their clients .

Stay tuned.

Last minute gig at Adobe MAX 2008 conference

Yesterday, I was invited to participate in the MAX panel called Flex Architecture Faceoff that will take place on Monday, Nov 17 at 2PM at Moscone center in SF. This session has been created by O “Reilly, and the panelists are Flex architects who write for O “Reilly.

On Monday evening, I “ll be moderating a BOF on Flex frameworks.

My Tuesday morning “s talk on Flex Frameworks at 360Max corner got circumcised from one hour to 30 min because a general session starts right after 30 min of my preso. 360 folks assume that everyone will rush into that general session, and they don “t want me to talk to empty chairs. Nice. But if there will be at least one listener left, I “ll continue talking just for this guy or girl for another 30 min.

On Wednesday the 19th, I “ll be making a presentation called “Facelift your SOA with Rich Internet Applications. You won “t find it in the MAX schedule though – it “s in San Jose, and the name of that conference is SOAWorld 2008.

To the best of my knowledge, this is the last conference I “m attending this year.

Answering a question about failed interview

After my talks and publications, one in a while I ‘m receiving questions about failed job interviews.

Here ‘s a recent one:

For some reason I ‘m failing interviews for a junior position. I ‘m passing technical interviews without any problems (i.e. get a score of 90% with a passing score of 60%). After that, goes the interview with an HR person with questions like “Why do you want to work for our company?. Why did you decide to become a programmer? ” I believe I ‘m doing something wrong there. Recently, I even got an offer to start working on Monday, but then there was an email from the employer-to-be stating that they withdraw their offer and won ‘t be able to offer me a job neither now nor in the future. Why?

After reading the first part of this email I thought to myself that, apparently this person doesn ‘t shows self confidence, mumbling his answers, doesn ‘t look straight into the eyes of the interviewer, may have bad breath, or is dressed inappropriately.

But the last statement “we won ‘t be able to offer me a job neither now nor in the future ” makes me to believe that this poor kid has issues with references he provides. This is an important artifact of any job application, and you have to be very careful with whose name are you giving as a reference. Once in a while you might run into bad people that are giving poor references on purpose because some incidents that happened the past. But this would be quite unusual. Most likely your former colleagues do it without bad intentions, but just because they think they are trying to be honest.

Job interviews is a game and to win it, everyone has to play by the rules. If you are planning to submit Joe Smith as your reference, please make sure that he ‘ll give only the best possible feedback to you previous work even if it ‘s going to be a little exaggeration of your abilities. Find people who really like you as a person. They don ‘t have to be technical and don ‘t need to be from the IT area. You already passed the technical interview – now make sure that you are presented as a great person.

I don ‘t mind answering IT career questions, but I ‘d like to stress that I ‘m not a career counselor and might be wrong (even though that chances are slim that this is the case :).