Live data from Hacker News

Maintaining an Independent Browser Is Expensive

robert.ocallahan.org

151–160 of 310 posts

Re: Maintaining an Independent Browser Is Expensive

#151

A reminder that, as article points out, a healthy web needs multiple independent client implementations and we're already down to less than a handful major ones. Ideally they should hold equivalent usage share which implies that as currently usage is heavily tilted towards Google Chrome, the best way in which you can help Mozilla is to use their browser and get your friends and family to use it too, unless there's a…

...and ideally, we should also encourage the use of the "lesser" browsers like Dillo, NetSurf, and all the text-based ones. They can't really run "web apps" and the like, but will be fine for viewing the "long tail" of content-focused sites out there (including this one.) What has become quite obvious to me within the past few years is that the whole "move the Web forward" thing seems to be really about coming up wit…

> What has become quite obvious to me within the past few years is that the whole "move the Web forward" thing seems to be really about coming up with and implementing as many complex features as possible (and advocating for their use in new sites), making it harder over time for smaller efforts at creating independent browsers to produce anything useful.

Yeah, it's enough to be infuriating. I've recently been thinking about what it would take to implement a lynx-like browser that had a better understanding of layout and could deal with the modern web.

Hurdle number one is that there's no "Web standard", but rather a great many interrelated standards. At a bare minimum, you need HTTP K₁, SSL/TLS K₂, HTML K₃, XHTML, DOM N, CSS K₄, and ECMAScript K₅. Several of those standards are actually multiple standards, so you'll have to do some digging. That's the easiest hurdle to overcome. Number two is that a few of the standards (including some really fundamental ones like the DOM) are maintained as "living documents", making them moving targets; even the—uh—"dead" documents are subject to speedy revisions (for example, there have been 3 new ECMAScript revisions in the last 3 years). Number three is all the up-and-coming experimental stuff that isn't standardized yet, but if at least one browser supports something, some website somewhere is already using it. Between two and three, you'll need to keep a finger on the rapid pulse of the Web. And on top of all that, you have to support legacy bullshit, deal with malformed documents, and be ever hyper-aware of security threats.

Allowing for off-the-shelf components like libcurl and duktape, I'm sure it's still doable by a single person, but it's a lot of work (much of it frustrating).

Re: Maintaining an Independent Browser Is Expensive

#152
post #127

Earlier quoted context omitted.

I never worked on a browser, though I did implement the HTML5 spec, twice, and I wrote a JS engine(compiler, runtime). I know that it was a lot easier because I could count on infromation and other advances that were available to me, and anyone else really, at the time, the kind of resources and information I probably wouildn't have had access to it("whats javascript?") 20+ years earlier. Browsers have evolved - beca…

Which part of the HTML5 spec, though? A parser? Or the whole thing, including DOM APIs and all the features like media elements and so on? Even an HTML5 parser is harder than it looks to implement to the level needed for a browser. You have to build a proper DOM, you have to be secure against all kinds of fuzzing, you have to implement off-main-thread parsing and speculative readahead for performance, you have integr…

I feel like there's a tendency to put browser developers on a pedestal. Browsers are large and complicated, and no, a single person cannot write a browser competitive with Chrome from scratch. On the other hand, a single person can probably write a browser competitive with Dillo, if they are sufficiently motivated. Browser developers are just as competent and incompetent as other professional native programmers. There are several HTML5 parsers out there. JS engines are also relatively abundant, especially if you will settle for an interpreter. You can build such things yourself, too, if you have the time and want to hone your skills.

Re: Maintaining an Independent Browser Is Expensive

#153
post #89

Earlier quoted context omitted.

All of the most important technologies today are very complicated. Anything that has to do with computers, cars, airplanes, trains, almost every industrial process. Being complicated is basically one of the prerequisites for being "high" tech.

I think parent meant a different kind of "complicated". More like "overcomplicated". If we want to move forward as a society, we better structure our tech in the simplest possible way. The difference with cars, airplanes, etc is that in a capitalistic world, an overcomplicated browser spec actually helps big players to keep their monopoly. That's what's wrong here.

I'm confused what the move should be then? People want more features and capabilities from the products they use, websites included.

What im reading here is a preference for web technologies to be frozen as they were since 2000.

Re: Maintaining an Independent Browser Is Expensive

#154
post #39

Earlier quoted context omitted.

Mozilla don't really care about mobile. The (too) small mobile teams do care, but the company as a whole doesn't - which mostly explains why it's so rough.

Firefox Focus is my go to browser on Android for 'just looking things up'. It's perfect for Wikipedia and IMDB (when someone points at the film you are watching and asks who the actor is). I only use another browser if I want up keep the page. No cookies, no bookmarks, no trackers

Sadly, Focus appears to just be another Chrome skin with some ui and privacy tweaks, and I think it's pretty telling that Mozilla did this rather than actually use FF mobile as the basis for this product. If you want to encourage browser diversity it doesn't really help.

