I'm a total CF noob and joined CFcommunity just so I could post this question to a bunch of CF veterans. I'm about to embark on a journey to create a social-networking site and am hunting for the best set of tools to do it with. Thought I'd seek the benefit of collective wisdom before I start down the road of learning via hard-knocks.
Absolutely. Might I point at the largest social networking site on the planet at the moment: Myspace.Com powered by Blue Dragon + CF using some sort of Fusebox variant.
I've been building social network communities since I started in Coldfusion over 10 years ago and find its a tool perfect for the job -- the right mix of enterprise functionality and web 2.0 mashup capabilities and flex/flash integration; easy database integration and ability to scale.
If you're looking to build something from scratch its your best choice. PHP has a few open source projects that allow you to kick-start communities using some sort of advanced application platform like PHP-Nuke and similar projects.
I'd highly recommend using a framework too as these apps can call for alot of code re-use and integration.
Ben, thanks so much for the reply. That's exactly what I needed to know. I'm actually needing to ramp up on my coding skills and want to start with the best platform for the social networking concept I have in mind. Your reply has saved me tons of time in searching, trial and error.
Myspace is actually ASP.NET with a very very thin layer of BD.NET on top of it in a few places. Most of the core code was rewritten in a .NET language like C# or VB.NET. Quite a lot of the fuseaction urls are really rewritten in the server layer into ASP.NET requests too. They ran into some very serious scaling issues with CF5.
Myspace really isn't the best example for a CF website since it's not really CF at all at this point.
Thanks for the clarification, Elliott (and the link). It's still helpful to know that MySpace started out with a CF foundation. If my site gets a few million accounts, I'll probably be able to afford a re-write to Microsoft server products. ;)
Definitely. Social networking sites use common web development techniques, all of which CF can easily handle. CF makes it easy to provide APIs and services from your site for integration with other sites/software through web services, rss, http etc - popular for social networking sites. And CF integrates well with other technologies so that your site can take advantage of external services. Go for it!
I run a CF based online media subscription site. Have ~30K members now and a ton of data about them that could form the foundation of a cool social network. Thus... it makes sense to use CF. My question is: Are there viable CF based social netoworking plaftorms we could buy, bolt on, and customize as needed? Or do we have to build it from the ground up?
CF is a really nice technology and it can save you a lot of time, but you should also look at how much money you really have to burn and how big you need to scale and how fast. Lots of social networking sites start off as small projects with very little funding. Using CF might be perfect or it might be the wrong move.
Don't believe all the myths about php (or any other technology) taking so much time to develop in, or lacking so many features. Also note that CF licenses are very expensive. A php+memcached+apache+linux solution will cost very little when it comes time to scale. Really all you'll end up paying for is the hardware, while the standard CF install of Windows+CF is going to cost quite a lot more. Check out frameworks like CakePHP, Symphony and CodeIgniter and you can get nearly all the features of CF minus a few Adobe specific features.
php powers some very large social networking sites, all of which started as much smaller projects. For example Digg and deviantART. For deviantART to scale to more requests it just costs whatever the new server costs and some time to install it in the data centre. There are no license fees. For a big company to purchase a bunch of CF8 enterprise licenses at 8k a pop that's nothing, for a brand new social networking site struggling with load that might be a serious issue.
CF really shines when you need to integrate with other things. From what I can see it's pretty close to the most comprehensive middleware there is. It plays nicely with lots of other languages through Java implementations, .NET, COM, CORBA, PDF, Flash and others, but do you really need this level of integration on your social networking site?
CF is great, but it's not the axe for building every log cabin.
So really the correct answer to CF's viability for a social networking site is Maybe.
Appreciated your thoughtful response here, too, Elliott. A major consideration for me is that my application is going to need extensive gating to external services. I like that CF has support for IM/SMS gateways already. I'm going to need a gateway to cell networks to receive voice data in addition to the SMS capability.
Server Licenses are a 1 time cost, and in large projects, really pale in comparison to the cost of developer labor. CF makes my team so much more efficient that we've realized tremendous return on investment by paying a relatively small one time cost for the ability to be highly productive.
And when you reach the point that your site needs to scale to multiple servers, the few thousand dollars of incremental cost aren't really going to matter.
I currently run a rich transactional site on 4 high end web/app servers, serving ~200 million page views per year, and CF performs exceptionally well.
YES - we entirely built Xeequa, a social network for businesses in ColdFusion (CF7/8). It is a networked multi tenant architecture, meaning we actually have business tenant like in Salesforce.com that are networked over the social network they build. It is probably the most advanced social network architecture - all built in ColdFusion.
Client facing, Senior ColdFusion developer – 50k (60k max) - HertfordshireSeeking a candidate that has vision and interested in up and coming technologies and how these maybe applied to the business model in order to maintain leadership in the field. Within a company dedicated to provide systems for public, charity and private sectors.Basically a person with a ‘Can Do’ attitude that will help the management team deliver success.The candidate will also be strong on delivery (client facing skills…See More
Seeking a candidate that has vision and interested in up and coming technologies and how these maybe applied to the business model in order to maintain leadership in the field. Within a company dedicated to provide systems for public, charity and private sectors.Basically a person with a ‘Can Do’ attitude that will help the management team deliver success.The candidate will also be strong on delivery (client facing skills would be a pro) and be used to delivering projects on time and to budget,…See More