Startups
Domain Name buying tip: Know your phonetics and morphology
Feb 3rd
Anyone buying a domain who is concerned about competitors or domain name squatters sneaking in should consider:
1. The homophones (i.e. same pronounciation) for the prefix (if any), root and suffix (if any) of the domain name (e.g. fone and phone)
2. The plural form or singular form for nouns (e.g. -tune and -tunes)
3. Other tenses of verbs (e.g. -stack and -stacking (gerund) or -stacked (past participle))
3. The hyphenated form for compound words
I’ve paid 3x for a plural version of a domain that someone grabbed after I’d just bought the singular form. Unfortunately consumers tended towards the plural form when recalling the name which made the purchase necessary. That’s another strategy domain squatters may use against you when you purchase a domain name – they see the registration change, know that the name is worth something to someone and so they immediately grab the plural form.
A good domain name finding tool would include phonetic and morphological tools to help you find domains where all relevant forms are available (startup idea for someone).
Protecting your customer database by including fake people!
Feb 2nd
Last week I received a spam email. The interesting thing about it was that it was sent to an email address that I used for only one purpose: signing up to a local startup’s service. By using a unique email address for every site (and a catch-all to funnel them into one email box) I can track each email that I hand out. I hadn’t even used that particular site since signing up and there was no recent email to or from them in my inbox.
But since I received spam on that email address I can conclude one of three things:
1) My own computer has been compromised – unlikely since I would likely receive spam on all my email addresses if that were so.
2) Someone at that startup sold the customer database to someone else
3) That startup has had their security compromised and someone has stolen their customer database.
And so to the question:
What measures do you put in place in your startup to protected your customer database? Do you seed your customer database with fake names and emails so you can track how it is being used?
Seeding customer lists to track usage has been standard operating procedure for direct mailing lists for decades. Any list that you rent to mail to will have seeds in it that the list owner uses to track each mailing to ensure that it has been paid for.
As a startup, if you aren’t seeding your customer database in this way, you should be.
How to shoot good video
Oct 8th
When shooting video, whether for your family or for your startup here’s a list of steps you should consider:-
1. Get a good HD camcorder
Even the cheap lightweight ones do a great job these days. I use a Canon HF100 for most of my video. You can get better camcorders but they tend to be larger and heavier. There’s a lot of truth to the saying “the best camera is the one you have with you”. Having one small enough to carry in your pocket may make the difference between capturing the moment or not.
2. Get a tripod and use it
Use a tripod, (or if you don’t have one with you, a fence, rock or column) to brace against. This will make a significant difference to how professional your video looks. Holding the background motionless will also improve the overall video quality of your movie when it’s displayed on the web because video compression codecs work best when there’s less motion. Codecs allocate information carrying bits to the parts of the image that need them most. A stationary background doesn’t need many bits to represent it. That leaves more bits available to encode the subject in more detail.
3. Never walk with your camcorder while it is recording
Unless you are deliberately trying to create a nausea inducing, Blair Witch -like project stand still. Shoot, hit stop, walk to new location, hit start.
4. Shoot from multiple angles
Before the show begins at your school performance, or during applause, shoot some audience footage. You can splice this in to the show to make the video more interesting. Having some “b-roll” footage like this is also useful to replace any bad bits of video from the performance as a whole. For example, in the middle of the show you leave the camcorder running to capture audio but you move the tripod to the other side. You can use your b-roll footage to replace the video but leave the audio from the original track.
5. Never pan or zoom
Panning is useful only for landscape shots and to look good it needs to be done using a tripod with a smooth panning action (fluid head). In nearly all other situations panning is bad and unprofessional. The same holds for zooming. Don’t use the zoom feature on your camcorder while it is running unless you can do it very smoothly so it’s barely perceptible.
6. Treat your video camera like a still camera
This encompasses some of the previous points. You want to set up a shot, shoot it, and then stop the camcorder before moving to a new position, zoom level or direction.
7. Audio is 75% of video
As a rule of thumb some professionals say that the audio is 75% of the experience you are delivering. The human brain can extrapolate and interpolate images really well to make sense of even the most jumbled video, but if your audio is not clear, if you can’t hear your child on stage delivering their speech, your video is worthless. So before investing in a bigger camcorder consider getting a better microphone for the one you have. At the very least, find somewhere to stand where you can minimize the background noise, away from the A/C units, away from that noisy person who won’t stop talking, …
8. Get some light on the subject
Get people outside where there’s lots of natural light, or get them to stand under a light to improve the quality of your video. Even a couple of garage-style halogen lights can make a huge difference when shooting indoors. But don’t ever point them directly at the subject, bounce them off a ceiling instead to get a more diffuse and natural light without harsh shadows.
9. Use your video to tell a story
Begin with a wide, establishing shot so the audience can identify the location. Shoot a clip of the city sign as you drive in, shoot a clip of the venue from the road. Next shoot some medium shots: the stage, the audience, … And finally shoot lots of close up shots.
10. Do it twice!
If you get the chance, for example, the school play is held twice, two nights in a row, attend both and shoot both. Maybe shoot one as close ups and the other as a medium shot to capture the whole stage. Now you can edit them together to create a much more interesting video.
11. Avoid moving backgrounds
A stationary background with a tripod mounted camera will produce the best looking compressed video output. Filming with the sea behind your subject for extended periods of time is rarely a good idea.
12. Avoid using lots of different effects and transitions in your edited video
There’s a saying amongst video professionals: “transitions are for people who don’t know how to cut”. There’s a lot of truth to that. But, if you really must use transitions, use them sparingly and pick just one and use it consistently through your video. Transitions can be used to good effect to show that something is happening in the story you are trying to tell, e.g. the move from one location to another.
Finding good, short domain names
Oct 7th
Finding a good, short, memorable domain name is tough, not because there’s a shortage of short phrases in the English language but because there are so many domain squatters sitting on millions of suitable domain names.
Two services I’ve used that work quite well are:-
http://www.nxdom.com
This is a local startup with a very simple one-page site that helps find available short domain names.
http://justdropped.com
This one shows domain names that have recently been cancelled and a therefore available without having to pay any premium. At some point someone thought these names were worth having so occasionally there’s an interesting one there.
Continuous Link and SEO Testing – Announcing LinkCheck2
Sep 21st
First there was Continuous Integration, then there was Continuous Deployment, now there’s Continuous Testing.
Testing can (and should) be integrated throughout your web site development process: automated unit-testing on developer’s machines, automated unit testing during the continuous integration builds and then further automated testing after your continuous deployment process has deployed the site to a server.
Sadly, once deployed, most sites get only a cursory test through a service like Monastic that pings one or more URLs on your site to check that the site is still alive.
BUT, how do you know if your site is still working from a user’s perspective or from an SEO perspective? Serious bugs can creep in from seemingly small changes that aren’t in code but are in the markup to a site, these are often not tested by any of the aforementioned tests. For example, a designer editing HTML markup for your site could accidentally break the sign up link off the main entry page, or the page you had carefully crafted to be SEO optimized around a specific set of keywords could accidentally lose one of those words and thus loses rank in search engines causing your traffic to go down. Would you even know if this has happened?
Based on a small test I ran on some local startup web sites, the answer appears to be ‘no’. These sites often had broken links and poorly crafted titles (from an SEO perspective). Of course they could have used any of the many SEO services that can check your site to see if it has broken links or poorly crafted titles and descriptions (e.g. seomoz.com), but that’s often a manual process and there’s no way to link such tests into your existing continuous integration process.
What would be nice would be if you could include a ‘Continuous Link and SEO test’ on your Continuous Integration Server. This test could be triggered after each deployment and it could also run as a scheduled task, say every hour, to check that your web site is up and that all public pages are behaving correctly from a links and SEO perspective. It would also be nice if there was some way to get a quick report after each deployment confirming what actually changed on the site: pages added, pages removed, links added, links removed.
This is what my latest utility ‘LinkCheck2′ does. It’s a Window command line application that produces a report, and it will set an error code if it finds anything amiss. You can run it from the command line for a one off report or call it from your continuous integration server. The error code can be used by most CI servers to send you an alert. If you are using the changes feature you’ll get an alert when something changes and then on the next run it will automatically clear.
LinkCheck2 also includes the ability to define a ‘link contract’ on your site. This is a meta tag you add to a page to say ‘this page must link to these other pages’. LinkCheck2 will verify that this contract has been met and that none of your critical site links have been dropped by accident when someone was editing the markup.
At the moment LinkCheck2 checks all links and performs a small number of SEO tests (mostly around the length of titles). If there is interest in this tool I may expand the SEO capabilities, please send me your feedback and requests.
Use of LinkChecker.exe is subject to a license agreement: in a nutshell: commercial use is permitted, redistribution is not. Please contact me for details.
Startups: Here are your hosting options
May 22nd
Here are your hosting options:-
Dedicated server in colo facility: Highest up-front cost, you need to be operations person too, Lowest latency, best performance per $, entire machine is yours so blazingly fast when lightly loaded, can run virtual servers, cannot scale up or down rapidly based on demand. Typically given 5+ IP addresses so you have lots of flexibility in hosting multiple sites on the server.
Dedicated server rented: No up-front cost, higher cost per month than dedicated, easier to upgrade to new hardware. Someone else’s problem when it breaks. Typically come with a single IP address.
Virtual Servers: Can add new server instances / environments easily. You can run these on your own server or rent them from someone else. Great for load balancing to get the most out of your hardware. Typically somewhat limited in how much RAM you get.
Cloud Servers: Just like having a virtual server but you can scale up or down easily to add new instances. Highest cost per CPU cycle. You get what you pay for but no more – even if the server you are on has spare CPU cycles you are typically limited to the fraction you are paying for. Shared network, virtual disk, … means it will never be as fast as a dedicated server.
In the end after trying cloud servers, virtual servers and dedicated servers I went with the first option: dedicated high performance servers with SSD drives in them hosted in a colo-facility. This setup outperform all the other options significantly providing lower latency (better response times) and the ability to run multiple virtual server instances on them for complete isolation between services, and in the long run it will be cheaper also. Later when we need to scale up or down based on time of day we will probably combine this approach with some extra cloud servers but at the quietest times of day I would expect to have no cloud instances running.
Email opt-out: Here’s a great example of how to do it right
Apr 27th
I came across this opt-out screen today. It’s one of the best examples I’ve seen recently of an opt-out screen done right.
First, they try to fix one of the key reasons people opt out of email: they are still interested but they want less email.
Then they give you the option to really just quit completely.
Then they give you the option to change your email address.
It really looks like they have done their homework, presenting these in the order that most likely applied whilst also trying to keep you as a recipient.
Anyone implementing email notifications for their startup should also take a look at CAN-SPAM.
WordPress Plugins I’ve found useful so far
Feb 1st
Broken Link Checker
Checks your posts for broken links and missing images and notifies you on the dashboard if any are found.
Flash Photo Gallery
Creates a Flash Photo Gallery like one provided in Adobe Photoshop CS2 Flash Web Photo Gallery templates.
Google XML Sitemaps
This plugin will generate a special XML sitemap which will help search engines like Google, Yahoo, Bing and Ask.com to better index your blog.
HeadSpace2
Meta-data manager on steroids, allowing complete control over all SEO needs such as keywords/tags, titles, description, stylesheets, and many many other goodies.
Next Page
Provides shortcodes and template tags for next/previous navigation in pages.
Page Flip Image Gallery
FlippingBook Photo gallery plugin with page flip effects.
Page Tagger
Enables tagging for pages. PHP 5 required.
Photo Dropper
Lets you add Creative commons licensed Photos to Your Posts from Flickr. By activating this plugin you agree to be fully responsbile for adhering to Creative Commons licenses for all photos you post to your blog.
Useful 404′s
Create more useful 404 error pages, including email notifications for bad links. See http://www.alistapart.com/articles/amoreuseful404 for the inspiration behind this plugin.
Defining Cost of Sales for a SaaS or Software business
Jan 29th
I was asked today how to go about defining “cost of sales” for a software startup, here’s what I wrote:
From the perspective of constructing a useful financial model for your business the key issue is Fixed Costs vs. Variable Costs. If you sell more units / licenses does the cost scale accordingly (either linearly or step-wise)? Items like support, bandwidth, EC2 instance hours, commissions, … might all fall into this category. But if you only need just one email server ever then it’s clearly a fixed cost. As a startup you might want to model cost of sales as zero – you’ve bought a server, you have bandwidth to spare, nobody is on commission, … but eventually you’ll get to the point where these things do scale with the number of customers and should be modeled as variable costs. “Cloud computing” can also help move fixed costs to variable costs and can reduce your burn rate early on.
Separating variable costs from fixed costs allows you to figure out your gross margin, to understand how the business will scale and to find your break-even point. If you have a negative gross margin and no way to make it positive later you will never make a profit (net margin) so quit today! If you have a positive gross margin, how large do you need to scale your customer base to cover your fixed costs too and thus reach break-even? Of course nothing is ever that simple: you will still have some ‘fixed’ costs that move up in steps as you grow your sales making the break-even analysis slightly harder.
Constructing a financial model using “Variable Cost Accounting” like this helps you understand the business and helps you compare it to other businesses using standard ratios and terms.