10 Questions with Jesse Warden
Created By
Chris Bizzell, at
3/16/2006 -
1 comments.
Today we are presenting an interview with
Jesse Warden. Jesse is expert in Flash, Flashcom, Flash Remoting, &
Director. He was contributing author of Flashcom Bible, wrote an
article for DRK 3 and has been the tech editor for several ActionScript
books. Jesse has also been a speaker at MXDU in Sydney, Australia.
Thanks Jesse for taking the time to answer 10 questions.
1. How long have you been working with Flash and what suggestions would
you give new users interested in getting up to speed? Do you recommend
classes, books or simply diving in and learning by the seat of your
pants method?
I started using Flash at version 3 to do animations for projects.
I started using it for coding projects fulltime at version 5 in
2001. Within 3 months I transitioned from 90% Director, 10% Flash
to 90% Flash, 10% Director.
Flash is so broad in the markets it can be used in now so I''d ask the
new user to question what it is they are interested in
accomplishing. The good news is that most of the resources cater
to all markets in some way. The community railed pretty hard on
getting the documentation for Flash in sync with its release schedule,
so as of Flash 8, things are as good as they have ever been in terms of
resources, both provided by Adobe and the awesome community we have.
Macromedia.com and it''s DevNet section has a plethora of content, both
new and old that is applicable to beginners as well.
Gotoandlearn.com has a bunch of cool video tutorials that really help
via visual teaching. Chattyfig.figleaf.com has a wonderful set of
mailing lists, namely Flashnewbie and Flashcoders, that have many
people that are there specifically to help. Even if you get an
RTFM, two other people will answer your question anyway. There
are also some long standing forums such as were-here.com,
Ultrashock.com, and Flashkit.com. Some specialty sites have
forums too like Newgrounds.com and Albinoblacksheep.com. Finally,
blogs keep you up to date on the news, new techniques, and new resource
additions. The best place to follow Flash related blogs is
weblogs.macromedia.com and fullasagoog.com. If you are looking
for sample code, ifbin.com has a subscription with the ability to
request a specific examples. Communitymx.com is another site with
both free and pay content designed specifically for education of new
users, Flashers being one.
All of those resources combined give anyone plenty of ammo to get their feet wet quickly and up to speed.
I personally do not learn well from books or classes, but there are 10
billion used books on Amazon.com and it seems like every city has a
certified Macromedia training center where they teach classes.
Those are definitely viable options and I talk to people all the time
where both have benefited them greatly.
2. Flash 8 has a lot of new features. Which one do you find yourself using the most?
What would you most like to see in the next version?
Although I didn''t specifically ask for it, I find myself using the
FileUpload feature a lot in Flex projects. Since Flex 1.5''s
compiler is hard coded for Flash Player 7, you use a Flash 8 SWF as a
proxy to the FileReference object to allow you to do integrated file
uploading. It works great, and clients love it.
I do the same thing with Flash 8''s new graphical effects, mainly drop shadow, glow, and blur.
For Flash Player 9, I''d really like to see 3D of some sort, whether
this is via quads at the miniscule level, or a full-blown engine.
Considering the power of this community, we''d only need a few, built-in
methods to get us going. Even now there are a bunch of 3D engines
written in Flash, so their clearly is a community interest.
3. I understand that you are moving heavily into Flex. What prompted this move – client request, job or general curiosity?
Curiosity. I had heard about Flex 1, but that was it. No
one was heavily blogging it, no one I knew really talked about it nor
had anything passionate to say. At first I thought it was just
another one of Macromedia''s enterprise level CMS''s like SiteSpring or
VitalStream, built solely to allow the Enterprise to run media services.
I ordered the Flex 1 CD, and didn''t like the workflow. While I
liked the components, creating forms seemed boring. However, 3
months later, I realized that I had been building mainly form based
applications for the past 2 years, and realized that maybe Flex
deserved a second look… it''s based on Flash Player after all, I can
make my forms look good, right?
In spending 4 days doing some simple self-enrichment projects, I
realized immediately Flex had something special; a built-in layout
engine. I''d spend weeks creating GUI''s in code in Flash,
constantly re-compiling just to move a form element 1 pixel. Even
worse, if the GUI had to change, it broke my code.
Flex on the other hand did layout for you, both absolute and relative
using a box model like DIV''s. You can preview what you''ve have
lain out, and manipulate it just like you could in Flash, only it looks
like your application will look like… for the most part. Best of
all, if I decided to change my GUI, my code didn''t have to
change. The concept of using ID''s instead of MovieClip instance
names combined with a layout engine suddenly saved me weeks to months
of work on projects. …and the components were better, too!
I immediately went looking for employers that would allow me to work in Flex all day.
4. Coming from a Flash perspective, what was easy about learning Flex and what was the biggest challenge?
The easiest thing was the components. The components were based
on the Flash MX 2004 code-base; they just had the new layout engine,
optional percentage based width and heights, and integrated drag and
drop. I immediately knew all of the methods and property names so
that made things easy.
Seven things tripped me up big time, though. First off, Flex 1
and Flex 1.5 needed a server to compile. Running the “scary black
window” that is JRun felt uncomfortable. Using Tomcat wasn''t much
better because it combined with FlexBuilder take 10 billion terabytes
of RAM. Suck. I got it over it, though. Instead of
Control + Enter, you just hit refresh on a Firefox bookmark.
The second thing was scope. I''m used to a tree based structure of
scope in relation to Flash timelines. That is not the case in
Flex. Everything is flat, and uses ID''s. Basically, if your
class has a button called “my_pb”, you write “my_pb” to access it in
your class. It is the same thing with MXML files. They are
just like ActionScript classes, only the use either all MXML, MXML with
a script tag for your ActionScript, or MXML with a script tag that
links to your ActionScript file. I settled in using my script
within MXML because it felt just like writing ActionScript
classes. The GUI part, however, is handled by MXML, and this felt
great. Suddenly, instead of writing an import statement up top,
defining my control variable in the middle, instantiating it in my
createChildren function via createClassObject/attachMovie, and
positioning and sizing it in my size function… I just defined a
tag. Damn, that was simple. Even better, as long as the ID
stayed the same, I could change a DateField to a DateChooser, and my
code was left intact. You can still dot down to find things, but
I found for the most part, getting used to this flat structure was a 2
challenge.
The third thing was MXML as a class. It took me months to realize
that MXML files are the exact same thing as ActionScript classes.
They both compile to the same thing. The mxmlc.exe basically
parses all of your MXML, and makes them ActionScript classes, and then
compiles those to SWF. The fact that I could use MXML files and
ActionScript classes interchangeably required a paradigm shift in
thinking.
The fourth was uploading my files to a webserver. Even when
compiling on my local box, I still had to upload my files. I''m
sure I could of set my FlexBuilder directory to the same directory as
the server, but it just felt… weird. I''d sometimes forget and
wonder why my code wasn''t working. Additionally, Flex 1 and 1.5
have a nasty habit of caching your images.
The fifth was Flex''s compiler is stricter. Stuff like
my_lv[“owner”] will get caught; granted, you can still do it as it''s
just a warning, but I feel like I''m being yelled at. When you use
MovieClips and use _x, it tells you to use the “new” x. It
assumes no in their right mind would use a MovieClip in Flex, only the
UIObject class, so that was kind of annoying. Then again, Flex
wasn''t made for Flashers…
The sixth was no library. You have to use embed tags to get your
images and MovieClip''s in. My Flex projects look more like
websites with tons of folders and text files.
The seventh was the community. There was initially a large &
tenacious Macromedia presence. However, Flash was never really
acknowledged, and no migration path was ever given. In fact, I
clearly felt that I was not welcome in that community as I was not an
“Enterprise Developer”. That pissed off, big time. Over
time, though, I realized more of where Macromedia was coming from with
Flex, and they too realized where some of the Flash community was
coming from so it worked out great.
5. I utilize Flash Remoting in most of our company''s projects.
What advantages does Flex offer over Remoting? Do you see Remoting as
having advantages over Flex or can they complement each other and seen
in the integration of Remoting with Flash Forms?
Flex compiles SWF''s too; it''s merely an alternative to using the Flash
IDE. Most Enterprise Programmers see a timeline and don''t know
what to make of it; it''s alien to their way of development.
However, you show them an XML based markup, a class based language, and
CSS, with a presentation tier that integrates into their server setup
and they immediately can understand and dive in.
So, Flex can do everything Flash can do. Both can use GET and
POST. It''s called LoadVars in Flash and HTTPService in Flex; same
thing. Flash has the WebService classes and Flex has the
WebService tag. Flash has the Flash Remoting classes and Flex has
the RemoteObject tag.
The biggest different, however, is that the Flex server itself acts, by
default, as a proxy. So, you do not have any of the security
sandbox issues if you use Flex as a server that you do with Flash when
accessing other domains. Additionally, Flex has site blacklisting
and whitelisting as well as named services for accessing Java
classes. Flex has remoting built-in.
So, you don''t use Flex vs. Remoting; Flash Remoting and Flex are
different things, although, using Flash Remoting with Flex is a more
joyous process with the built-in proxy.
6. Speaking of Flash Forms, I have heard them refereed to as Flex Lite. How do they compare to Flex in your mind?
You mean the ColdFusion Flash Forms? No clue. A CF guy and
I debated about them on a list, trying to get to the bottom of
it. It sounds to me like a sub-set of the Flex framework is
compiled into CF server, and exposed via tags. However, you don''t
have the access to those features like you do in Flex. That''s all
I know.
7. A lot has been made of the cost of Flex. How do you justify
the cost to a new client or boss who is looking at a relatively high
buy-in?
I don''t. I went and found companies who don''t even bat an eye
about dropping $2 million dollars on Oracle licenses. To those
kind of companies, Flex isn''t a drop in the bucket. There are a
lot of those types of companies.
Flex 2, however, kills that concern since the SDK is free, and the Flex Builder 2 is priced under $1000k.
8. I recently completed an article on AJAX. It''s getting a lot of
hype and I would like to know how you see AJAX – threat to Flash or
just another player?
AJAX is a different technology, and thus more appropriate in some
situations. I do not see AJAX as a threat, and there is plenty of
room for both to co-exist whether aware and working together or not.
AJAX has a lower barrier of entry, can improve already existing web
applications, and has a lot of room for growth. You can make
incremental improvements to existing web applications with low-risk,
and in various places.
Flash or Flex, however, requires a complete re-write using a new
technology, and re-training of developers. While the concepts of
ActionScript are familiar to JavaScript developers, more so to Java
developers, Flash is usually alien to most web developers. Flex
is extremely akin, but you still have some down-time as teams get up to
speed. Additionally, incremental changes are not as impactful as
AJAX on existing applications. Changing a login to provide
immediate feedback is better done in AJAX vs. Flex. Additionally,
Flash & Flex requires a plugin, and while the install base is high,
you are adding a requirement to an existing application.
However, the Flash Player has more features, media support, good cross
browser and OS support, and the most important of all next to ubiquity
via install base is the updating. The rate at which Flash Player
8 was adopted proves one thing; AJAX users have to wait years before
end users upgrade their browsers, but Flex & Flash developers only
have to wait months… and a lot of my projects take months, so I can
start developing now knowing my customers will have the required
features at release time.
Additionally, Flash & Flex have a more mature language which makes
maintenance & stability of larger projects easier to manage.
So, it all depends on your team''s skillset, the project, and the
circumstances. Either way, they are 2 separate technologies that
can be used together or apart. The only competition is from
philosophers with clubs.
9. I would like to get your thoughts on the Adobe merger and how you
see this affecting future versions of Flash/Flex/ColdFusion.
I think the future is bright for Flash; that''s the reason Adobe bought
Macromedia. Integration with their design suite will be off the
hook!
Flex will be great because Adobe has a great server-side
offering. Integration with some of their server-side offerings
into existing Enterprise markets will be great. Adobe''s
server-side offerings are all about the forms.
ColdFusion has its hands in all of that, so I''m sure they have a bright future as well.
Overall, though, this needs to be tempered with the fact there is
absolutely no competition. AJAX is not competition because most
developers I know use Flash for it''s media capabilities; that''s it''s
main selling point beyond dependable feature set across devices,
browsers, and OS''s. I hope Microsoft really knocks their
Expression Suite out of the park; we need some competition for Adobe,
and bad. It''s already here, but I don''t think it''s visible
enough; you can''t feel the tension unless you work at Adobe.
10. I see that you are speaking at several conferences and the like. Anything on your plate that you want to plug?
My goal is to speak at MXDU 2007 and Flash in the Can 2007, so if you
are there, let''s game some gaming on, go clubbing, and talk tech!
Thanks again for your time Jesse, we really appreciate your thoughts.
Follow Jesse on his site.
Recent Articles by
Chris Bizzell
Reader Comments
-
Rostislav Siryk
Replied:
(
1/23/2007
At
8:59 AM)
You may notice this detector tool can assign pagerank greater than 10 to some sites of your artificial network which usual pagerank toolbar couldn't do. This is because toolbar is calibrated but Pagerank Decoder is not. This makes it even closer to internal Google's pagerank value.
|
|
|