Monthly Archives: March 2006

“So you wanna start a blog?”

“So you wanna start a blog?”.

Since it’s now possible for newcomers to the blogging world to set up a Blogger or account in mere minutes without the slightest idea about what one is doing or why, it seems like 98% of the blogs on the Web boast but a half-dozen erratic posts before going dormant forever. Of those that are left, most offer only simple “my link for the day” posts, which of course are fine for friends or people of very similar interests, but not so much for the world at large.

Now that I’m in the process of starting a new blog (on Sherlock Holmes), I figured it was about time to write down and share a few of my wildly-scrawled ideas concerning how exactly I go about such a thing (or, how I occasionally help others in a consulting capacity to do the same).

Like most other things, I conceive of a blog as a project, to be given due consideration, planning and effort. As such, I brainstorm, write notes, prepare a vision, gather resources, construct initial timelines, experiment with form, evaluate delivery options, and so on, before I even think of doing that magic little incantation which causes the blog to appear. I’m not going to get into all of these here. What follows are rough notes, not a course. But first and foremost to keep in mind is the approach: a lacklustre preparation usually leads to a lacklustre site. On the other hand, all the preparatory time in the world won’t mean squat if you don’t have the discipline or wherewithal (or –*ahem*– ego) to keep it up.

A clear vision is the primary thing to keep in mind. Vision leads to purpose, purpose leads to motivation, motivation leads to regular posts, regular posts lead to regular readers. So what’s this thing of yours going to be? Is it going to be a site to explore or exploit a niche interest of yours? Is it going to help develop commercial opportunities? Is it a playground to learn new technologies or methods? Is it to provide feedback for a project or cause you’re involved with? Or is it an ego thing, where you’re going to post idle thoughts as you feel like it? If the latter, pay attention: remember the 98% of dormant blogs? Almost all of them fall into this category. Repeat after me: “I want this blog to ….” Fill in the blank. If you don’t have a coherent point or two, then you lack a vision with focus.

Now, a lack of focus doesn’t necessarily mean that the blog won’t be a success, but it sure makes it a lot more difficult to maintain. For example, this blog doesn’t have a strong focus. That explains the erratic posting, the subject matter covering no particular ground, and the wide variations on quality. However, this blog does have a purpose: it’s an outlet for me to practise my writing skills, especially on those topics that don’t fit into my other, more specialised sites. Practice is necessary for a writer, of course, and it helps to have actual readers as motivation. Don’t believe me? — try joining a writing club where you have to produce materials to read aloud each week, and enjoy a newfound discipline. (Private material is obviously kept offline, since I figure no one needs to know about my Sturm und Drang, or my sex life either, for that matter.)

For the new Holmes blog, I have a vision with two primary purposes: to learn more about my subject matter by exploring a new facet each day; and to help others explore the character of Sherlock Holmes not only as a cultural phenomenon, but as something far beyond the stereotypical cartoonish figure with deerstalker and magnifying glass. Secondary purposes: to indulge in a relaxing pastime each day; to provide a hub or lens to focus on all the rich sites scattered throughout the web; to introduce the joys of old time radio shows to the iPod generation; and –last but not least– to provide a little fresh Sherlock to fans every day.

Ultimately, a blog faces two great dangers: boredom and degree of effort. Boredom is almost always inevitable, at some point. Having a purpose can get you past these dry spells and recharge your batteries when necessary. At times, the topic of productivity can get quite stale for me; having a clear purpose for means that I know my goals and can work towards reaching them, which means writing with an end in mind. Then there are some people who love their subject matter so much, and have so much free time, that they may write copious amounts of text each and every day. It’s a very rare individual that possesses this degree of commitment and time — I’m afraid that isn’t me. Ask yourself why you’re starting a blog. Do you have a good answer? If so, you can overcome these obstacles, as long as you possess enough discipline, passion or ego.

Vision also leads to the type, frequency and angle of the posts. Who are you writing for, how often, and what sort of material will you be providing? For this blog, my material is almost always original, and therefore tends to be rather irregular: things are posted as they’re done. For, each volunteer writer has a slated day for posting an original article, usually concerned with a particular subject matter (although personal and professional issues sometimes mean that the posts may be postponed). Deadlines can work, as long as one is strict about them. For the Holmes blog, I’m intending a daily post each weekday. Some of these will be original writings, some will be graphics or advertisements, some will be radio shows, and some will feature links with quotes from other sites. This variation is important to me — it means that I don’t feel the pressure of having to write entirely new text each day, and yet I can still keep to a daily schedule of providing interesting material. If you wander into a blog with no idea of your target audience, frequency, or type of posts, statistics dictate that the blog may not last long.

