News for hackers. Stuff that matters.
Re:Maintaining an Independent Browser Is Expensive by userbinator on Sunday December 03, 2017 @01:37AM (#15836315)
...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 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.

Re:Maintaining an Independent Browser Is Expensive by csallen on Sunday December 03, 2017 @11:58AM (#15838363)
> 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

Perhaps this is a knee-jerk reaction on my part, but I'm against initiatives that resist technological progress, including those that rail against modern web applications.

Not only do these initiatives seem doomed to lose against the nearly unstoppable forward march of technology, but they are coming at the problem from the wrong direction. If it's too hard for independent efforts to succeed, we should not be fighting in vain to hold back progress. Instead we should be working on efforts to increase the abilities of independent contributors. We should be making it easier for anyone to build a modern browser. That's something that more technologists could actually get behind.

Further, while there's nothing wrong with a little nostalgia, let's not forget how far things have come. Many instances of modern web applications are certainly flawed, broken, misguided, overkill. But the web as a platform today is unfathomably better today than it was in the 90s. The applications built on top of it have massively empowered individuals and augmented our productivity. And I'm happy that I can build for the web instead of for Windows.

The fact that some websites do a poor job using the new tools available is a small price to pay.

Re:Maintaining an Independent Browser Is Expensive by loup-vaillant on Sunday December 03, 2017 @12:38PM (#15838519)
> I'm against initiatives that resist technological progress

I dispute the notion that the evolution of the web is at all progress. It has nice things, but so far the main effects are ever increasing bloat and centralisation. There are simpler ways to do this stuff, we're just too caught up in path dependence to see or invent possible alternatives.

> we should be working on efforts to increase the abilities of independent contributors

Unless you mean to make them less independent (say by providing common libraries and rendering engines), then the only way forward is to increase everyone's abilities. This is already an ongoing effort, just see how many programming languages and methodologies are popping up every year.

> the web as a platform today is unfathomably better today than it was in the 90s

The web wasn't even a platform the 90's, of course it's a better platform now. However, it only became a platform by accident. This reminds me of C++'s accidentally Turing complete templates, which later spawned template meta-programming madness.

If a platform was design from the ground up as a platform, it would all be much simpler, perhaps even more capable. But no, we had to piggy back on whatever the market favoured at the time.

---

Here's what I think: a web-ish platform written today wouln't need more than 0.1% of Firefox's 35 million lines of code, or about 30 thousand lines. Or maybe 10 times that amount, to account for optimisation and long tail functionalities —that's still under 1%.

This even has been done. The STEPS projects at http://vpri.org is only 20K lines, including the compiler collection and editing tools. It even runs at acceptable speeds on a laptop.

That would be progress. That would spur the independence of contributors. Too bad the market just isn't ready for this. It probably never will be.

Re:Maintaining an Independent Browser Is Expensive by Fnoord on Monday December 04, 2017 @08:45AM (#15843707)
Progress is very subjective. Yes, its true that some "good" things have "bad" consequences. An example is that an average website in 2017 on an average computer + internet connection from 2007 is dog slow. But that doesn't mean these "good" things are not progressive. Rather, I'd describe it as 2 steps forward, 1 step backward. Take for example the smartphone/touchscreen phenomenon. It has its negative consequences. People are able to record anything (sound/video). They're using these things during traffic. But that doesn't mean there's no positive consequences. The end result is a nuanced list of + and - effects and there's no need to discount all the + or all the - with an extreme standpoint.
Re:Maintaining an Independent Browser Is Expensive by loup-vaillant on Monday December 04, 2017 @02:35PM (#15846731)
Let's weight the good and bad. First, what is possible today that wasn't then? I see only multimedia and games. Text forums like this one were totally possible in the 90's. They just weren't as pretty.

Then let's examine why stuff is so bloated now: is it because we have more features? For the most part we don't. It's just abstractions piled on top of each other, images, and ads.

I'm not even sure the costs are even related to the benefits.

Re:Maintaining an Independent Browser Is Expensive by csallen on Monday December 04, 2017 @03:56PM (#15847413)
I think you're focusing on the costs and neglecting many of the benefits. For example, just think about how much easier it is to learn to code nowadays, thanks to the proliferation of helpful websites that take a variety of approaches to teaching, many of which were enabled by web technologies. GitHub, JavaScript 30, Khan Academy, RunKit, Flexbox Defense, Codecademy, just to name a few. And think about how many more of these sites exist today than would have in the past, because more people are building them, they're much easier to build (again, thanks to new web technologies).

And this is just learning to code.

Re:Maintaining an Independent Browser Is Expensive by loup-vaillant on Monday December 04, 2017 @06:51PM (#15848656)
> I think you're focusing on the costs and neglecting many of the benefits.

Which of those costs actually enabled the benefits? Very few, I'd wager. Much of those were avoidable. Or would have been if the market wasn't so short sighted.

> GitHub, JavaScript 30, Khan Academy, RunKit, Flexbox Defense, Codecademy

I reckon some of this does require a scripting engine somewhere. But not all of it. I still believe your examples are possible without JavaScript (even without CSS). A REPL wouldn't need it, if you have the server do the computation (within limits to prevents DOS attacks). It just wouldn't be as pretty.

But that would be unwise. Many of those really are applications, and they deserve a proper application platform. Which the web isn't, despite herculean efforts to the contrary.

A proper application platform needs to give access to simple, relatively low level constructs. Something like web assembly, a raster viewport, input, and sound. Meaning, a virtual machine. Browsers are becoming such anyway. Also, no text handling, no style sheet, no programming language. Let the users implement a web browser on top of the application platform if they really want to.

Actually, I do hope we eventually turn this madness on its head, and implement browsers on top of web assembly engines. This would drastically reduce the effective attack surface (good for security), and do wonders for portability. Wouldn't solve the independence problem, though.

Re:Maintaining an Independent Browser Is Expensive by sidlls on Sunday December 03, 2017 @01:39PM (#15838793)
I'm sorry, but who says the web platforms of today are "progress?" it's the same re-heated cross-platform "write-once-run-anywhere" pies-in-the-sky as 20-30 years ago. It's just these days it's wearing half-shaved heads and horn rimmed glasses, skinny pants and plaid shirts instead of pony tails and threadbare t-shirts and jeans/shorts with sandals or sneakers.
Re:Maintaining an Independent Browser Is Expensive by bigiain on Sunday December 03, 2017 @05:43PM (#15840093)
I had bosses argue pretty much exactly this when I resisted proposals to remake entire websites in Flash... "It's _obviously_ the future!" they said...
Re:Maintaining an Independent Browser Is Expensive by groovy2shoes on Sunday December 03, 2017 @07:27AM (#15837300)
> 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 by roca on Sunday December 03, 2017 @04:01PM (#15839567)
The alternative to a "living document" is "we have a bunch of updates and errata, and you're going to have to piece together the current version yourself from many sources".

If you really need an unchanging version, download some version and use that.

Re:Maintaining an Independent Browser Is Expensive by userbinator on Sunday December 03, 2017 @05:24PM (#15840003)
No, the alternative is a versioned document.
Re:Maintaining an Independent Browser Is Expensive by roca on Sunday December 03, 2017 @07:12PM (#15840478)
These documents are versioned in VCS. The core issue is that either you update the master document every time you have a fix, or you don't.

If you do, it's a living standard.

If you don't, then people have to cobble together the latest version from various sources.

Re:Maintaining an Independent Browser Is Expensive by zaarn on Monday December 04, 2017 @03:07AM (#15842375)
Or alternatively, follow a strict release cycle, ie, once a year and publish that. Have all standards follow this cycle.

The choices aren't "commit everything to master" or "commit everything into various versions".

A strict release cycle also prevents having some hype extension which only a few people actually use since it takes more effort and dedication to get stuff into the standards.

Re:Maintaining an Independent Browser Is Expensive by roca on Monday December 04, 2017 @05:50PM (#15848306)
Why would you want your published version to exclude up to a years worth of fixes for known issues?
Re:Maintaining an Independent Browser Is Expensive by zaarn on Tuesday December 05, 2017 @09:17AM (#15851803)
Why would you want an only 3 week old version with an unknown number of untested and unproven features?
Re:Maintaining an Independent Browser Is Expensive by sidlls on Sunday December 03, 2017 @10:52AM (#15838066)
I think what you describe is a side effect of the "move the Web forward thing". I see the motivation for moving the Web forward as a cost-savings measure for software developing companies, which they believe will be achieved when "write once, run everywhere" is achieved. This time that particular Holy Grail is thought to be achievable through browser-based development. They essentially want the browser to become something very like a full VM running on a host OS. The natural consequence of this is increasing complexity.
Re:Maintaining an Independent Browser Is Expensive by Vinnl on Sunday December 03, 2017 @03:33AM (#15836639)
The thing is that that, in turn, is somewhat of a reaction to people using native apps instead of the web, creating lock-in for other ecosystems.
Re:Maintaining an Independent Browser Is Expensive by ksec on Sunday December 03, 2017 @06:31AM (#15837143)
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 tacking, more JS that many had no idea what they were doing, web notification pops up every time you visit a page, mandatory cookies notification, and all sort of other things that makes people no longer wants to consume anything on the Web anymore.

I will have to admit, even without those problem it will be a hard battle against Native Apps, but not only are they not improving the web, they are making it worst.

A Steve Jobs phase constantly pops up in my head when i see this, "The only problem with Microsoft is they just have no taste." It is true for the majority of the web as well.

Re:Maintaining an Independent Browser Is Expensive by Jyaif on Sunday December 03, 2017 @07:01AM (#15837221)
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.

These are all things an open web avoids.

Now the fun thing is that nothing prevents Apple from turning the web into a walled garden since they don't allow any other rendering engine other than their own. The iOS ecosystem is really a beauty.

Re:Maintaining an Independent Browser Is Expensive by inapis on Sunday December 03, 2017 @07:53AM (#15837375)
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 by hungerstrike on Sunday December 03, 2017 @12:44PM (#15838553)
> Why would I want some random no-name devleoper randomly spawning processes on my device killing my battery life?

Why do you want Apple to be in control of your device though? Wouldn't you rather be able to let an app do something that it needs to, when you need it to? Or, would you honestly prefer Apple to make all of your decisions for you?

If you really want Apple to be in control of your devices and not you, that's fine... but can you understand why other people might not want that?

Are there any Apple decisions that you disagree with?

Also, how about a replacement for the most important apps?

    - Contacts
    - Phone Dialer
    - Messages
    - Safari
Can you even uninstall those? Are other apps even allowed to receive phone calls or SMS text? (To replace Safari - I'd require that it never get launched from a hyperlink in an SMS text message.)

I'd like to replace these because Apple only gives you the most bare-bones features for them and they strong-arm you into using Apple Maps and Safari from them. I'm guessing you're fine with that though.

> [Apple is the] least likely to pull shenanigans or gotcha's on their users.

Pffft. Do you know the history of Apple? Their whole business model is a shenanigan on the users. I look forward to when their time is over.

Re:Maintaining an Independent Browser Is Expensive by remir on Sunday December 03, 2017 @01:21PM (#15838706)
To be honest, I kinda like Apple's "walled garden" approach on some level. No perfect, not ideal for power-users, but for the general non-techy person, I think it's great. I don't have to worry about my kids installing some app that pretend to be WhatsApp while it's clearly not.

But yeah, I would like to be able to change default apps in iOS. That would be great.

Re:Maintaining an Independent Browser Is Expensive by inapis on Sunday December 03, 2017 @05:01PM (#15839874)
>Why do you want Apple to be in control of your device though?

I don't but I'm not hesitant to cede some control of my device to Apple in order to not be a technology janitor. I do not want absolute control of my device which is not even possible with any commercially available device anyway. (And no, Android does not give you absolute control of the device)

>Wouldn't you rather be able to let an app do something that it needs to, when you need it to?

Does Apple's current model really hamper any app to do something that it needs to, when I need it to?

>Or, would you honestly prefer Apple to make all of your decisions for you?

Again, I am happy to meet Apple in a middle ground where it makes some decisions for me and I make some decisions. I am happy to decide which apps gets access to contacts, notifications, location etc etc. What gives the assumption that you are in all control of decisions on an android device? Remove the Google Play Services and 3/4th of the ecosystem falls flats on its face.

>If you really want Apple to be in control of your devices and not you, that's fine... but can you understand why other people might not want that?

I totally get that part. I never denied that.

>Are there any Apple decisions that you disagree with?

Plenty. Touchbar is useless. Removal of headphone jack was rushed. Before iOS 8, I was practically in the android camp because iOS devices were severely limited then compared to now. iOS's notification game is weak. There is no need for iOS to block the whole screen for an incoming cellular call. Devices can get very difficult to repair.

>Also, how about a replacement for the most important apps?

You moved the goal posts. Original reply was against the assertion that apple does not permit certain apps because of "competition" which is not true. Otherwise Spotify, Evernote, Todoist etc won't exist. Greater than 3/4th of native apps have proper substitutes available in the App Store. You expanded the argument to include apps whose functionality is not replaceable because of ideological grounds or design choices. I never posited that Apple permits all apps. This would be akin to me demanding an alternative for Google Play Services with comparable functionality. Anyways -

  - Contacts -> Full Contacts
  - Phone Dialer -> Simpler Dialer (Not a true replacement though)
  - Message -> True. No Alternative as in you can't access SMS/iMessage
  - Safari -> Chrome/Firefox. Does an ordinary user care if they are running Webkit or Gecko? V8 or Rhino? As long as you are getting the feature of your favourite browser (chrome syncs your data between devices just like safari would between apple devices) why do you care if its Chakra or v8? OTOH, I'm glad that Apple does not let Google roll it's own javascript engine in iOS Chrome. Otherwise surfing youtube on Chrome iOS would like garnish the battery life. This hits Android devices too which do not have a VPx capable hardware decoder.
>Can you even uninstall those? Are other apps even allowed to receive phone calls or SMS text? (To replace Safari - I'd require that it never get launched from a hyperlink in an SMS text message.) No. You've got a valid point.

>I'd like to replace these because Apple only gives you the most bare-bones features for them and they strong-arm you into using Apple Maps and Safari from them. I'm guessing you're fine with that though.

I just sent a link on iMessage from my desktop to iPhone. Clicking on the link opens the location in Google Maps and not Apple Maps. If there's a specific case which forces Apple Maps I'd like to know. Every app I know and use (Outlook, food delivery, taxi services, online stores) force open Google Maps on my device and not Apple Maps. The only time I actually opened Apple Maps since owning an iPhone for 2 years is when I went to see if navigation is being provided in my area or not. Practically it doesn't exist for me. Even Apple's own Workflow app gives me Google Maps directions (I can choose between both when setting up the workflow)

>Pffft. Do you know the history of Apple? Their whole business model is a shenanigan on the users. I look forward to when their time is over.

Please give me concrete examples of "Their whole business model is a shenanigan on the users." There are few ups and downs but overall, interaction with Apple is much more pleasant than dealing with other tech companies. That they are expensive is not a shenanigan. You know what you are in for when you're purchasing an apple device. I've yet to see Apple engage in deceptive practices or misleading claims or gotachas like Sony which claimed all multimedia support on my TV but turns out only mp4 and mkv are supported on only an NTFS formatted partition. And if you are using a hard drive you can only use specific USB ports because not all ports provide maximum current. Half of this info was buried in the manual and half I had to figure out manually by taking a USB Voltmeter to my TV. Or like Canon which claimed "full compatibility across all Operating Systems" but turns out duplex printing is not supported on mac os or linux which was confirmed to me in a forum post. Or like Dell which claimed 2560x1440p @ 60hz on my monitor but conveniently failed to mention, on the box or in the quick start, that it's supported only on DP and if you've got to use HDMI then you have to go out of your way to create custom profiles and what not. This was not even mentioned in the manual and I had to scavenge for it in the dell forums.

The closest I've come to a "gotcha" with Apple is the lack of DP MST support in mac OS some years back and which was not readily confirmed in apple support article. The only other egregious issue I can remember is the refusal to acknowledge and fix the iPhone 6 bending issue. For all other issues, Apple generally came forth with an acceptable solution (like free bumper case for iPhone 4 cellular connectivity problems, free display replacements for the staingate thing, free motherboard replacements for the 2011/2012 Macbook Pro Graphic Card issues, 6s free battery replacement even after 3 years if you have the "defective" first batch phones). Unlike, say LG which threw a tantrum on replacing the motherboard of my mother's nexus 5x, or OnePlus which quoted a repair bill higher than the cost of a new device, or HTC which promised to repair the device in 3 days but delivered only after a fortnight, or Logitech which claimed to process a refund within a week but took 45 day. OTOH, I have had exactly one interaction with Apple support over the past 5 years and they replaced my phone in 24 hours (while claiming 7 days). And this is when Apple does not even sell directly to consumers in my country. I can only image what the support would be like when the middle men are removed. This is compounded by the fact that every other person in my close circle, who has interacted with Apple support, speaks highly of them. So my one single interaction is not an outlier.

>I look forward to when their time is over. I look forward to that time too but alas, I'm pretty sure that I'd be gone from this earth by then.

Apple has its fair share of issues (tax avoidance, being stingy with new product launches etc; I can jot down a whole list) but hands down the products are a joy to use and the company pleasant to interact with, for an average consumer, compared to any other option available on the market.

Re:Maintaining an Independent Browser Is Expensive by Jyaif on Monday December 04, 2017 @02:55AM (#15842306)
> What's the issue with that?

Processes (unlike threads) are for memory protection. There's no relation between the number of processes and battery life.

> 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

What if you want your users to be allowed to write code?

> Again, why would you want some random developer be able to download extra code?

Again, to allow users to share code (e.g. allow game mods).

> What prevents them from not misusing it for nefarious purposes?

The same thing that prevents them from having native code doing nefarious stuff: nothing.

> what prevents a third-party from compromising the developer's "update" servers and pushing malicious code?

Nothing, just like an native app can be compromised. That's why Native Apps are in a different process, and that's (one of the reasons) why Native Apps should be able to create their own processes (e.g. run a game mod in a separate process from the rest of the game).

> This is from a bygone era.

Okay, but this may happen again.

Re:Maintaining an Independent Browser Is Expensive by Vinnl on Sunday December 03, 2017 @08:03AM (#15837406)
Ah, but now you're mixing browser makers with companies with websites. The ads, tracking, etc. are not the reason that browsers have become complex, although I agree that they're making the web (or at least that part of it) a less attractive proposition. (Although I'm personally still happy I can simply run an ad-blocker in my browser, which is more difficult for ads and tracking in native apps.)
Re:Maintaining an Independent Browser Is Expensive by bartread on Sunday December 03, 2017 @06:31AM (#15837144)
That's true as far as it goes, but there are plenty of other reasons it's become so prevalent.

From a vendor's perspective:

- Web apps often have a reduced support burden relative to equivalent desktop apps because you have easier solutions for complete control over deployments: environments, live versions of software in play (often only one).

- Subscription payment models are convenient for vendors: they can help smooth out revenue but, critically, can also increase lifetime value of customers.

From the customer's perspective:

- One less software system to deploy, manage, and support,

- Managing backups is (should be!) taken care of for you,

- Lower on premise hardware costs,

- Your stuff is available from anywhere you have access to a browser,

- Can enable frictionless collaborative working.

With that said, it's arguable that a purely web-based SaaS model isn't necessarily a good fit:

- The problem of lock in is often worse. Even if you have options to export your data, is it in a format that makes it easy to import into a competing offering?

- Poor (or no) offline support, and unreliable operation with choppy connectivity.

- TCO can be higher, despite reduction in on premise support costs.

- Subscription payments can quickly mount up to death by a thousand cuts with respect to costs.

- Your data is not only offsite, but may not be stored in the same country or even on the same continent: a deal-breaker in some scenarios.

- Susceptibility to attack via DDoS, and other methods: at best service can be degraded or rendered unavailable, at worst your data can be compromised.

SaaS is like anything else: it can work really well (Office 365[1], GitHub, GMail), or it can be decidedly ropey (Google Docs), or anywhere in between.

[1] Within certain constraints - to me Office 365 still feels weak as a collaborative tool.

Re:Maintaining an Independent Browser Is Expensive by Vinnl on Sunday December 03, 2017 @08:04AM (#15837409)
I agree with all of this, although I'd add that

> Poor (or no) offline support, and unreliable operation with choppy connectivity.

is also being solved - with additional complexity for browsers, of course.

Re:Maintaining an Independent Browser Is Expensive by dingaling on Sunday December 03, 2017 @01:15PM (#15838681)
Browsers like Dillo and Netsurf are also excellent for browsing Facebook, who maintain a remarkably functional HTML-only version at mbasic.Facebook.com

The big advantage of such browsers being the zero-risk of JavaScript doing sneaky things ( like keylogging )

Re:Maintaining an Independent Browser Is Expensive by baddox on Sunday December 03, 2017 @01:51AM (#15836360)
I wonder: who could even feasibly introduce another browser today? The task seems almost impossible.
Re:Maintaining an Independent Browser Is Expensive by adventured on Sunday December 03, 2017 @06:19AM (#15837104)
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 to generate some uptake.

Whether either could claw meaningful share away from Chrome is an entirely different question.

Samsung, Tencent and Alibaba all have the resources to launch entirely new browsers if it made sense.

Re:Maintaining an Independent Browser Is Expensive by nojvek on Sunday December 03, 2017 @08:00AM (#15837395)
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.

Re:Maintaining an Independent Browser Is Expensive by rwmj on Sunday December 03, 2017 @06:31AM (#15837140)
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.
Re:Maintaining an Independent Browser Is Expensive by kinlan on Sunday December 03, 2017 @07:54AM (#15837378)
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 by bergie on Monday December 04, 2017 @06:12AM (#15843073)
Samsung actually has a browser: http://www.samsung.com/global/galaxy/apps/samsung-internet/

Quite similar to Chrome, but has support for ad blockers etc.

Re:Maintaining an Independent Browser Is Expensive by Mountain_Skies on Sunday December 03, 2017 @09:47AM (#15837737)
Amazon sort of has their own browser called Silk. It's based on Chromium so it's not a built from the ground up endeavor but has been customized on their Fire devices to 'enhance' the browsing experience in a way that seems to benefit Amazon.
Re:Maintaining an Independent Browser Is Expensive by remir on Sunday December 03, 2017 @01:24PM (#15838718)
Samsung makes their own browser on Android.
Re:Maintaining an Independent Browser Is Expensive by gruez on Sunday December 03, 2017 @01:54PM (#15838871)
it uses webkit/blink underneath, so that doesn't really count.
Re:Maintaining an Independent Browser Is Expensive by jopsen on Sunday December 03, 2017 @02:14AM (#15836439)
mozillia research is sort of doing it with gecko.

But yeah, from scratch is hard... Google didn't even do that, they started from webkit.

Re:Maintaining an Independent Browser Is Expensive by mercurial on Sunday December 03, 2017 @02:41AM (#15836499)
With Gecko ? It's their original engine. You probably mean Servo (the experimental Rust engine).
Re:Maintaining an Independent Browser Is Expensive by erikbye on Sunday December 03, 2017 @03:21AM (#15836602)
I guess it's not wrong to call it their original engine, just remember it's a two-decades-old development that started at Netscape.
Re:Maintaining an Independent Browser Is Expensive by gsnedders on Sunday December 03, 2017 @04:11AM (#15836748)
Well, arguably started at DigitalStyle.
Re:Maintaining an Independent Browser Is Expensive by robin_reala on Sunday December 03, 2017 @05:35AM (#15836978)
Can you expand? I thought I had a good grasp of Mozilla’s history but this is the first time I’ve heard of them.
Re:Maintaining an Independent Browser Is Expensive by dev_tty01 on Sunday December 03, 2017 @08:49AM (#15837553)
Re:Maintaining an Independent Browser Is Expensive by gsnedders on Sunday December 03, 2017 @12:02PM (#15838378)
So my understanding is following Netscape's acquisition of DigitalStyle, the decision was made to replace Netscape's existing layout engine with something based on what DigitalStyle had in their editor (which, unlike Netscape's existing one, supported things like reflow), and it was this combination that was open-sourced. Notably, it was only really the layout engine that was replaced: the HTML parser and the JS VM survived unchanged, hence the name NGLayout for what became Gecko.
Re:Maintaining an Independent Browser Is Expensive by Klathmon on Sunday December 03, 2017 @11:09AM (#15838138)
And webkit started from KHTML
Re:Maintaining an Independent Browser Is Expensive by captainmuon on Sunday December 03, 2017 @04:35AM (#15836802)
I would first target a subset of HTML, for example static documents instead of web apps. You would have a specification like AMP which restricts what elements you can use. If a document used the full spec, I would fallback to another engine (e.g. WebKit). You could have full documents in iframes inside limited documents (but cross-frame scripting might be hard to get right in that case).

Also, I would try to make it as modular as possible. E.g. layout engine, css engine, js engine etc. as libraries, use the system codecs instead of bundling own codecs, and so on.

And it would help to have an extensive test suite, which you could take from other browsers.

Re:Maintaining an Independent Browser Is Expensive by krapp on Sunday December 03, 2017 @04:58AM (#15836868)
The difference between static web documents and web apps isn't the set of HTML they use, it's just that the latter are designed to deeply integrate javascript (and/or, to futureproof this comment, WebAssembly) into their UI, rather than do all of the logic on the server between requests.

The only way to ship a browser that doesn't render "web apps" would be to simply not support scripting of any kind. That would permanently break much of the web unless you offered a way to opt in to scripting the way current browser users who run script blockers can. But then you just have a regular browser with script blocking turned on by default.

Having different engines for "static" and "web app" documents, and defining a proprietary standard for the former as a restrictive subset of HTML would be unnecessarily complex and hostile to web developers.

Re:Maintaining an Independent Browser Is Expensive by captainmuon on Sunday December 03, 2017 @05:46AM (#15837021)
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 would offer support for 1 and 2. I would definitely offer scripting, but just not all features.

You could autodetect a "lean html" site, or you could use a marker such as "<html lean>" like AMP does.

I don't think this is hostile to developers at all, unless AMP is already hostile. You would have a subset of the web platform, yes, but if you only use that you are likely to have a faster and leaner website - even without a new engine. I would view it as a guideline or a best practice, rather than a restiction.

Side note: I think the co-mingling of documents and apps is the source of a lot of problems today. Why can ads inject arbitrary javascript into my website?! On mobile, I am regularly redirected to annoying ads that proclaim my phone is infected, and make my phone vibrate and make noise. A news article shouldn't be able to do that!

Re:Maintaining an Independent Browser Is Expensive by krapp on Sunday December 03, 2017 @06:23AM (#15837114)
>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 "backup engine" that will run it anyway, then what's the point?

>I don't think this is hostile to developers at all, unless AMP is already hostile.

I would think Chrome was hostile if it gave preference to AMP over standard HTML. Those aren't decisions that browsers should make.

>Why can ads inject arbitrary javascript into my website?!

Because that's what the site authors decided to publish. Like it or not, that's the way the web is intended to work - you request a URL, you get back whatever the server decides that URL points to. Changing that dynamic would change the web at a fundamental level.

Re:Maintaining an Independent Browser Is Expensive by captainmuon on Sunday December 03, 2017 @07:49AM (#15837354)
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 by eadmund on Sunday December 03, 2017 @02:16PM (#15838960)
> > Why can ads inject arbitrary javascript into my website?!

> Because that's what the site authors decided to publish. Like it or not, that's the way the web is intended to work

I'd argue that the web wasn't intended to involve executing code, but rather it was originally envisioned to be a means of viewing documents.

Re:Maintaining an Independent Browser Is Expensive by krapp on Sunday December 03, 2017 @08:13PM (#15840747)
>I'd argue that the web wasn't intended to involve executing code, but rather it was originally envisioned to be a means of viewing documents.

That's fair - but it doesn't imply that it was intended to not execute code, so much as that it wasn't feasible to consider at the time. The web wasn't originally intended to display images either, but it evolved over time. Certainly, in either case, javascript was never intended to carry the burdens it's been made to, but people found it useful to have a Turing capable language as part of the web, and here we are for better or worse.

And the web in the near future when WebAssembly takes off is going to execute binaries compiled from arbitrary languages, of which javascript will be only one option. That's going to be awesome in both senses of the word. Not what the web was originally intended for, and certainly not the best of all possible worlds, but I would argue that it's still better than static documents alone, in terms of the possibilities it provides to publishers and users.

And maybe the pendulum will swing the other way at some point. Maybe people will choose to write lighter pages and not use unnecessary code. But if they don't, that's still their choice to make, not yours or a browsers to make on their behalf. And unlike with C, C++, Java, etc, you can turn javascript off if you want and still use some of the web.

Re:Maintaining an Independent Browser Is Expensive by baddox on Monday December 04, 2017 @01:34AM (#15841909)
It’s true that we can look at most websites and generally agree on which ones are “light” (e.g. HN or Wikipedia) and which ones are “heavy” (e.g. Gmail or SoundCloud), but that doesn’t mean it would be easy to define a specification that would allow all and only light websites to be built.

An extremely light and content-focused spec like Gopher would exclude a lot of websites that we would consider light. Terms used to describe light subsets of web capabilities, like “DHTML,” do not appear to be well defined.

My initial attempt would be to exclude XHR/fetch, dynamic URL/history manipulation (window.history), and loading resources from other domains. But the latter would probably exclude things I don’t oppose (like CDNs) and things I don’t necessarily support but which would surely drastically impede adoption (like third party ads/analytics services).

Can you propose a better and more viable spec?

Re:Maintaining an Independent Browser Is Expensive by reificator on Sunday December 03, 2017 @07:14AM (#15837266)
> I don't think this is hostile to developers at all, unless AMP is already hostile.

I think the prevailing opinion on Hacker News is exactly that.

Re:Maintaining an Independent Browser Is Expensive by baddox on Monday December 04, 2017 @01:39AM (#15841943)
My impression is that HN’s hostility toward AMP is caused less by the spec itself and more by Google’s leverage of its market power in search to incentivize AMP adoption, as well as its “web-breaking” behavior (like sending you to ugly and self-serving google.com/amp/whatever URLs).
Re:Maintaining an Independent Browser Is Expensive by tree_of_item on Sunday December 03, 2017 @10:23AM (#15837934)
I don't see how a subset of HTML could be hostile. AMP is not Google Search.
Re:Maintaining an Independent Browser Is Expensive by krapp on Sunday December 03, 2017 @08:15PM (#15840758)
A subset of HTML isn't hostile. A browser that defaults to only rendering that subset is hostile, because it relegates any content which doesn't conform to that proprietary spec to second-class status.
Re:Maintaining an Independent Browser Is Expensive by baddox on Sunday December 03, 2017 @05:49AM (#15837031)
That sounds like a much more graspable technical goal, but you would effectively be competing not with modern browsers but rather with the web as a whole, which is a much more difficult social/political goal.

If at the same time you could encourage widespread adoption of your HTML subset, then you may be onto something. This is essentially what Google did with AMP, their incentive being their caching network and apparent favoring in search results.

Re:Maintaining an Independent Browser Is Expensive by tree_of_item on Sunday December 03, 2017 @01:33PM (#15838762)
Not sure why you're downvoted, this is a good plan of attack.
Re:Maintaining an Independent Browser Is Expensive by nrhk on Sunday December 03, 2017 @02:10AM (#15836417)
Well you could also fork Chromium I guess.
Re:Maintaining an Independent Browser Is Expensive by Vinnl on Sunday December 03, 2017 @03:31AM (#15836634)
Except that that doesn't really broaden the ecosystem, unfortunately.
Re:Maintaining an Independent Browser Is Expensive by rlanday on Sunday December 03, 2017 @03:11PM (#15839281)
Given enough time, it does. People used to talk about a “WebKit monoculture” on mobile back when both Safari and Chrome were built on WebKit (although, they enabled different features and used different JavaScript engines). After Google forked WebKit to create Blink, WebKit and Blink started to diverge with different development priorities resulting in different improvements being made and different features being implemented. So as time goes on, and code gets added, removed, and rewritten, much of the commonality eventually disappears over time.
Re:Maintaining an Independent Browser Is Expensive by colehasson on Sunday December 03, 2017 @02:59AM (#15836547)
And with Puppeteer/Devtools programmers can stay in text editors.
Re:Maintaining an Independent Browser Is Expensive by agumonkey on Sunday December 03, 2017 @04:53AM (#15836853)
dillo for static documentation is neat, you can have twenty tabs and still using only 32MB total.
Re:Maintaining an Independent Browser Is Expensive by danblick on Sunday December 03, 2017 @11:54PM (#15841533)
Yeah, "moving the web forward" sounds a lot like building barriers to entry. On the other hand, these browsers are open source software, so I'm not sure that's a great argument.