Goodreads Widget

Something I found would be interesting, and asked Otis of Goodreads if it would be possible…

A widget for blogs (and other sites), using Javascript and the Prototype Library, that searches for authors and books, and attempts to reference them… instead of forcing you to link them yourself.  This would have been useful here.

Otis has created an API method for me to send queries to (will be available later tonight), and I’ll be using Javascript to look for “tags” in the text.  Two examples:

  • [author:terry goodkind]
  • [book:sword of truth]

Which would turn into direct links (or the closest match), spat out by Goodreads, to Goodreads.

I’ll be starting (and hopefully finishing) it this weekend.

Web Startups Done Right

I’ve written before on why some/many tech startups are just doomed to fail, but O’Reilly (the company behind the phrase “Web 2.0″) seems to agree with me on certain points.

The Basics

If you’re a company that wants to have a successful web application/service, you need three things:

  • good programmers
  • scalable server architecture
  • a vision

While the legitimacy of point number 1 is in question, that’s not what I’m getting at. Many companies, regardless of their grand (or not so grand) visions, and potential programming power, forget that your web application/service doesn’t mean anything if no-one can get to it, it’s slow, or it breaks.

Professional Recruiter
Maybe you should recruit for intelligence…

MySpace

MySpace is a perfect example of failing to prepare for the future. First, it’s written in ColdFusion. Second, it’s coded on a very low level. Third, it’s not built to be easily scalable. Have you seen the URL’s (”?fuseaction.item=123455&action=etc.etc.”)? Why do you think the site is so slow, even after it’s received alot of money and attention? Because the core code has not been rewritten and was not built with the future in mind (there’s a link to this statement somewhere on TechCrunch or R/WW, but I can’t find it at the moment).

Sweetness

You know, with all of the money that some of these web applications/services get, you’d think they would do something right. Facebook managed to, MySpace didn’t; Jaiku (and Twitter) did, Pownce hasn’t… the list goes on and on.

My Experience

I’m not claiming to be the best programmer in the world, but in coding my upcoming application “mySHOUToutLOUD (real consumer complaints, for real people), I’ve kept an eye on what I want the future to be. Here’s how…

  • GUI: coding in blocks and segments, and using things like header/footer files so that you can easily implement a graphical redesign
  • Codebase: creating your own function/code library that you re-use across the entire project, with clear and definitive names. Even if you replace 3 lines of code in each page with one function… that increases usability. Imagine that for much larger implementations.
  • Database: optimize database queries to the full extent possible. Enough said.
  • AJAX: do not use AJAX when your server-side language will do. An oveuse of it slows down your site, and may even break it. Ever seen Pownce?
  • Hardware: scalable. Many startups spend alot of money creating their own server clusters, which is fine… if you can afford to continue that in the future. The wrong thing to do is buy a couple of servers, set them up, and ignore them. I personally host with MediaTemple on their “gridserver” plan… even though I get frustrated with the lack of control sometimes, it’s very easy to scale since you just have to tell them to throw more “grid units” at your account… which does not cost $1000 each time you need one.

Server Mess
Wow, impressive. Want to go draw with crayons now?
My Future

I’ll find out in the coming months if my theories, which are supported by many others, are correct, and I implemented them properly… but the one thing I do know is that many many don’t.

This is why many web startups fail, or just break in half when they get any number of users. Stupidity is not an excuse.