Archive for July 12th, 2005

PHP Help Wanted

I’m starting to write the specifications for the new project’s software. We’ve got some interesting things to build:

  1. a specialized content-management system
  2. a show-assembly system that combines audio files according to scripts
  3. content-distribution interfaces (our CDN, BitTorrent, Internet Archive, etc.)
  4. a membership-management system
  5. extensive ratings, reputation and personalization features
  6. event/engineer matching system

I plan to build most (if not all) of this in PHP, based to some extent on the existing code written by yours truly. Almost everything will be open source, and I hope to send out the word for interested developers within a month.

But in the meantime, I need advice from one or two people who have built successful large-scale projects in PHP. I wouldn’t call what I’ve written to date spaghetti code, but I’m sure I didn’t organize it the best way. For example, here are some questions I have:

  1. What’s the right way to organize source files in terms of common/include files for parameters, common functions, etc?
  2. What’s the best way to manage database connections? My current code sometimes opens and closes the database multiple times per page rendered because of the moudularity of the source files.
  3. Can you provide a link to an open-source PHP project that you think is well organized and architected? I’d like to read some source code to look for best practices.

At this point, it would be great just to get #3: some links to well-designed code. But if you’re interested in doing more, just send me a message. (doug@rds.com)

Mike Gets It

Mike Dunn wrote: “Try starting w/ (guess what) your customers – what are they already doing and how can you morph to accommodate their desires.” This is in the context of Mike’s review of a CBS News story about an annual retreat of media execs in Sun Valley.

There are a few fundamental principles that have driven me to start a new non-profit to capture, produce and distribute spoken-word events worldwide. I didn’t discover these on my own. Far from it. In fact, it has taken a long time for the implications to really sink in from reading and talking to the Lessigs, Lasicas, Weinbergers, Doctorows, Kahles and Searls of the world. I’m sure I still don’t understand all of the ramifications. Two of them are:

  1. Free content is more valuable than paid content. When content (or whatever you choose to call it) can be freely linked to, blogged, reviewed and remixed, its value to the world (and hence to its creator/owner) escalates dramatically. Conversely, if you put your content behind a toll gate or hinder its access or reuse in any other way, you drastically reduce its value.
  2. Listen to your customers/readiers/viewers/listeners. I was at a party in New York a few weeks ago and found myself arguing with a film producer. First of all, he didn’t get that large-scale pirating of movies in Asia is any different from individuals sharing files. To him it was all theft, and damnit — it was his content and he was going to decide who could see it, where, when and how. I tried to explain that his viewers were trying to send him a message. They want to see his films when and where they want, and that they’d be willing to pay for that privilige. They want it so bad, in fact, that they’re willing to steal his films. If only he would listen and provide a solution to meet his viewers’ need rather than fighting with them, at least this ‘problem’ could be solved. This guy’s wife got it right away. He’s blind to it.