Entries in Saffron UML (14)
Saffron Rumors...
I know there have been some concerns as of late regarding the development of Saffron. Let me kill all of those rumors by saying that Saffron development has NOT by any means ceased. In fact i've actually ramped up development on it since I've fallen behind on some of the features promised in Saffron. But are some screenshots of the latest saffron development build. As soon as I get some minor issues fixed tonight I will post a much more comprehensive update with release information, invite info and roadmap. Cheers!
Saffron AIR UML Tool Update 4
Wow! It's been a while since my last Saffron update. I've been real busy closing off bugs on Saffron and getting ready for the beta release. Adobe has been awesome in their support and I really appreciate that. I must take this opportunity to send a lot of love Ryan Stewart's way and publicly thank him for getting me on the AIR beta program. It's been an interesting couple of weeks as I get ready for FITC Hollywood and finish up the bits for Saffron. As everyone can imagine developing beta software with beta software can be quite a harrowing task. The love that Adobe is showing for Saffron is definitely helping out quite a bit.
On a technical note I'm happy to announce that Saffron will work with AIR Beta 2 and NOT Beta 1. AIR Beta 2 address a lot of issues that I was having with Saffron that caused unavoidable delays in the release cycle. Now that I have a more feature complete version of AIR I have started removing some of the old workaround code and replacing it with a leaner, meaner code set that works with AIR Beta 2.
The plugin model for Saffron is coming along beautifully and I can't wait to show this at FITC Hollywood. The plugin model is extremely powerful and has a feature rich set API that will irrefutably assist developers in writing plugins for Saffron. It literally turns the Saffron workspace into a blank canvas allowing developers to build or modify any type of Saffron application. I'll be demonstrating this at Hollywood with some pretty insane examples of how creative you can get with these new APIs. I'll be posting screenshots of the latest builds as well as some release notes for the forthcoming beta. Can't wait to show the new build! Cheers!
Saffron supports Growl Support on OS X
I was goofing around one night and came up with the crazy idea of adding Growl support in Saffron. It's a little nice addition to all of the OS X users that use Growl. I personally use growl with as many applications that I can. It's a great notification tool that allows you to know what is going on with your apps even if they are not the focused app. Below is a screenshot of a growl notification after Saffron has finished importing source code from an Actionscript 3.0 project.
Introducing the Saffron Advisory Board
As Saffron development get's ready for it's debut, I would like to take the opportunity to annouce the formation of the Saffron Advisory Board. The main purpose of this group is to discuss the future of Saffron and to get instant feedback from Saffron users from both independent software vendors to enterprise developers. So if you live in the Chicago-land area and would like to meet once a month( for the next 4 months) for great free food and drinks, just let me know and I'll be sure to send you a formal invitation.
peace and chicken grease!
It's almost here!
Hello everyone, just wanted to make a quick announcement that the Saffron build for testers is almost ready. I'm also working on the public beta as well. Testers that are on the private alpha will recieve the public beta as well access to the nightly builds. Unfortunately nightly builds are only available privately to the testers that have contacted me through this blog. I will be announcing the roadmap and other goodies shortly, but just wanted to let everyone know that a download link will be posted real soon. I thank everyone for their support and patience.
cheers!
Glimpse into Saffron development
Below is a screenshot of my saffron development environment. The improved debugger is a big help with Flex Builder 3. In this instance I'm using the debugger to fix bugs with the lexer/tokenizer. The Variables view really helps me review my symbol table for my tokens as well as the current state of my scant target which is generally the actionscript source file. As shown in the console view, I use the Flex SDK 2.0.1 as a test subject. Initial Performance benchmarks have been really incouraging. With the current test I'm able to import the whole Flex 2.0.1 sdk ( all 668 classes ) in 1.54s. Not bad eh?
Cheers,
Sam
Saffron AIR UML Tool Update 3
For the past couple of weeks I've been working heavily on the internal code processing engine inside of Saffron and have not, until recently, enough time to work on some of the ongoing concerns I have about the user interface. My main concern was with the way modifiers ( public, private, internal, etc ) were displayed as well as the editing capabilities of the class diagram. In an effort to keep things simple I wanted to make sure that the process of adding and deleting methods or properties and changing their modifiers was done in a simple yet elegant way.
I believe I've solved both of these issues with my latest UI refresh ( picture below ).
Essentially I have created a series of colored spheres representing a modifier for a method or a property. For example, public methods are identified by a blue sphere with a "+" sign and private methods are identified by an orange sphere with a "-" sign. Each sphere has its own place that is consistent across all class diagrams which makes reading and identifying the state of a method or property fairly easy. It also provides a way for the user to quickly change the modifiers for a particular method or property by clicking on the sphere.
The next improvement was in the way you can add and delete items from a class diagram. This is done by clicking and dragging the colored bubbles to the location on the diagram where you want to insert or delete a new property or method.
Till next time...Cheers!
Saffron Architecture
From the very beginning I wanted Saffron but not only a very beautiful application but a highly function and customizable one. The Saffron Architecture as illustrated below is made up a series of API's that 3rd party developers can hook into at runtime and create plugins and other customizable workflow items. Like the Eclipse IDE, essentially everything in Saffron is a plugin and can be extended. For example, if you want to create your own language definitions all you have to do is hook into the Lexer and boom, your in! I will be posting some more information on the Saffron SDK in the next couple of weeks but below is a brief description of the components inside of Saffron.

Saffron Application Manager: Is the main system core for Saffron. Global properties and other important top level functions are stored here.
Saffron Window Manager: Is the windowing sub-system that powers Saffron. This can be accessed at runtime to create new native windows that can house custom UI's for components
Saffron Workspace: The workspace is the main canvas where the class diagrams are drawn. This is accessible at runtime and can be used by 3rd party plugins.
Saffron Messaging Server: The messaging server is the main system for processing notifications and events and is accessed by everything that runs within the Saffron environment. It is completely accessible at run time to anything running inside of Saffron including 3rd party plugins.
Saffron Lexer: The Lexer and the LexerFactory are API's designed to aid developers in the creation of language packs for Saffron. The Lexer includes lots of functions that aid in the parsing of source code files. All of the currently supported languages in Saffron are built using this very same API.
*SDT: Short for "Saffron Development Tool" is a complete set of APIs adding functionality for a particular language. Currently supported languages are AS2, AS3, Java and SQL.









