
TechCrunch is running a guest post of mine about the exciting new field of site-specific browsers. Needless to say, it’s a honor to be on TechCrunch, and I hope my article will help to increase awareness of what SSBs are and why they’re important. Personally I’m convinced that they represent the future of web apps.
I haven’t seen any sign yet of the “gaggles of groupies” that Mike promises in the post’s comments, but I’m sneaking out the back door to pick up a sombrero and some wraparound sunglasses, just in case.
I’ve just come across this horror story about G-Archiver, a windows shareware which backs up your gmail account to your local hard drive but also emails your username and password to the creator!
When we initially launched AllPeers, the client was not open-source but we always said our goal was to do it. At the time, the source code was not clean enough to open but we knew this was the only way for us to prove we were genuine and not planning on spying on our users.
When we finally opened the code, some people saw it as a desperate move on our part. It was not. It was a way for us to be transparent and to say “if you don’t trust us, just look at our code”.
There are a lot of advantages about developing open-source software but trust and security are certainly high on the list.
Now forget about open-source software and think about all these websites who ask you for your login credentials in order to “import your contacts”. Can you really trust them and if so how? How paranoiac are you about this? I usually tend to trust the sites but is a nice design and a groovy name enough to earn my trust when it comes to my email credentials?
Mahalo founder Jason Calacanis caused a blogostorm with his candid treatise on making every startup dollar count. The controversy is not especially surprising when his list of tips for thrifty includes such items as “fire people who are not workaholics” (which provoked so much ire that he felt compelled to change it to “fire people who don’t love their work”). Some went as far as to label Calacanis a “prick“, with the obligatory observation that they’ve never heard or his company, but love to death the products of cooler companies who pay for their employees to go backpacking.
I’ve seen both approaches in action in my day. More than one startup founder has told me that they keep the hours reasonable because they “don’t want to burn out their staff.” Sorry, but what I heard was “I’m too lazy to work long hours so I can’t expect my staff to.” Of course, it depends to some degree on your ambitions. If your goal is to earn a good living with a bunch of smart, like-minded folks tackling some not-too-intractable problem, with plenty of free time to bungee jump from helicopters or make erotic origami, that is doable. But if you want to create a world-beating company, Mike Arrington has it nailed: your odds of succeeding are long enough without four-day weeks and ambling trips to the local juice bar five times a day.
Besides which, software geeks don’t have the same view of life/work balance as most people. In their response to Jason’s post, 37signals explain that:
Working with interesting people is more interesting than just working. If all you got going for your life is work, work, work, the good team-gelling lunches are going to be some pretty boring straight shop talk. Yawn. I’d much rather hear more about your whittling project, your last trek, how your garden is doing, or when you’ll get your flight certificate.
Probably the guy who wrote this is a graphic designer or something, since for all the real programmers I know, the most interesting subject imaginable is the software project they are currently working on. That’s why our social skills suck so bad. When we run into someone who isn’t a geek, we have no idea what to talk about. Naturally this gets old eventually, and even the pocket protector set ends up settling down, getting a dog and starting a family. Ever wonder why most startups are populated mainly with 20-somethings?
Which brings me to my real point: in light of this state of affairs, does Europe have a chance in the software biz? I’ve been working in European software startups for 15 years (and running them for 10). Having grown up in America, I’ve always been frustrated by the lack of obsessiveness when it comes to driving the company’s success. Programmers on this side of the pond work a lot harder than, say, post office clerks, but traditionally it’s still been a far cry from the mattress-under-your-desk workathon of the American startup nerd. When Arrington mocked the idea of “three weeks vacation” I had to smile. Over here, the big question is whether we can beat our staff down from five to only four weeks.
The good news is that the situation is changing. I’m seeing more and more startups built up around the American model. Globalization, more awareness of “cool” company cultures like Google’s and a few European home runs (such as Skype) are helping to reshape attitudes on this side of the pond. Lack of precedents for success, paucity of venture capital, stifling regulation and excessive risk aversion have conspired with our generally sedate work habits to lock Europeans into second-class citizen status in the software world. As we overcome these obstacles, I expect we’ll mount a much more credible challenge to America’s technological dominance.
Although AllPeers didn’t produce the kind of outcome that we had hoped for and expected, it’s been a tremendous learning experience. Hopefully others will be able to benefit from what I consider to be the main lessons.
Luck and ambition
Naturally the success of any startup is dependent to some degree on luck, and the luck factor rises in proportion to your ambitions. If your plan is to sell T-shirts online then execution is probably the main consideration. If you make really cool designs, have an easy-to-use website and do good marketing then you’ll probably make money, though you’re unlikely to be buying a private island in the South Pacific any time soon. If, on the other hand, you plan to dethrone Facebook by adding state-of-the-art social features to the fabric of the web, transforming the internet experience of billions of people, you’re going to have to execute to perfection and still get really really lucky if your company is to succeed. Of course, if you make it you’ll be assured a very comfortable early retirement.
Neither of these approaches is inherently wrong but you should be aware of what you’re getting yourself into. If you can’t stand the thought of failure, make sure you’re not tackling a problem that is too big and ambitious. In the case of AllPeers, we knew that there was going to be a lot of luck involved (as there is with any product that relies on network effects and viral adoption), and we were pretty well prepared for the challenges we would face. It is comforting to see failure in this way because we certainly wouldn’t have sacrificed our lofty ambitions to increase our chance of moderate success.
Raise as much as you can
I’m not the first one to say this, but let me express my wholehearted agreement: raise as much as you can, as soon as you can, and not a penny less. In early 2006, before we had released even a private alpha of AllPeers, we suddenly became a minor web star thanks to a couple of white-hot buzzwords (”Firefox” and “BitTorrent”) and a very positive writeup on TechCrunch. (And in fact we owe a great deal to Mike Arrington, who grasped our vision immediately and did a great job of articulating why it was exciting. It’s easy and intellectually lazy to be pessimistic before the fact and snarky afterwards, while it takes courage to go out on a limb and predict success.) We believed our own hype a bit too much, unfortunately, and didn’t take advantage of the opportunity to raise a lot of cash at a high valuation. Instead we brought in a very modest amount under the assumption that we’d be in a great position in a few short months to close a much bigger round.
As a result, we were under constant pressure to get user numbers up so we could raise more money. This isn’t the way to run a company, particularly one with an ambitious technological vision. We ended up making a string of tactical moves rather than taking a step back and looking at the big picture. As a consequence, we ran out of money before we could get the product to where it needed to be. Don’t make this mistake.
This shouldn’t be construed as a criticism of Mangrove Capital Partners, who led our series A investment round. They are a fantastic group of individuals whom I wouldn’t hesitate to recommend to any entrepreneur seeking funding, and a classic example of a VC who really does offer much more than money to a budding startup (something they all claim to do). But only a company’s founder has a single-minded focus on the company’s success, and this includes acquiring a war chest to deal with unforeseen contingencies.

