The question of who is using PHP has been asked many times. We all know PHP users include everyone from Britney Spears to the UK Labour Party’s Big Conversation. In fact Dream Lab Canada maintains a directory of PHP Powered Sites broken down by industry sector.
For me what’s more interesting, right now, is looking at where PHP is being used; where is it being deployed (Internet vs. Intranet / Extranet), what problems are people solving with PHP, what design decisions come into play when building a online gallery vs. a groupware tool, how do requirements influence CMS design when comparing an online magazine vs. a corporate Intranet, etc. etc.?
There are two things nagging me, which is what’s prompting this stream of thought. First I have a hunch there are whole PHP “user groups” not being addressed or being heard from, largely swallowed by “mainstream” PHP users (those building either personal sites on small online ventures). The second nag is there’s PHP functionality which seems to be being under utilized, most notably the COM extension, which may in some cases also equate to software with a commercial value (as in someone willing to pay for it).
On the Internet, there’s little in depth discussion of how employ PHP on high traffic sites. Sure this is a small user group but it’s also high profile. The best discussion I’ve seen, so far, is George Schlossnagle’s Advanced PHP Programming (it’s an excellent read – will post a longer blog on it in the near future) but other than that, it’s hard to get a clear picture of what constitutes sensible technology decisions when running a high traffic site. There experience is “out there” – Sitepoint itself is an example, ranking in the top 1500 sites, by traffic. The problem there seems to be getting developers to share their experience.
Another (guess) big user group which is largely ignored is those employing PHP on corporate Intranets / Extranets (that includes me so I’ve got opinions). I would hazard a guess that of the top 1000 companies in the world, 80%+ have PHP in action somewhere (although probably also unaware of the fact at a managerial level).
This group faces an entirely different set of problems – performance is often less important, traffic being relatively low. Being able to integrate PHP with a whole range of “back office” systems as well as desktop applications is the biggest issue for this group, integration with Windows being the #1 problem.
It’s typically not acceptable to implement a standard, data driven CMS, for example, users demanding the ability to publish Word documents on the Intranet while also wanting to avoid having to maintain multiple versions of the same document (one on the web server and another on the workgroup server). Users may also demand being able to login with the same username / password as their NT workstation.
There’s likely a whole range of uses that PHP gets applied to in this “segment”, such as sysadmin tools, online reports (data extracted from company databases), publishing company documents, broadcasting internal news, as the front end to CRM systems, online groupware tools, system interop with PHP as “middle man” (e.g. XML-RPC / SOAP) and lots more. At the same time, finding Open Source tools written in PHP to help integrate with existing corporate systems can be tricky – you’ll find few, if any, examples of these types of application on sites like Hotscripts.
COM in particular get’s little attention in mainstream PHP circles but has alot to offer for Intranets / Extranets. Unfortunately, if you’re looking for a way to help users publish Word documents, wvWare is probably a better place to start looking today or alternatively require users save as HTML then strip out what you need with PHP. That PHP Windows (in fact applications running on Windows) integration doesn’t seem to be well charted could be for a number of reasons, from PHP being a fundamentally bad choice to lack of developers with experience of both PHP and common Windows APIs. At the same time strikes me there’s be a huge (even commercial) demand for tools able to put Outlook email online (it’s do-able: certainly with Python and PHP’s COM support isn’t such a far cry from Python’s and getting better with PHP5 thanks to Wez).
Anyway – starting to ramble and have committed the sin of starting a discussion without reaching a conclusion. Anyone got any stories of other, less talked about, uses of PHP?