Flash Platform Week in Review (Feb 18 – Feb 24)

After a bit of a hiatus, the week in review is back, but since I took a couple of weeks off this is just going to be a jumble of Flash items I’ve seen recently.

Yahoo has a new version of its Chess game written in Flash (I think the old one was Java) and it looks very sweet.

Dirk Eismann has part one of his Flex 2 mxmlc Goodies series. The command line compiler is something every Flexer should know, so this has potential to be a good series of posts.

In more “Flash is Everywhere” news, Macro Casario mentioned that there are rumors of Flash Lite for the Sony PSP and PS3. If it happens, it opens up a big, big audience to Flash and Flex developers.

Ray Camden took a little bit of heat for his Advanced ColdFusion contest, but I think the inclusion of Flex 2 as a requirement is very cool. CF developers NEED to know Flex. He stresses that it doesn’t have to be good Flex, it just needs to be Flex. Good call Ray.

This might hardly qualify as news, because I think it’s silly, but Balthaser released a statement this week saying that they had received a patent for rich media. Coverage/Commentary by Jeff Houser, FlashInsider, JD, FlashAnt and Ajaxian.

Jen deHaan posted that a new version of the AS Best Practices guide is on the dev center.

Not quite Flash, but Bruce Chizen talked to Knowledge@Wharton about the future of Adobe and while the article isn’t small, it’s a good read, especially on a Friday afternoon.

Lastly, I had interviews with Wes Carr of Gtalkr and Jeremy Suriel of Goowy about their use of Flash. They’re both fairly prominent Web 2.0 companies and the interviews talk a lot about their experiences using Flash for those types of applications.

Part 3 – Interview with Goowy Chief Architect Jeremy Suriel – The Future

GoowyIn the final part of my interview with Goowy Chief Architect, Jeremy Suriel, we talk about what their plans for Goowy are, and also talk about things that developers working on Web 2.0 applications should be looking at. It’s a very good read for any entrepreneurs who are looking at the web application space. If you missed the previous parts you can find part 1 here and part 2 here.

8. How do you see Flash in the next few years? What kinds of things would you like to see from the platform that can make Goowy a better product?

I believe that Flash will receive increasing competition with AJAX frameworks like ruby and dojo. These products will become more mainstream, and we will begin to see AJAX development IDEs making it even easier for developers to create rich web applications. The Microsoft Expression product suite (formerly known as Sparkle) has already been labeled a “Flash Killer”. I have yet to download the technology preview of the Microsoft Expression product. Just by watching the demos and reading some articles however, I feel that they will have some challenges. First, I believe that the Expression Graphic Designer will face challenges in adoption from Photoshop/Illustrator users. The Expression Interactive Designer seems to be targeting the Flash Platform. It will be interesting to see what Microsoft plans to support in terms of browser plugins…will this become another ActiveX? Not sure about the web designer, but perhaps it’s a better/more powerful Frontpage. Again, i haven’t had a chance to look, but these are my thoughts.

As for flash and macromedia (i guess i should be saying adobe), we have been fortunate enough to build a close relationship with them and become part of the beta community. There are some exciting advances coming down the road for flash. The most appealing for me is the Flash Player 8.5 and ActionScript 3.0. The flash player and actionscript 3.0 will significantly increase the performance of flash applications and provides some powerful enhancements to the actionscript lanaguage. I think these enhancements have the opportunity to distance Flash from the pack.

9.What are your long term plans for Goowy?

Our mission is to create a simple and fun experience for sharing and communication anywhere, anytime. We will continue to develop, integrate, and add features that are associated with this goal including integrated IM (Yahoo, Gtalk, AOL, MSN, etc…) and virtual file storage. And we will continue to create an experience that makes it easier for a common user to perform actions that span the web 2.0 landscape.

10. Is there anything you would have done differently when building Goowy now that you have a new version of Flash and nearly a years worth of hindsight?

