Pijin.net V3 Progress Update – 24 Feb 2009

For the most part, Pijin development has been going pretty well. Maciek came down from London in December and we managed to come up with solutions for most of the tough conceptual challenges that were worrying us.

By mid Jan I had nailed a decent chunk of core system functionality, including:

  • Listing public Games
  • Entering a Game
  • Pulling Game Submission Pairs
  • Rating Pairs
  • Submission Scoring
  • Viewing Submission Details
  • Viewing Fullsize Submissions
  • Logging In
  • Uploading Submissions
  • Customizing/Editing Submissions
  • Writing Comments on Submissions

And Then…

About two weeks ago I came to the painful realization that the client-side architectural framework I was using was adding unnecessary complexity to the project and generally slowing me down. I started looking at other options but each had drawbacks that I was not willing to put up with.

In the end though, it was not really the Document-Based nature of the project that was giving me hassles. I wanted a system that could automatically attach Mediators to view components as they appeared, without all the hassles of manual Mediator instantiation, naming, registration and removal.

So, against all “better” judgement, I borrowed ideas from PureMVC, Mate and Swiz, and rolled-my-own. And it was fun!

Conceptually it’s very much like PureMVC, except:

  • It uses Dependency Injection instead of the Service/Model Locator Pattern
  • It uses Flash Events instead of a custom Notification scheme
  • Mediators can be automatically created for view components

There is actually very little to the framework: A Mediator Factory (for automatically creating Mediators when view components arrive on stage) and a Command Factory (for wiring Commands to Events) – everything else is taken care of by Dependency Injection.

I’m using the SmartyPants IOC library to handle injection. I sent a mail to the author of said library to explain my framework idea and the problem it is aiming to address. In his response he mentioned that my problem might be one commonly referred to as “robot legs“. Rad! While not entirely accurate, I dig that phrase, and hereby name my framework “RobotLegs”!

I’m in the process of migrating Pijin over to RobotLegs, and so far everything is going very smoothly. I’ll post a more detailed description of RobotLegs once I’ve spent a decent amount of time “eating” it.

UPDATE: RobotLegs 0.1, with demo Flex app, has been released. More info here:

http://shaun.boyblack.co.za/blog/2009/04/16/robotlegs-an-as3-mvcs-framework-for-flash-and-flex-applications-inspired-by-puremvc/

Posted in Pijin | Tagged , , , , , , , , , , | 12 Comments
  • Kyle

    Boy Black gets Robot Legs. Sounds like a movie script!

  • Kyle

    Boy Black gets Robot Legs. Sounds like a movie script!

  • http://www.arenddeboer.com/ Arend

    This sounds interesting.
    I followed your posts on the puremvc forum and share your concerns.
    Keep us posted.

  • http://www.arenddeboer.com Arend

    This sounds interesting.
    I followed your posts on the puremvc forum and share your concerns.
    Keep us posted.

  • http://shaun.boyblack.co.za/blog/ shaun

    Hi Arend,

    Thanks. I have posted a follow up of sorts here:

    http://shaun.boyblack.co.za/blog/2009/03/13/as3-dependency-injection-and-autowire/

    It’s a bit long, but I was trying to give the problem as much context as I could. Anyhow, I’ll definitely write more as things progress.

  • http://www.boyblack.co.za shaun

    Hi Arend,

    Thanks. I have posted a follow up of sorts here:

    http://shaun.boyblack.co.za/blog/2009/03/13/as3-dependency-injection-and-autowire/

    It’s a bit long, but I was trying to give the problem as much context as I could. Anyhow, I’ll definitely write more as things progress.

  • http://www.breakdesign.com Stefan

    Shaun, man you are doing awesome work! Keep it up and let us know when you are looking for people, what you are creating is truly something special!

  • http://shaun.boyblack.co.za/blog/ shaun

    Yo Stefan! Thanks man. Wish I was further along though.. I’ve hit another wall – on the server side this time.. so, back to the books for a while! How’s Singapore? I’m still amped to head over once I’ve got the v3 Beta up. You coming down any time soon?

  • http://shaun.boyblack.co.za/ shaun

    Yo Stefan! Thanks man. Wish I was further along though.. I’ve hit another wall – on the server side this time.. so, back to the books for a while! How’s Singapore? I’m still amped to head over once I’ve got the v3 Beta up. You coming down any time soon?

  • http://www.breakdesign.com/ Stefan

    Shaun, man you are doing awesome work! Keep it up and let us know when you are looking for people, what you are creating is truly something special!

  • cobus

    there is no other way to ask this politely: what is happening on pijin?

  • http://shaun.boyblack.co.za/blog/ shaun

    working on it bro… it’s a big job!