7 ms·
Show HN: An experimental Web Browser
- z3t4 11y agoYou should put a screen-shot at the info page!
- pierre 11y agoThanks! That's now fixed.
- jonrx 11y agoI 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?
- pierre 11y agoThanks 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).
- S4M 11y agoActually, since javascript has an eval function, shouldn't it be straightforward to support it in the browser?
- themeek 11y agoI 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.
- 0x0 11y agoStraight-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().
- PuercoPop 11y agoYou 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 http://www.eelis.net/geordi/#faq
- geofft 11y agoI 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.
- PuercoPop 11y agoMy 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.
- pierre 11y agoActually 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.
- S4M 11y agoI agree with you that webpages are sometimes too animations heavy. There is w3m as well that is a read-only browser.
- twerkmonsta 11y agoI 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.
- pierre 11y ago> 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.
- drivers99 11y ago"No AD" What does AD stand for here?
- pierre 11y agoIt stands for Ads. I fixed that, Thanks!
- jitl 11y agoBriefly reminded me of Vivaldi, a browser built in NodeWebKit (or Atom?) with a React-based UI. https://vivaldi.com/ https://vivaldi.com/
- hodwik 11y agoI 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?
- callahad 11y agoThe latest release of Firefox added support for Reader View :)
- joshuapants 11y agoSafari has it also, along with Microsoft Edge (formerly Project Spartan)
- abrowne 11y agoWindows 8(.1?) IE even (Metro only).
- nfoz 11y agoFinally. I've been wanting this for ages.
- guard-of-terra 11y agoWhy 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.
- panic 11y agoDillo is also much smaller than the Node WebKit stack. It's a little silly to call this a minimal browser.
- pierre 11y agoMy 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)
- FalconOut 11y agoAlthough 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.
- Sanddancer 11y agoI'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.
- task_queue 11y agoA web browser built on a single thread, a web browser I'd like to use.
- braythwayt 11y agoNo 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.
- deleted 11y ago[deleted]
- romanovcode 11y agoIronic that browser that is built on javascript has no javascript support.
- barakstout 11y agoI 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.