Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: An experimental Web Browser (github.com/hexapode)
59 points by pierre on June 15, 2015 | hide | past | favorite | 34 comments


I think supporting such a small feature-set of the web is basically rolling back the clock. This is putting people back in the Web 1.0 days, although with a browser built using more modern tools. Even with performance in mind, you might achieve better performance with a closer-to-the-metal language than JS.

I commend the effort but I'm not sure about the ultimate goal. If "trying To show the important content only" is the main goal then you are discarding a lot of the richness of the modern web. The web is not strictly about the text content of pages. That was what BBS's were all about. Even then people used ASCII and ANSI art to make pages feel more illustrative and rich.

I'd be more interested in someone tackling the complexity and un-elegance of the modern website tech. CSS is pretty un-elegant, but there definitely exists a strong desire to dictate style, how a page is laid out, and to present models outside the text + image article format.

I'd love someone to re-engineer the status quo of the code content of webpages, effectively making modern complex and un-elegant browser implementations unnecessary. I don't think the world needs a more minimalistic browser, we've already been down that road in the past, but rather a more minimalistic coding system for webpages in general.


> I think supporting such a small feature-set of the web is basically rolling back the clock. This is putting people back in the Web 1.0 days, although with a browser built using more modern tools. Even with performance in mind, you might achieve better performance with a closer-to-the-metal language than JS.

The goal is not to support the whole web experience, just the news reading / information seeking part. Recently, more and more site are getting into the way of the content by adding distraction that can break your flow when you try to inform yourself. Did your eyes never get attracted by a Taboola 'Read more story here' or a buzzfeed '10 most productive trick for programers' link when you was reading some news?

As for JS, I choose it so I can prototype fast, I optimise implementation time vs performance (it take me a couple of hours vs ??? if I have try to do that in C for examples).

> I don't think the world needs a more minimalistic browser, we've already been down that road in the past, but rather a more minimalistic coding system for webpages in general.

I agree with you, CSS/HTML/DOM is a pain, but it seems to be the best we have today. I prefer wrote some interface using them than Qt, X or SDL.


> Did your eyes never get attracted by a Taboola 'Read more story here' or a buzzfeed '10 most productive trick for programers' link when you was reading some news?

It sounds like you just need an ad blocking extension perhaps?


  No wireless.
  Less space than a Nomad.
  Lame.
And, I’ll bet, a lot of fun to make, a real learning experience, and the code is instructive for others who want to look at it, play with it, or try their hand at extending it.

Unlike an iPod, this is not a product designed by a Fortune 500 company that must become #1 in its market or be considered an abject failure.

Bravo.


Why not just use Dillo? It's around since forever and it renders web pages vitrually before you strike enter. Description seems to match Dillo exactly.


My goal are not the same. Dillo optimise for the smallest footprint. I try to do a proof of concept of a web browser that will render web page in a way that will make it almost impossible to display ad, social network or merchants sites.

Also I used Nw.js not in search of speed or performance, but in search of fast implementation (it take me ±3hours to code the browser)


Dillo is also much smaller than the Node WebKit stack. It's a little silly to call this a minimal browser.


I smiled when I saw that a javascript browser has no javascript support. :)

I like it. I tend to usually remove the style when I read longer documents. This is prettier while doing the same thing.

What are your next goals with it?


Thanks for your feedback :) I also have an issue with the explosion of 'designs' in the web and this is my first tentative at imagining what a 'sober' web could look like.

I think that to be useful to have predefined template per style of pages. For example for now the hacker news page do not render correctly, and I should add a 'Link List' template.

I could also improve the content detection. On some site it still do not catch all the main article / or catch some ads.

I should also fix some bugs first (as I rush it, it really need more polish).


Actually, since javascript has an eval function, shouldn't it be straightforward to support it in the browser?


Straight-up eval() would be the most blatant case of a remote code execution vulnerability the web has ever seen. I don't think it's easy or even possible to build a foolproof sandbox out of eval(). And even then you open yourself to a denial of service since you cannot interrupt the eval().


You can build a foolproof sandbox, but at the 'OS-level', not at the 'language' level. By disabling syscalls and setting resource limits.

You can read more here: http://www.eelis.net/geordi/#faq


I think the link to Geordi is not quite relevant here (although it is super cool): the claim was that it's hard to build a foolproof sandbox out of eval(). If you're using Geordi, since it's a separate process in a chroot, you can't use eval(). If you're giving up on eval(), you can write a foolproof sandboxed JS evaluator in JS alone.

Besides, the hard part with all sandboxes is not making the sandboxing itself solid; that's straightforward. The hard part is giving it a sufficiently rich interface to the outside world to do useful things, while not giving it so rich an interface that it can escape through that hole. All the semi-recent vulnerabilities in qemu, for instance, have been in virtual devices, not in actually emulating a processor.

Geordi's story is relatively easy, since all it does is compile code and execute it in an intentionally-minimal interface. JS on a web page has thousands of things it can do to the web page or to the outside world, if you want to implement it according to spec.


My mistake, You are right. I had read the question as foolproof sandbox that included eval.

One can see the banning the syscalls approach as cutting the Gordian knot.


I think it would still be non-trivial as event bindings, DOM bindings and others things would not work out of the box. It's a super neat idea though.


Actually the non-js part is here by choice. The goal is to do a browser that let you only read things, not interacting, and no distractions.


I agree with you that webpages are sometimes too animations heavy. There is w3m as well that is a read-only browser.


I'm curious if you've ever used Firefox's reader view. It's a bit spotty as to what sites it can simplify to the core of what's being described, but it seems like a better way to get just the facts, while keeping a more featureful browser for pages that need it.


You should put a screen-shot at the info page!


Thanks! That's now fixed.


I love this sort of functionality.

I feel like I just saw this recently in another browser, either Firefox, Chromium, or Midori. I can't recall which. You press a button and it switches to reader mode, press again and it goes back to the normal layout.

Can anyone remind me what browser that is?


The latest release of Firefox added support for Reader View :)


Safari has it also, along with Microsoft Edge (formerly Project Spartan)


Windows 8(.1?) IE even (Metro only).


Briefly reminded me of Vivaldi, a browser built in NodeWebKit (or Atom?) with a React-based UI.

https://vivaldi.com/


Vivaldi is miserably slow


Yet it's got a great name.

That said, I'm defiant of any browser that's not on Github.


I think we can't have a web today without JavaScript. We keep trying to go back to what things were, instead of moving forward and excepting the web for what it is.


Finally. I've been wanting this for ages.


"No AD"

What does AD stand for here?


It stands for Ads. I fixed that, Thanks!


A web browser built on a single thread, a web browser I'd like to use.


Ironic that browser that is built on javascript has no javascript support.


Although it is a good idea to focus on "important: content, this browser seems to be something from the 90s. We should be creating new, beautiful and simple technology and not going back to an uglier tech age that we are glad we are out of.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: