The “Birth of a Site” Project

Am I the only one that feels like web development is a tug of war? Nearly project I’ve worked on seems to have:
the “suits”, who have a vision for expanding the business but couldn’t give a flying hoot about the quality of their code
developers, who often care deeply about the code but don’t give a rotten pizza about the business concept
designers, who care about making things pretty and fuck everyone else
Is anyone else sick of designers who demand pixel-perfect implementation, even if it doubles website load time? Of apathetic developers who need hand-holding? Of conscientious developers insisting on Cisco-grade infrastructure for a website selling pickles? Of management requesting a castle when you’re halfway done building them a bridge?
On the flip side, how many entrepreneurs out there feel like you’re throwing money away on inefficient development, because you don’t know what to look for? How many of you developers have a brilliant idea, but wish you knew more about branding and marketing?
Methinks the web has got a serious communication problem to solve.
Enter [Birth of a Site]. This brand-spanking-new project aims to educate the public about web development best practices in a holistic way, encompassing technology, marketing and design. And we are going to do it /through the development of the site itself/. If you visit the site now, it’s just a landing page with an email address. Accordingly, the first articles will be about picking a domain name, setting up email, picking the hosting you need and getting started with version control. Then, stay tuned for interviews with industry experts as we go through the steps of a smartly-planned web development project:
Choosing a name – should reflect what you do, with the additional challenge of being a catchy and available domain name
Using the name – filing the legal paperwork, setting up email and a simple landing page
Fleshing out the brand – what exactly do we offer, and how will we market it?
Agility – how do we prioritize what needs to be built immediately, and plan for scaling up in the future?
Gathering content for the website – how can we communicate our message?
Designing the website – how can we use design to present the content?
Building the website – how can we best use technology to meet our needs? How can we pick developers who will build a good product? Should we build one to “throw away” before we build a final, solid version?
Promoting the website – how can we get the right people to visit our website?
Did I mention we plan on trying some hotshot new technology (well hello there, NoSQL), and open-source anything we build in the process? Github, here we come!
If you’re an expert in any of the topics above, please contact me at info at the birth of a site domain – I want to interview you! As for the rest of you, see you over at [Birth of a Site].

The Problem with Web Development…

Am I the only one who feels like web development is a tug of war? Nearly every project I’ve worked on seems to have:

  • the “suits”, who have a vision for expanding the business but couldn’t give a flying hoot about the quality of their code
  • developers, who often care deeply about the code but don’t give a rotten pizza about the business concept
  • creatives, who care about making things pretty because screw everyone else

Methinks the web has got a serious communication problem to solve.

The Solution: Openness and Education

Enter Birth of a Site. This new project aims to educate the public about web development best practices in a holistic way, encompassing technology, marketing and design. And we are going to do it through the development of the site itself. The vision is to document every step of developing this static landing page into a full-fledged content portal, full of interviews with industry experts on the process of creating a quality website, from choosing a catchy name to hiring reliable developers to marketing your product. How meta is that?

We plan on trying some hotshot new technology (well hello there, NoSQL; HTML5, how you doin’?). And of course, the project and anything we build in the process will be open-source. The evolving source code will be posted to Github.

If you work with the web, we want to hear from you.

If you’re an expert in the web – be it development, design or marketing – please leave your suggestions in the comments, or contact me to set up an interview.

See you all over at Birth of a Site!

Posted in Birth of a Site | Leave a comment

How to Monetize Your Blog: A Really Dumb Recursive Formula

Sometimes I’m stupid enough to subscribe to some online marketing newsletter. I got two this week from different “marketers” whose content was almost identical. They went something like this:

Want to make money off your blog?? I make $100000000 a week off my blog! Here’s How! Click here for this magic formula! Drive Traffic! Make dollars!

And of course, clicking takes you to an order page where you can shell out some hard-earned money for a PDF containing their “magic formula”.

Well I like you, dear readers, so I’m going to tell you their secrets, absolutely FREE! Here’s the trick to “monetizing your blog”:

  1. Put up a newsletter subscription form
  2. Write some nonsense about how much money you make off your blog, even if you don’t – this will drive traffic
  3. Blast your users with stupid annoying emails promising them the secret to blog monetization
  4. Put these steps 1-4 into a PDF and sell it for $30