Uberpulse has posted a interview at CES with David Rosen, a developer at Opera Software. The interview is entitled “Opera Browser Coming To The iPhone”, but the first 99% of the video have nothing to do with the iPhone, proving yet again that like sex, the iPhone sells. David isn’t able to demo the Opera for Devices because of the lack of wifi (when will conferences finally get a grip on this?), but he gives a good overview of the new product’s features.
Read the rest…
I can’t resist this one. I was already shaking my head in disbelief when prominent Wall Street idiot Henry Blodget pipped the blogging world at the post by publishing what is doubtless the worst idea of 2007 on December 29th. Does anyone still believe the laughable notion that a failed, tired brand has some great intrinsic value? If so, perhaps they should consider for a moment the purchase of the Napster brand by Roxio in 2002 for $5 million. Brands have momentum, and if someone had snapped up the Napster name in its heyday to launch a legal music service, it would doubtless have been worth much, much more. As it transpires, Napster was dead and gone in letter and spirit by the time Roxio bought it, and as of May 2006 the service had lost them a further $175 million. But hey, the Netscape brand has done so much for AOL, right? It takes some serious balls to make this proposal in the face of (nay, as a consequence of) direct proof that it has already resulted in one dismal failure.
His previous bout of Mozilla blathering having presumably resulted in a satisfying bump in traffic, Blodget is back with an even stupider idea: a Mozilla IPO. My issue with the post isn’t that an IPO would be counter to the open source ethos or that it would alienate the all-important Firefox community, although there are strong cases to be made for both of these. I’ve argued in the past that Mozilla would benefit from stronger capitalist motivations. Nor do I dispute his assessment of Mozilla’s value. If anything, $4 billion seems conservative for a company with its assets.
No, the real issue is his total lack of understanding of the Mozilla community ethos. Again, this mind set often frustrates me, but the reality is that Mozilla management would never, ever contemplate an IPO, anymore than they would plaster ads on the Firefox start page to generate more revenue (another of Blodget’s priceless suggestions). It’s more than a bit like suggesting that the Dalai Lama could make a mint by setting up an international “Dalai’s Lama Hut” franchise chain (”buy two tender Bodhisattva Burgers and get a Spiritual Strawberry Shake absolutely free of charge!”). Ain’t gonna happen. Sorry.
Even more to the point: isn’t this totally, utterly illegal? Can a non-profit launch a multibillion dollar IPO? Wouldn’t that amount to tax evasion on a stupendously massive scale? Maybe I’m wrong, but I would have thought that Blodget, supposedly a financial expert, would have at least addressed this.
But then let’s remember why he’s famous in the first place: for jumping on the dot.com hype bandwagon in front of the curve and looking like a genius for a total of, what, two odd years, until it all crashed back to earth around him? Why should we care that he turned out to be completely off target, or that he was then booted off Wall Street for securities-related improprieties? I guess it’s oddly appropriate that in the modern media environment, you can become famous and influential simply for being wrong on a sufficiently heroic scale.
In part one of this series I lamented Microsoft’s unwillingness to conform to web standards and the stifling effect this has on web innovation. I suggested two possible solutions: a paradigm shift (such as a move towards Rich Internet Applications) that makes it easier to deploy alternate runtimes without having to convince the user to switch browsers, or the use of ActiveX to integrate new web standards into Internet Explorer in spite of Microsoft. Yesterday Opera announced that it was adopting a third approach: sue the bastards.
It’s hard not to feel sympathetic to Opera’s cause. IE boasts a considerable majority of web users not through intrinsic merit but as a direct result of Window’s dominance. Like any market leader, Microsoft has the most to lose from browser interoperability, so it’s dug in its heels and refused to support fully standards such as CSS, JavaScript 2 and HTML 5. The main losers are not just browser vendors like Opera and Mozilla but anyone who uses the web, since much-needed improvement in web application infrastructure is massively hampered when the space’s two ton gorilla (with around 80% market share) refuses to play along.
Nonetheless, Opera’s tactics are problematic. First of all, it’s hard to shake the feeling that the litigation is at least partially a ploy on Opera’s part to garner publicity for its browser. Their CTO, Håkon Wium Lie, categorically denies this, but phrases like the following are bound to raise suspicions:
Opera has long held the position of innovator in the Web browser market, having introduced and pioneered features like tabbed browsing, Speed Dial, integrated search bar, mouse gestures, Opera Link™ and many others.
I have the greatest respect for Opera’s engineering prowess, and Håkon is a brilliant and genuinely nice guy. (Not to mention that he sports a cool little circle over his first name. Where can I get me one of those?) But even if there was no malice intended, it might have been a good idea to tone down the chest-thumping a bit in order to avoid a potential backlash from mean-spirited cynics like yours truly.
More critically, Mary Jo Foley is absolutely correct in pointing out that we don’t want the European Commission deciding what’s a proper web standard and what isn’t. The main web standards consortium, the W3C, doesn’t make real standards at all because it has no official standing. Instead it issues “recommendations”. There is thus no objective basis for deciding which technologies a browser vendor is supposed to support. As frustrating as this can sometimes be, we have to let the market make this determination.
Perhaps Opera will win its case and Microsoft will be forced to offer an IE-free Windows. This wouldn’t bother me one whit. But even were this to come to pass, I’m not sure how much it would accomplish. Both Firefox and Opera are free and could easily be bundled by hardware OEMs today if they felt this would offer them a competitive advantage. In fact, I predicted this would happen back in January 2006, and I’ve been sorely disappointed (for reasons I don’t entirely grasp). Microsoft’s intransigence is undeniably a tough nut to crack, but I’m not sure that litigation is the answer.
The Mozilla wiki describes in detail the ambitious plans for Mozilla 2. I heartily agree that the time is ripe for a major overhaul of the Mozilla engine. Considering the breadth of the planned changes, it’s worth at least asking whether the Gecko rendering engine, as it exists in Mozilla 1.9, is the right basis for this work. The wiki clearly states that Mozilla “won’t rewrite the Mozilla codebase by hand,” which seems prudent. But there is a second choice: replace Gecko with another rendering engine. Any viable alternative would, of course, have to be open source and match Mozilla’s battle-hardened robustness and standards compliance while offering clear advantages. This is a tall order indeed, but there appears to be at least one plausible candidate: WebKit.
The argument for WebKit
To someone like me whose business depends on the Mozilla platform, the biggest argument for WebKit is Mozilla’s large memory footprint. Developing on top of Mozilla has presented many challenges, but most of these can be overcome with time as the intricacies of the platform are mastered. The one that keeps me up at night is the tendency of Gecko-based applications to consume relatively large amounts of memory. My impression is that this is one of the main barriers to continued growth in Firefox market share, since it is of major concern to the digital cognoscenti who drive the technology choices of their friends and family.
Some of this is due to the way Gecko represents webpage DOMs in memory, some of it is a result of Firefox’s rich extension mechanism and some stems from the uneasy relationship between XPCOM and JavaScript. Like any software engineering issue, this could be solved with sufficient development effort. By all accounts, however, WebKit has a significantly smaller memory footprint, so its adoption would be the surest way to address this issue.
A direct consequence of Mozilla’s larger memory footprint is the difficulty of getting Gecko-based browsers to run on mobile devices. We’re witnessing a major shift in the center of gravity of browser usage from the desktop to portable devices. It is safe to assume that an ever increasing proportion of people’s browsing time will be spent on cellphones, PDAs and the like. Mozilla is facing irrelevance in this new territory as stakes are claimed by WebKit and Presto (Opera’s rendering engine). Once again, WebKit has amply proven its viability on mobile devices, most notably on the iPhone.
A less tangible benefit of dropping Gecko in favor of WebKit would be the pooling of community resources that would result from a rapprochement of the Mozilla and WebKit communities. There’s lot of work to do in the web browser space as web technologies become general-purpose software application technologies (a direction that Apple clearly supports):
- Local caching of code for offline operation
- A flexible storage API backed by a proper database engine
- Real-time rendering of 2D and 3D graphics
- Better forms with native widget support
- Strong online identity backed by digital certificates
- Application integration
- Peer-to-peer networking capabilities
- …etc…
As someone who unlocked his iPhone (living, as I do, in the Czech Republic), I’ve been observing carefully the brouhaha surrounding Apple’s statement that unlocked phones might be “bricked” by the next firmware update. A CNet blog entry is typical of the commentary spewed forth by the chattering classes. As I’ve noted, every hype wave has an equal and opposite antihype backlash, and the iPhone is about as hyped as a story can be without somehow involving Paris Hilton. Some degree of bellyaching was inevitable.
Nonetheless, Don Reisinger , the author of the piece, misses the point entirely. Apple isn’t being a mean jerk just because it likes to stomp on its customers and make them cry. Ask yourself why Apple locked up the iPhone in the first place. How could a company that is so obviously consumer ubersavvy be so consumer unfriendly? The reason is simple: Apple locked up the iPhone so it wouldn’t have to check the compatibility of a zillion third-party applications every time it updated the firmware. (Note to self: use more bold face and you might become an A-list blogger like Marc Andreessen.)
So now Apple is in a bind. It didn’t want to have to deal with all this crap, but a bunch of hackers went ahead and cracked the phone, and now it has two choices. Either it can try to test all the infinite permutations of apps that people might have illicitly installed (the same process that caused Vista to arrive years late while still sucking) or issue a statement that warns people that the next firmware update might break their phones. You can’t really blame them for choosing the latter.
I will blame Apple for getting a bit fat and arrogant lately. Like that talented and self-absorbed friend who stopped talking to us once they finally hit the big time (confirming what their ego always believed), Apple is following in the footsteps of Microsoft, Netscape, Google and every other technology superstar in getting more difficult to deal with the higher its star climbs. Don absolutely has a point that it is losing out to the likes of Amazon in negotiations with the music majors because it’s gotten just a little too big for its britches. This is hardly the end of the world, however, for Apple or for us. A bit of serious competition is exactly what the doctor ordered to bring them back to earth.
When the iPhone was released, there was plenty of bellyaching about the lack of an SDK for third-party apps. Then Apple stepped up and announced that the “SDK” for the new device would be the Safari web browser, combined with Web 2.0 techniques (i.e. gobs of JavaScript on the client). Some hailed this as a visionary idea while others griped (somewhat paradoxically) that “web apps are not applications”. The situation became muddier when rogue developers quickly released a user interface toolkit and a package manager that makes it braindead simple to install native (albeit unauthorized) OS X apps designed for the iPhone.
I’ve been plugging the idea of web apps as the future of applications for a while, with a particular emphasis on WebRunner. So naturally I’ve been intrigued by Apple’s decision to make the web their official SDK. Having got my hot little hands on one, however, I’m disappointed by the current lack of features that would make this direction viable. As far as I can see, you can’t even add an app to the pretty grid of colorful icons that serves as the iPhone’s main menu. Besides integration with the underlying OS, there are many other gaps if the browser is to serve as an application platform: offline storage, Flash, more sophisticated web forms, etc. (Mike Shaver had a great overview of future web browser features at Mozilla 24.)
When Apple announced Safari for Windows I hypothesized that this would allow them to roll out exactly these kinds of proprietary browser-as-a-platform features. I still think that the use of web apps as the standard iPhone development paradigm is brilliant, but the current offering is totally inadequate. I predict that Apple will start to announce fancy new features for Safari or (hopefully) jump on board of existing efforts like XUL, Flex, Google Gears and the like.
The good folks from the Media in Transition conference have put the video of my presentation online. The title of the talk was “Building Media Distribution Apps”, touching on the trade-offs between various distribution techniques (e.g. streaming vs. downloads) and the new generation of rich internet application platforms (including XULRunner and WebRunner).
There is also a short video of an interview I gave after the talk.
UPDATE: I should have mentioned that the slides that go with the presentation can be found here.
So Joseph Smarr, Marc Canter, Robert Scoble, and Michael Arrington are calling for a Bill of Rights for users of the Social Web which can be summarized with 3 words: Ownership, Control and Freedom.
Well well well… How interesting! This is exactly what I have been writing about for the last 2 days and what we’ve been saying amongst ourselves for 4 years. It is so refreshing to see that people are waking up to this. I’m not sure where this will go but it is definitely a step in the right direction.
One year ago today we unveiled the first public beta of AllPeers.
Our primary goal with this first version was to collect the feedback of as many people as possible. Being the most complex Firefox extension in the world combining the best browser and the best P2P protocol, it was essential for us to get real world experience. Our philosophy has always been to release early and often and it has proven to be very useful for our development process. So we listened, hired more people and worked very hard to add features that were requested and address bugs that people found over the seven subsequent beta versions.
In the last 12 months we introduced secure chat, offline storage of files and a bundle with Firefox. We fixed more than 1,000 bugs (from minor enhancement to major rewriting of features). We improved the user interface. We opened the source code. We received the help of fantastic volunteers who translated AllPeers into 15 different languages. We were the recipient of multiple awards and spoke at various conferences. But this is just the beginning and a preview of what we are cooking. We will soon release a new beta version integrating further enhancements and two major new features: the automatic download of files and the support for downloading and most importantly sharing torrents.
It has been an amazing 12 months and it would not have been possible without the dedication of our (small) product team who is now made up of certainly some of the best Mozilla specialists in the world. So to the product team and to the hundreds of thousands of users who are supporting and helping us working toward version 1.0 I would just say one word: Merci !
Apparently my calendar is broken. It says August 24th but obviously it’s April 1st.
With the Great Skype Outage heading into its second day with no clear end in sight, pundits like Om Malik are wondering aloud whether the very idea of P2P architectures is flawed:
Folks at Joost, Babelgum and other P2P companies should be concerned about their business prospects going forward. Venture capitalists who have been funding P2P-based services should take this as an early warning on the fragility of the whole P2P ecosystem, where a small glitch can cause widespread problems.
To be fair, Om has since backpedaled on this. (Side note: if an AllPeers rep every says “We love our customers too much to let that happen,” please put them out of their misery.) The actual P2P parts, if correctly implemented, are incredibly robust. By avoiding centralized points of failure, the system can continue running even if large swaths of it go offline. However, some things are much, much easier to implement with a central server. Skype’s registration server, for example, is a centralized service that keeps track of who is registered, what contacts they have, basic profile information and the like (at AllPeers we do the same). I’m not sure how their name resolution works, but you need a way to find out the IP address of a given node (e.g. your buddy Bob) and that’s much easier to accomplish with a server as well.
Basically your network has a P2P part which, for all intents and purposes, can never go down, and a centralized part which is subject to all the same scalability and availability considerations as any pure client/server solution.
So could Skype (or any P2P network) replace its centralized infrastructure with P2P technology that makes downtime a thing of the past? For someone like Skype, who already has a huge and fairly stable P2P overlay network, the answer is probably yes. I would keep the centralized servers but mirror the registration and name resolution data on a Distributed Hash Table. In essence, you figure out which Skype nodes are up most reliably (there must be thousands of people whose Skype uptime is near 100%) and use them to hold a mirror to the data on the servers. The servers would be there to make sure that data isn’t lost if someone goes offline unexpectedly, but otherwise the DHT would be used and no one would even notice if the centralized boxes went down for some time period.
As it transpires, Om’s second article quotes Skype as saying the problem is actually a result of an error in their networking code. The real question is thus whether EBay is an effective steward of what was for a long time a true technical marvel: incredibly reliable, fast, simple and easy to use. Judging from recent Skype releases, I’m not that optimistic.
UPDATE: The New York Times has more details about what caused the outage. If the problem has existed in the software since 2003 then maybe I was a bit harsh on EBay.
|
|
|