Learning "The New" - Tokyo Trains and Flex 2
DIGG IT!
4
Comments
Published
Wednesday, October 04, 2006
at
6:58 PM
.
I am in Tokyo this week and have had to learn many new things. The most intimidating was the Tokyo train system at rush hour. It sounds simple (buy a ticket, find a train, board it, and get off at your stop) but it was a very humbling and frustrating experience. It has reminded me of my first experience learning Flex and made me conscious of how intimidating learning new things can be.
I learning Flex 1.5 during the spring of 2005 and honestly I was terrible at it at first. I knew Flash MX 2004 inside and out and could code a RIA in a heartbeat with the timeline, AS2, and components. I had mastered Flash and ActionScript for my consulting work and I felt confident in my knowledge and market value. I could convince clients to pay $75-$100 per hour for Flash development. Then I got the Flex call...
I got an email from LifeOptions who was working on a large scale healthcare project in Flex for Disney, Aetna, and Pacificare. A developer had quit unexpectedly and they were shorthanded at a critical time during development of the assessment engine. I looked at the project proposal and wanted to do the project in Flash Authoring but they insisted on using Flex (much to my frustration). The surprise was that they were willing to pay much higher rates for me to learn Flex. When I agreed to the project I was nervous and intimidated by Flex because it represented the unknown.
I felt like I had been tossed head first into a swimming pool and forced to swim. I struggled with the Flex development paradigm until I got some simple things working. It is within those simple examples that my confidence in Flex grew. I discovered lots of amazing features and after just 2 weeks had a working prototype for the client to review. I took a risk in learning Flex but that decision has paid 1000 fold for me personally.
We (Adobe & Flex Community) need to do a better job at making Flex easier to learn. We need more code examples so that developers can discover how Flex works. We need to make the Flex Community discoverable and searchable. We need to lower or eliminate the barriers to Flex adoption by developers outside of our community. Just as I struggled to learn Flex, many developers will experience the same. My trip to Japan has made me conscious that learning new things is never easy and that even the things we take for granted can be intimidating for new users.
Here are a few mistakes I made during my first Tokyo train ride:
1. Insert 1000 Yen into ticket machine, Press 1000 Yen ticket button. As I departed the station the machine ate my ticket. I only needed a 130 Yen ticket.
2. Finding the right train. When I arrived at Adobe Japan I was handed 2 maps, one for trains and one for subway. Each map has 100 stops on it. Hmmmmm....Where am I?
3. Boarding the train. Stand in a line on the platform. When the doors open you literally flow onto the train with the crowd. I am not sure my feet were moving at all it was so crowded.
4. Walking within the train station. It is like crossing a river of people to get where you want to go. If you have any doubt about where you are headed, you must be very careful when you decide to stop. I paused and 4 people bumped into me.
After 2 rough trips, I am now able to navigate the Tokyo train system with confidence and can now travel a bit farther. In a way it is identical to learning Flex. Once you get started and build confidence you can begin to explore the possibilities. Hopefully over time you will discover, as I have, that the only real limitation in Flex is your own imagination.
Struggle, understand, discover, and explore!
Cheers,
Ted :)

He, he... Sounds like you need one of these: http://adjl.blogspot.com/2006/09/nokia-n95-feature-video.html Biskero blogs about it all the time and it has a built-in GPS :)
As for learning Flex - I think that Flex is really well architected, but as you say, we need more examples and sample applications. Not only small samle apps consisting of just a MXML file. How about making the famous Pet Shop in Flex as an example using best practices and maybe either Cairngorm or ARP?
One issue I'm noticing is that event the beginner tutorials with Flex and AS3 are jumping in at a higher level than the "hand holders" that we had access to when learning Flash and AS2. I'm hoping for the new newbies(using AS3 as their gateway language) that there will be more of the material like Foundation AS for Flash. Material that focuses on explaining the concepts of OOP and programming. A Lot of the stuff now is targetted at seducing programmers from other languages with the familiarity. With a lot of it's hard to evaluate if the intro material is really "intro" because we only need two lines of explanation about what an object is to know what's going on - but I still remmeber reading the word object and "event handler" about 50 times before I really grasped what I was doing.
On the Tokyo trains: if you buy the cheapest ticket you can simply put your ticket in the 'fare adjust' machine on arrival. Saves having to decipher that insane map for the correct fare.
As for Flex; making the jump from experiments to an application I can sell, still seems daunting. As Jensa mentions, tutorials such as the 'pet-store' are well known to all of us and would perhaps aid the transition from Flash developer to Flex developer easier. As it showed how to 'stick' everything together, whilst employing best-practices.
>When the doors open you literally flow onto the train with the crowd.
Heh, same in India (Bombay)! There's no concept of a queue; just stand in front of the train and close your eyes :)