Showing posts with label saffron. Show all posts
Showing posts with label saffron. Show all posts

Friday, 4 April 2008

Open-source Saffron-like UML tool

Saffron is / was an AIR-based UML tool that promised great things, but so far has yet to deliver even an Alpha.

Like many others I've binned my own UML tool project believing that Saffron was just around the corner and far exceeded my own project's limited capabilities.

The AS3 community's response to Saffron has been overwhelming - we want this tool. Badly.

Whatever the reasons for Sam's non-delivery on Saffron - and frankly it's not like he owes us as all we've invested is our hope - I’ve given up on Saffron appearing anytime soon.

Leaving behind the rumours, Saffron would be a fantastic tool and Sam has clearly solved a few of the usability issues that bug me about other UML tools. Whether or not he has been able to execute it, his concept is seriously good.

If a bunch of us got together I believe we could do this open-source quite rapidly. If there is interest I’m prepared to get the ball rolling - if we all want Saffron so badly then we need to deliver it ourselves!

I am looking to gather together contributors to work on the project, taking this (scaled down) vision as a starting point:


Project scope:

  • The tool will run on AIR in multiple windows.
  • It will allow you to generate AS3 stub code + asdoc comments from your diagrams.
  • It will allow you to generate diagrams from AS3 code (with asdoc comments).
  • It will allow you to add additional commenting to classes / functions.
  • It will stick as closely to UML 2 as is feasible and support the core OO concepts.
  • The API will be built with expansion for other languages in mind - all they would require is a new parser logic.
  • There will be autocomplete / prompting for classes already included in the project diagram.
  • Data / projects / configs will be held in XML files.

Ethos

  • There will be a focus on releasing usable builds as early and as often as possible - even if they are ugly! Provided we maintain backward compatibility it's more valuable to have a tool that helps us do some of what we need than nothing.
  • All project components / specs etc will be open-source and public.  
  • All development will be test driven - tests written before code.
  • Refactoring will be encouraged.
  • No effort is too small - write just one class that solidly delivers and passes its unit test and your contribution is valuable.
  • The project will be cross platform Flex / Flash to maximise the number of possible participants.  (Yes, it's a pain, but I think it's worth it).
If you're interested please say so below ... with the right approach and the right numbers of people this thing could fly quite quickly, don't you think?