The personal ramblings of Jon Carlos mobile & web developer and technology enthusiast.

Tuesday, 30 June 2009

Open Source and SocialFront

As I said in my last post I'm starting to work on an open source Social Networking system I wanted to give you some background in to why I've started my project and some other people and site you may want to checkout.

I've been using open source software for many years some of my favorite projects are:
  • WinMerge - I use this program all the time. It a diffing and merging tool for text files and any time I can't work out why some code it not working it's WinMerge to the rescue.
  • Umbraco - We've started to use Umbraco at Screenmedia as our main CMS system. I have to say this is the best thought out CMS system I've ever used. The template management is great, the flexability of the document definitions is easy to understand and develop with. You can find a very in-depth review of Umbraco from CMS Wire
  • FileZilla - This is an FTP program with some neat features including folder and file exclusions and folder diffing.
  • jQuery - If your a developer you'll probably have hear of this already fantastic javascript libraries for DHTML and Ajax.
More reciently though I've been following some social networking projects. They are all interesting but no single one really scratched that itch that we have as Screenmedia or I have as a developer.
  • Sueetie I've been watching this project since February and have tried to install it a couple of times but it's very complicated due to the level of integration the system requires with the other Open Source projects it consumes. This project is going in the right direction to create a fantastic system though once it matures.
  • elgg This is another project that I've checked out. It looks like it's a good system but the community seems to be missing and the documentation is heavily lacking.

Why Start an Open Source project

I'm mad! I've got too much time on my hands? The answer to these questions is no well to the second one anyway.

To be absolutley honest I've been motivated to start this by a few things that have happened over the last 6 months. Firstly as I've explained above I've not not found a system that did exactly what I wanted it to.

At Screenmedia we've used Ning and KickApps as well as considered building our own system but the two white label system not really design customizable in the way we wanted them to be. On Ning you can't really put much design in to the system at all. KickApps is much better in that respect, but we were still left with 2-3 levels of navigation at the top of the page and a hell of a lot of CSS hacking and jQuery.

Secondly I heard a talk at Tech Meet Up Glasgow by 2 guys that brought home to me what I wanted from Open Source.
  1. Learn new skills
  2. Not code in a bubble
  3. Meet like minded people
  4. Make something cool and create something that there is a need for.
Kevin and Joe explained that they saw a need for the Dear Green Place system and wanted to learn new skills so they found a hack space and set to work. I really like the enthusiasm they have for their project and that they can see it's making a difference they found other people that we're able to help and built a great system.

While at DDD Scot I went to a talk by SerialSeb. Seb's talk was ASP.NET MVC Best Practice and having produced a system using mvc my self I was very interested to hear how others felt about it and what their suggestions were on how to write better systems using it. This motivated me in to doing a lot or research into finding best practice practices for MVC apps. I now want to use this knowledge.


So introducing SocialFront. As the name suggests SocialFront is a Social networking system but like Sueetie it uses the best of what is already available on the Internet and consumes rather than hosts content.

The front end of the system uses MVC as it base but will utilise providers for consuming and publishing. This means that when you install the system you will be able to select what systems you want to use for video hosting, image hosting and discussions hosting.

The beauty of this way of working is you're able to pick and choose the right system for you and present them in any way you like.

The early release of the system will be using KickApps as it's data model but this will be extended over time.

If you're interested in learning more please leave a comment and I'll get in touch alternatively tweet me @billywizz


Dave Burke said...

Webmonger, Thanks for the good word about Sueetie. The CodePlex source and DIFFs are several months old. I need to explain the situation there better. For now I decided to go heads-down and build out the framework and generate more interest before releasing more source, DIFFs and create the supporting documentation. That's very time consuming.

To be honest, I haven't determined a revenue model either, and although I'm an Open Source believer, I need to somehow sustain the project. It's still an after-hours affair.

If you want more current source or a more unified build, there's a "Sueetie Insider" contingent working on our respective areas of interest within the framework.

Email me if you'd like more info.


Webmonger said...

Cheers for the feed back Dave.

I've been following your tweets and blog on the developments of Sweetie for some time. I totally understand the problems with getting time to work on somewhat non work related projects. This will also be something I'll have to work with exactly how I manage my Home and Work commitments while trying to keep the momentum I've felt over the last few month.

I would also appreciate any guidance you have on developments like this. I understand you've got quite a background in these types of systems and would therefore be interested in any feedback you have on what I'm hoping to build here.

Cheers for the offer of getting updated source I would like to get involved but at the moment I'm going to concentrate my energies on this project as I have a habit of starting things and then getting side tracked.