Why are people building social apps in PHP without Drupal?

Jeff Whatcott's picture

Check out this chart of job trends in the number of job postings that mention the words "social" and "php" or "social" and "Drupal". It comes from Indeed.com.

social php, social drupal Job Trends graph

social php jobs - social drupal jobs

There are currently 816 social app building jobs mentioning PHP skills and only 89 mentioning Drupal skills. As you page through the actual job postings (see links below the chart), you see evidence of lots of social publishing application development going on out there, but a lot of it appears to be heading down a path of custom PHP development.

So what's up with this? Drupal is the killer social publishing system. It's built on PHP. It saves a ton of time over building a custom system from scratch. Why are so many people who are friendly to LAMP in general and to PHP in particular deciding to reinventing the wheel? Which of the following do you think it is?

  1. They've never heard of Drupal
  2. They're vaguely aware, but not sure why it might be relevant to their projects
  3. They've actively evaluated it in the past, but rejected it.
  4. They know Drupal and like it in general, but it's just a poor fit for the current project for some reason

Without real market research, it's anybody's guess. My personal guess is that # 1 and #2 are the primary reasons. We have a lot of work to get the word about Drupal as a social publishing system. If they think Drupal is just another CMS, why would they consider it for a social publishing project or any web site that includes social aspects? It's not obvious.

The space between the blue Drupal line and the orange PHP line represents untapped potential for the Drupals professionals everywhere.

Here's a version of the chart that includes additional technologies for comparison.

The good news is that PHP dominates the market for web dev jobs that mention the word "social" both absolutely and in terms of growth. But Rails and JSP are definitely strong and growing in this area. Joomla is... not so much.

Additionally to the 4

Additionally to the 4 reasons you mention, there are people who are reluctant to use open source systems. A typical argument is that sites built with open source software are less secure, because everyone can access the underlying code. Apart from that, I think the major reason is that people don't know Drupal or have no idea about Drupal's powerful features for building web apps.

It is also a question how to

It is also a question how to market Drupal (well, up to now it has not been marketed at all, am I wrong?): Should it be a framework to do anything? Or rather a ready-to-use-system for a special task? Like install profiles like hope-to-be Gnomepal will be.

I know it is rather the first, which puts it close to Rails or PHP itself as a flexible and handy programming language. So e.G. Gnomepal is not Drupal - but building on Drupal. This could save the day.

But it cannot be everything, this makes a blurred image. Up to now no decision has been made. One does not want to exclude anything but ends up in having no shape.

Personally I believe it would help a lot to have a "powered by Drupal" Logo on every Drupal Site, especially major site like Sony BMG or This is the best marketing I think: you see something great and you ask how it is built. Until Drupal 6, we did not even have this by default. So not even the tiny sites would have an automatic backlink on the starting page.

So my number 1 reason is: they don't know what it is - and we even don't know ourselves.
So this is a task to work on.

I also think that until

I also think that until recently, there hasn't been much publicity surrounding social networks sites that HAVE been built in Drupal.

Greenopolis.com is one example of a social network built with Drupal, but what some others?

Other frameworks talk about "killer apps" - perhaps Drupal needs to showcase all the various killer apps that can be built with the platform.

I know that at some point

I know that at some point Drupal plans to drop PHP 4 support. When it does, I think it will be better positioned in the "roll our own vs. adopt a framework" discussions.

The usablity work being done

The usablity work being done right now will also healp Drupal move up the ranks in this particular survey. Many people I've worked with are intimidated by their first experience with Drupal and without seeking help, they simply walk away. As the act of using Drupal becomes an easier experience for new programmers, adoption for custom social apps will increase.

I love Drupal as an all-purpose, carve-it-into-what-you-want framework. I remember the first glance though. It was scary and if I weren't coming from Joomla (not trying to start a flame war here) I would have probably looked for another CMS.

I think that there are a lot

I think that there are a lot of entrepreneurs and venture capitalists who see "development" as a kind of inert capital cost.

Drupal is not inert. It's a living, breathing thing, populated by thoughtful, creative developers and other community members who understand the value-added of people-to-people collaboration.

In the Drupal community, we take Drupal's internal APIs for granted. We get it. These APIs make it possible for thousands of people to "scratch-their-own-itch" in a way that becomes a part of something much bigger that so many can use -- all without crashing Drupal! The internal APIs make the magic possible.

To many non-Drupal developers, and certainly to many entrepreneurs, all these Drupal APIs are "a hassle", "arcane" -- part of some secret handshake that Drupal developers do in a cave." To many entrepreneurs, why would you want your "capital" to be a moving target?

Yes, yes, more marketing will help. But one way to target the marketing is by focusing on case studies of businesses that do get it. The Ed Sussman Fast Company interview on Lullabot is a fantastic showcase of a for-profit venture that understands the people and process of Drupal, and wants Drupal even more because of that.

In summary, most entrepreneurs see software as a product and not a process. That rules out Drupal out of the gate. I do think there are plenty of entrepreneurs who will really "get it" when they understand what Drupal is and how it works. It will never be the majority, and I think that is okay.

A couple of factors that

A couple of factors that come to mind are the do-it-yourself mentality and the fact that Drupal tends to get lumped in with content management systems rather than frameworks. Drupal has won the CMS competition but its framework capabilities receive less focus. Drupal is pigeonholed by all the comparisons to WordPress and Joomla. I haven't seen much comparing (or contrasting) Drupal with the likes of Zend Framework, CakePHP, or Symphony.

