02, 27, 2011

Sad but true state of most online content


 

 

From Eltron

01, 20, 2011

GoogWebStack Good Enough


Recently, I’ve been exploring Google’s web app development ecosystem. Here are a few thoughts for those trying to bootstrap a brand-new web app for a startup or in a small company and thinking about the Google vs Microsoft platforms.

  • Google Web Toolkit is almost as good as JQuery and benefits from nice tight integration to the GoogWebStack compared to some other platforms like JQuery and MSFT.
  • Google App Engine is awesome from a get-going standpoint but is still really a Beta overall. I’ve heard horror stories about downtime. GOOG is addressing with their focus on uptime for the “pro” version but it still feels early to build a large-scale business on it. I’m sure in 12 months they’ll have it under control. Right now it’s perfect for a mid-size or small business. Eclipse integration means a scalable back-end is measured in hours to go from keystroke to deployment. Right now it’s a straightforward path toward an eventual AWS or internal RMDBS back-end over time.
  • UI Binder got the GoogWebStack basically up to speed with ASP.Net.
  • RequestFactory now brings GWT up to speed with ASP.Net MVC almost. Documentation is still light and basic things like controller management aren’t as intuitive. GWT MVP is a bit all over the place right now with new ways of doing things coming out monthly.
  • Activities and Places make a Web app a lot more practical. Things such as a useful back-button or the Undo feature you see in Gmail are fairly simple to put in place.
  • Tight integration with Eclipse is almost as good as VS with regard to building a basic web app. Auto-build and auto-complete still aren’t as good as MSFT’s. Library management can be a rats nest of open source libraries so Maven is probably a good call.
  • Open means GOOG benefits from open source that can fill the gaps. Of course as they build out their stack those efforts fall to the wayside. Sorry Gwt-platform, Restlet, etc. Spring may be a different story. Just like a lot of other Google vs Microsoft battles, Google doesn’t have the cloud of expensive lock-in hanging over it, yet.
  • You can’t use C# or VB, but I think Python and Java captures most of the bell curve on non-corporate web dev right now. If you’re a MSFT shop internally and need synergy on apps and dev knowledge that’s probably the biggest reason for an enterprise to pass.
  • Lastly, you can’t beat the price. While MSDN brings down upfront costs for MSFT dev tools for larger or very technical companies, for most brand-new or small companies, Microsoft takes its pound of flesh for having the best dev tool and overall ecosystem on the market. Yet another example of Google using free to compete. Good for us. While GAE and Azure are comparable on price, Azure is more expensive upfront and more expensive in general.

It’s clear that Google is using a slippery slope, openness, and hyper-development cycle to catch up on the development stack front. Unless you’re building the next Facebook or are tied to C# I think it’s the best platform out their right now, especially if you value speed-to-market and an open infrastructure.

12, 31, 2010

Good Recurring Revenue Posts by David Skok at Matrix


David Skok of Matrix Partners has put up a couple of really good posts on recurring revenue business models: a 2-part discussion, a deck, and related models. Having spent a number of years working on a recurring revenue model, David’s advice totally rings true. Some of it’s obvious, like try getting paid upfront, but I think it is critically important to have the concepts and math down. I’m always amazed when sales managers don’t have math like this baked into their DNA.

Here’s a bullet list of points, but do go read the posts. They’re worth it if you’re running a recurring revenue model.

  • Building out the recurring revenue sales team can create a significant cash flow issue as revenues take time to build.
  • Over a long period of time, however, recurring revenue can lead to a great return on investment.
  • Costs of generating leads for a direct sales force are often overlooked.
  • Find your market fit and scalable sales model before ramping the sales team.
  • Ratio of churn vs rate of new sales can have a large impact on long term revenues.
  • Biggest blocker on scaling is lead flow because lead sources tend to flatten out over time.
  • Collecting payments in advance can have an outsized impact on cash flow needs of the business and allow you to scale much faster by eliminating the cash flow trough associated with recurring revenue models. So get paid in advance if you can. :-)
  • Quotas and gross margins can have a big impact, though David doesn’t offer explanation on how you would control those.
  • Halving your churn rate will double the Life Time Value of a Customer, so do it if you can. :-)
  • You can create negative churn by growing existing customers.