I use FF Mobile because I want competition and I do like the features Firefox offers, but the performance and UX on Android are definitely lacking relative to Chrome.

Re: Maintaining an Independent Browser Is Expensive

#155
post #126

Earlier quoted context omitted.

There is a subset of web pages that only use a subset of features - Hacker News is an example, but better examples would be Wikipedia, many news sites, documentation of all kinds, and so on. You have basically static HTML, and use JavaScript for 1) progressive enhancement and decoration (what used to be called "DHTML"), 2) ads, and 3) more and more for client side rendering. You can't do much about 3 right now, but I…

>I would view it as a guideline or a best practice, rather than a restriction. >I would definitely offer scripting, but just not all features. That's a restriction. If site authors have to abide by that or else not have their content render in your browser, you're restricting their freedom to publish the content they want or make their own decisions about what code they choose to write. But if you still have a "backu…

I think you are misunderstanding me. I was just trying to answer "how could you concievably write a web browser engine if you are not Apple/MS/Google/Mozilla". My answer is: focus first on the happy path. There are a ton of websites that could be rendered with a simpler browser engine - I believe also faster and with less memory. Fall back transparently to an established engine if necessary. This is similar to how a tracing JIT compiler makes assumptions about the types of variables, and if these are violated (because the language is dynamic), falls back to the legacy path, an interpreter.

I further think, if you sell it right, you could get people running sites like blogs, documentation, wikis, to opt in to "strict" or "lite" or "document" mode, but that is an orthogonal issue.

Re: Maintaining an Independent Browser Is Expensive

#156

A reminder that, as article points out, a healthy web needs multiple independent client implementations and we're already down to less than a handful major ones. Ideally they should hold equivalent usage share which implies that as currently usage is heavily tilted towards Google Chrome, the best way in which you can help Mozilla is to use their browser and get your friends and family to use it too, unless there's a…

I'm curious, why does the web need multiple independent client implementations?

Note I'm not trolling, I'm seriously asking the question. I think it's assumed to be true but not necessarily true. I'm probably wrong.

As a counter example AFAIK there is no python standard that lots of teams make competing implementations. There is basically one python and a few incomplete copies but those copies have little to no say in the spec.

Then we have C++ where there are independent implementations but every implementation embraces and extends with optional non-standard features you can enable.

Linux doesn't seem to have much of a standard. Is there a spec? Are there multiple implementations or are there just multiple distributions of the same implementation.

There's effectively no spec or standard for phones. There's 2 proprietary OSes, Android and iOS. Android happens to be open source but there's no spec that multiple teams can implement AFAIK. There's just an API that Google decides on it's own what to add/change. I guess you're free to make another implementation by copying the API but there's no spec to follow you'd just have to try to keep up.

Would Android and/or Linux be better if there was a standard, committees deciding what gets in it and multiple implementations?

Re: Maintaining an Independent Browser Is Expensive

#157
post #140
post #130

Earlier quoted context omitted.

Sorry if I sounded like a Hardcore Apple Fans, but if there is anything Steve Jobs taught us that lifted Apple from near Bankrupt to the World most valuable company, is that User experience matters. Native Apps provided better UX, easier access on the Home Screen, and is generally 10x faster. What the web responded, or in your words a reaction to people using Native Apps, were to put more Ads, Creepy Ads, more JS tac…

A couple of things about native iOS apps. These are all a result of Apple controlling the walled garden and wanting to increase its revenue: -Apple limits what your app can do, e.g. apps can't spawn processes (FU Apple, this is bad for security/pricacy), can't do JIT compilation, can't download code, etc... -Apple rejects apps that compete with their own. -Apple removes apps that some governments want to have removed…

I really disagree with your argument -

> -Apple limits what your app can do, e.g. apps can't spawn processes (FU Apple, this is bad for security/pricacy),

What's the issue with that? Why would I want some random no-name devleoper randomly spawning processes on my device killing my battery life? How is it exclusively better for privacy? What prevents them from executing privacy-invading code as the separate process?

> can't do JIT compilation,

What's the advantage when all the devices, your apps are supposed to be running on, share the same OS, platform, ABI etc? What's the point when the hardware is already limited in scope compared to alternative platforms

>can't download code, etc...

Again, why would you want some random developer be able to download extra code? What prevents them from not misusing it for nefarious purposes? Even assuming that the developer is not malevolent, what prevents a third-party from compromising the developer's "update" servers and pushing malicious code?

>Apple rejects apps that compete with their own.

