Flash Accordion List

Recently at work I was looking for an actionscript accordion which was easy to customize. The goal was to create a accordion for navigation purposes. I could not find anything usefull, but fixed size accordions. I needed to create one myself.

Download the sourcefiles accordionlist.zip and accordionlistscroll.zip

I will explain the code shortly. Perhaps it will be usefull for somebody and safe some time. I have left the styling basic just to show the working and principle to make is easier to be customized. The visual part of the accordion is made in flash to make it easy to add mouseOver etc.

Accordion List

I have tried to keep the accordion principle in the main class, so that the main class could act as the director. The accordion header communicates with the main class through an custom event. An in the end it might be necessary to add an custom event to the menu items, for example to retrieve some other data through an remote call, or to switch to another page.

After this accordion I realised that the main advantage for an accordion is the possibillity to display an unknown number of items and subitems in a small place. So I decided to ad a scrollbar to supply this advantage to the accordion.

To make the scrollbar work properly I needed to add all the AccordionList as well as the Scrollbar to a seperate containerclass ( AccordionListContainer ). The next step was to update the scrollBar roperties with the setScrollProperties when the user clicks on one of the headers.

The result is a flexible accordion list class, which can be used to display anything from links to images. Since the class loads symbols it should be easy to style it to your own preferences. And of course remove my hard coded item height values.

SWFObject with Preloader

Here’s the online example SWFObject with Preloader, and the zipped version preloader-swfobject.zip

During the development of a rather big flash video portal, I noticed some difficulties with setting paths during the stages of development. The application made a lot of connections to external data: XML, Flash Media Server 3.5 and made call with a Microsoft .NET backend through FluorineFX remoting.

To make al this easily manageable I used a SWFObject to make it easy to transfer the application from Developing to Testing and finally to Production. The flash project was built in a way that the .NET developer needs to copy the SWFObject code and one includes folder to his backend. The includes folder contains all the swf, xml, img, javascript etc…

At that point the designer came with a preloader, which made the preloader.swf receive the SWFObject flashvars. I have made a Flash application template that works for me and the company I work for. But I am very curious if there are other, more neat ways to over come this problem.

The main feature of this template structure is that the preloader checks whether it has received a value form SWFObject. Based on the result of this check two different functions can be called in the main class of the main flash file.These functions sets the path for the flash file to make it work in the flash IDE or on the server with in HTML wrapper, after these paths or parameters are set the function initializes the application. See the code below

var ldr:Loader = new Loader();
ldr.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressEventListener);
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, completeListener);
ldr.contentLoaderInfo.addEventListener(Event.INIT, initListener );

var req:URLRequest = new URLRequest( mainPath );
ldr.load( req );

function initListener( e:Event ):void
	if( root.loaderInfo.parameters.swfBasePath != null )
		Object( ldr.content ).setSWFObjectValues( swfParams );
		Object( ldr.content ).setLocalValues( );

I really would like to discuss if this is a proper solution

Musical Browser

The last episode of my Media Technology ( at the Leiden University ) study has begun. I will post regularly about my progress. But now the project.

As a front-end developer i am highly interested in web markup, and the idea came to me to use this markup to generate sound/ music. The ultimate goal is to make this sound/ music resemble the style and semantics of the webpage. In short a musical browser.

Is it possible to make music from websites?

Idea summary
There are millions and millions of websites available. Every website has been built with a unique structure, design en behavior. Wouldn’t it be cool to use all these information to make music? Websites are made of HTML, JavaScript, flash and other techniques one technique may be less accessible then the other. It might even be possible to extract the style information of websites and play with it.
Of course the term music is subjective, especially from people to people. However I will try to get some rhythm and melody out of the websites. Another interesting thing I may encounter is the difference between manmade pages and machine made pages, like feeds and stock exchange information.
The goal is to build an interesting installation which allows users to interact with websites in an uncommon way, and let them be creative. The output might be horrible sounds which will not please the human ear or the next future symphony. However I will be very pleased if my thesis will be proved, and there is music in websites to be found.