I think the PowerPoint is sufficient to get the gist of what David’s outlining. To this I’d add a few of my own points on a recurring revenue model:

  • Attrition can’t be brought to zero but if you have to spend on dollar on new sales vs reducing churn, do the latter. It’s a more profitable proposition.
  • Investments in customer service shouldn’t only be thought of as a cost center. An extremely high customer satisfaction rate is not just a good selling point, it can have a significant cash flow impact with respect to attrition.
  • Setup fees are one way to move the cash flow forward.
  • Some large customers, like Fortune 500 companies, actually prefer to pay upfront annually to reduce the administration overhead so don’t be afraid to ask.
  • Consider your cost of capital. Discounting to get a larger contract out of the gate is another version of moving the cash flow forward and it may not even cost you anything from an NPV standpoint.
  • Keep track of acquisition costs from day one, especially direct sales costs. Ramping the sales team before your first salesperson is an overall positive investment means you in fact have a proven negative margin model. Obviously scaling a negative margin model can kill a recurring revenue company. Sometimes it’s hard to see unless you lay out all of the costs and understand Lifetime Value (LTV).

Some of these concepts might seem like common sense but actually running the models for your own company is when it becomes really powerful. Using Cost of Acquiring a Customer and LTV models that include things like churn and cash requirements to make decisions on ramping the business can have a huge impact on the potential success of your recurring revenue business.

12, 7, 2010

Politics as art


Left or right, you’ve got to hand it to the Republicans. They’ve got President Obama defending across-the-board tax cuts. It’s like a magic trick or art or something. Masterful. McConnell and Boehner probably find it hard to stop high-fiving each other.

08, 31, 2010

Online Office Apps: Shoutout to Aviary and Sliderocket


If you want a good bit of the functionality of Photoshop or Illustrator without shelling out several hundred dollars, check out Aviary. It’s a suite of free online tools for image editing, vector illustration, audio editing, and other stuff. Doesn’t have everything Adobe has, but for a lot of simple tasks it’s great. The online experience is slick and fits nicely into an ever growing list of web-based business apps.

The second web-business app I’m a fan of is Sliderocket. It hasn’t replaced PowerPoint for me the way Aviary has replaced Photoshop. That’s because presentations are still too dominated by the Microsoft Office collaboration workflow in my company. However for any presentations that aren’t company related, it’s my goto presentation app. At least until Google Presentation gets better. By the way has anyone else noticed how Google Docs is becoming the main online viewer for folks sharing PDFs?

08, 31, 2010

Skype is toast. What’s in store for Verizon?


1) My gmail now rings when people call my Google voice number. Think about that.

2) Eric Schmidt once commented on how much he liked free. Free can give you a 100% market share. And you can do a lot with 100% market share.

3) Google is giving away voice calls in the U.S. Not just computer-to-computer but computer-to-phone and vice versa. Given Android and Google TV, completely free phone calls can’t be far behind, at least on a per  minute basis as opposed to per megabit. Just need a USB plug for my phone.

The free computer-to-phone thing basically destroys Skype’s main revenue stream. If I were Skype I’d be on the first flight to Redmond to talk acquisition.

What I’m not sure about is the coziness that’s transpired between Google and Verizon. Have they come up with some behind-the-scenes plan to divide up the consumer telecommunications world? Google is giving away free calling in the U.S. In what universe is that not a direct attack on the main cash flows of Verizon? Ah…but data has got to be the fastest growing cash flow at Verizon. What if Verizon is to become the world’s largest wired and mobile ISP? Where data transport is the main business. Google can then simply become Verizon’s biggest customer. After all, voice is just another data stream with ads.

08, 31, 2010

Why is Chrome Fast…Peter Kasting explains.


