Originally posted at http://www.rastinmehr.com/2009/04/05/what-is-anahita-socialengine/
You might have heard rumours around the web about this project, but the cat is out of the bag and the project is real. For the past 18 months rmd Studio (Rastin Mehr – Lead Web Application Architect) and Peerglobe technology (Ash Sanieyan – Lead Web Application Architect) have been working round the clock in collaboration with Johan Janssens and Mathias Verraes, as Nooku MVC Framework consultants from Joomlatools, to develop the ideal Open Source Social Web platform.Is this yet another facebook cloner? Not really! In fact unlike many microwave-quick-oatmeal social networking builder options available out there, our focus has been to develop a generic, modular and flexible platform for developing Social Web * (as ANYTHING) and that will include not only Social Networking websites, but also Social Intranets, eLearning, Community Markets, Services and electronic goods Support & Distribution websites, or any unheard of social web business and work flow models that we could ever come up with in the future. As you can see Social Networking as we know it today, is only one of the many possibilities.We also think that for a project to success it does not matter that how great it is at a certain point of time, but how well it is able to evolve and change over time. A design that adapts itself to different life case scenarios and market trend changes will have a much higher chance of survival and success. That means staying modular, generic, and not trying to be everything to everybody!
So we have built that framework
The good news is that Anahita project is now finally ready for deploying client projects. The public GPL release is yet few months away and there is a good reason behind it:
1. From our experience with RubberDoc and other experienced teams we’ve learnt that if we release a GPL technology too early, we will be swamped by support requests and that could really slow down on the time spent on the actual development. And also the system design yet will be going through more changes. We will be able to help a handful of clients go through the migration steps, but that wouldn’t be as easy when thousands of people need to do more drastic migrations.
2. Right now our focus has been on further improving the framework itself rather than cramming it with features and social applications (blogs, wiki, groups, …). In each phase we have rewritten most of the code and organized all the code, classes, APIs and libraries. We think if the core engine of a Social Web project going to handle hundreds and thousands of users, the architecture has to be as lean and clean as possible. Just like a well organized room, with everything folded and organized nicely and fresh smell! In fact at each stage we have realized that developing social applications is becoming easier and easier, and a nice and easy design philosophy is being developed as we go through. This is indeed an evolutionary process!
3. Guys/Gals/Friends we need to fund the project so right now we are already deploying projects for one or two clients. We are considering a subscription based support and distribution site so we would be able to release the Code under nice and pure GPL license and in exchange for a minimal subscription fee provide all kinds of services around this wonderful framework. We believe that Social Web and GPL go hand in hand, and in order to get the process of Darwinism Evolution working to our favour, we have to let the technology circulate amongst communities so it can shed its flaws and maintain what works well for everyday life scenarios.
What is a Social Engine ?
It is a platform that provides the following basic services essential to every social website:
- User Profiles
- Privacy Management (ability for a person to choose who can see what)
- Messaging(Public, Private, System Notifications)
- Activity Updates (feed)
- Social Graphing (by mistake called adding friends/contacts, in reality ability to follow a person’s activities at all times)
- Status Updates
- Enhancers: extend the functionality of Core Social Engine ( payment processors, Invitation Manager, Subscription Manager)
- Hosting Social Applications installed by administrators or community members (Blogs, Wiki, Photos, Videos, Documents, Discussion Forums)
- Virtual File System ( to manage uploaded files by the community members locally or on a cloud)
By Looking at this picture it would be reasonable to view a Social Engine as some kind of web based Operating system
Some Architecture Overview
Joomla! CMS is used as a shell or host in this architecture, after all everything is developed as Joomla! extensions (Components, Modules, Plugins, etc …) so there was no point in re-inventing the wheel here and create project specific extension managers like some projects do. Joomla!’s architecture indeed provides a superb Template Engine, Extensions Manager, Menu Manager, and User Manager.
We were also been following the Google Open Social standards and Google Open Social Fields to develop this technology. For example every Social Application has a Profile view displayed on a person’s profile, and a Canvas View which is a full screen view of the application. There are many more details in this regard and we will leave that for future articles and documentations.
The combination of Anahita Social Engine™, Nooku enables us to basically solve any type of content management, Intranet, and Social Web problem and build custom Social Eco-Systems for small or large organizations, and the wonderful part is that it will all be Open Source.
We have also managed to deploy the Anahita Social Engine™ one the Amazon Simple Storage Service (S3) and our client project is going to be hosted on Amazon Elastic Comput Cloud (EC2) technology. The social engine provides a virtual file system so the developers could develop without having to worry about where all the uploaded files by the people should be stored on. It’s up to the community administrator to configure the system to use the local server, cloud or some other file system as the storage
What was the name Anahita inspired from?
Logo has been designed by Talia Cohen and inspired by the Goddess Anahita the divinity of Water, Wisdom, Protection, Peace, and Fertility. She seeded planets with life and grew communities. Anahita Means “The Immaculate One”
In the End of This Announcement
Anahita has been our mistress for the past 18 months and we have been enjoying spending time with her so much that we’d rather do nothing but developing this wonderful project. Yes we’ve actually spent 20 hour or 30 hour work shifts to the point that we have passed out on our laptops. We have a lot more in mind than just a social engine, and when the time is ready we will reveal more exciting ideas and mad scientist experiments (like Distributed Social Networks anyone?), but for the time being we have a project to improve and a support community to grow.
Some voice of universe has told us that this project was meant to happen and we are thrilled to be a part of it with all of you!
Would you like to receive updates about this project?
Read the project Blog
Visit the project Homepage
Follow us on Twitter: