Monday, July 6, 2009

No Comment Necessary

I got this dialog box today:

I guess it's sort of self-explanatory.

Friday, May 22, 2009

Pair Programming

I've recently found myself a new late-night programming buddy.

He generally hangs out in a chair next to my desk, a vantage point which allows him to make frequent comments on the quality of my work.

His name is Brendan Javier Michael Smith, and he joined our family last Wednesday. He's about as cute as they come, even if he's not (yet) much of a coder.

See here and here for more pictures.

Friday, May 8, 2009

Asynchronous WCF Methods in Silverlight

I'm not sure whether I should love or hate a language that lets me write code like this:

   private void InitData()
    {
        RoomServiceClient rc = new RoomServiceClient(wsBinding, roomServiceEndpoint);
        rc.GetUserCompleted +=
            delegate(object sender, GetUserCompletedEventArgs e)
            {
                user = e.Result;
                rc.JoinRoomAsync(App.OwnerUserID, App.RoomName, App.UserID);
            };
        rc.JoinRoomCompleted +=
            delegate(object sender, AsyncCompletedEventArgs e)
            {
                rc.GetRoomAsync(App.OwnerUserID, App.RoomName);
            };
        rc.GetRoomCompleted += 
            delegate(object sender, GetRoomCompletedEventArgs e)
            {
                UpdateLocalState(e.Result);
            };
        rc.GetUserAsync(App.UserID);
    }

Sunday, April 26, 2009

Blinkx Acquired 100% of Zango’s Assets

I've seen a number of online articles (here and here, for instance), which say that Blinkx has acquired only "ten percent" of Zango's assets. This wouldn't be the first time that a corporate spokesman has honestly misunderstood the actual state of affairs, or has been badly misunderstood by the reporters to whom he was speaking. So I don't want to jump to any conclusions. But I should be clear that Blinkx acquired fully 100% of Zango's assets. As a Zango shareholder, I now own a percentage of precisely nothing, and the banks have nothing left of Zango's which they can sell. Blinkx owns it all.

In addition, there have been postings on various forums which indicate that Zango's assets were purchased by a company called "Pinball". In this case, not being a Blinkx insider, I'm not entirely sure of the relationship between Pinball and Blinkx: Pinball may be a subsidiary of Blinkx, a DBA, or something else. But Zango's assets were acquired by Blinkx, not some hitherto unknown company, so it's clear that the corporate "thing" that is Pinball is not appreciably different from the corporate "thing" that is Blinkx.

I should note that Zango itself had a variety of subsidiaries and brands, such as Hotbar, SmartShopper, Platrium, and so forth, so there's nothing necessarily nefarious in Blinkx doing this – unless, of course, they're trying to obfuscate or deny their involvement. But that would sure seem like a foolish thing for a public company to do.

Backyard Coyote

One of the coyotes that frequent our neighborhood showed up in our backyard today – but unlike most of the numerous times we've spotted coyotes, he stuck around just long for me to get a few (slightly blurry) pictures.

From 2009-04-26 Coyote
From 2009-04-26 Coyote
From 2009-04-26 Coyote

Friday, April 24, 2009

Excerpts from Some Old Zango Emails

In reading through the comments on my last several posts, I get the impression that a lot of people think that Zango winked at the silent and/or inappropriate installs perpetrated by its distribution network. I can assure everyone that was not the case. I first found credible evidence of silent installs happening in mid 2004, and the emails that I sent on the topic for the next year or more were not exactly models of tact and discretion. But they also show the dawning awareness that our distribution model was broken, and badly needed to be revamped from the ground-up. A few examples out of many emails on the topic that I personally sent.

Sent on 11/8/2004, after one of my developers noticed a silent install taking place through a sub-affiliate of LoudMarketing, our largest distributor (and the company that eventually became ZangoCash):

It looks like 2229 is from Loud, which is not a good thing.  They need a good swift kick in the balls for pulling shit like this.  Tell them in no uncertain terms: THIS IS FUCKING UNACCEPTABLE.

We need to get this taken care of, and ASAP.  This is absolutely intolerable.  We can't have folks going around giving us this reputation.

We'll be able to detect this in a more automated fashion once we get the CET running – but for now, we'll have to put up with ad hoc information like this.

Sent on 12/2/2004, after I found Zango being installed through a security hole by a company called CrazyWinnings (or one of its sub-affiliates):

And these guys are definitely bundling a Trojan.  No doubt about it.  After I uninstalled everything that I could find to uninstall, AdAware still found hundreds of entries – and so far as I can tell, at least four different pieces of spyware.  And no matter how many times I ran AdAware, they still came back.  These guys are a bunch of frigging bastards.

I can't say too much that we HAVE to completely and permanently distance ourselves from players like this.  If we are ever going to build trust as a brand, we need to never, ever be associated with guys like CrazyWinnings.  I would strongly encourage us not to wait until tomorrow at 3:00, but just drop them now.  We will never, ever be able to trust them.  They're slimy, and they're associated with guys that are even slimier. 

Zango will never get any traction – and 180solutions will never be able to build a legitimate, long-term business – if assholes like these guys are still dragging 180solutions' name through the mud.  Fuck 'em.  Get rid of them now, and sue their asses.

Sent 4/11/2005, after I found Zango being installed on a page that was using an exploit to install other software:

Although they [IST] don't install the slotchbar AX without asking, my own testing actually indicates that they are using an IE security hole to install some stuff besides the slotchbar.  And although a number of the things that get installed from that page have uninstalls, a number of the uninstalls don't work (including IST's).  After I finished uninstalling everything that could be uninstalled, and rebooted, MS AntiSpyware still found four separate and working installations of various spyware applications.  And yes, they install us (through the slotchbar, not through the security hole, but given that it all happens at the same page, and given that the slotchbar uninstalls don't work, that's not relevant).

This is a big, big problem.  This is a clear violation of our code of conduct.  We can't have ourselves out there associated with this kind of stuff.  Ken M., it seems to me that legal action is clearly warranted here.  What's your take on this?

And it's another problem that I'm the one finding this.  We clearly need to do our testing better.  I'd like to call a meeting to discuss how we handle testing applications like this, to figure out why my own testing was able to find such a clear violation of our COC, and our formal testing didn't.  Who all should be there at that meeting?

Diplomacy has never been my strong suit as an executive.

I should also note that although I was probably the most vocal, my concerns were taken very seriously by the folks in charge of our distribution relationships. Not only did they work very hard to address these issues with the distributors in question, they also proposed the strategy which eventually fixed the problem, namely, to acquire our largest distributor, and clean up their network.

Should we have been associated with guys like IST, Aztec and CrazyWinnings in the first place? In hindsight, of course not. But we honestly didn't know the extent of the problem, and even when it became clear, it took real time, effort and work to fix it. And ultimately, and regrettably, my predictions came true: they dragged our name through the mud, we were unable to build trust as a brand, and we were never able to build a legitimate, long-term business. Zango had other problems besides this one, but this was the largest.

Tuesday, April 21, 2009

What Zango Got Right

I suspect that there will be two sorts of reactions to this post. If you worked at Zango, or even if you knew people who did, your response may be to wonder why such obvious things needed to be said at all. But if, like most people, you never worked at Zango, and your only acquaintance with Zango as a company was through the various things that got reported about us in the media, you may find most of what I say to be strange or even unbelievable. But it's precisely because many people will have this reaction that I think these things need to be said.

In my last blog post, I talked at some length about what Zango got wrong: and because Zango was ultimately acquired for fire-sale prices, it might seem like what we got wrong is the largest part of the story. But in the end, I don't think it is. What Zango did right was fairly impressive, and is worth talking about publically. I'm well aware that not everyone will agree or even believe me: and maybe some of those folks will even be former Zango employees. But I'm writing this post, not because I think it will meet with universal agreement, but because I believe it to be true.

  1. Zango had a great culture. OK, yes, in the end, work is work: it's never interesting all the time, and even in the best job or at the best company it's sometimes plain drudgery. But most of the time, work at Zango was exciting and engaging. Zango was possessed of an exuberant and vibrant corporate culture which valued its employees, encouraged friendships, never took itself too seriously, and had a whole lot of fun. Dan Todd, one of Zango's co-founders and its president for many years, did a phenomenal job of fostering an almost "summer camp" atmosphere. I could go on for quite some time listing the great things that he introduced: semi-annual dodgeball tournaments, a weekly morning basketball game, free lunches, "Beer Friday" (later neutered to "Friday at Five"), and on and on. It was a hoot to work at Zango, and I'd venture to say that nearly all its employees counted themselves fortunate to be able to do so.
  2. Zango had great employees. Some years ago, when our VP of HR, Ring Nishioka, was trying to clarify what sort of employees I was looking for, I said I had two requirements: (1) They had to be scary smart, and (2) they couldn't be an asshole. Appropriately neutered by HR ("looking for people who are scary smart, but also really cool"), this became our hiring slogan and the criteria by which we measured every potential employee. (It also became a famous internal poster, when some anonymous graphic artist John Mitchell added a rather frightening picture of Jeff Malek, our VP of Engineering, and the words "Two out of three ain't bad.") Not everybody we hired was scary smart, and a few failed the asshole test badly. Sometimes I failed it too. But that's just life. On the whole, Zango was composed of the smartest, kindest, and most ego-free people I've ever worked with. And I would work with them again in a heartbeat. (Blinkx, be warned that you should treat your new employees well. I'm working on another startup, and I've never signed a no-poaching agreement with you. Expect me to come after your people as soon as I can.)
  3. Zango developed a unique and innovative business model. OK, yes, I can hear the snickers from the peanut gallery already. (Hi, Paperghost!) But it's true. On the advertising side, Zango introduced the idea of "CPV", "Cost Per Visitor". From one perspective, CPV is just CPM / 1000. But from another, it's a radically different animal, because rather than displaying an ad, Zango displayed a page. This removed the first click from the advertising funnel, which was a significant innovation, and accounts for much of the effectiveness of Zango's advertising. On the distribution side, Zango is one of the most effective monetization vehicles for long-tail websites. There are webmasters in their mom's basements who make six figure incomes because of Zango. As I explained in my last post, using time-shifted contextual advertising to sponsor online content was a great idea when Zango introduced it, and it remains a great idea today. It just needs a company better positioned to execute on it than Zango could. For the sake of its newest employees, I really hope that blinkx is that company.
  4. Zango made some great acquisitions. Between 2004 and 2007, Zango acquired five different companies, of varying size and significance. Two of them, EasyMessenger and Full Armor Studios, were small, and were mostly about beefing up our content library. (We later discovered we could do this more effectively through licensing than through acquisition.) But the other three, LoudCash, Hotbar, and SmartShopper, were substantial and critical. They not only brought some really great people onto the Zango team (Benoit Aubuchon, Mathieu St. Denis, Moti Ankonina, Meir Uziel, Ziv Gonen, and lots of others), but they also helped to fill significant holes in Zango's business and technical portfolios.

    The acquisition of LoudCash in 2005 was the first major step in solving our distribution nightmare, as it brought our largest and most important distributor in-house. For the next four years, the ZangoCash platform (as we renamed it) remained our most efficient and cost-effective distribution channel. York Baur deserves special credit for recognizing the strategic importance of this deal, and for pushing it through substantial opposition (much of which came from yours truly).

    In 2006, Zango acquired Hotbar, a competitor based in Tel Aviv. At one level, it was probably the best acquisition Zango ever made. Within hours after the papers were signed, Zango set to work to add a reskinned Hotbar toolbar to its own brands, and to replace Hotbar's popup engine with Zango's. When we finished the integration two months later, we had effectively doubled the size of Zango's audience, and had increased pro-forma per-user revenue by nearly 50%. Unfortunately, several factors conspired to make this deal less successful than it should have been. It started when scanning applications, many of which had ignored Hotbar, suddenly began scanning Hotbar's application off the desktop simply because it was now associated with Zango. This was especially frustrating to watch, because the new application's behavior was, by any conceivable standard, safer and less intrusive than before. Then, again simply because of Zango's reputation, Yahoo stopped allowing the Hotbar toolbar to use its search feed, which made the toolbar itself much less profitable. And finally, it turns out that the Hotbar content (primarily emoticons and anti-spam software) was already fading in popularity, and acquiring users through these channels became more and more expensive. These three setbacks, which we could perhaps have foreseen but were otherwise outside our control, were compounded by a mistake that was well within our control, namely, choosing to finance the deal primarily with debt rather than equity. If our models had been accurate, we would have had no problem in paying off this debt, and quickly: but because our users were suddenly more expensive to acquire, more difficult to retain, and less profitable each day they stuck around, we found ourselves forced to cut our user acquisition budget to make the debt payments. Predictably, we watched in horror as our audience shrank, month after month, and the debt payments became ever more difficult to make.

    Our 2007 acquisition of SmartShopper, Hotbar's sister company, almost allowed us to pull out of this spiral. With SmartShopper, for the first time we had a technology that would allow us to fully replace our admittedly annoying popups with a less intrusive, more helpful form factor that nevertheless had a similar monetization profile. We immediately set to work on the product that eventually became known as Platrium. Platrium was designed to fix the two major problems we had identified in our business: (1) It would have a clear and easily branded value proposition; and (2) it wouldn't have popups. Our hope was that these two changes would finally convince the scanning apps to leave us alone, would persuade users of our value relative to the ads, and would allow us to partner with companies that had hitherto remained out of our reach. It was the SmartShopper acquisition which allowed us to make this move, and I really think that it might yet work. Unfortunately for Zango, the change in product focus came too late. After our June 2008 layoffs (which is also when I chose to leave), Zango didn't really have the staffing needed to move Platrium forward without sacrificing our existing revenues: every resource allocation Keith made was going to starve either the Platrium or the legacy lines of business. There were no more good choices.

I want to end this post on a couple of more positive and personal notes.

First, the decade I spent with Zango was the best of my entire life. I'll always be grateful for that day in 1999 when Keith called me in a panic because his new website was down. I learned more, grew more, worked with better people, and had more fun than in anything else I've ever done. Yes, parts of it were frustrating, but even our defeats were instructive, and some of them were glorious.

Second, I want to say that it was a privilege beyond my expectations to have spent so much time in Tel Aviv, working with that strangely obstreperous and beautiful animal, the modern Israeli. To everyone from Hotbar and SmartShopper, I'm very sorry that things wound up the way they did. Even though I was no longer with Zango when it was announced, it was a blow to me that we had to close our Tel Aviv office. I hope that everyone lands quickly on their feet; and I continue to hope that my connections with Israel are not yet at a close.

And finally, and again, I can't say enough good about the people at Zango. Doug, Jeff, Val, Bill, Cris, Murph, Madhuri, Galina, Danny, Benoit, Moti, Meir, Nick, Willie, Lance, Jesse, Rob, Robert, Rich, Andrew, Yuval, Tommy, Heather, Ayelet, Rinat . . . and many, many more. I'm proud to have worked with you and honored to have served next to you. And if it's ever possible, I'd like to do so again.