Sometimes, revenue is free.
March 30, 2010
It’s often easy to get your head caught up in the clouds when starting a company, building a new products, or ogling over that new cloud computing service. What do you consider when making your final decision?
- aesthetics
- cost
- performance
- connectivity
Did you consider analyzing every data point, of every option, for all of these considerations?
The possibilities are exponential and represent how many possible places you could find revenue you didn’t know existed. If you’re a successful freemium startup, the answer to this question is yes. At least has been for Dropbox, Evernote, Pandora, and WordPress. It’s great how Evernote has their user costs down to the penny.
Is every line, pixel, and connection within your software tracked for profitability?
Real-Time is the new Web2.0: Both mean nothing.
March 5, 2010
So you come across a startup that’s pitching a “Real-Time” service, what do you do? Punch them in the face – now that’s real-time! Well, maybe that’s a bad idea, but you should completely tell them they’re not getting anywhere just by calling their service “Real-Time”. Here are some examples of concepts which can’t ever be real-time:
1. The News – Maybe if people as a whole were more intelligent, but, the closest you’re going to get is Digg or Reddit and those require thousands of data points (over time) before an article bubbles to the top of the relevancy list. The exception of course is “Bad News”, that could easily be done in real-time.
2. Product Pricing - Retailers have a hard enough time with loss prevention and maintaining profits than to care if their published prices and inventory are accurate or not. Sure, they have real-time inventory internally, but that’s a large enough dataset that it’ll never be replicated to a service provider; the short story is that you’ll never be able to get both an instant price and instant data at the same time.
3. Search (sites, news, or otherwise) – Indexing is hard and there’s only one cat in the game with the facilities to do so in real-time. The only problem is the rest of the world doesn’t have a supercomputer running their system and there will always be a delay before Google gets the memo. The exceptions here are sites that Google cares about but chances are you’re not going to be big enough for that, else, you probably wouldn’t be a startup.
4. Communications – There’s already an “app for that”. It’s called the phone and your voice. Pickup phone, call friend, profit. Anything else might provide real-time delivery on one end or the other, but chances are, one person in the party is playing a video game, watching youtube, or chatting on Facebook in which case their response will be in Internet time.
Let me just steal the definition of Real-Time from Wikipedia:
In computer science, real-time computing (RTC), or “reactive computing”, is the study of hardware and software systems that are subject to a “real-time constraint”—i.e., operational deadlines from event to system response. By contrast, a non-real-time system is one for which there is no deadline, even if fast response or high performance is desired or preferred. The needs of real-time software are often addressed in the context of real-time operating systems, and synchronous programming languages, which provide frameworks on which to build real-time application software.
If that’s not your product then please, stop calling yourself real-time and get an old comp sci book, then figure out what real-time really is.
Don’t steal your users’ domains (wordpress.com)
March 4, 2010
UPDATE: I’m very happy to update this post with a link to WordPress and their announcement of DNS editing. Kudos to WordPress for promptly providing this feature. Who knows, maybe they’ve been working on it awhile — but I was fairly convinced with my support conversation they weren’t working on the feature. Either way I’m happy with WordPress and the thought of never having to host my own WP blog again.
This is primarily with regard to WordPress.com, but, it’s an important and delicate concern for any service. Currently, if you want yourdomain.com to point to your WP blog, you have to give WP control over your domain name. WordPress has the challenging problem of providing scalable content and this is very hard to do while providing domain name support at the same time; this is why WP requires control of your domain’s DNS. WordPress has a highly redundant and robust network and part of that is having control over their user’s domains. This is limiting in that a user can’t point a subdomain like securepayments.yourdomain.com to another service.
While DNS natively supports this functionality, it’s not something the average blogger, hosting provider, or even application developer understands (it’s called Slaving). If/when WordPress supports this functionality, they’ll need to do so carefully to limit exposing their systems to outside risks, make it easy to use, and support the most complex users who need to run their own DNS.
If you provide a web service, such as a blogging platform, don’t build “domain name support” by forcing your users to give you full control over their domain name. In short, I don’t blame WP for their current implementation (it’s probably a lower priority for them), but here’s a few tips on what you should do if you want to make YOUR app/service support user-supplied domain names:
- Don’t give the feature away for free. Your support costs will be higher for this feature than most.
- Don’t give the feature away for free. DNS plays a big role in spam and you don’t want to associate your systems with a spammer’s domain name.
- Think very hard if you want to point a user’s app to the root of their domain. Doing so opens you up to the concerns above.
- If your service involves high-traffic content such that load balancers are involved, consult someone who’s figured this problem out before. (my advice is typically free)
- Whenever you’re building and scaling your services, keep all the above in mind. As the Internet becomes connected at the application layer, via things like federations and digital certificates, domain names will become more and more important as a component of security and authority.
- Let users host their own DNS and point it at you instead of the other way around. Administering DNS servers isn’t very cost effective and you’ll save money leaving it up to the users. The downside is you’ll need to be very good at providing your users with instructions and you’ll need to notify them when changes are necessary; again, Don’t give the feature away for free.
- Let users host their own DNS. You don’t want to host DNS for your users — doing so is a long-term cost commitment and something you can’t “undo”.
