5. PHP Drupal
Flickr MTV UK
Wikipedia FastCompany
Wordpress The Onion
Facebook NY Observer
Digg OgilvyPR
Del.icio.us UN WFP
Recovery.gov
Thursday, March 5, 2009
6. “PHP is a serious language.
It’s like a proper
programming language for
grown-ups” - DjangoCon 2008.
Cal Henderson
Head of engineering for Flickr, Yahoo! Inc
Thursday, March 5, 2009
7. JAVA PHP
VS
STRUTS DRUPAL
Java is more serious - they have longer beards!
Thursday, March 5, 2009
Good afternoon. My name is Irakli. I am a software architect at Phase2 Technology. Presenting with me today will be Frank who is our CTO and my boss. Our company does a lot of Drupal work and we contributes to Drupal a lot. In fact, if you are an active Drupal developer, there’s a good chance you’ve used one of the modules we’d written. But if you have never seen a module written by either of us, raise your hand... and then I will completely ignore you, for the rest of the presentation, and talk to you during the break and say “I am sorry”.
Since we do so much Drupal work, there are problems that keep coming up. Instead of keeping to solve the same problem over and over again, every now and then we try to come up with a generic solution that solves the problem in 80% of the cases... and then we charge money for the remaining 20% of the cases called “customizations”. That golden 20% is where you make money... but back to the 80%...
So we work with a lot of data. We love doing it and we try to do it as much as possible. Another thing we love is Views. Raise your hands - how many of you know what Views is and use it regularly? So, most of you... Views is a web-based query-builder that is unique to Drupal. It is very powerful and allows to easily retrieve and skin data. Unfortunately, out-of-the-box it is best suited for the rendering of tabular data. At least, until today.
So, one problem that kept popping up, in our Drupal work was graphical visualization of data. People really wanted to see bar-charts, pie-charts and other cool charts of their data. And traditionally you manually write SQL and put it in a custom module and it kinda works. Except you lose the power of Views and we felt it was a shame.
So we started dancing around Views2, which has a wonderful, very flexible API and tried to extend it and got some interesting results and we decided - this is cool. We want to share this. So we submitted a proposal to DrupalCon DC to see if other people thought it was cool. And guess what - people thought it was cool. It was #1 rated topic for several months and ended up in very respectable top 3, eventually. Many thanks for everybody who voted, by the way.
But the question that people kept asking was - “is it even possible?” While the idea sounded cool, people could not connect “business analytics” with PHP and Drupal.
Business analytics is something you do with SAP and Business Objects or at least, if you have no money - with Jasper and Java. Because it is serious and it is so-called “enterprise” and God forbid you do something serious with PHP.
Have you ever tried pitching PHP in a traditional corporate environment? Yeah, good luck.
But is PHP really inappropriate for “serious” stuff like Business Analytics? Let’s look at some facts.
If you look at this slide, on the left you can see the list of websites that are created with PHP. There’re two ways to look at this list. You may notice that we have their a website created to post photos of kitten (Flickr), a website of 60 million bloggers, each one of them thinking he or she’s the rockstar (WordPress); a website where everything written is “true because anybody can edit it” (quote from Michael Scott of tv show Office and the site is Wikipedia, of course); a website where you can list people you have never seen as your “friends” (Facebook).
Or
the way you can look at it is that these are four websites that are in top 10 most popular websites on the Internet, period! Which means some SERIOUS traffic that they are handling and some serious feature-set they implement. These websites ARE serios!
That is PHP.
And on the right you have a very short list of websites built with Drupal. Among them you see uber-high-traffic ones like MTV UK, FastCompany, my personal favorite: The Onion, Observer. The largest aid and relief organization in the world, United Nations World Food Program just switched to Drupal. And very importantly, since we are in DC, we have to mention first US government-run website recovery.gov that recently launched on an open-source platform and guess what - that platform is Drupal, leading the way for open-source Web software in the government (and hopefully getting us out of economic crisis?)
So, why are we saying all this? Because contrary to what “enterprise developers” want you to believe, there is nothing wrong with PHP, there is nothing wrong with Drupal and YES, “serious” problems like data visualization or business analytics can be tackled in Drupal and in PHP.
We do not claim to solve the entire problem of business analytics, but we want to start moving in this direction and we have some cool things to show you and we believe Drupal does have future in the arena, as well. Not only it has future, but we also try to do thing differently. We are not trying to write Jasper for Drupal. We use Views: a genuinely Drupal-way, we build on it and see where it leads us. It’s gonna be a long journey, but we hope it will be fun.
And one last comment about the “seriousness” of Java vs PHP and Drupal. To not alienate our Java friends, we gladly admit one apparent flawed. Java guys have longer beards. Since in the software industry it has been established that longer beard is more serious - OK, Java is more serious, but Drupal is not too shabby, as well. If Dries keeps not shaving, we will eventually get there :)
Energy use (kg of oil equivalent per capita) - EG.USE.PCAP.KG.OE
Since we build on top of Views we can enjoy all the things Views can integrate with, for instance: the fabulous layout management modules (each doing it differently, each good for different cases). They all integrate with Views and you can create dashboards of many charts or even charts and tabular data. Imagination is your limit
Short term: goal: make modules more stable, they are still very early alpha quality
Long term: Drupal has bright future in Semantic web. There’s no reason why it should be limited to just SQL so maybe in some bright future we will be able to drive SPARQL queries with Views? And we will be able to chart Linked Data with views_charts? How cool would that be?
Thank you for coming and thank you for your support. These modules would not be released so quickly if we did not feel interest from you and everybody else who has voted for the session and kept leaving comments on drupal.org, twitter etc.
Thank you