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.
Also facebook has open sourced a lot of tools they use that are great for scalability – check their open source home page at
By nature social networks grows in storage size exponentially. For a community of just 250,000 people the total size of only the avatars are about 20 Gigabyte. That’s a lot of space but thanks to the services like Amazon S3, Box.net and other cloud storage, it’s a lot cheaper and safer to store users assets (images, videos, documents and etc) somewhere on the cloud rather than storing locally where your server is being hosted.
This approach however imposes a challenge for the third party extension developers. They have to hard-code the storage API they want to target and build their application in a way that works flawlessly only with that storage. On the other hand, this forces the users of the extensions (the people who download the extension to use it on their Joomla installation) to use only the intended storage service by the developer.
We’ve solved this problem in Anahita by introducing the Virtual Storage concept. Developers can use Anahita Virtual Storage library to read/write data without a need to know about the final storage destination.
The storage destination is configured by the admin through the Anahita System Plugin in the Joomla administrative back-end.
There are two ways of writing data using Anahita storage library, publicly or privately. If it’s public then everyone has read access to the data. This is good for static data like avatar and albums images. If it’s private only the application has access to read the data. In both cases the data is only writable by the application.
Soon we are adding the ability for the other developers to implement their own storage system. This is specially useful for the corporate intranets who have in-house distributed storage that’s not accessible from the outside of the network.
We have just published some information on the type of benefits that our partners will receive upon joining our program for a period of one year.
Development of a finished Social Web project still costs quite a bit. Becoming a partner provides an opportunity for companies to obtain a copy of the source code and start learning about the framework, API, and its design philosophy before the public release of the GPL code.
Even after the public release, our partners will continue to receive additional training and marketing benefits. So please do read the information here or if you are already determined please contact us so we can get you started.
Cherry Blossoms outside our Studio in Yaletown, Vancouver, BC.
Since our initial launch during the last week we have received numerous encouraging and inspiring emails from people and companies who have shown interest in joining the Anahita Social ™ Partners program and get involved with the project. We are so thrilled to know that our project has been receiving attention and not to mention. Actually Anahitapolis has received over 1850 page views within the first few days of launch which is not bad at all.
We are currently working to put together a practical program which could bring value to the both sites: those who wish to micro-fund this project as partners and of course the Anahita Social Engine ™ core development team who need to continue developing this technology.
We are aiming to post the information this week and those of you who have contacted us already will be the first to be notified.
We have just launched this site so we are too tired to post a long and informative blog post, and please don’t touch anything yet, the paint is still a bit wet!
Anahitapolis.com is the Home of Anahita Social Engine ™ projects where we post updates, technical information, announcements and so on. This website will also be evolving to the support and distrobution of this framework.
So for the time being, here are some existing content that you may find useful:
Peerglobe Blog: Anahita Social Engine
Peerglobe Portfolio: Anahita Social Engine ™ & Development Framework
rmd Studio Blog: What is Anahita Social Engine ™
rmd Studio Portfolio: Anahita Social Engine ™ and Development Framework
Would you like to hire us to custom develop you a Social Web project?
Peerglobe Technology: Social Network Website Development
rmd Studio: Social Networking Development
and at the end, Johan Janssens and Mathias Verraes at Joomlatools totally Rock!