If you haven’t heard of Gtalkr by now, I want you to click on the link and check it out. They provide a web based Google Talk client that utilizes the Flash platform and has some great features including Flickr and YouTube integration along with the ability to read RSS feeds. They’ve been profiled by TechCrunch, Om Malik, Lifehacker and many others.
Wes Carr, the co-founder of Gtalkr is the guy behind all of their Flash development. He graduated with a Computer Science degree from Washington University in St. Louis and at 24 is on the forefront of Flash and Web 2.0 development. He agreed to do an interview with me and talk about his experiences and his thoughts on the Flash platform. It’s a great read for anyone doing Flash development and especially anyone interested in how Web 2.0 and Flash fit together. Part one covers a bit about his personal experience with Flash and creating Web 2.0 applications using it. I’ll have part two of the interview tomorrow.
1) What gave you guys the idea for Gtalkr?
To give you just a bit of background, before Gtalkr we built an all-flash desktop IM client called Gush. It was geared towards more hardcore Jabber IM users. When we saw Google Talk announced, we had already made plans to bring Gush to the web and thought we would take advantage of integrating with an already established network.
We found it interesting that with the whole AJAX and web 2.0 phenomenon, many traditional desktop applications were being “ported” to the web, except for IM. Why? mainly because it’s tough
. Sure you’ve always had some type of chat functionality on the web but nothing full featured. We decided IM should be on the web too, and integrating with the Google network made it just so much more interesting because it gave us a platform to build new things.
With our latest release, I think it’s becoming clear that we want to enable our users to be able to easily and quickly share what they find interesting with their friends. You shouldn’t have to copy links and email things around. Phew, I think that covers it
2) So what made you decide to go with Flash? And Wes, how did you originally get started in Flash development?
I got started with Flash back in college, 2001 I think. My little sister introduced me too it actually. She was using it, Flash 4 at the time, for some presentation instead of power point and did some cool animations. When I saw what she came up with, I was blown away and just got hooked experimenting with animations and fun little interface projects.
As I worked more and more with Flash, I realized that it could be a powerful presentation layer for heavier applications, resulting in a much better experience for the user. When developing something of this scale for the web, I can’t tell you how happy I am that we’re using Flash. You write it once and it just works, regardless of the operating system or browser. That’s a huge savings in development and debugging time. We also wanted to show that Flash can be a useful tool for building real applications, instead of the flashy banners and skip intros everyone always bashes it for. I hope we’re giving it a good name
3) What do you use to do your Flash development?
This one might surprise you, I use the standard Flash IDE. I know I know, I must be crazy. To tell you the truth, before the updates in the Flash 8 IDE, I was suffering a bit, but I have this nervous twitch and like to hit Control+T (compile) all the time to make sure I’m not making any careless syntax errors. I did try using some other editors, and SciTe was pretty decent, but again the whole Control+T thing. I also use Grant Skinner’s gProject to manage the 360 class monstrosity that is Gtalkr. It’s been a nice addition to my work flow.
You might ask why I don’t use MTASC or some of the other 3rd party compilers. Well pretty simply, Gtalkr won’t compile
Unfortunately those compilers still aren’t 100% compatible with Macromedia’s or are missing some features and I don’t think all time I would save on shorter compile times would out weight how much code I would have to change to be compatible with those compilers
4) A lot of big companies use Flash for many, many different things, but there aren’t a lot of Flash examples in the smaller, Web 2.0 companies. As one of those smaller, Web 2.0 companies, what advantages does Flash give you compared to other companies using AJAX?
That’s a great question. First of all, I think AJAX and Flash are actually fairly comparable solutions, we even use a bit of AJAX, which I’ll get to later, but where I think Flash has the advantage is again in it’s presentation abilities. Admittedly the Gtalkr interface certainly doesn’t push Flash’s graphics abilities to the edge, but everyone knows what a pain it is to do dropshadows, alpha-blends, and drag and drop in AJAX, and then you have to get it work in multiple browsers as well!
But those are just client side advantages. The way Gtalkr is setup, it makes the development process much simpler, because you can achieve a nearly complete separation between presentation and logic. That’s much more difficult to do with an AJAX application where the server side still has to do all the heavy lifting and be aware of the presentation on the client.
One area where Flash has tremendous advantage over AJAX is crossdomain.xml. XMLHTTPRequest is bound by the security policy of the browser which is pretty damn limiting. How would you achieve Gtalkr’s Flickr and YouTube widgets with AJAX? You would need a server side proxy to act as a go between. That sucks! With crossdomain.xml you get the freedom to interact with other web services easily and most importantly, on the client side!
5) What have been the challenges when using Flash to create a Web 2.0 application?
I’ve definitely almost broken my keyboard a few times when Flash and I weren’t getting along
One of the biggest challenges we had with Flash, ironically, was achieving a look and feel similar to that of more traditional Web 2.0 applications. We didn’t want Gtalkr to scream Flash and actually a good number of people still think it’s AJAX.
Sshhh, don’t tell
The Flash-browser interaction was another source of pain. Doing things like scrolling the html page when you’re not scrolling something within Gtalkr took some imagination. Simple things like that you don’t have to worry about when you’re using DHTML. External Interface in Flash 8 is a big help though and one of the reasons we decided to require Flash 8 for Gtalkr. I’m very happy with that decision especially given the recent penetration statistics. I’d also like to thank Geoff Stearns over at deconcept for FlashObject, it just works!
You remembered I mentioned we use a bit of AJAX? Well we actually use XMLHTTPRequest for almost all the communication between the client and the server! We tried really hard to use Flash’s XML Object but in the end it was too unreliable for the amount of traffic we pump through it.
In part 2, Wes talks about some of the new Gtalkr features as well as what he thinks of the new versions of Flash and what the future holds for the platform.