March 2007 Archives

FlexLib sports a TreeGrid

| No Comments | No TrackBacks

Thanks to the work of Yaniv De Ridder, FlexLib now contains a TreeGrid component.

Yesterday I checked in Yaniv's TreeGrid code to FlexLib, along with a sample application. The download on the main page was updated as well, so you can start using the TreeGrid right away by incorporating the latest flexlib.swc file in your Flex project.

This makes 4 contributors so far, and many more have expressed interest in helping FlexLib grow. It's been great to see people get excited about this project. Remember to use the issue tracker to report bugs or request enhancements. Doug has been doing a great job of fixing bugs that have been identified so far.

If you're interested in contributing to FlexLib in any capacity, take a look at the How to Contribute page.

...and send Yaniv some love for a great addition!

Apollo and the File API

| No Comments | No TrackBacks

Apollo has officially been released on labs. Included on the labs site is an introductory article I wrote for working with the File API.

Check out the plethora of information available for budding Apollo developers on the documentation portion of the wiki. The documentation features quick starts, in depth guides, tutorials for common operations, etc. There's a lot of good stuff in there, so prepare yourself for possible information overload.

Additionally, don't forget to grab a copy of the Apollo Pocket Developer's Guide, and sit back and watch the traffic to ApolloCoders take off.

It's an exciting time to be a Flex developer. I'm personally looking forward to the opportunities that Apollo brings to the table. There are a few open source Apollo apps up my sleeve that I plan on releasing in the coming weeks and months. The first one, of course, being FVNC-related.

Well, what are you waiting for? Go download the alpha and start taking in the documentation!

Major FVNC changes

| 2 Comments | No TrackBacks

FVNC is now officially on steroids.

Over the past few weeks I've been silently working on increasing the performance of FVNC. I'm happy to announce that I was able to dramatically improve rendering speed, as well as majorly reduce required CPU and memory usage. It all boiled down to coming up with an intelligent way to handle the asynchronous nature of the flash.net.Socket class.

Previously, my approach was this:

  • Copy the socket data into a buffer. Try to read a server message from the buffer. Encounter an EOFError when not enough data was available. Reset the buffer to the beginning. Wait until more socket data arrives. Try again to process a complete message.

The new approach is this:

  • When socket data arrives, build a parse tree that starts creating server messages. If not enough data is available, no big deal. The parse tree saves what is was working on last. When data arrives again it successfully picks up where it left off. On every enterFrame of the Flash Player (when screen redraws happen), check to see if any messages have completed, and if so then update the display.

The new approach is dramatically better in terms of speed and resources. I can't stress enough just how much more responsive FVNC was in my local testing -- it's like an entirely new application.

The good stuff is in revision [7]. I'm really pleased with how the parser turned out for dealing with asynchronous socket data. I hope you enjoy the changes!

Flex.org - The Directory for Flex

Archives