Since we’re on the topic of readers, figure out what part these people play in your blog. I’ve always believed in the idea of fostering feedback and community, so I prefer to hear from readers as much as possible. Other bloggers don’t allow comments to be left on their blogs; this strikes me as a old-style schoolteacher who lectures at the podium without interacting with a class, or a politician who refuses to field calls from constituents except at election time. How do you know what people want, unless you allow them a voice? Allow them to be publicly heard, and you show them a greater respect, not to mention a willingness to involve yourself in honest discourse. This has the added effect of building loyalty, as well as traffic between your site and others.

Another thing I keep in mind while planning: alternate ways of providing material, besides your own posts. These commonly tend to fall under certain categories (although others do exist):

  • Other posters, either regular or as guests
  • Constantly changing links, with comments (such as a roll or two)
  • Syndicated material from other sites (lists of recent posts, pointing to the articles and updated automatically)
  • Shoutboxes and comment feeds, where people can leave messages on your site that appear as a scroll or feed of some type (great for sites fostering heavy discussion)
  • Information fed from other sites that you may have contributed to, such as a series of thumbnails from your recent Flickr posts

My blogs already have several of these, and my Holmes site is no exception. For example, I often come across interesting pages about Holmes or Conan Doyle at other sites. I can simple post it to with a “sherlock” tag, and have all those links appear automatically in a box on the new blog. News, I tag with “shscandal”, and it will show up in my Scandal Sheet section. There’s something to be said for automating as much of your content as possible. On the other hand, some people take it to the extreme: their blogs are no more than simple portals, taking others’ information and posts, and simply displaying it within their own pages. From time to time, I actually find my AMMT or DIYPlanner posts copied in full on other sites, sometimes without even an acknowledgement of my name or site! Needless to say, this is a way to upset others. Don’t do it.

If you have a somewhat personal blog and only foresee low traffic numbers, then the idea of financial support probably doesn’t strike you as important. But even fledgeling blogs stand a change at covering basic hosting charges through Google ads and an Amazon Associates account, both of which are very easy to set up. The former means pasting a little chunk of code into your blog for an ad to appear, and the latter means constructing links that, if followed, snatch you a small percentage for each book sold. If your traffic picks up due to your growing technical and/or marketing know-how, your amazing content, or perhaps even a random fortuitous link, it means you have a shot at getting dedicated advertisers or special types of ads, such as in RSS feeds, which can bring in even more pocket change.

Be aware, though, that blogging is a hard thing to do for a living. Many have tried, carefully plotting their business model and putting in endless hours of content creation, and have ultimately failed. All is not lost: there’s always publicity, financial opportunities (chiefly job offers and freelance contracts), networking, a reputation as an expert, and other outcomes to keep in mind. Many people have turned hobbies into occupations or legitimate businesses; a blog is no different. Just don’t toss out a few words here and there and expect the world to come knocking at your door with fistfuls of cash. The dot-com era is over, and it’s unlikely that VCs are going to want to pay for you to post stories about Fluffy and his big honkin’ furballs, complete with a flashing Purina advert.

Getting the word out is not easy, either, unless you’re “tapped in” to a number of blogs or discussion sites where people will probably want to read your material. In my case, AMMT and the D*I*Y Planner got a good start when I mentioned my (then rather primitive) little templates on some productivity sites and mailing lists I frequented (read: was obsessed with). This, I believe, is a good example of what to do: if you have a particular subject matter in mind, announce it in those places where people with a similar interest can be found. It sounds logical, and it is. But try not to appear out of the blue and start promoting yourself. Hang out, discuss, leave your URL in your signature, say profound things, and people will learn to respect you and actually want to hear your thoughts. Being a lurker counts against you in such cases, as it will when you start posting. People want to read the opinions of someone with something to say.

Of course, one can get an immediate traffic boost by writing something sensational that caters to the audiences of a major site like SlashDot or bOINGbOING, then submitting the link. But you’ll be one among hundreds, if not thousands, that submit their wares that day, so don’t count on being picked up. And even if you are, once the hordes come (and possibly bring your server and spam filters to their knees), they had better find other materials on your site that they want to read, or else you’ll not be bookmarked, or have your feed taken, and in a few days you’ll be sitting in your big ole’ empty room again, like the aftermath of the proverbial party that wrecked your house and went off to other, more popular hosts with better booze.

