One of the coolest things about launching our SearchCoders/Dashboard Apollo application (screencast|download) a few weeks ago has been seeing it spread around the world. At the time of this writing, 66 countries are listed in the grid below. It looks like Belgium is in the lead in terms of per-capita installations, while Germany and the United States are almost tied for second place. Maybe we should have a SearchCoders/Olympics? Don’t forget: the Apollo version of our app has chat built in, so you can use it to connect with other Flex developers in your area. Scroll down past the chart for a more detailed description of the app if you’re not familiar with it yet.
[flash http://www.searchcoders.com/swfs/widgets/countries_widget.swf w=450 h=300]
The SearchCoders/Dashboard provides a resource where Flex developers can find information and share their knowledge with others. Developers can search the entire FlexCoders mail archive, read Flex-related RSS feeds, create notes, save favorite messages and blogs, and chat with other developers. An advanced search feature allows users to build complex queries and save those queries for reuse. The Dashboard makes extensive use of Apollo’s filesystem API and the new HTMLControl for rendering complete web pages within the application.
When asked what “designed for Apple TV” meant, Moody said that YouTube will soon be encoding videos in the H.264 streaming-efficient compression format preferred by Apple TV, and that all new videos submitted to YouTube as of the mid-June launch of the AppleTV update will be playable by the device. From then until fall, YouTube will be encoding its entire back-catalog in H.264 format, adding videos in chunks until everything is accessible to Apple TV users.
When I first heard the news that the Apple TV would be supporting YouTube video, I thought it was another huge win for Flash video. Oops.
My frustrating experience trying to extend ViewStack
May 30th, 2007
A common complaint among Flex component developers is that too many of the methods in the Flex component framework are marked private instead of protected. Here’s why I’m making that complaint again today:
What I wanted to do
I wanted to make a component called SideStack that extends ViewStack. The SideStack would layout its children like an HBox by using the BoxLayout utility class. I wanted to extend ViewStack because it already has a lot of the other features I wanted: history management, the ability for developers to add children declaritively in MXML, deferred instantiation, etc.
When the user would change the selectedChild, I would leave the previously selectedChild visible and use AnimateProperty to slide the newly selectedChild into position. The layout part worked great, but preventing the previously selected child from being hidden is where the problems started.
Robert Cadena has just open-sourced the AS3 syntax highlighting library he wrote for our SearchCoders/Dashboard (demo). You can read all about it on his blog.
It’s well documented, includes a sample app, and is illustrated with his cartoon characters. What more could you want?
Why Flash at 98% matters for Apollo, and why it doesn’t
May 24th, 2007
There are two separate issues here.
First, if the market penetration for Flash was 5%, we wouldn’t be creating Flash, Flex, or even having this discussion. Flash at 98% means there’s nothing stopping you from creating web-based apps in Flex. Because there’s a large and growing supply of Flex apps, there will be a large supply of Apollo apps. Converting a Flex app to Apollo takes a minute or two.
The second issue is the market penetration of the Apollo runtime. It doesn’t matter, at least not in the same way that market penetration of the Flash player matters. When you’re surfing the web and you stumble upon a site that requires a plugin that you don’t have, you might leave. But that’s not how you go about finding and installing desktop apps, is it? You hear about a cool app, you go to the product page, read about it, watch a demo, and decide if it’s something you want to download and install. Do you expect that dekstop app to be 600K or 6MB? With Apollo apps, if you don’t have the runtime, you’re going to need the 6MB. Once you already have it, you’ll just have to download the 600K.
I’ll throw in a third point just to pile it on. There aren’t many websites that you visit more than once. If a website that you’ll probably never see again asks you to install a plugin, you probably wouldn’t bother. Desktop apps, on the other hand, are things that you use over and over again. If it’s worth it to you to take the time to download the app in the first place, do you really care if it takes 1 minute instead of 1 second to download?
The fundamental issue here is that for Apollo to succeed, there needs to be a large supply of Apollo apps. Because Flash is a ubiquitous platform, there are thousands of Flex apps out there just begging to get Apollo-ized. That’s why “98%” matters.
I love Keynote, but when I give presentations I always end up switching between Keynote and my web browser to demonstrate things. It’s cumbersome. One of you is going to build an Apollo-based knock-off of Keynote and I want you to make it so that I can drag an HTMLControl onto my slides and display web pages directly inside my presentation instead of switching back-and-forth. I’d build this myself, but I’m too busy working on this. The idea is free, just give me a copy of the final app when you’re done. Get to work!
Adobe has two Apollo showcase pages here and here. Those are great, but it seems like community driven sites like ApolloHunter can move a little more quickly. Plus, ApolloHunter has a mechanism for the community to vote and comment on the applications that are uploaded there. This provides both valuable feedback to the developer and a public forum where people can make suggestions and get ideas. What other showcase sites are out there? I checked out airchive.codeapollo.com and I think it might have some potential although they need to make it so that downloading an AIR file on a Mac doesn’t result in an unzipped folder on the desktop.
Anyone else wish they could write AS3 on the server side?
May 22nd, 2007
Although we’ve been using FDS & Java for our SearchCoders/Dashboard application and we have Java expertise in-house (a.k.a. Robert Cadena), if we could just use AS3 for both client and server-side code, that’s what we’d do. I would assume that Adobe has thought about this. Will Apollo be the answer? Will we be able to have our Apollo app on the client talk to our Apollo app on the server? I don’t want to start a flame war about database support in Apollo, but I do want to hear if other developers share my desire to use AS3 for everything.
Take a look at this video. That’s why our web app still uses frames. I’m impressed by the efforts of those who attempt to make this work (Judah, et. al.), but I’m getting too old for hacks. Hacks are for AJAX developers ;). I want stuff to work out of the box. Apollo gets it right, so I’ll keep working on my Apollo app until the Flash player has WebKit built in (Flash 14?).
I wish that the Flash player supported modules that could extend its functionality. The core player would still be small, but sites that required additional functionality (like HTML rendering, or screen sharing) could require the installation of an additional module. I’m not suggesting third-party modules — only Adobe modules. There just needs to be some solutions so that we don’t have to hack this stuff up anymore. I’m preparing another post on why this is so important.
Public examples of enterprise apps using Flex or Apollo?
May 21st, 2007
Robert has a great post about the need for examples of Flex and Apollo apps that will appeal to decision makers in the enterprise. I’ve seen FlexBI from the guys at FarataSystems — anybody have some other examples?