The Fucking Open Web

Nine years ago I was part of an idealistic group of web advocates looking to free the web from the tyranny of the big silos. We saw web identity as a core part of the web’s future and fought to build it with web standards. That’s how I got sucked into the delusional world of open standards and web specifications. We appealed to other developers working at the big co.’s to adopt our work through any means necessary, from high ideals to public shaming. And we got some traction. Aren’t you glad everyone is using fucking OAuth now? (That group, btw, has mostly sold out taking high paying jobs at Facebook and Google, and have not heard from since).

A decade later, I’m the founder of a scrappy startup trying to reinvent web conversations. We have limited resources and a staff of almost 3, struggling to tame this fucking web. It is amazing how hard it still is to build innovative, quality web experiences. It is very much possible – there are plenty of amazing web developers building mind blowing experiences. The problem is, I can’t afford to hire them, especially since a big chunk of them work for Google and Facebook.

It’s hard running a small business. No matter where you stand in the political spectrum, the amount of regulation an American business has to deal with is fucking insane. From incorporation, liability, accounting, human resources, and taxes, the system is rigged for those who already succeeded. We have 2 full time employees and we spend over $6000 a year to make sure we comply with all the payroll and labor laws across multiple states and the federal government. But at least government regulation is a known, predictable cost.

The web on the other hand. Fuck.

I’ve been hearing a lot of high minded complaints about native apps lately. We made a bet on the web. Built a responsive site for desktop and mobile and tried to avoid the native app space (still are). Part of it was driven by cost (native app developers seems to think $50K is the smaller amount you should bill for a native app these days), but a bigger part was driven by the perception of recent breakthrough in web development. And yes, there has been significant improvement, especially around core language support and the power of transpilers.

But when it comes to page layout, to putting together a great experience, it’s shit. And by shit I mean too fucking expensive.

One front end developer can build a great native app. It will work consistently as designed. But one front end developer is likely to attempt suicide trying to do the same thing on the web, especially now that the web is mostly (but not completely) mobile. Oh please shut the fuck up about the amazing new Washington Post mobile progressive web site.

Progressive web apps might be the future but if you are a startup trying to build new experiences, front end web development is probably at its lowest point. Mobile Safari is the new IE6. We have more amazing technology than ever before but we also have so much diversity of platforms, browsers, and screen types, that building a consistent experience pretty much means using almost none of it.

You want mobile notifications? Sure, but not on mobile Safari. Multiple line ellipsis? Sure, but only on webkit. Consistent rendering size across browsers? Just fuck off. We fix a layout bug on Safari and break something on Edge. We change font size on Chrome and now all you can see on Firefox is the letter F. How about hiding the address bar or controlling swipes from the left edge of the screen? Don’t be stupid. Oh, and don’t get me started on all these new custom mobile keyboards you can use and how autocomplete can fuck with your input box events.

Yes, you can build 2007 websites much better now. They will be consistent across platforms and perform great. But my 12 year olds don’t want 2007 websites. They want 2016 apps.

We are going to build native apps because it turns out, it’s cheaper. It’s cheaper to build multiple proprietary applications than one responsive web app. As a CEO I can plan and predict the cost of building native apps, even with the required upgrades and annual breaking changes. I can’t when it comes to the web.

Now, it doesn’t mean we are giving up. I much rather build for the web and nothing else. But it pisses me off every time I see a Twitter thread about how native apps are destroying the free world. Open standards are always going to be inferior to closed ones. How many of our web evangelist are using an Apple laptop, the most closed ecosystem around? People love Apple products because a closed ecosystem will always deliver higher quality in any given moment. Now sure, 2016 Linux laptops are much nicer than Apple laptops from 2006. But nobody gives a fuck.

What’s my point? As expected, it’s shut the fuck up.

Building a native experience is unfortunately still the less risky business decision. I don’t need you to troll me on Twitter and tell me how I’m betraying the web and the free fucking world. I am just trying to keep my startup going. Web progress is open progress and open is slow, painful, and by definition designed by a committee. It takes about a decade longer for open technology to reach the maturity of closed systems.

At the end of the day it is not about technology but about cost. In the last 10 years we have turned web development upside down. Massive backend scale is now a commodity while front end development is a monetary black hole. Do I miss IE6? As a CEO, actually yes. It would be much easier developing on one browser with a monopoly size market share – which is what native platforms are today. One app for iOS, one for Android, and I got over 90% consumer coverage. I can even use a framework to share work between the two.

The web is the future. The web will always be the future. But that’s the problem. I need to ship products now.

(For a rebuttal – The Open Web, Fuck Yeah!)