This is what we’ve been working toward since Sueetie was introduced in December, 2008. Introducing Atomo for Developers 1.3, a single Visual Studio Solution containing all framework source code for customizing Sueetie Communities and building all-new applications with the Sueetie Framework. As written in the Sueetie Manifesto, “No commercial or Open Source community application ever meets the requirements of a community without additional custom development.” As a “freelance .NET developer specializing in Online Communities,” I know that to be true, which is why Atomo is so important.
My target Sueetie user has always been fellow developers who need a full-featured online community framework as a starting point to provide unique community experiences for their clients. The developers I’ve been working for in my vision are fellow independents and small IT shops, and the clients as those small businesses and “little guys with a dream” who may not be able to afford other .NET-based Community offerings. With Atomo, Sueetie has arrived as the Community Framework for Everyman.
Atomo is available to all Sueetie Community Members in the Sueetie Marketplace. I’m going to cover only the highlights of Atomo here. A far more detailed description of Atomo is located in the Sueetie Wiki. There’s also a document to help you get up and running with Atomo. A new Atomo Forum is available at Sueetie.com for questions and developer discussion.
Let’s look at the Atomo Solution.
As you can see, Atomo contains all of the Sueetie Framework Class Libraries in Sueetie.Core, Sueetie.Controls, and so on. Each of the application WebApplication projects includes complete web source and references to the application's class binaries.
Why not release all class projects of all applications together in one package, you ask? Several good reasons. For one it would be a mammoth solution. Look at the Gallery Server Pro solution I use in creating the framework for example. Now multiply that times 5 and you get the idea of what a single all-inclusive Sueetie Solution would look like.
Second, we don't need all application class libraries with tools like Red Gate's Reflector for stepping through compiled assemblies. Third, as written in the Sueetie Manifesto, “Sueetie developers are dedicated to the success of the .NET Open Source applications that comprise a Sueetie online community site.” Whenever possible we’ll push traffic and attention back to the application home community. ALL source code for each of the apps is available at the app's home repository. I provide links to each application’s source in the Atomo Wiki Document. To address any code changes I made with framework integration, a DIFF is included in Atomo to copy over the original project class files if needed.
The most important point to remember is that every bit of Sueetie source code is available in Atomo, and every bit of application source code is readily available at the app’s home community. Any required application class libraries can be easily plugged-in to the Atomo Solution to support project requirements no matter how extensive the customization specifications may be.
To validate my point on why Atomo should meet every Community Customization project out-of-the-box, check out this screenshot of the DIFF files in Atomo. Remember, these are the files modified to integrate the app into the Sueetie Community Framework. Less than 20 files were modified out of 1000’s. So when done correctly, it will be rare that a project should need to modify an original application supporting class library.
Atomo is a very big deal for real, and I’m confident Sueetie is going to get a lot of traction in the .NET developer community as a result. Gummy Bear is great, but it was more for getting familiar with Sueetie and its applications. Atomo is where the action is going to be going forward.
You’ve read this far so you get a bonus paragraph on the origin of “Atomo.” If you’ve seen the animated film Iron Giant, then you may recall Hogarth Hughes and the Iron Giant reading comics with the robot named Atomo on a comic book front cover. Atomo was the mental menace and a villain, but I still love the name. As for the tie-in to the world of Sueets (um, sweets), I’m a big Atomic Fire Ball fan. Its name conveys the hotness of the developer package and contrasted Gummy Bear nicely, but "Atomic Fire Ball" or just "Fire Ball" or "Atomic" didn't do it. So Atomo it is.