It’s recursive!

Posted in Funny | 2 Comments

“Drupal Sucks” Followup: Drupal Alternatives

First of all, thanks to everyone who read and commented on the original post. If nothing else, I got some (angry) tips for how to improve my Drupal experience when I do have to use it. It reminds me of this bash.org gem: Start the sentence with “Linux is gay because it can’t do XXX like Windows can”, and you get Linux geeks rushing to angrily help you. So again, thanks everyone.

That said, I haven’t changed my general opinion about Drupal, and this week I’ll be addressing some of the recurring points from the comments.

Let’s start with:

Q. What do you recommend in its place and under what circumstances?
Read More »

Posted in Design, Technology | 21 Comments

Run IE6, IE7 and IE8 on the same machine

Need to test your site in multiple versions of Internet Explorer? I just downloaded DebugBar and was beyond impressed. With a couple clicks, you can open a url in a single tabbed window with all IE versions 5.5 through 8. Grab it here.

Two years ago I endorsed Multiple IE, but unfortunately they’ve dropped the ball on Vista and IE8 support. I recommend upgrading to DebugBar.

Posted in Technology | Leave a comment

Drupal Sucks

Edit: First followup posted.

Are you choosing a Content Management System for your next site? Allow me to throw in my two cents against Drupal. In theory, Drupal is a CMS that lets you control your site out of the box. In practice, it’s a nightmare to configure and maintain.

I recognize that Drupal might work for small sites: install the software, upload your custom theme, and start adding content. But if you’re planning a serious site, with custom features and potential for high traffic, Droople, as I’ve christened it, might not be your best bet.

Apologists may protest that module X or hack Y might fix my gripes with Drupal. I think this is irrelevant. A CMS requiring a slew of third-party mods before it can be usable is useless to someone who can code a custom Rails CMS in a day or two. (Hint, hint. Build it in Rails.)

Without further ado, here is a breakdown of why Drupal is bad for the various parties involved, together with Why It’s Bad (WIB) notes for the less tech-savvy.

Read More »

Posted in Technology | 199 Comments

What are your shortcomings as a programmer?

What embarrassing shortcomings do you have as a coder? I find that I often need reference material when dealing with:

  • File permissions (chmod)
  • Regular expressions (Apache rewrite rules, Ruby regexes etc)

Does anyone else feel the same way? Do you have any good tutorials that can rid me of these handicaps once and for all?

Posted in Technology | 3 Comments

This Week in Brief

I’m all over the web except here these days. Two highlights of my week:

Posted in Uncategorized | Leave a comment

Upgrade to Symfony 1.2: Have your layouts stopped working?

I had a Symfony 1.0 app and I finally decided to make the leap to 1.2. Lo and behold, this mysterious error cropped up:

Notice: Undefined variable: site in /path/to/myproject/apps/site/templates/layout.php on line 10

If you’re upgrading from 1.0, you may suddenly notice that you get these “undefined variable” errors. That’s because global variables are deprecated in layouts as of Symfony 1.1, to be replaced with slots. Generally, a wise idea. More info here: http://trac.symfony-project.org/wiki/Symfony11LayoutUpgrade

Posted in Technology | Leave a comment

RubyOnRails.org Parked

Remember to pay your domain fees, folks:

RubyOnRails.org actually showed this for a good few hours. TechCrunch has the full story.

Posted in Funny, Technology | Leave a comment

Symfony, Doctrine, preSave and postSave

My new Symfony app calls a remote web service as part of the user creation process. Since this is intimately linked with the model (I want this behavior executed for my fixtures, too) it makes no sense to call the web service from the controller.

Like Ruby on Rails, Doctrine has some handy built-in hooks to execute code before and after saving a record. Here’s what my updated model looks like:

class sfGuardUser extends PluginsfGuardUser {
 public function preSave($obj){
  some_voodoo_magic($this->get('id'));
 }

 public function postSave($obj){
  call_my_special_webservice($this->get('id'));
 }

}

Posted in Technology | 2 Comments