7 ms·
Mark Zuckerberg: Our Biggest Mistake Was Was Betting Too Much On HTML5
- guilloche 14y agoAfter some experience with html5 and javascript programming, I feel it is more and more like hacks, forcing natural application models into html5 with lots of hacks. Sure, there are applications fitting html5 well, but for many more others, I begins to doubt that html5 is a real good solution for future.
- mmahemoff 14y agoZuckerberg's harsh words are a mixed blessing for HTML5. Some people will get the wrong message and just dismiss HTML5 altogether, which isn't what he said. His main point is he regrets building native apps with HTML5, and with the benefit of hindsight, he is right. The good thing about this is the browsers and standards people need a wake-up call. See the comments in Paul Irish's recent thread about this [1]. There are people who are content to plod along and debate the finer points of one attribute or another, while native APIs are steaming ahead. Quotes like "We burned two years" and "Betting completely on HTML5 was the biggest strategic mistake Facebook made" from Facebook's CEO are the kind of evidence that should get people to wake up and smell the coffee, if they still haven't done so. 1. https://plus.google.com/113127438179392830442/posts/fR3iiuN4kEF https://plus.google.com/113127438179392830442/posts/fR3iiuN4...
- tbranyen 14y agoI agree, but feel that with Facebook's resources there was nothing stopping them from building a native application and a counterpart web application much like Twitter. Using a friend's device? Opt for the web interface. Using your own device? Native install. These things can live in harmony, not exclusivity.
- realrocker 14y agoBut, the Facebook philosophy has always been, of hacking together what works today and think about other things later. HTML5 allows rapid fluid UI(as in feed based UI) development. The native app would have taken atleast 4-6 months for a barely tested app( As an Android Developer, I can vouch for that). They got the HTML5 app running in much less time. Having a lot of resources doesn't mean better quality work. More often than not, small teams are deliberately allotted such tasks to maintain homogeneity in design and code architecture. A mobile app is special type of software where the UI is very close to the other components(i.e Event Handling, Models etc.). Putting a large number of developers on it won't make it go any faster. Think of that scenario: 200 people working on a mobile app, pumping out features and testing sequentially!!How would that even work?
- tbranyen 14y agoI think you misunderstood my point. Facebook has the resources to have a mobile and native app developed concurrently. I did not mean throwing more developers at a problem to get it completed faster. In my opinion he was just issuing blanket statements to warm the cold reality that Facebook doesn't care about quality.
- rhizome 14y agothe Facebook philosophy has always been, of hacking together what works today and think about other things later. If this was really the case, why wouldn't he just say, "hey, it was just our first draft" or something similar, rather than blaming an entire technology?
- deleted 14y ago[deleted]
- MatthewPhillips 14y agoYou do realize that the "standards people" are just Google, Mozilla, Microsoft, Opera, and Apple employees, right? What you'll find amazing when you read W3C mailing lists is only a tiny minority of those people invited to participate actual work on apps that are used by end users.
- count 14y agoStandards people today are, almost across the board, completely detached from product people. From the developer perspective, who wants to sit on mailing lists or participate in forums and argue about wording and syntax verbiage? From the 'standard people' perspective, writing the code is 'the easy part', and getting all these competing interests (ie: other standards people) to agree on something is the 'hard part'. They're both right...
- MatthewPhillips 14y agoI wish standards people spent all of their time on mailing lists, things would happen faster. These are the people who write code for browsers, for the most part. We also need people who are working on websites to be in there and it seems like web devs are underrepresented.
- kzahel 14y agoI am a web dev and I joined the WHATWG mailing list because I want to be a part of these discussions.
- brc 14y agoOT but g+ urls suck completely. For a company that rewards good Urls with high rankings, why didn't they even make an effort?
- Pewpewarrows 14y agoAs others have been pointing out feverishly on Twitter: the problem wasn't them betting too much on HTML5. Their problem was developing piece of shit apps that happened to use HTML5. They tasked amateurs who didn't know what they were doing into building a hybrid native app container which in turn embedded HTML5 content. Plenty of other developers (Instagram and LinkedIn come to mind) have figured out how to do that right, and in a way where it is seamless to the end user and for all intents and purposes feels exactly the same as a native app. I'm not saying that it's an easy problem. You have to find the right balance between which components should be native or not. It's clear from the other problems that Facebook's been able to solve that they know how to hire top-notch developers. They just failed to do so for their mobile efforts, which just reinforces the stereotype that they don't "get" mobile.
- baddox 14y agoWhere does the Instagram app use web views and/or HTML 5?
- batgaijin 14y agoBut why did Facebook get away with it for so long?
- gavinlynch 14y agoBecause people really, really like Facebook apparently...
- flyt 14y agohttp://www.quora.com/Facebook-Engineering/Why-does-Facebook-not-need-to-produce-particularly-high-quality-software/answer/Evan-Priestley http://www.quora.com/Facebook-Engineering/Why-does-Facebook-... Why does Facebook not need to produce particularly high-quality software? By paying less attention to quality, Facebook has been able to focus on other things, like making the company a fun place to work at that can attract and retain talented engineers. Facebook would probably be less fun if it cared more about quality. Facebook's product is a website, so it can fix things quickly. It has a process which permits rapid deployment of new code, and rapid rollback of buggy changes. This reduces the cost of recovering from bugs. Facebook's product has a lot of momentum and lock-in. The barrier for users or businesses to move off Facebook is very high. This gives Facebook a wider margin of error to ship glitchy software. If Google was broken for a day, you'd probably go to Bing and might not come back. If your iPhone pissed you off all the time, you'd probably buy an Android when you're faced with the decision in a year or two. If you can't order something on Amazon, you can order it from somewhere else. If Facebook is broken, you keep coming back until it works again.
- leeoniya 14y agoi hope this doesn't mean they will be forcing everyone into a native app. i ditched it long ago because their mobile site is quite good and 100x better for my privacy. same with yelp and youtube. gmail is good also, but i need the notifications there, so no choice but native.
- elviejo 14y agoMe too... their mobile site is better than their native app on android. the only drawbavck is qhe I try to share a photo it uses the native app.
- leeoniya 14y agoi share photos by emailing them to the special fb status address. it's tiny bit more of a hassle, but i dont do it very often.
- army 14y agoDid nobody listen to the interview? He said that most mobile users use the mobile web interface (i.e. it is not going anywhere).
- warmfuzzykitten 14y agoThe iOS app is still crap compared to the web experience. Users can't edit, or even delete, their own comments. The length of time for likes and comments to appear is unpredictable. Sometimes very quickly, sometimes users don't see their own comments for half a minute. Art is displayed oddly. It's almost always clipped at top and bottom on the page, requiring an extra step to actually see it. They seem to be under the mistaken impression that mobile users are like Twitter users, firing shots into the darkness, instead of curled up on their couches with iPads, composing little essays and looking at family photos.
- dclusin 14y agoDon't forget copy and paste.
- jonknee 14y agoFacebook has made a ton of mistakes, HTML5 does not rank anywhere near the top (it wasn't even the cause of their problems, there are plenty of well done HTML5 apps). Their app sucked, but was incredibly popular. Their new app sucks less and is still incredibly popular. Because of their other "mistakes", I will not allow their app anywhere near my devices. A general lack of trust is a mistake that Facebook can't fix.
- code_duck 14y agoI'd say their biggest mistake is filtering the news feed by presumed interest. I talk to normal person after normal person who finds facebook increasingly more useless because this algorithm does not work correctly. I sure am tired of hearing people talk about 'html5' as if the situation of native vs. browser apps is really any different now than it has been for the past 5 or 10 years.
- Silhouette 14y agoI suspect history will show their three biggest mistakes to be: 1. Allowing an IPO that was vastly overpriced. 2. Keeping Zuckerberg in the CEO role for too long. 3. Taking their users for granted. Obviously the first has seriously damaged their credibility, and with it their ability to hire and retain people who could solve their problems and grow the business. I believe the second has a similar effect. Aside from the catastrophe of the IPO, Facebook don't appear to be going anywhere strategically. The cat is out of the bag in terms of cost effectiveness (or lack thereof) of Facebook ads compared to alternatives like Google. And generating ad revenue on small-screen mobile is bound to be harder, whether you're using HTML5 or anything else, because the physical screen size only provides so much space. The third will probably be what finally kills them. As long as they can maintain the critical mass of users, the "everyone's on Facebook because everyone's on Facebook" effect, they can get away with a lot. But no-one using Facebook goes there for the ads, and no-one really likes all the privacy invasion. These things are merely tolerated, and only up to a point, because people like being sociable and right now Facebook lets them keep in touch with their friends and family more conveniently than anyone else. So when Zuckerberg says "Over the next three to five years, the biggest question on everyone's mind is really going to be how well Facebook does with mobile"[1], I think perhaps he's getting ahead of himself. The biggest question I would ask, if I were a potential investor, is whether Facebook will still have that critical mass of users in three to five years, or whether, like every popular social forum on the Web before them, they will have been disrupted by the new shiny. [1] http://www.bbc.co.uk/news/business-19565937 http://www.bbc.co.uk/news/business-19565937
- jpdoctor 14y ago> 1. Allowing an IPO that was vastly overpriced. As others have pointed out, that's a feature not a bug. They raised a ton of money for not much equity, which is the best case result for an IPO from the company standpoint. Not so much for the suckers who bought. > 2. Keeping Zuckerberg in the CEO role for too long. As a consequence of #1, Zuck did not give up control. He can stay there until the equity is worth $0.00/share. The only consequence of #1 and #2 is that he pissed in the pool for all those that follow, because the suckers have been bled dry. And when you think about it, that means IPO is not as much of a possibility for all the future acquisition targets for FB. Total win for the company.
- antirez 14y agoThe problem with apps developed in HTML5 that is not stressed enough IMHO is that the iOS API is good, while the HTML5 API to do a lot of advanced stuff is still limited. In short to develop a native application does NOT take more time than developing one in HTML5, at least for iOS devices. I can tell this first-hand as I used to advice an iOS/Android software company in the past, composed mainly of friends of mine, and in three years of projects the native approach always won: better responsiveness, more access to lower level primitives when needed, native look and feel, easy of development. And I'm talking about a small startup. To take the HTML5 approach to develop a mobile application for a very large company is simply silly IMHO, and Facebook CEO is right that this was an huge error in their side.
- maratd 14y ago> develop a native application does NOT take more time than developing one in HTML5 Unless you already have an HTML5 desktop app. In which case, the only thing you're doing is modifying the UI for touch-based input and a smaller screen ... which doesn't take much time at all. Facebook's problem was that their app sucked. It didn't suck because it was HTML5. It sucked because it was done poorly.
- antirez 14y agoFor an HTML5 desktop app to become a good HTML5 mobile app usually the changes are so big that you end anyway with a different set of code generating the output for the two "sides". It does not matter that's HTML+CSS+JS both sides, the device, the interaction, the screen real estate, and the user behaviour when seeing this content in mobility is different. Actually the risk is that trying to make an HTML5 desktop app also good for mobile is that you overlook a lot of good interactions that are not natural consequences if the starting point is the desktop app.
- maratd 14y ago> For an HTML5 desktop app to become a good HTML5 mobile app usually the changes are so big that you end anyway with a different set of code generating the output for the two "sides". I'm actually working on this right now. HTML and CSS served to both desktop and mobile are identical. HTML is just headers and an empty body tag. CSS has shared code and @media specific to each interface. Every visual element is built through JavaScript/DOM. Javascript is split into two sections/folders. Logic and visual. Mobile and Desktop share the logic javascript, but not the visual. Everything you can do on the desktop, you can do on mobile. The only differences are in how the visual elements are presented.
- mbell 14y agoDitching the HTML5 app was a good call but _please_ fix the atrocious way the new app mangles images with the resizing/stretching. It really kills the speed of the overall experience when I have to enlarge every image to have any clue what its a picture of.
- pixelcort 14y agoWeren't the issues with their use of HTML5 more related to the lack of proper asset caching (CSS/JS), not so much the performance of the rendering and code execution? When I used their app at the time, I always found myself waiting for the CSS for each view to load.
- pothibo 14y agoThe main problem with native development is how you are not as flexible as your HTML counterpart. Even with the massive amount of capital that Facebook has, a full native app would always be behind. Obviously, I don't work at Facebook so I don't know all the details, but I remember when Joe Hewitt built the native Facebook app, while it was awesome, it was lacking many features 4 months after it's release. Since developing on iOS can take as much as 2 times longer than HTML development (+ the release cycle with Apple approvement system), it makes sense, in my mind, that they opted to have as much of HTML 5 code as possible. DISCLAIMER: My first language isn't english.
- markmm 14y agoWhy isn't it as flexible? And a native app on a mobile device shouldn't try and replicate a full blown web app, it should have only the appropriate features that you would use on the go, but it should do these well and be snappy (read native).
- pothibo 14y agoMaybe for you, but the general public expect the same feature set. They can be presented in a different matter, but in the end they need to match. Look at the comment here, some people are complaining about lack of feature on the current app.
- captn3m0 14y agoSlightly offtopic, but this is what I hate about tech reporting: http://i.imgur.com/TYyKD.png http://i.imgur.com/TYyKD.png There is an article for every statement that zuck made onstage. Getting pageviews is a priority, I guess.
- programminggeek 14y agoIt's not a surprise that a web software company would want web software to run and win everywhere, it's the same reason c++ devs want to write web apps in c++ even if that might be a terrible idea. In the end, the lesson is clear, you get what you optimize for. FB optimized for letting their web devs ship mobile code fast, and they were able to do that. The caveat is that the product they shipped wasn't that good. Now they are optimizing for a higher quality product which requires different developer skills and resources. It seems to be paying off. Neither strategy was wrong so much as maybe how long they stuck with a particular strategy.
- markmm 14y agoThey are a bunch of PHP hackers, is it any wonder they can't write decent native apps?
- drivebyacct2 14y agoI'm already seeing weird conclusions drawn from this. Anyone can tell you, the mobile web app for Facebook worked. Well. It was very, very fast and looked nearly pixel for pixel like the "native" Android app. Thus, it seems pretty silly to act as if HTML5 is incapable.
- Kilimanjaro 14y agoSure, blame it on HTML5, the voiceless culprit. Blame it on the janitor, the office assistant, the programmer. But never dare you touch a C*O for the failure of a corporation!
- grannyg00se 14y agoWhat is the common understanding when people deliberately tack on 5 at the end of HTML? I don't remember people talking about HTML 4 like that. Is there some expectation that HTML is suddenly a replacement for native apps? That's a rather unexpected (to me, at least) positioning of HTML.
- mark_l_watson 14y agoI am sorry to see any negative publicity for HTML5 adoption but I understand that FB is a special case. Saving money on mobile development is not a priority for them. I think the situation is different for small companies and apps that have many fewer users: saving money on app development frees resources for content production.
- chucknthem 14y agoI don't think they're saving money by making an HTML5 version. A slow app means less engaged users who are less likely to see or click on ads. At facebook's scale, that's potentially tens to hundreds of millions of dollars lost on the iPhone per year while it probably only costs a couple million to fund 5 engineers to make a decent native iOS app.
- fpp 14y agoGuess what he's actually saying is that if you want to created "walled gardens" and locking-in users HTML5 is not the way. So if you want to collect fees from publishers, don't own the browser or the OS (and are not the content creator) - use a closed app. From the viewpoint of FB this might be (a short-sighted) way forward. It's not in the interest of the publishers and content providers - but again that seemingly doesn't bother FB.
- campnic 14y agoI don't work for Facebook. I work at a mobile company that does iOS and Android development. I work daily on our Android apps. Here is my experience: 1. The cost of maintaining iOS and Android is something like 1.5x the cost of maintaining just one or the other. Most of the investment is architecture and design. About 50% of the design is portable across iOS and Android. 2. Developing reliable HTML5 that behaves predictably is as expensive as developing for a native platform. You may already have the skills, but that doesn't make it less expensive. 3. Most touch frameworks (jQuery mobile, etc.) get you 85% of the way there and then you're stuck. To get an app that can compete with native in terms of realization of design, you end up with lots of non-framework code. 4. (Android specific) The same fragmentation that hurts native development hurts support for HTML5. The test matrix for HTML5/browser compatibility on Android is almost as daunting as the native support. Different device/os versions have different web cores that have different foibles. Its just as big a grab bag as ever. 5. Multimedia support for these environments is just atrocious. Unless you can proxy/convert all content, all but the most trivial content is inaccessible. You end up calling into other applications on the platforms which can present a much less compelling presentation to the user. I'm not going to say its impossible. I'm leaving out all the arguments of performance because it just gets to be to specific to the use case. I have not seen a compelling example of a unified mobile & desktop browser code base that would eliminate all mobile maintenance. Besides just having people rip up my points, I'd be interested in hearing what HTML5 components people are finding make these issues manageable. In the long run, its not black or white. We use HTML5/css/js for some things and native for most things. Its how we keep things moving but I'm sure we'll revisit this over and over to make sure we keep investing in the right platform.
- goggles99 14y agoThanks you... People think that HTML5 us the second coming. Thank you for putting it in context. Use the best tool for the job. I am tired of so much hype over HTML5 - like it's the greatest thing since sliced bread.
- corwinstephen 14y agoWhat I find most interesting here is how so much in depth analysis is coming out of one, simple statement with a very obvious meaning. You know how people used to try to analyze the life out of Beatles songs looking for all kinds of hidden meaning, until one day Paul McCartney straight up said, "There is no meaning other than what's on the surface level."? I'm getting that same vibe here. Mark said they bet too heavily on HTML 5. Did that mean the people who wrote the HTML 5 standards failed them? Or that Google and Apple failed them for writing code that couldn't sufficiently run HTML 5 apps? Or that they overestimated their engineers' abilities to write good HTML 5 apps? Or that they thought HTML 5 was going to be something that it isn't? Honestly, I don't think he meant any of those things. There is no hidden meaning here: They used HTML 5. It didn't work they way they'd hoped. Now they're using something else. That's it. End of story. Props to the guy for finding something that wasn't good and fixing it. That's what a CEO is for.
- deleted 14y ago[deleted]
- DigitalSea 14y agoA bad mechanic will always blame his tools. A saying the Facebook development team should print out, frame and hang in their building for all to see. Maybe Facebook should have asked the LinkedIn development team to build their app for them because they obviously know nothing about web development.
- gregsq 14y agoThis is all very interesting, but I do think the concentration on HTML5 is something of a foil. Strategically, I was under the impression that Facebook was positioning itself to be a third independant force, alongside Apple and Google. Considering the state of play when facebook started up in 2006, when users flooded into the browser venue, and where the iPhone hadn't yet been released, and where the idea of socially contextualless search and data could be leveraged and superseded by the Facebook social graph, I consider the decisions made with facebooks mobile strategy to be explicable. There was, after all, a lot of rumour that Facebook would release their own phone. This made sense if your objective is to provide an alternative to mobile OS's, and even more, to overtake your competitors. The belief including the possibility of evolutionary superiority. Things change. Google supplies Chrome through the app store despite the restrictions imposed by Apple, and this has not weakened the power of Google at the expense of Apple. There are many examples of stepwise cooperation. It has not diminished their independance. And Facebook likewise should probably not have been so concerned that acquiescing to the other majors on mobile would pidgeon hole them as a very very big Instagram style dependant. Facebook has lost time by being over guarded in my view. On the other hand, this admission by facebook demonstrates a recognition of a kind of failure. I suspect the notion that Facebook will grow to be an organisation that is an evolutionary step beyond Google is now viewed as the real strategic error by them. As to HTML5 being a mistake, I could be wrong, but I don't really think that that's what he actually means. He's trying to explain himself without admitting some things.
- hoi 14y agoIs it a case of HTML5 is a future disruptor, providing platforms don't try to subdue it in preference to Native? A good example is in mobile tech where a lot of apps that used data pre 3G performed poorly because the underlying technological dependencies (the data pipes, memory limitations and processing power) were not ready. Secondarily, the business models were not ready either (pay per MB). Maybe HTML5 is in a similar position, may work well for web, but mobile app eocsystems are not yet technologically ready for it to be disrupted. We see it time and time again in history where a new tech takes a while before it becomes good enough to break through (CMOS vs CCD), (HDD vs Floppy vs Tape). (Mainframe -> PC -> Cloud)
- se85 14y agoThat is facebook's biggest mistake? Is he blind or just wilfully ignorant?
- alifaziz 14y agoInstead it's sometimes better to build an app on top of its native environment from the early days rather than spending enormous time to figure out the best workaround for life. You might choose the tool you're most comfortable with to build everything, at the same time just never ignore the quality that the users will experience.
- pedalpete 14y agoI've got both iPhone and android phone, and I always noticed strange scrolling and slow response on the iphone when using the html facebook app. I don't see these issues with the android version, and it doesn't seem like Facebook is jumping at getting a native android app out there. Is HTML really to blame?
- bonaldi 14y agoIt occurs to me that if someone came out with a new technology and said "hey, you can now describe your entire interface's structure in one markup language, the visual look in a second language, and the code in a third language, and then your app will run anywhere that has the required runtime interpreter" they'd be shouted down faster than you can say "go Swing". Yet that's essentially what HTML5 apps are all about -describing the interface in markup and processing it at runtime. In what way is native not always going to be better for a given platform?
- mcpoulet 14y agoFor those interested, here is the specific quote on video from Techcrunch's live : http://www.youtube.com/watch?v=GBp_xCGIATk http://www.youtube.com/watch?v=GBp_xCGIATk
- pyrotechnick 14y agoThis is absolute nonsense. Here's an example of what a small team + HTML5 is capable of: http://ro.me http://ro.me
- jorangreef 14y agoBrowser vendors are trying to do too much. Innovation needs to move from top-down to bottom-up. Browser vendors need to provide just basic access to bare metal and let OSS do the rest. One way to help is to ask for lower level OS apis to be exposed by browsers, so that the open source community can do the rest: 1. Ask for UDP to be exposed to trusted web apps installed by the user. This will let the P2P community race ahead without having to wait for WebRTC to get released and then fixed. 2. Ask for TCP to be exposed to trusted web apps installed by the user. This will instantly enable things like SMTP clients running in the browser without the need for WebSocket proxies/proprietary gateway servers. 3. Ask for POSIX to be exposed to trusted web apps installed by the user. This will lead to an explosion of database innovation in the browser. IndexedDB is design-by-committee. Insist on proper POSIX not the FileSystem API. Borrow from the Node API. Impedance mismatch is crippling browser storage. 4. Low-hanging fruit: ask for LevelDB to be exposed directly (http://code.google.com/p/chromium/issues/detail?id=128865 http://code.google.com/p/chromium/issues/detail?id=128865). Most of the browser vendors are using LevelDB underneath IndexedDB, and just exposing LevelDB directly would already be a huge leap forward. No need to wait for the many IndexedDB bugs to get fixed by browser vendors.
- untog 14y agoThat sounds like a horrible mess. Presenting users with "Would you like to give this site access to UDP?" is not a question most users can answer to any level of competency. Developers dream, users nightmare. WebGL has been a good example of the difficulties you face when offering low level access- buggy graphics drivers could result in an all-out crash.
- jorangreef 14y agoYour proposed solution and criticism thereof presume that there is only one way to delegate trust to a web app and that it should entail that the user understand UDP. Consider Tim Berners-Lee: http://lists.w3.org/Archives/Public/public-webapps/2012JanMar/0464.html http://lists.w3.org/Archives/Public/public-webapps/2012JanMa... And Alan Kay: http://www.drdobbs.com/architecture-and-design/interview-with-alan-kay/240003442?pgno=2 http://www.drdobbs.com/architecture-and-design/interview-wit...
- pjmlp 14y agoFinally someone gets it. Applications should be done natively. HTML is for documents.
- brackin 14y agoThis was just a strategy for Mark to downplay Facebook's troubles. Avoiding talking about Facebook's other problems by pushing HTML5 as their biggest mistake and saying how it's now fixed. This gives them more time and calms investors down.
- goggles99 14y agoI find it amusing that everyone tries to "interpret" what Zuckerberg is saying. It is in pretty clear 3rd grade English folks. Don't try to spin things too much. Of course there are always agendas, do you think that Steve Jobs didn't have agendas? I did not hear much reinterpretation of his statements in his latter years...
- Uchikoma 14y agoWhat Mark Zuckerberg really said: “When I’m introspective about the last few years I think the biggest mistake that we made, as a company, is betting too much on HTML5 as opposed to native… because it just wasn’t there. And it’s not that HTML5 is bad. I’m actually, on long-term, really excited about it. One of the things that’s interesting is we actually have more people on a daily basis using mobile Web Facebook than we have using our iOS or Android apps combined. So mobile Web is a big thing for us.” http://blog.tobie.me/post/31366970040/when-im-introspective-about-the-last-few-years-i http://blog.tobie.me/post/31366970040/when-im-introspective-...