There are still a lot of people that think they need to reinvent the software wheel. Using most other frameworks, programmers are more free to start from a blank slate and focus on doing what they do best — program. With Drupal, there is a lot of pre-built functionality that you need to learn and integrate with. A lot of that functionality comes in the form of contributed modules where the documentation is somewhat inconsistent. I think that to thrive with Drupal, it helps to be good at research, communication, collaboration, learning, sharing, keeping an open mind, AND programming. Not everyone has a blend of those skills, but Drupal is a boon to those who do.

As unpopular as this opinion

As unpopular as this opinion might be, I'll come out and say that Drupal is sometimes a little 'overweight' when you want to build a 'lightweight' application. The added pounds come from overhead that Drupal requires, but is not required by the application developer.

Drupal can perform very well under load. Drupal performs very well considering all the code and queries that are executed during a page load or other http request (thanks in large part to things like caching and a solid architecture). But, sometimes people just don't need all that Drupal offers. No matter how fast or developer friendly Drupal is for all that it does - without hacking drupal core you have to take on some extra baggage.

There is always a sort of tug of war in Drupal land. Where some feel that Drupal 'core' requires more features to attract new adopters. And other feel that Drupal 'core' should be stripped down to the... err.. well... the core (to attract new application developers).

And this all comes back to Drupal's split personalities. Is it a CMS, or is it what Jeff likes to call an SPS, or is it a development framework or is it an application platform. It is actually all those things, but more of one than the others depending on your perspective.

So if, depending on someone's perspective, its not enough of one and too much of the other (for their needs), they may just choose a different way of doing things.

andre

Did you see this

Did you see this graph?

http://www.indeed.com/jobtrends?q=social+php%2C+social+drupal&relative=1

It shows percent growth between social:php and social:drupal searches over the same time period.

Thanks for pointing that

Thanks for pointing that out. It's great to see Drupal has growth, but to some degree it's the law of small numbers at work since it starts with a smaller base. But at least Drupal is moving up the radar screen.

Having just developed such a

Having just developed such a social site based on Drupal I gotta say that it sure wasn't easy. Their appears to be a serious disconnect between the developers of Drupal and the module maintainers. With 6.2 being released and 6.x being heavily endorsed as the version people should be using its very tough for that to be the case when a large number of "popular" or "interesting" modules have not been updated or are in perpetual state of "beta" as far as 6.x support is concerned.

That was by far my biggest roadblock in development of this site. I suppose one could forge out on their own and develop fancy new modules themselves but that work will be in vain when 7.x comes out because their is no thought given to backwards compatibility.

I just don't see it being a stable enough platform for long term dependability. The future is so uncertain. If the primary developers of Drupal were to take over some of the more important modules (calendar comes to mind) and have them at the core with the same polish that is seen through out the actual core it might have a chance.

Helping draw (and advance)

Helping draw (and advance) the line between what's "ready for prime time" and what's "kinda working" is one of the reasons that Acquia exists. It's our hope that by defining and offering a commercially supported distribution, we can cut through the haze that holds many companies back from adopting Drupal.

So bear with us while we help take Drupal to new heights. We're hard at work on Carbon and our network services right now. Be sure to register and check out the Projects area for more information.

Some may be using Drupal in

Some may be using Drupal in the end while it isn't mentionned into the original job post... You see that Joomla isn't as popular as Drupal there...

When I was in college I used

When I was in college I used to go treeplanting during the summer to earn my way thru the next year of school and every year the recruiters would tell us the statistic that 1/3 of the people who signed up would quit within 2 weeks. Once you got out there you'd see why... 12-14 hr days, 6-7 days a week, working in extreme cold, rainy or sometimes scortching conditions... it just wasn't fun. It would really mess with your mind and most people who would quit would just seem to hit a mental wall and would decide they couldn't do it as they'd figure that there had to be an easier way to make the money the needed. Over the last few years we've found the same phenomenon when looking to hire new Drupal developers with a similar ratio failure. Many of them claimed to have extensive PHP and MySQL experience but somehow couldn't seem to be able to master Drupal. As a dedicatedDrupal shop, we found this to be very tough on our business, because unless we were able to extensively hand hold them thru the process (which can be very costly) they could not pick up Drupal on their own. The training resources were just not good enough and the platform was too difficult to master. So in my opinion, if you're wanting to see more people embrace Drupal to use in building social apps then we definitely need some better training resources and support systems to help newbies get up and going with a more successful experience with Drupal. Drupal meetups and Drupal camps are very helpful and the community is very willing to help out new people but that only goes so far as people can only give so much. Anyways, I'm sure there are many reasons why Drupal isn't being embraced by the masses for creating social apps, but from my observations, the steep learning curve and lack of good training resources (or the challenge of being able to find them) could be creating a wall that just seems like it's too hard to deal with for many developers.

Good comment. Totally agree

Good comment. Totally agree that quality training is a key bottleneck to Drupal growth. Check out the Yellow Jersey project for what we’re doing about it.

Great comments, and I really

Great comments, and I really do agree as this is a problem we have faced as well. I find that on the plus side it really does 'weed' out potential 'bad' developers. Either way I plan on shortly launching a Drupal subscription service which would allow for free theme downloads, web/Drupal tools, access to our training videos and much more, for roughly $100-150 a month ( cost yet to be decided ).

You best. Great post. Thank

You best. Great post. Thank you for this information. I like traditional PHP before

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <blockquote> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options