It’s rare that technology companies explain their secret sauce so I’m always psyched when they do. It’s really hard for technology companies to learn best practices from industry leaders so kudos to Google in explaining how they make Chrome so fast. Peter Kasting, an engineer on the Chrome team gives a good talk on how Google has optimized its Chrome browser. Here’s my bullet summary.

- The core mission is fast and pleasant web browsing.
- Chrome should start quickly.
- Always be reactive to anything users do in UI.
- Never hang.
- Actions should seem effortless.
- Do as little as possible at startup. Easy to do lots of things at startup, so it’s easy to make startup slow. Called lazy initialization. Profiling and picking addresses of DLLs where Windows won’t need to relocate is another way to make startup faster.
- Save the user steps. Address bar auto-complete for example. Chrome keeps several data structures in memory.
- A busy tab shouldn’t lock up app. Chrome is multiprocess and multi-threaded. If something hangs, a user can still click on another tab.
- Key threads in multi-threading are UI thread (input and output), IO thread (internal processes, messaging, etc), file thread (write to disk). IO thread is not allowed to do something that takes a long time. If IO is blocked whole app is blocked.
- Multithreading renderers early on were problematic because OS would swap renderers out of memory if they weren’t used for a while. Google created what they call a Backing Store Cache to solve the problem by caching the window paint. A static image is shown while the real-image is loading in background. Not a cure-all, as sometimes it doesn’t work if you’ve resized window for example.
- Resizes on complex pages was solved using trick in backing store. Rate-limiting tactic. They drop unnecessary rendering slimming down the queue.
- Chrome team uses metrics to always make sure browser is faster not slower with each version. They do not allow startup time to regress. Measure whiteout duration to make sure backing store and renderers are working properly as another example of speed metrics.
- In addition to quantitative metrics they use subjective testing by QA for speed.
- Keeping things simple isn’t just a design goal, it drives the overall product mission. Cognitive friction – amount of mental energy required to use UI – is minimized. Reduce amount of time and effort to perform action. Omnibox is an example where there is one box for search or URL. Also short menus and options.
- They also whitelist keystrokes that renderers are unlikely to override and users don’t want to wait on. Ctrl-w is example that doesn’t go to renderer.
- Milliseconds matter.
08, 13, 2010

You know you’re getting old when…


You know you’re getting old when, with respect to current fashion, you can no longer tell if you are still not hip or if the fashion is really as silly as it looks.

08, 6, 2010

Wave Goodbye…but it’ll be back


So GOOG is killing Wave. Interesting lesson for those of us building technology companies and trying to innovate. What they’re trying to do – unified, seamless workflow linked by data and semantics – is absolutely correct, IMHO. However they went too far in breaking the existing experience for too little value. There wasn’t a single, simple 10x benefit. However, I’d bet a fair amount of money we see a redo somewhere down the line. It just doesn’t make any sense that continuous, multi-modal workflows are broken across modes of transport.

Also, I do think they’re serious when Eric says failure is part of success and they’re not just putting on a brave face. I think they’ve got that part totally right as well, the failure is part of success thing. That said, got to be a little humbling. Google now has its own Microsoft Bob-like blemish. It’d be interesting to see a balance chart on wins vs losses and how they compare.

07, 11, 2010

What Idiot Names These Things? Perfect Citizen? Come On!


Let’s see. We’re going to build a system to monitor all Internet traffic coming in and out of the country. Hmm… The only other country to do this well is this communist, authoritarian regime over in the East. Hmm… Our democratically inclined, freedom-loving population might mistake this for some dystopian, Orwellian, Stepford-like scheme for the government to invade the lives of our citizens and perhaps use it to control information and the like. So we don’t want to frighten people and give them the idea that we’re going to use it to create perfectly conformist citizenry. Hmm… I know. Let’s name it Perfect Citizen! Perfect! Has a nice ring to it. Reminds me of the 1950s for some reason. And it follows up nicely on the name for that scheme to eavesdrop on all domestic Internet traffic. The one with the cool name that made all of that eavesdropping seem nonthreatening. You know, Carnivore.

Follow

Get every new post delivered to your Inbox.