That’s funny. I can’t count how many times I’ve developed something and then a few weeks/months later, look back and want to completely re-write it. I’m sure this is a natural feeling developers have as they move forward on projects all while technology continues to evolve. As well, whenever you are rapidly developing product and functionality, it’s easy to take shortcuts that will require some cleanup down the road. After our 3 major versions of goowy (mail only, resizing + deferred instantiation, virtual desktop), we finally have an environment that gives us unlimited ability to extend the product in a clean, performant, and scalable fashion.

Having said that, we are likely to continually cleanup our API (with potential to expose this in the future), improve performance by removing unnecessary images and more usage of vector graphics, make more use of flash’s ability to import movieclips from external libraries further reducing filesize and increasing performance.

We still offer a Flash 7 version of our service which we would like to phase out and begin to take advantage of more Flash 8 capabilities including moving to full use of ExternalInterface for all actionscript/javascript communication. We offer RSS integration by allowing users to display a window for each RSS feed. We’ve learned that this is simply not a productive and intuitive way to read news and stay up-to-date. Instead, we would like to integrate RSS into more of an email view where users can subscribe to feeds directly in their inbox, making it easier to subscribe, read, and share news as well as make use of the sorting capabilities of email (date, sender, etc..) and notifications available on both the web and desktop notifier. Today, we have a single email window allowing you either to view or compose 1 message at a time. Instead, we will eventually support tabbed emails and possibly the option to open in a new window to increase the productivity of working with email.

On the backend, we would like to migrate to more of a MySQL backend integrated directly with Qmail giving us better and faster email integration. And possibly change the way we store email and attachments to increase reliability and performance of various email functions.

11. Do you have any tips for other developers looking to use Flash to build?
Web 2.0 applications

  • Always think about Performance. Without proper planning, it’s easy to begin a project and end up with a bloated mess a few months down the road.
  • Perceived Performance (feedback/progress notifications). Your application, as a whole, may be fast, but if you fail to provide some sort of progress or feedback to the user as screens load, transition, and/or data is loaded, the application will appear slower and less responsive.
  • Make sure Flash is the right tool for the job

One of the biggest challenges with developing a web 2.0 application in flash is determining where to draw the line between DHTML/AJAX and Flash. The flash application, in most cases, is being hosted in an HTML page. Why not take advantage of this, just as those AJAX applications take advantage of placing pieces of flash within their solution. I’ve come across some web 2.0 flash sites recently that clearly use flash for the sake of using flash. Again, in my opinion, there are places where AJAX is superior. It’s disappointing because the end-user suffers from a less-than-optimal experience, and the application is likely suffering from less-than-optimal code implementation and maintenance.

Just as with any other technology, I think developers really need to be honest with themselves and consider using the best technology to solve a specific problem.

