Archives Posts
February 24th, 2009 by Nicolas Noben
Before, I wrote about How to save one or more objects to file using this class.
Today it’s time to read it and bring back the object in Flex.
The class
package com.idletogether
{
import flash.events.Event;
import flash.filesystem.*;
public class Opener
{
public static var file:File;
public static function openFile() :void
{
file = new File();
file.addEventListener(Event.SELECT, dirSelected);
file.browseForOpen('');
}
public static function dirSelected(e:Event) :void
{
// this will be our object back
var dat:Object = new Object();
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.READ);
dat = fileStream.readObject();
fileStream.close();
some.object = dat.data;
some.other.object = dat.structure;
}
}
}
How to use it
Simply…
import com.idletogether.Opener;
Opener.openFile();
This example is very basic, but it is kept simple for the sake of being easy to understand. From there you can build up a much more tailored system. This should get you started.
Use the Expressions panel of Flex and add a ‘watch’ to the variable ‘dat’ to see what came back in and if it is in good form.
HTH,
Cheers.
Archives Posts
February 23rd, 2009 by Nicolas Noben
The class
Feel free to use it for free or commercial projects.
package com.idletogether
{
import flash.events.Event;
import flash.filesystem.*;
public class Saver
{
public static var file:File;
public static function saveToFile() :void
{
// pick an unused extension
file = new File("/filename.ext");
file.addEventListener(Event.SELECT, dirSelected);
file.browseForSave('');
}
public static function dirSelected(e:Event) :void
{
// this object will get saved to the file
var dat:Object = new Object();
dat.data = some.object;
dat.structure = some.other.object;
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeObject(dat);
fileStream.close();
}
}
}
How to use it
It’s a static method to be called so, simply…
import com.idletogether.Saver;
Saver.saveToFile();
This will prompt the user to pick a destination and will suggest the file name “filename.ext”.
Please note that you can’t save DisplayObjects straight to file using writeObject. It’s a limitation.
From here, find out how to get the object back into flex in the next post.
HTH,
Cheers.
Archives Posts
February 22nd, 2009 by Nicolas Noben
A quick and easy one but I always end up looking for it and not finding it easy.
<mx:DropShadowFilter id="dropShaText" distance="1" angle="45" blurX="0" blurY="0" alpha="1" color="0x111111" />
<mx:Label text="Hello world" filters="{[dropShaText]}" />

Archives Posts
February 18th, 2009 by Nicolas Noben
Techcrunch has a very good article about Twitter and its new position on the market of search engines.
Essentially when a news breaks out or a product is being launched, Google will take several days to aggregate the information said about it, while Twitter Search can reveal nearly instant opinions.
The barriers is also lower as a Twitter account takes a lot less maintenance than a blog account. Writing a post on Twitter can be done while on the phone and virtually takes no time.
However, because it is instant feedback, it also implies that the ‘review’ of the news, product or subject in the tweet is obviously right off the bat, and might not be polished / thought about. People could change their opinion and post again in 10 mins.
Twitter, which I used to hate, is starting to take a very important place on the net and I’m mature enough to admit it and embrace it. That said, it is still a gezillion of idiots fantasizing about their life, writing about their pets or the latest battlestar.
Archives Posts
February 14th, 2009 by Nicolas Noben
Mozilla Labs is working on a new project called Bespin. It’s a web-based code editor and it looks promising. It will eventually allow participants to collaborate on the same files straight from their browser.
The project is at a very early stage but it already looks solid.
It doesn’t do much at the moment but they’re confident that Bespin will eventually be highly extensible and easily accessible to users.
More info in this post and here.

Archives Posts
February 12th, 2009 by Nicolas Noben
The Digg Mob experiment is a flash application that follows the comment as they are posted lived on Digg, regardless of the post.
It’s freaky to see that there are comments posted every 2-3 seconds, sometimes faster.
The app is beta but it’s browsable. Each comment is shown on one line and is clickable. From there you can read the blurb about the Digg post and/or visit the site straight from Digg Mob.

Archives Posts
February 12th, 2009 by Nicolas Noben
Just a quick personal update. I’m in the process of going Freelance in Adelaide for Flash development and Flex development.
If you need or know someone who needs a senior Flash/Flex/AIR developer with experience, please don’t hesitate to forward my details.
I’m open for freelance and contract work, remotely or on location anywhere in Australia.
I’ve been developing and designing websites and web applications since the late 90ies and I’ve been full-time Flash-ist for 6 years. I started as a Web Designer. With experience on both sides, I manage my time efficiently and take care of a project from specifications to deployment.
Cheers
Nicolas
Archives Posts
February 11th, 2009 by Nicolas Noben
Today Adobe announced the launch of the Adobe Air Market Place. It’s a new website supposed to help the promotion of Adobe Air applications and to highlight them for sale.
It’s not an Apple app store, for sure, but it should help promote your Air applications out there.

Archives Posts
February 11th, 2009 by Nicolas Noben
Working through Screens: 100 Ideas for Envisioning Powerful, Engaging, and Productive User Experiences in Knowledge Work.
It’s not the easiest read, but it has some great insight, and hey, can’t beat a free ebook.


Archives Posts
February 11th, 2009 by Nicolas Noben
Thanks Ollie for this one. Obsessing is a web based processing sandbox.
Beta features will include real-time error checking, code-completion, import, export, tabs, and saving to Amazon s3.
Still in heavy beta.
