Moccasin: a Flex framework for graphical editing apps

September 30, 2008 on 5:41 pm | In Flex, Programming | 14 Comments

Lately I’ve been working on a set of projects (both my own and others) that are built on top of Moccasin, a new open source AS3 framework that I’ve developed for building graphical editors. Moccasin was distilled and refactored out of the first project that used these ideas so that I could use it elsewhere without IP issues, and it lives on Google Code. Moccasin still has a long way to go in terms of overview documentation and I have to ask a certain amount of forgiveness on that subject. I’m perhaps releasing it a bit prematurely, but I regard it as pretty useful in a practical sense since I’m now working on the third substantial application built on top of it. This post is an attempt to bite off a little bit of that overview problem and endow Moccasin with a little more value to other people.

If the current lack of great overview docs is the bad news, well, the good news about Moccasin is that it’s got a complete sample editor application called Simpleworld as part of the distribution, with both AIR and Flex versions. Both the Moccasin framework and the sample application source code are pretty well commented, also. Here’s the Simpleworld application itself, to give a concrete sense of what Moccasin’s all about — it’s an editor for documents that consist of a bunch of squares of different sizes (I don’t call this world “simple” for nothin’):

Here are some of the things you can do, which show off what Moccasin’s about… [Continued...]

14 Comments

Miscellany: Flash On Tap, Moccasin, and Flexcover news

September 14, 2008 on 3:16 am | In Flex, Programming | 7 Comments

This Sunday morning seems like a fine moment for one of my increasingly infrequent posts.  It’s a gentle cloudy morning in Philadelphia, where I’m about to attend the ISMIR 08 conference on music information retrieval.  Although I’ve lately been busier than I have ever been in my life, here in Philly I’m isolated enough from my accustomed surroundings that my recent work habits are not functioning.  That’s probably a good thing, for me.  About the product of those work habits I have a lot to say, but much of it must still remain discreetly veiled, as the phrase goes, for a very short while longer.  I do have some updates on some other topics and sideline projects though.

Flash on Tap has been rescheduled for the spring of ‘09.  This is some disappointing news to be sure, and I was really looking forward to both speaking and attending.  But the disappointment is definitely tempered by the realization that this is going to be a far more kick-ass event, now that it can happen at a better time.  It was a really tough decision for the organizers, and it’s tough on everyone who was involved in the conference but they absolutely did the right thing: regrouping was in everyone’s best interest.

I have a new open source project out on Google Code called Moccasin.  It deserves its own lengthy post, and I hope to get to that soon.  Moccasin is a Flex/AIR application framework aimed at a specific domain: visual object-oriented editing applications.  The term “object-oriented” here refers to what one sees in the UI — of course the code itself uses objects and classes.  Visio and PowerPoint are representative examples.  Moccasin uses an MVCS approach and builds in support for multilevel undo/redo, document marshalling and persistence, selection, direct mouse manipulation and visual feedback.  It also includes what I think is an interesting and unusual approach to model objects: models can be any value object classes with bindable properties, and need not extend or refer to any classes or interfaces in the Moccasin framework. This project needs a good overview document, but there is a complete working sample application and the whole deal is reasonably well commented.  I have built two very large projects on Moccasin, one of which is Noteflight, the other of which is an AIR-based editor for creating levels in a new 3D game (not mine). I can at least claim that it has saved me time.

Finally, the poor stepchild, Flexcover. It’s getting a nice upgrade soon with some goodies: support for Flex 3.1 (thank you Daniel Rinehart!), a new UI from Alex Uhlmann for filtering classes and packages, and a fix to the modified SDK to correctly instrument top-level global functions outside of classes.

Oh well, time to go. More later…

7 Comments

Obligatory Google Chrome Post

September 3, 2008 on 4:01 am | In Flex, Programming | 2 Comments

What the hell… everyone has been ordered by a Higher Power (probably the same one that runs AA) to blog about Google Chrome… guess I’d better do that. But you’ve read 1,845 other posts about Google Chrome already so I’ll be brief.

1. Read the Scott McCloud comic — great to see such a graphic talent explaining technology and not overly dumb it down.

2. Installed Google Chrome in VMware Fusion on my Mac.

3. HTML looked great — no CSS or rendering issues that I could see. The UI looked clean with many innovative usability features that do not jump out and clutter one’s screen. Slightly sluggish though.

4. Ran my new Flex/Flash application which makes heavy use of audio. App sucked up 100% of CPU running inside Chrome (which does not happen in IE or FF under VMware Fusion) and became semi-unresponsive.

Premature, Rushed Conclusion: very compelling UI ideas, great execution in the HTML realm, but some distance to go in terms of how OS resources are used by plugins, what with the heavyweight processes and all.

I’m sure I’ll be revising my opinion as more info comes out and I learn more!

2 Comments

Marc Hughes @ Boston Flex User Group

September 2, 2008 on 5:59 am | In Flex, Programming | 2 Comments

Hi all — not a good summer for blog posts, as it’s turned out, but an excellent summer in every other way.  More news soon, please stay tuned: new products and new projects to talk about!

A more short-term comment here: Marc Hughes is giving a talk to the Boston Flex User Group next Tuesday (Sept. 9th) at Adobe Newton on “How To Build Powerful Editing Apps Quickly With Degrafa And Object Handles”.  I know a thing or two about building graphical editing apps, and I think that Marc will have some really useful and interesting ideas to offer.  Hope to see you there!

2 Comments

Entries and comments feeds. Valid XHTML and CSS.
All content copyright (c) 2006-2007 Joseph Berkovitz. All Rights Reserved.