43 comments

[ 107 ms ] story [ 192 ms ] thread
Breach of trust or breach of security? Also why not going cross-platform?
I suspect the troubles of compiling npm dependencies on Windows - the same reason Atom was not readily available on Windows for a while.
It's actually no harder on Windows than it is on any other platform.

On a Unix platform, you must install python, make and GCC. The readme for node-gyp states that the easiest way to get these for OS X is to install XCode. Windows users must install at the very least a free version of Visual Studio and Python 2.7. There's also node-pre-gyp to precompile binaries, which I would vastly prefer as a user and a developer.

I suspect that ideology actually plays a larger part in these decisions than logistics. (EDIT: I could be wrong, but anyway they explain here that they need to move off of GTK+ before having a Windows build for some reason - https://github.com/breach/breach_core/issues/90)

I don't understand why people say that's the easiest way to do it. You can just run `cc` in a terminal and a dialog will pop up prompting you to install it.
Man do you have instructions on that Windows setup for node? I looked around for them the other day when something I was trying to installed failed miserably and found nothing.

I might just be missing something obvious...

To setup node on Windows you just download the installer and you're done. Nothing else is needed unless you want to compile native native binaries.

To be able to compile native binaries, you need to just install Python 2.7 and Visual Studio. Depending on the version of Visual Studio that you have installed, you might have to pass an extra flag to npm when installing native packages that must be compiled. So, if you installed some version of Visual Studio 2012 or 2013 instead of the 2010 version, you might have to pass the "msvs_version" flag to npm like this: npm install socket.io --msvs_version=2012

Looks like this could become a great companion for minimalist and customisable window managers such as OpenBox/awesome/xmonad. I always hated how Firefox/Chromium stood out like a sore thumb in an otherwise toolkit-less (i.e no gtk/qt) environment.
In a single day we are introduced to Breach and Vivaldi[1]. They are fundamentally different, Breach aims for minimalism, Vivaldi for all-in. So, let's not compare their functionality and design.

Though, both claim to be client oriented, and specifically focus around developers. In this category my gratitude to the Breach as it is actually open-source and leaves less mysteries behind the motives.

[1] - https://news.ycombinator.com/item?id=8952100

Where do you get that they are fundamentally different?

From what I understand, Breach is modular, so the core probably is as minimal as in Vivaldi. (Edit: Whoops, I understood you exactly in the wrong way.)

From the overall technical design principles, they look quite similar.

I think Vivaldi is the all-in browser, not Breach.
(comment deleted)
Breach has been around a while now. I'm fairly sure it was only posted as a reaction to Vivaldi - the repository hasn't been touched for months.
> A new modular browser - Entirely written in Javascript

I wonder how they implemented incremental layout efficiently in Javascript.

They didn't. It's a JS UI over Blink/Chromium.
It's a nice idea, but I think it's unfortunate that so many of these "new browsers" are just UIs on top of Gecko or KHTML/WebKit/Chromium.

The reason I use other browsers (w3m, dillo, netsurf) alongside FF is because they're faster and take fewer resources. That's the point of a minimalist application. I wouldn't call an application minimalist if it has a behemoth running underneath, with a large attack surface, many hiding places for bugs, sucking up GBs of RAM.

Which one of those (w3m, dillo, netsurf) is your favorite? And how do you deal with privacy in the absence of addons such as Ghostry, adblock, and so on?
w3m is my favourite alternative, since it's nicely integrated into Emacs. Dillo is good for a throw-away browser window, eg. to check something quickly on Wikipedia. Netsurf is useful as a prettier Dillo (eg. for sites which are confusing without some CSS).

For ad blocking, etc. I use http://someonewhocares.org/hosts/

In FF I use AdBlock and NoScript. I don't have Flash installed.

Writing a new rendering engine today is a huge task. You have no idea of the complexity of positioning, CSS, rendering...

The best way to innovate in the browser market is indeed to use an existing rendering engine.

> You have no idea of the complexity of positioning, CSS, rendering...

I have some idea. Besides, a rendering engine doesn't need to reinvent all of the wheels down to the metal. CSS is optional.

> The best way to innovate in the browser market is indeed to use an existing rendering engine.

Well, it's subjective. If you care about "markets", then indeed a custom rendering engine would be wasted effort. If you care about rendering engines, then "markets" are a waste of effort ;)

Just out of curiosity, are the Meteor guys behind this?

https://discovermod.meteor.com/

That only means that someone is hosting something on the free meteor hosting system.
Oh, I didn't know meteor offered hosting...
It's actually built into the meteor command line tool. meteor deploy pushes your code to project-name.meteor.com.
Call me a grumpy old systems programming guy, but "Entirely written in Javascript" just doesn't seem like a feature to me.
I thought I was the only one. We're getting browsers inside browsers now? Where will this end?
You are a grumpy old systems programming guy. I kid, I kid!

Call me a naive dreamer but I dream of a world where (almost) everything is done with web technologies. Why? Because I'm looking for an environment where applications, if not the underlying system, are written in a single, interpreted language.

There will always be a need for technologies that are very low-level (fast and efficient) or very high-level (experimental and AI) but I truly hope that the middle can start to converge on few reasonably good ideas. What languages can be feasibly replaced by js? I'm pretty sure the answer is, "Nearly everything except for C and assembly."

I like the web and I want my OS to be more like a browser.

Man, I don't think we could be more opposite because I dream of a world where the web completely disappears and all we have is the Internet and whatever OS I choose to use.

The web, to me, is a hodge-podge of kludgy technologies that have too many gotchas. I like a pure environment where things are not so abstract that we cannot understand them. Instead of typing div, div, div, I want to type MenuBar, ToolBar, FluidGrid. Instead of fighting with Javascript to handle big numbers, dates or something as simple as equality properly, I like to use programming languages that haven't been ham-stringed because they've been designed by a committee.

In short, I like the power, purity and robustness of my native OS and I want browsers to disappear entirely.

Truly, web-technology is a rat's nest. But is non-web-technology really any better? And yeah, js stinks, but js can be made much more palatable. I'm pinning my hopes that purescript can make js not-terrible. purescript.org
In javascript in javascript in javascript... The time when concern seemed actionable has passed; It's clear that the infinite recursion is well underway, and because the arguments are just returns passed in-register, that the call stack will never overflow. I can't tell if there's any logic or reachable return pathways. Is the only way back to reverse time and to have never entered the fractal in the first place? Save yourselves. We can never see the fate of matter that has passed into the event horizon already. The big picture can't be found in the smaller imitations. We can't say that it's over, but we must hold it within our culture that using javascript within javascript is a warning sign, such as curiosity about death or whether the world is a projection of our minds. We must remember that ineffability is effable rather than attempting to reach that effability in all except analytic proofs; even computation of lowly derivatives or irrational numbers cannot be perfectly calculated via machine. Friends don't let friends implement javascript or vehicles for javascript within javascript. It hasn't been proven that there is a conclusion to such exercises. Meanwhile, many have perished chasing truths we can only imagine may be ever even slightly distinguishable from within this universe.
(comment deleted)
There is no recursion. Just some parts which have been implemented in C++/ObjC before (like most of the UI) is now implemented in JS.

Besides, the main engine, i.e. the rendering engine, the JS engine and other core low-level parts (all of Blink and V8) are all still implemented in C++.

> Just some parts which have been implemented in C++/ObjC before (like most of the UI) is now implemented in JS.

Then again it's been implemented in JS before: http://en.wikipedia.org/wiki/XUL

I'm fooling around. I'm sure everyone on the project rightfully will get a ton of return on their investment. I'm actually working on a browser UI myself. It's only because of platform OS integration that I'm using Java, but one thing I did learn using a lot of Kivy is how much of a pain it is to be far from the platform libraries.

Unlike Kivy, which is Python, you've chosen JS, so at least your UI is on a more naturally portable layer given that you have a browser runtime right there. Documenting your plumbing into the system libraries will be really critical. The JS community will hack every other piece of the system on their own, but user after user will shy away from the system plumbing because it's not what attracted them initially, so I would prioritize there.

Writing cross-platform UI's may be a pipe dream for now. OpenGL is headed towards a weird place with Mantle and Metal etc while OpenGL Next comes together. The HSA Alliance (Notably missing Nvidia and Intel) might offer some hope that CPU architectures and graphics API's (and GPGPU) will converge again, but right now, HTML5 with JS is probably the best we have for sheer everywhere.

Probably where I would diverge most sharply (and somewhat irreconcilably) with the web community and perhaps even the high-minded ideals of Mozilla is HTML/CSS, but the "superior" tools I find in Android are themselves relatively new. Do I wish that HTML/CSS/JS would go away? Yes, but without need of burial. A technology will displace it someday through sheer elegance that unicorns had not yet fathomed. If it's at all recognizable in what I'm using today, it's an early stage experiment.

It's weird, but only the other day I was saying to my wife: "I wish more applications were written entirely in Javascript".
Freezes and crashes on sites as complex as Giantbomb. I'm still not convinced Javascript is a good platform for desktop apps.

If Github can't make Atom fast with their pools of money...

This and Vivaldi make me think of emacs/lisp machines with how the UI is customizable with the same scripting language applications are written in. Firefox also has this, to a lesser extent, and I'm not sure about Chrome.

I just wish that sort of feature set were available for the actual platform rather than the giant rube-goldberg machine required to get JS to be performant.

Having the active tab move to the left is incredibly annoying behaviour for me. I suppose in theory that should be easy for me to fix though :) That said, the concept of a modular browser is pretty cool and I'm curious to see what people do with it.