More specific flash/programming tips:

  • Use vector graphics vs. inline images – tweening / transitions will be smoother and faster.
  • Consider reducing the quality param setting (medium) in the object/embed tag. For solutions requiring faster animations, this will give you a significant performance boost.
  • Stay away from v2 components. My experience with v2 components are that they are bulky and slow.
  • Specify types for variables, function params, and return values as much as possible. This will make your code cleaner, provide better compiler warnings/errors, and reduce your migration headaches when it comes time to take advantage of Flash 8.5/Actionscript 3.0.
  • Although goowy does not use this today…take a look at using AMF instead of XML for data exchange between client and server. XML is verbose and requires data binding on both the client and server end. AMF uses a smaller binary format resulting in smaller bandwidth requirements and faster applications. ( http://sourceforge.net/projects/amfphp/ )

A big thank you to Jeremy for doing the interview with me. I had a great time setting up the questions and reading his responses. Goowy is an easy application to use and I think it’s the best web based desktop out there. Thanks for sharing your thoughts Jeremy.

Ah ha – Seattle CAN Party Like It’s 1995

I’ll admit, I’m a little bit jealous that the kids down in Silicon Valley get to have all the fun (Yes, that goes to a link talking about Robet Scoble getting naked, don’t tell anyone I tagged it with ‘fun’). But as it turns out, Seattle has some of its own tech parties courtesy of PaidContent.org where the tech elite go to mingle, drink, and talk business.

I didn’t know about it, but it seems like there were some interesting people there. Mike Davidson, Ben Elowitz, and Chris Prillo. Where there any Flashers there mingling/evangelizing with the Seattle business digerati?

Hopefully there will be more of these. Maybe even Scoble, who LIVES here, will do a party for his book. Eat it Silicon Valley.

Why Are A-List Bloggers Old?

There, I said it. I don’t mean that they’re actually that old, I don’t think many are over 50 and most probably don’t even crack the 40 mark, but the question stands, where are the young A-List bloggers?

Lets first define “Young” as below 30. There don’t seem to be that many out there. I think there may be a couple of reasons. One is that we just don’t have the industry experience that makes people want to listen to what we have to say. Who’s going to really care about what some 24 year old punk has to say. He was graduating from high school when the tech bubble was in full swing.

The other reason is that I think the Young, tech savvy people are out building things and they don’t have time to blog! Look at the founders of Digg (28), MySpace (29), Gtalkr (24),Blogger (28): they’re all young. I know there are entrepreneurs out there who aren’t young, but that’s to be expected.

It’s too bad there aren’t more popular young bloggers. There’s a lot of untapped energy in the young blogsphere. We’re creative, energetic, and sometimes we’re too stupid to know better. If old people tell us it can’t be done, we laugh and go make it happen. Inexperience is a virtue because when you’re inexperienced, the sky is the limit. It’s like we’re disobeying the laws of business physics, and that’s what makes the web grow.

So are there young bloggers out there making a splash that you like to read?

Interview with Goowy Chief Architect Jeremy Suriel (Part 2) – Flash and Web 2.0

GoowyHere’s Part 2 of my interview with Jeremy Suriel. If you didn’t catch part 1 yesterday, check it out here. Today we’re talking about Flash and Web 2.0. Jeremy was on the forefront of Web 2.0 and has some good thoughts about what it means to build Web 2.0 applications in Flash and also customize it to fit what they needed it to do.

5. Goowy launched in March 2005, before Web 2.0 started getting a lot of
press, so you guys are veterans in a lot of ways. What were the challenges
involved in creating a Web 2.0 application in Flash?

Flash provided most of what we needed to build the application we have today. There were some more advanced features inherent in most web 2.0 applications that were either missing or lacking. For example, in order to maximize performance and reduce the filesize of our .swfs, we had to create a framework for dynamic, on-demand loading of windows and applications within our virtual desktop. We had to create our own framework for internationalization and binding values to dynamic textfields at runtime. Before Flash 8 and the ExternalInterface, we had to create a way to provide callbacks between Javascript and Actionscript. And probably one of the biggest issues with Flash is it’s support for displaying HTML/CSS in textfields. In order to support inline HTML viewing and editing, we needed to combine Flash wmode=transparent with DHTML to create a rich and seamless experience.

6. Clearly there were some big hurdles to overcome, and Goowy isn’t a small application. How difficult was it to extend and customize the Flash platform to do what you needed it to do for Goowy?

There were a few hurdles we had to overcome on both the front and back-end of goowy. Prior to Flash 8, there was very little support for actionscript javascript communication. Sure there was the fscommand and the getUrl(“javascript:…”). But it was a bit cludgy since not all browsers supported them the same way, there were no syncronous calls from actionscript to javascript, and no direct way to make a callback from javascript back into actionscript. So we came up with a workaround that seems to have done the trick. It’s funny because a few months after our public beta, Mike Chambers from macromedia posted the Flash / Javascript integration kit ( http://weblogs.macromedia.com/mesh/archives/2005/06/flash_javascrip.cfm ) which solved this problem in a much more elegant fashion. Now with the release of Flash 8, the ExternalInterface class offers a much tighter actionscript/javascript integration making it trivial to take advantage of both technologies within a web application.

I would really like to tell you that goowy was the most difficult application to write, that we stretched flash to it’s limits, and extended it in ways that no one has done in the past. In reality, flash offered all the basics and tools that we needed to get the job done. If it wasn’t directly available in the out-of-the-box platform, there were extensions and actionscript classes out there already written to do the trick. And if they didn’t exist, then we had the luxury of being able to extend the toolset by writing our own extensions and classes ourselves. Things like the RSS parser, calendar month control, calendar day view, custom cell renderers, color pickers, MD5 hashing, are all examples of components/classes that we either created ourselves, were publicly available components, or purchased and integrated into our system.

I can’t say enough how having the right toolset that allows you to layout your classes and components in a packages, just like any other large scale project familiar to those java and C++ developers, is essential in effectively managing and extending a growing codebase. These tools directly impact the development teams ability to develop faster, write cleaner code, and ultimately the quality of the product.

7. Where do you think Flash fits in the Web 2.0 world?

I believe that Flash addresses a sometimes overlooked aspect of web 2.0 and the web in general…User Experience. Flash is well-known for creating a rich, vibrant, and interactive multi-media experience.

A big part of web 2.0 is the use of the web as a set of public services and exposing APIs to those services. Flash/Actionscript has the reach of millions of developers worldwide. I believe flash fits very well in the area of exposing and consuming services across the web.

In order to keep up and stay ahead of the ever-changing landscape of web 2.0, developers need powerful tools that allow them to focus on the application and less on the minutia of building and packaging a large web application. I believe that our use of the Flash Platform is one of the main reasons why we are able to build and deploy applications and features faster then ever before, and helps us stay ahead of the curve.

Tomorrow, in part 3, we wrap up the interview and talk about where the Future of Flash and Goowy are going to be.

Wharton Sits Down With Bruce Chizen

JD pointed out that Knowledge@Wharton has an article with Bruce Chizen, the CEO of Adobe and it covers the merger, the future, the technologies, and sheds some light on what the direction of Adobe is going to be.

One of the more interesting parts of the article is when Chizen talks about PDF in terms of the revenue stream. He paints a picture of Adobe living on borrowed time with PDF. It was an open standard that they knew was going to be easily copied, so they tried to make it more robust and create some value-added services around it. It’s been a sound (although not spectacular) business model, and it gives some insight into the man who will be driving the products we all know and love.

I think it’s good. I think Bruce is good at seeing beyond the potential of a technology and figuring out how money can be made off of it. What can make it ?real? and viable. With Flash they seem to be treating the “ubiquitous client” as the value added piece. We know they’re giving the Flex framework away for free, and after reading the article, I think it’s clearer that they?re looking to Apollo as the significant source of revenue. What that means for pricing I’m in no position to speculate.

The parts about the merger were also eye-opening. I think Bruce was put on the offensive a little bit when asked about the large number of Macromedia employees in senior positions. He made the right decision of course, but his response was interesting. Bruce knows that acquiring Macromedia was a great business decision and that the combined company has a lot of potential. They’re in verticals that are high growth and they have products that make a big impact in those verticals. Mobile, Video, Web, Adobe has it covered because they bought Macromedia. Before that, they weren?t covered as well.

This is a candid look at the CEO. There’s definitely some CEO-spin in there, but even when you cut through the marketing hype you can see that Bruce has a vision for Adobe and that we as developers play a big part of that vision. Adobe is well positioned to make the leap, and the time is ripe. I hope Adobe becomes a big player, and I hope Adobe really has the guts to change the web. There’s a lot at stake.

How To Invest In Web 2.0?

Companies like Goowy and Gtalkr are exciting. I love the stuff they’re doing and I love the way they’re changing the Web. Whether you call it Web 2.0 or just “Web Applications” it’s a fun time to be involved in the Web.

But I’ve been thinking recently that I really wish I could both help Web 2.0 companies that I like and also take part in their success. Essentially, I wish I could invest. Unfortunately, as you can probably imagine, no one is knocking on my door looking for start up capital. My “investments” would look more like PayPal donations than something a company could use.

I wonder how many people are like me, who want to invest but don’t have the resources of Sequoia Capital. Maybe there aren’t that many, but I would love to see an investment fund that would allow small investors like me to buy shares in the fund, and then the fund would invest the money in a variety of Web 2.0 applications. When a company gets sold, or goes public, the fund would distribute its share of the profits in proportion to the number of shares you own.

Does something like this exist? Has anyone seen anything like it or are there just not enough small investors to make it worthwhile?

Seeing the Light with Goowy

In the process of doing my interview with Jeremy Suriel, I got a chance to really dig into Goowy and test some of its features. After doing that, I must say, I don’t think there’s a better web based e-mail client out there.

There are a couple of things that really stand out. One is the calendar. This has always been the deal-killer for me with other e-mail applications. I needed a robust calendar that would replace Outlook, and Goowy does the trick. It’s not a total replacement for Outlook, but it does everything I need and it’s intuitive to use.

The second thing is the ease of the transition. I was able to set up Goowy so that I can send e-mail from ryan@ryanstewart.net and have it show up as the From account. This was something I couldn’t do with Google and it cost me money to do with Yahoo. I could also quickly import my contacts from Outlook. It was simple to get started and now I’m totally hooked. This is a fun app to use, regardless of the fact that it’s Flash.

Interview with Jeremy Suriel, Chief Architect at Goowy Media

GoowyFollowing up on my interview with Wes Carr of Gtalkr, I interviewed Jeremy Suriel, the chief architect at goowy media about his experience developing Goowy, the Flash e-mail/calendar/desktop application. Having been a Goowy user almost since it started, I’ve followed Jeremy’s progress and am impressed by the way Goowy has evolved and how well they represent the Flash platform.
Their TechCrunch profile is here and Robert Scoble has spoken highly of what they’re doing. If you don’t have an account, you can sign up for one at http://www.goowy.com
. The official Goowy blog can be found at http://blogger.goowy.com.

1. Give us a little bit about your background. How long have you been using
Flash? What first got you into Flash?

I graduated from Stonybrook University, NY in 1997 and immediately jumped into internet development at a company called eShare Communications based in Long Island, where I worked on the frontend and backend of an online chat system deploying to sites including AOL, Geocities, Lycos, and 1800flowers.

My first professional DHTML/AJAX experience was at a San Diego based company called eAssist where we focused on developing a hosted call center solution integrating chat, email, voip, and traditional telephony. At the time, our competitors offered web-based solutions, however they were very thin solutions with alot of click/wait/refresh. Our solution was one of the only amongst those companies to offer a web-based experience that mirrored that of a tranditional desktop application, making it easier for call center agents to adopt while allowing them to be more productive.

I had a late start in the Flash scene… My experience with Flash began with using Flash 7 to develop websites in my spare time. One of the websites was for some buddies of mine who owned a high-end sushi restaurant. The restaurant had a very lively and vibrant atmosphere and they wanted to convey that same feeling in the website. Flash was a clear choice here. The tweening, fading, timeline, multi-media loading, progress, and streaming capabilities available in the Flash Platform was simply unmatched. Not to mention that the Flash Player 7 was installed on over 90% of all internet-enabled desktops in the world. I immediately fell in love with the IDE, the debugging capabilities, an object-oriented scripting language based on ECMAScript, along with all the visual appeal that Flash is commonly known for.

2. You guys were the first people to create a web based mail application
using Flash. What prompted you to build Goowy in Flash? Was it the plan
for the start? Did you set out with the goal of using Flash?

Our interest in using Flash for Goowy was based on 3 main factors: User Experience, Development Effort, and Browser Support.

For us, there was an obvious experience gap we noticed when visiting a Flash website vs. a typical HTML website. We wanted to apply that same level of interactivity, emotion, and excitement to our offering.

We needed a platform and development environment that could scale to multiple developers by using standard object-oriented programming practices, supported the flexibility to refactor code to take advantage of future technologies and requirements, and offered an extensible framework for using 3rd party components. We desired a development IDE that provided powerful debugging capabilities with the ability to set breakpoints, step through code, and monitor local and global variables in real-time. We believe the Flash Platform offered the most complete package to support these items.

Finally, we wanted to make sure that when someone visited our site, that it would appear and function in the same way it was intended, independent of the OS and browser he/she was using. The Flash Player is deployed on over 90+% of all internet enabled desktops worldwide ( http://www.macromedia.com/software/player_census/flashplayer/ ). This means, that we could develop our application once for the flash player, and it would appear and function in any browser/OS that supported that player.

Considering all 3 factors together, it was clear that the Flash Platform was the right choice.

3. What kind of competitive advantage does Flash give you over AJAX desktop
and mail applications?

First off, I want to make it clear that goowy is all about being technology agnostic. We continually re-visit areas within our system and evaluate the technology used to best solve a specific problem. When it was time to select a highly-scalable mail server, we chose qmail which has served yahoo, netzero, and hotmail (before being acquired by microsoft) to name a few. When we began to discuss an inexpensive, yet scalable database solution, we looked closely at MySQL. And when we looked at a backend web application technology, we measured the advantages/disadvantages of J2EE, .NET, and PHP.

I’m not sure there is one overwhelming competitive advantage of flash over AJAX or vice-versa. I think they both have their advantages and disadvantages. For example, Flash has minimal support for HTML and CSS. In order for goowy to support inline HTML viewing and editing, we had no option but to use DHTML/AJAX. However, Flash has some unique capabilities that are not available in AJAX including integrated File Upload and Download, multi-media capabilities like mp3 streaming, crossdomain.xml file allowing client/server communication across domain boundaries, and a Local Connection object providing Flash to Flash communication between multiple flash applications running on a single desktop across browser and domain boundaries.

I believe that there are situations where AJAX clearly excels and those where Flash does. I believe that the two technologies can co-exist and be used to create something better than either of the two technologies could solve independently. The end-user doesn’t care about the details of the technologies so long as it works securely and reliably, so why should the developer?

4. Flash has gotten a bad rap in the past and is associated with annoying
ads and skip intro buttons, what kind of response did you get after
releasing Goowy?

One of the biggest misconceptions that we’ve heard with Flash is performance. Flash is notorious for being slow and sometimes taking too long to download. However, just like any other development tool or language, it’s very easy to write a bad Flash application. Because Flash makes it so easy to write Rich Internet Applications, it’s easier than ever for developers with less experience in writing scalable and high-performance applications, to build powerful solutions. It’s my opinion that this simplicity has resulted in a number of slow, badly written flash components/websites to be deployed on the web.

Since our launch in March 2005, we’ve monitored and responded to all emails sent to comments@goowy.com. We’ve received many positive and sometimes negative responses (we’ve wallpapered our offices with positive responses since the launch). Some people are blown away by what we’ve been able to accomplish with flash. Others think we are all AJAX. Some think our system is extremely fast and switch to goowy as their default mail provider after years of service at well-known mail systems. Others complain of slow response time and immediately blame flash.

I would say that we mostly receive positive responses and feature suggestions (which we plan to release shortly) including integrated IM, virtual file storage, and notepad/tasklist.

In Part 2 I talk with Jeremy about Flash and Web 2.0. In Part three on Friday we’ll talk about the future of Flash and Goowy.