And lastly, stay away from “link exchange sites”, as these rarely work. Why? Because the only people who exchange links with them are newbies with oft-lacklustre content, and whom few people read. In the mathematical voodoo of search engines, this generally racks up very few points, and you’ll definitely loose those points with net-savvy people who visit your site, only to find scores of random links to furball Fluffy and obsoleted blogs with smatterings of “I found this cool link today: link”. Yup, these are like the unpopular kids in the schoolyard that try anything to become accepted. Rise above that, become an individual, and speak your mind. That’s why people will listen to you, and visit again and again. Once they find you in the first place, of course. (And that’s the hard part.)

Well, that concludes my few pages of wild and woolly notes. Hopes this helps someone out there…. 
[a million monkeys typing]

Easy DIY online database

Easy DIY online database.

Lazybase is a simple database application for creating simple online databases. Here's the feature list:

  • No logins. A secret URL gives editing access to the database
  • Create new types of items, or use the samples provided by Lazybase
  • View lists in many ways, on maps or on graphs
  • Link types together (for example have orders linked to customers)
  • Easily add a view into your Lazybase database to your own website
  • Bookmarklet generation, RSS feeds, and more

Thanks to Toby for the tip!  

Rails 1.1: RJS, Active Record++, respond_to, integration tests, and 500 other things!

Rails 1.1: RJS, Active Record++, respond_to, integration tests, and 500 other things!.

The biggest upgrade in Rails history has finally arrived. Rails 1.1 boasts more than 500 fixes, tweaks, and features from more than 100 contributors. Most of the updates just make everyday life a little smoother, a little rounder, and a little more joyful.

But of course we also have an impressive line of blockbuster features that will make you an even happier programmer. Especially if you’re into Ajax, web services, and strong domain models — and who isn’t these funky days?

The star of our one-one show is RJS: JavaScript written in Ruby. It’s the perfect antidote for your JavaScript blues. The way to get all Ajaxified without leaving the comfort of your beloved Ruby. It’s the brainchild of JavaScript and Ruby mastermind Sam Stephenson and an ode to the dynamic nature of Ruby. . . .

The recently launched API for Basecamp uses this approach to stay DRY and keep Jamis happy. So happy that he wrote a great guide on how to use respond_to

Speaking of Jamis, he also added the third layer of testing to Rails: Integration tests. They allow you to faithfully simulate users accessing multiple controllers and even gives you the power to simulate multiple concurrent users. It can really give you a whole new level of confidence in your application. The 37signals team used it heavily in Campfire from where it was later extracted into Rails. See Jamis’ great guide to integration testing for more.

These highlighted features are just the tip of the iceberg. Scott Raymond has done a great job trying to keep a tab on all the changes, see his What new in Rails 1.1 for a more complete, if brief, walk-through of all the goodies. And as always, the changelogs has the complete step-by-step story for those of you who desire to know it all.

And as mentioned before, Chad Fowler’s excellent Rails Recipes has in-depth howtos on a lot of the new features. If you desire some packaged documentation, this is the book to pick up.

Upgrading from 1.0

So with such a massive update, upgrading is going to be hell, right? Wrong! We’ve gone to painstaking lengths to ensure that upgrading from 1.0 will be as easy as pie. Here goes the steps:

  • Update to Rails 1.1:
    gem install rails --include-dependencies
  • Update JavaScripts for RJS:
    rake rails:update

That’s pretty much it! If you’re seeing any nastiness after upgrading, it’s most likely due to a plugin that’s incompatible with 1.1. See if the author hasn’t updated it and otherwise force him to do so.

If you’re on Ruby 1.8.2 with Windows, though, you’ll want to upgrade to the 1.8.4 (or the script/console will fail). And even if you’re on another platform, it’s a good idea to upgrade to Ruby 1.8.4. We still support 1.8.2, but might not in the next major release. So may as well get the upgrading with over with now. [Riding Rails]

It's a great time to start a business

It's a great time to start a business.

Caterina Fake has a peculiar list of reasons why starting a company today is a bad idea. I say it's never been a better time to start a business. You know, the kind that develops a product or service and asks money for it.

