Archive

Archive for the ‘blog’ Category

Flex events - A leasson learned

December 24th, 2008

Well, today I just learned that Flex events can tear you down. Building a design with live components can not simply be done using default Flex events. They are just to much for what I need.

I went for creating my own custom CLICK and MOUSE_DOWN events that wrap Flex events and handle those instead. Life just got a lot easier. Now I don’t have to care anymore if the event target is what I am intersted in or the currentTarget, tell between a mouse down on a scroll bar or a Button UITextField and other boring things! :-)

Started work on a FlairBuilder reader. Thanks to Flash 10 file system interaction, I’ll be able to let the user open and save a FlairBuilder project. Although no modifications will be performed to the project itself, comments may be attached to the project and sent back to the designer. Fun! :-)

I’m happy!


blog

Flex IDE in Flex?

December 19th, 2008

Just had this stupid utopic idea of an IDE written in Flash/JavaGroovy/SilverLight running inside a browser. You create a new project, pickup few dependencies, start coding and see the result right away, in a preview pane. Of course, the preview in the sense of FlairBuilder preview, meaning real components, real events etc.

So a Flex IDE for Flex, a Groovy IDE for JavaFx (JavaFx interpreted or compiled?) and a SilverLight IDE for, you got it, SilverLight.

Behind the scene, SCM integration, collaborative development, integrated music player, web cam etc.

Just let me finish FlairBuilder 2.0 and we’ll talk more about it! :-)


blog

Fireworks for prototyping

December 14th, 2008

I’ve heard that people are using Fireworks for prototying but I didn’t actually knew how they do it. Here’s a video that shows exactly that: FIreworks Tips and Tricks - Rapid Prototyping .

What’s interesting about this video is how they add interactivity to the prototypes. Interactivity is not, as far as I can tell, a first class citizen of Fireworks. And they to work (hard?) at every step to bring interactivity in.

Well, I just hope that people will find what they need on this matter in FlairBuilder and it will be easier to use. Stay tuned! Things are getting better and better in my development environment and I shall be ready to show to the world the new and shiny FlairBuilder 1.0. The long waited winter holiday should speed up things a bit.


blog

Fun with Degrafa

December 11th, 2008

Hey, I just found out that a new Beta version of Degrafa was released. And there’s a new nice sample that allows you to play with Adobe CS4 like logos. Well, I just had to have a little fun myself too and since I don’t have a logo yet for FlairBuilder, I gave it a try. Here it is:

As a side note, just looking over the samples and the cool graphics that one can do with the most powerfull markup language alive (a.k.a MXML), I am thinking what cool apps may be done with it and the new cool text stuff coming in Flash 10 (check out the text layout framework available on Adobe Labs).

We shall see about how much FlairBuilder will benefit from this great stuff.


blog

FlairBuilder - The Story Behind the Project

June 14th, 2008

How many times you’ve had an idea of an application (CD’s database, a library, revolutionary issue tracking system etc.) and you could not find the time to start coding it? I know I did several times.

And even with “create a blog app in less then x minutes” kind of framework, you still need to write code, and actually need to digg into each if, for or while of the classes behind. And no matter how clean your language is, or how domain driven you design is, you still need to tell the machine what you have in mind, and, what’s frustrating me most, not in the way it’s in your mind.

And imagine that you sit right beside your client and you wanna make sure that she agrees as much as possible with what you’re about to implement. In this case, how much time do you need to mock up something that really shows how the real thing will work?

There might be cool frameworks out there that just know what CRUD operation are, but software is most of the time more then CRUD. Most of what the user sees is the UI, and the UI is far more complex then basic CRUD database operations.

On the other hand, given the complexity of software, one may easily (or hardly sometimes) find that there are certain patterns that a developer gets to implement yet again and again. The examples are countless. From simple object creation/updating to user rights based visualization.
And since the patterns are there and well known, what’s so hard to think of a tool that actually has all the knowledge built in and sort of leads you through the steps of applying those patterns?

If there is no such think as “New Bridge Pattern Implementation Wizard” in your favorite IDE, does it means that the IDE should not be able to understand that a form (web or desktop) should not be submitted with invalid fields and not be submitted twice (hence disable OK button on submit)?

How many combinations of OK-Save-Cancel-Help are in the applications we all use every day?
Given a button in a toolbar, which is the probability that button’s action will impact somehow (CRUD?) the selected item(s) somewhere close to the button? Like, for instance, in a table or in a tree or a list.

The combinations and possibilities are countless but the basic bricks are well known and well defined (a button may be clicked but not flipped or dragged). What a developer does most of the time is assembly those bricks in a set of yet another well known but little more complex pieces of walls. And man, how many times they get it all wrong!?

So, these are some of the reasons that made me start this FlairBuidler project. Initially was built in Java Swing, as quick and dirty as it can be done in Java. It got too dirty to continue it, so I said to myself that a web based application should be more appealing to users.

So, here I am with a Flex version. Working with Flex for regular application it’s OK. Making an application that actually relies on Flex as framework is just great. You get to discover (together with some weired bugs :-) ) the great design behind the framework. More about that in future posts.

The separation of MXML and AS code, data binding, event system, class metadata, all these made the Flex implementation much more cleaner and flexible and faster (development time). There are still lots of things to do, lots of optimizations to be made but one thing is sure. Flex is not the kind of framework that gets in your way. It’s a great technology and it deserves it’s place as no. 1 RIA technology.

Coming soon with more details about the features that FlairBuilder has right now, and the set of features I am planning to implement in the near future.


blog