This is from a bygone era. For every native app on my iPhone, I can list an alternative -

  - Apple Photos -> Google Photos/Plex Photos
  - iMessage -> Whatsapp, Telegram
  - Facetime -> Skype, Allo, Duo
  - Mail -> Outlook, Spark, Airmail
  - Apple Music -> Spotify, SoundCloud, Wynk, Gaana
  - iBooks -> Kindle, Blinkist, Kobo
  - Files/iCloud Drive -> Dropbox, Tresorit, Google Drive
  - Apple Maps -> Google Maps, Waze
  - Keychain -> 1password, lastpass, minikeepass
  - Notes -> Evernote, Simplenote, Bear, Ulysses, Notion
  - Calendar -> Fantastical, Vantage
  - Clock/Timer -> Klok, Timeglass
  - Reminders -> Todoist, Due, Things 3
  - Video -> VLC
  - iTunes U -> Coursera, Udacity
  - Camera -> Halide, Camera Plus, Retrica
  - Weather -> Dark Sky, AccuWeather
  - Podcasts -> Overcasts, Pocket Casts
  - iTunes Store -> I'm not sure there's a perfect alternative but I can purchase music and movies from non-apple services as long as they provide it (and give apple their cut)
  - Settings -> Do we even need an alternative?
  - Voice Memos -> Recordium, Just Press Record
  - Pages/Numbers/Keynote -> Word/Excel/Powerpoint, Google Sheets/Slides/Docs
  - Apple Health -> I haven't gone looking for alternative but a lot of apps maintain their own data sources. I'm not sure what really prevents them from sharing data across or maybe they just don't want to? In any case I, sure as hell, trust only Apple with a centralized data source when it comes to my health tracking
  - iMovie -> Videoshop 
  - Stocks -> Stock Tracker
Do I need to go on? Some apps, which are indeed competitors to native apps, have been rejected but "is a competitor" doesn't appear to be the exclusive basis for rejection.

>Apple removes apps that some governments want to have removed.

True. Agreed

> they don't allow any other rendering engine other than their own

I am a developer and as much joy it would be to have Blink/V8 running on iOS, I'm totally fine with the decision apple made. In the absence of strong disincentives, companies and developers would try to get away with as much shenanigans as possible. I would absolutely not be happy if Google pushes a battery-killing update.

Sure Apple has its fair share of problem but out of all the big tech co's they are, by far, the best when it comes to preserving privacy, security and the least likely to pull shenanigans or gotcha's on their users.

Re: Maintaining an Independent Browser Is Expensive

#158
post #129

Earlier quoted context omitted.

Amazon and Facebook could both launch entirely new browsers. Spotlight it constantly on Amazon.com or across Facebook's properties as with Chrome on Google.com. Facebook already has far more cash and profit than they know what to do with. $38 billion currently, rapidly climbing. They'll add ~$20 billion to that in 2018. They could do a new browser just for kicks if they wanted to, and they have the vast global reach…

Alibaba already have their own browser of a sort ( https://en.wikipedia.org/wiki/UC_Browser ). As I understand it, it's some kind of thin mobile browser which renders on the server side.

There are multiple versions of UC browser. My understanding of it is:

- uc mobile on Android now uses the blink engine, it used to use Webkit. - uc mini ( I think that's the name) has server renderer but it's "uc engine" is a derivative of gecko (not checked recently)

Re: Maintaining an Independent Browser Is Expensive

#159
post #87

Earlier quoted context omitted.

Yes, but you implied they couldn't strive for independence while doing so. Furthermore, it's good to note that they have actually diversified: https://blog.mozilla.org/press/2014/11/new-search-strategy-f...

That is from 2014. They are back on the smack[0]. As long as search is the revenue center, there isn't much room[1] for diversification. If they need annual revenue of ~$400M to operate, it's either Google or Google. edit: On that last point, I could be wrong. Most of the biggies could throw half a billion at them indefinitely if it served the right purpose. [0] https://techcrunch.com/2017/11/14/mozilla-terminates-it…

That only says they made Google the default search engine, not that they received money from them. And even if they did, that would be in addition to what they are still getting from Yahoo - the contract lasts until 2019. Mozilla simply had the option of changing the default in case of a Yahoo! acquisition by a company not in line with their values (i.e. Verizon).

Re: Maintaining an Independent Browser Is Expensive

#160
post #12

Earlier quoted context omitted.

I wonder: who could even feasibly introduce another browser today? The task seems almost impossible.

Amazon and Facebook could both launch entirely new browsers. Spotlight it constantly on Amazon.com or across Facebook's properties as with Chrome on Google.com. Facebook already has far more cash and profit than they know what to do with. $38 billion currently, rapidly climbing. They'll add ~$20 billion to that in 2018. They could do a new browser just for kicks if they wanted to, and they have the vast global reach…

Hiring talent to build browsers is not as easy as throwing money.

The bottleneck is engineers who have the know how to build it.

Building your own browser could be a shitty business decision if you can't compete with Chrome for ad dollars.

A browser makes sense if you can bundle it with an OS.

Android : chrome, ios: safari and Windows: Edge

Facebook makes a shit ton of money from ads people click on chrome.

Post reply on HN