Home  >  Development  >  blogs

An interview with Lovely Charts creator, Jérôme Cordiez

| | Comments (1)
AddThis Social Bookmark Button
Lovely Charts
Lovely Charts is an application built in Adobe Flex for diagramming wire frames, interaction diagrams, UML, and just about anything else you can think of. It's one of the best and most complete user experiences I've seen in Flex, a close second to Buzzword, and really show cases the power of Flex.


I had the opportunity to exchange a few emails with Lovely Charts creator Jérôme Cordiez and learned some fascinating things about Lovely Charts. Jérôme shared with me a little more about the vision and process he followed to build Lovely Charts, and why Flex was a necessary technology in that process.

InsideRIA: What were the main goals when you set out to build Lovely Charts?

Jérôme Cordiez: During the initial ideation phase I defined 3 core drivers: easy, sexy, and unobtrusive, derived from my own needs and frustrations. I started by building little prototypes testing out interaction ideas, and deriving new ideas from playing with the previous ones.

InsideRIA: What sort of backend does Lovely Charts use? How did you decide on a backend technology?

Jérôme: AMFPHP (Remoting solution for PHP) handles the communications between back- and front-ends. This allows for an elegant, easy to maintain, OO architecture that is pretty transparent, where you have real typed objects that travel seamlessly from the front to the back-end, and vice-versa. The decision for PHP/MySQL was purely pragmatic because it's the backend solution I know best.

That being said, Lovely Charts current nature makes it pretty much a "client only" application... currently 90% of the app's logic is on the client, with the backend basically only performing CRUD-like operations, so the backend isn't very important at the moment. I have plans to evolve towards a more collaborative application, and then the importance of the backend will certainly grow, and its architecture will definitely need to be revised to accomodate new capabilities.

InsideRIA: Why did you decide to build Lovely Charts in Flex? Could it have been done in a different RIA technology?

Jérôme: Not really. Ajax wasn't an option for me not because it's impossible per se, but I just can't imagine going through all that browser compatibility inferno while offering the same level of smooth interactivity, not to mention trying to build vector symbols users can scale as they wish. I love Javascript's flexibility, but in my opinion MXML/AS3 is much more mature for serious apps and make things more comfortable for the developer.

This brings me to the Flash platform's strongest asset, other than the obvious ubiquity: it's really a perfect solution for building this sort of rich application because you can hack dirty little proof of concepts in no time while still being able to architect something super clean and robust once you're ready. This flexibility, combined with the power of the Flex framework and everything it provides, really makes this platform a super efficient one for the conception and implementation of richer and better user experiences in RIAs.

OpenLaszlo could probably be a relatively viable alternative, but still a lot more trouble than Flex. Silverlight was never really an option. No particular reason for that, besides plugin penetration, and obviously the fact that I've been a Flash user for 10 years now, so I'm kind of biased.

InsideRIA: Why is this sort of application good as an RIA - i.e., why not just use a desktop app for your UML needs?

Jérôme: There are a lot of reasons for why I believe this type of app makes a perfect candidate for a RIA. The first that comes to my mind is the footprint size: almost everybody needs to draw a diagram from time to time, but very few need to on a regular basis (to the exception of some specific domains obviously). Nobody wants to download hundreds of megabytes, or spend hundreds of dollars on a tool they'll use twice a year. I really love that quote from 37 Signals: "Everyone loves simple tools that help get the job done and then get out of your way", as I think it perfectly applies to Lovely Charts: you need an appealing flowchart for this afternoon's presentation? Open your browsr, log in, draw, export, and done.

The second reason, which I acknowledge Lovely Charts doesn't leverage very well yet, is everything an internet application can offer: easy sharing, collaboration, network access to your diagrams from anywhere in the world, multiple platforms support, user generated content (e.g. specialized libraries), cheap subscription based business model, etc etc.

InsideRIA: Along those lines, are there plans for an AIR version soon? :)

Jérôme: It's definitely on the roadmap. The top priority for now is to get release 1 out asap, then I think the AIR version will follow.

InsideRIA: Tell us more about your development process. How did the application move through design and development? Did you work iteratively? Did you work with a design team?

Jérôme: On Lovely Charts it's just me, doing design, development, project management, testing, marketing and communication, so besides some occasional schyzophrenic conflicts of interest, the workflow is pretty straight forward.

This whole topic is something I personally feel rather strongly about. My personal belief is that designers should be taking more responsibility and better own the process. I have the impression that developers and business stakeholders today have, in general, made more progress towards a better understanding of the design and user experience values (which is great!) than designers have towards technology. Similarly to the way architects learn to leverage technology to enhance their designs, my profound belief is that improving technical know-how will allow designers to take ownership of the application as a whole and ultimately create better user experiences.

Lovely Charts was basically built through iterative prototyping. After an initial ideation phase where I defined the 3 core drivers (easy, sexy, and unobtrusive) I started by building prototypes and iterating on interaction ideas. I like to compare that process with the cardboard models most architects build while designing buildings: quickly build a cheap, simple model, play with it, look at it from different angles, see what works, what doesn't, get new ideas, then repeat the process until you're happy. Once the general interaction principles were sorted out, I started working on the UI design itself, refining and correcting things before getting into user testing where feedback gathering then helped to validate and/or correct assumptions and move slowly towards the final user experience definition.

InsideRIA: How long ago did you start development?

Jérôme: I started in february last year, but actually it's only since february this year that I've managed to free some real time for it. Before that, I've been pretty much occupied fulltime as an independent consultant, only working on LC during nights and weekends. Roughly, I would say this probably translates in something like 6 months fulltime I guess.

InsideRIA: You said you developed the application iteratively. How do you schedule your iterations, and what's the average iteration length?

Jérôme: I haven't set any fixed duration for iterations because my availability for Lovely Charts is still very highly dependent on my consulting engagements. If Lovely Charts takes off, becomes autonomous and independent from other revenue streams, then I guess I'll strive for more formalized, shorter iteration and release cycles, but for now it's really "release early, release often... when you can."

Lovely Charts is currently in beta, but open for new testers. Watch a short screen cast here.

Do you have a unique workflow, application, or design process you'd like featured on InsideRIA? Email me at rjowen@insideria.com.

Comments

1 Comments

foweper said:

Really Good idea and great work.Thanks.

Leave a comment


Type the characters you see in the picture above.

Poll: ECMAScript Reaction

The ECMA organization recently decided to stop work on ECMAScript 4 and begin a new version, tentatively described as ES "Harmony." How would you like to see this affect the evolution of ActionScript?

Vote | View Poll Results | Read Related Blog Entry

Tag Cloud

Related Books

Development Series

Get an overview of the tools and technologies that work together to allow developers to build Rich Internet Applications (RIAs) quickly and easily.

Anatomy of an Enterprise Flex RIA

Archives


 
 


Or, visit our complete archive.  

About This Site

Welcome to the premiere community site for all things RIA sponsored by O'Reilly Media and Adobe Systems Incorporated.

About Us
Meet the Experts
Meet Our Contributors
Send Us Feedback