Yes, it's a bad time to start a company on VC diesel, using me-too technology, flaunting your non-existing goods, doing tagging because it's cool, and spending all your time partying. Guess what? That was never a good idea.

I know we've been beating many of these drums to death, but here goes a recap of six reasons why you should start a business today:

  1. You don't need VC diesel to get your motor running. Working nights or putting money aside to run full-time for three months is enough to get off the ground if you have a great idea and enough passion to make it matter.
  2. You can actually charge money for valuable services. People have never been more willing to part with their credit cards to pay for services that improve their business or their life. You don't need to spend aeons and cumbaja meetings pondering HOW TO MONITIZE?! when all you need is a service worth paying for.
  3. You don't need mainstream tech to make a dent. No wonder you have a hard time finding people if you're only looking at the mainstream tech circles. You're competing for talent with all the risk-averse insurance companies of the world. We picked Ruby early and used Rails to get access to the cream of the crop. People bustling with passion to develop using tools they love.
  4. You don't need to live in San Francisco to make it big. Or rather, if you want to make it big, don't live in San Francisco. You'll get sucked in to the myths (you need VC!) and drowned by the parties. Most of the worlds talent does not live in that tiny spot of land. I developed the Basecamp, Backpack, Tada List, and Writeboard from Copenhagen, Denmark. And we have one of the greatest developers I've ever met in Provo, Utah. While the rest of the company is in Chicago and New York. The Rails core team includes people from Germany, Canada, Austria, and all over the US.
  5. You don't need a swarm of worker bees to take off. Of course its hard to find 10 or 20 great people by tomorrow, but you don't have to. We're entering a golden age of small teams capable of doing big things. Just get a band of three together and you're good to go for v1. Using modern tools and simply doing less software means that having more people is likely to slow you down rather than speed you up.

Thus, I believe it has never been easier to build a great business for the web, if your intentions are to simply be profitable and please a constituency of passionate users.

But yes, I agree with Fake that its getting harder to create a company with the intents to play the Web 2.0 Lottery. There can only be so many winners and if you're relying on Google or Yahoo to buy you out, you might want to pick a coupon for the powerball while you're at it. [Signal vs. Noise]

I finally got a chance to watch a couple of episodes of the new BBC series Doctor Who.  I loved the original and the new one seems great so far.A picture named drwho01a.jpg

Annenberg Center Principles: Net Neutrality

Annenberg Center Principles: Net Neutrality.

(Via boingboing)

In February, the Annenberg Center for Communication at the University of California convened a group of senior communication experts to discuss the hot topic of net neutrality. They agreed on a set of principles:

The Annenberg Center Principles for Network Neutrality

The goal of the Annenberg Center Principles for Network Neutrality is to provide a simple, clear set of guidelines addressing the public Internet markets for broadband access.

1. Operators and Customers Both Should Win: It is important to encourage network infrastructure investment by enabling operators to benefit from their investments. It also is important to ensure that customers have the option of unrestricted access to services and content on the global public Internet.

2. Light Touch Regulation: Any regulation should be defined and administered on a nationally uniform basis with a light touch. Regulations should be aimed primarily at markets in which it has been demonstrated that operators possess significant market power. The emphasis should be on prompt enforcement of general principles of competition policy, not detailed regulation of conduct in telecommunications markets.

3. Basic Access Broadband: Broadband network operators should provide “Basic Access Broadband,” a meaningful, neutral Internet connectivity service.* Beyond providing this level of service, operators would be free to determine all service parameters, including performance, pricing, and the prioritization of 3rd party traffic.

4. Transparency: Customers should receive clear, understandable terms and conditions of service explaining how any network operator, internet service provider or internet content provider will use their personal information and prioritize or otherwise control content that reaches them.

5. Encouraging Competitive Entry: Government policy should encourage competitive entry and technological innovation in broadband access markets in order to help achieve effective network competition and make available high speed Internet access to the largest number of customers.

* Network operators providing basic access should not insert themselves in the traffic stream by blocking or degrading traffic. Traffic should be carried regardless of content or destination, and operators should not give preferential treatment to their own or affiliated content in the basic access service. The specific parameters (speed and latency) of this service will be reviewed on a quadrennial basis. Current thinking is that speeds of 1.25+ Mb/s downstream and less upstream would be acceptable at this time, moving to increasingly symmetric bandwidth at higher speeds in the future.

[Smart Mobs]