A social website often needs to have a discussion board either as a stand alone social app or as a part of other social hubs such as Groups, Events, Organizations and such.
In the quest for finding a simple and organic design inspiration for developing a discussion board for the Anahita Social Engine I have been snooping around in different projects.
There are some existing forum extensions available for Joomla. In fact we did try ccBoard and realized that with some modifications to make it work with the Anahita Social Engine user profiles, it would work perfectly. So here is one good candidate.
We have also been using PHPBB3 for Tazzu Community and it seems like a complete forum out of the box and the UI is pretty good although I’ve found it to be a little too bulky for our purpose. We want something much more nimble and lighter. Besides, the user management in phpbb3 and the way it has been coded is not really our style so we’re not too sure about this one!
I must admit I have been fascinated with BBPress for quite some time. This is the discussion board app developed by the same folks who developed WordPress and these guys have a nice touch when it gets to getting the usability right.
Peter Russell interviews me about Anahita (a social engine framework for Joomla). At its core Anahita is powered by Nooku Framework.
My experience with Nooku Framework took Anahita to unexpected levels:
Thank you SO much peter and the Nooku team, you guys are amazing.
I wish my best friend and business partner Ash Sanieyan was there with me in the interview as well. He has been spending countless sleepless nights perfecting the Anahita Social Engine ™ technology and he could have provided many interesting inputs about the project from his perspective. Perhaps next time, he’ll get to play the solo on the stage!
We would like to inform you that we have launched a demo of Anahita Social ™ Engine for those of you who are interested to join our list partners, learn the framework and contribute some financial resources to the project in the same time.
Please feel free to contact us and book a meeting. We would be happy to answer your questions and create an account for you on the demo website before you make your decision to join our partners program.
After months of development the folks at JoomlaTools have finally announced the Nooku Framework project publicly. Nooku Framework is an Object-Oriented, full-stack but very lightweight web development framework for Joomla 1.5. Anahita Social Engine is built using Nooku Framework.
Nooku Framework is installed as system plugin on Joomla. On the system initialization it replaces the core Joomla elements such as database, application, document with its own enhanced version.
It also offers it’s own Factory Class called KFactory that would let the developers to virtually extend or modify any part of Joomla without editing the core files.
For application development, Nooku Framework offers a far better implementation of MVC (Model-View-Controller) design pattern that what currently Joomla has. RESTful controllers, enhanced view classes with ability to inject custom template rules and models that recognize their own tables are the few to name.
Being a Ruby on Rails developer, what most attracted me the most to Nooku Framework is its own implementation of Table Gateway and Row Gateway Pattern. This implementation sort of works the same as the Active Record. It uses naming convention to map your table objects to the actual tables and it encapsulates the database access, and adds domain logic on that data.
Here’s an example of how it works
Even though Nooku is quite young and still taking its shape, it has enabled development of many high profile open source projects. Bundled with Joomla platform, Nooku Framework undoubtedly provides all the tools a developer needs to start the next generation web applications.
Building a software that one, two or even 100 people use at one time concurrently requires different set of skills than building a software that thousands or even millions of people use at one time. No disrespect to the Desktop software developers :), but building web applications especially in the nature of social network, requires focusing on scaling the applications to handle thousands concurrent requests at once. This is one the biggest challenges we are trying to deal with. Build a software that’s robust, well-designed but at the same time is scalable to handle large number of requests.
If you check out the Facebook engineering blog, you can find great tips regarding how to build software than can handle millions of concurrent requests.