9 ms·
Some of you may have seen this before under its previous incarnation of "Texttop". Then it was just a hack, but I got some great feedback, so I've spent most of
by tombh 8y ago
Some of you may have seen this before under its previous incarnation of "Texttop". Then it was just a hack, but I got some great feedback, so I've spent most of the last 12 months turning it into something serious. It's morphed into more than a mere TTY gimmick. That UNIX philosophy of text being the "universal interface" has somewhat unexpectedly risen to the forefront, such that Browsh is now essentially a text browser engine, serving to both TTY clients and, somewhat ironically, other browsers - see https://html.brow.sh https://html.brow.sh Being able to render any modern site (even WebGL for example) to text seems like an appropriate return to the web's origins. The obvious benefit being to those less fortunate that have slow and/or expensive bandwidth.
Also, I'd be interested in any opinions here about how to financially support this project. At the very least I'd just love to somehow make this my job.
- adamredwoods 8y agoMy guess is to try upselling features like anonymous browsing, ad-blocking, etc. Other ideas would require discovering use-case scenarios for corporate situations: can it be used as a cms-front end or a way to focus on text for localization? a11y testing? You never know.
- tombh 8y agoWhat do you think of its potential for use in regions with slow and/or expensive Internet (South America seems to be the worst off here), where I could come to some arrangement with a local NGO/GO to fund server costs and development?
- giancarlostoro 8y agoYou absolutely could, Opera browser was doing something (I think they proxied images and similar files) before it gets to someone's screen. If you can compress large images (and you'd have to know they're images cause you gotta render them right?) in such a way that they're not visually distorted it would be worth paying for. The harder thing is trust, trusting you to not change any images. On the other hand that'd make for a fun VPN service for general browsing (but again then it comes back to trust) but if you target it as a browser plugin bundled VPN service that saves on bandwidth you could hit more of an audience and use that income to fund Browsh. I figure you dont want to get too far outside of that scope though (development wise) since it's a lot more work. I also like the other ideas of using some of the Browsh capabilities to scrape the web, maybe as a paid API, sure you can write a script to do that, but if you can curl / postman an API that does it for you and returns what you need, then why wouldn't you? Trick is can an API be done just perfectly enough? How do you tell it to give you whatever part of the screen with whatever requirements? It could sound simple but get complicated quickly enough. If it's too complex maybe a compression VPN is a better target.
- tombh 8y agoYeah the Opera-style compressing VPN idea is definitely high up on my list. That's why I released Browsh along side text.brow.sh and html.brow.sh At the moment they only return static content just as CDN would, so there's no privacy concerns, but to make those services truly VPN-like then they'll need to allow logins, sessions, etc, which then very much raises privacy concerns. And there's just nothing Browsh can do to assuage that, other than good branding, because Browsh by definition has to read every character on page in plain text. I've got a good feeling about text.brow.sh, it's so simple. As you say I just need to work on the consistency of what it returns. Thanks for your thoughts!
- shubb 8y agoMaybe this would be useful to commercial shipping companies who run thier net over satellite and similar. That would work nicely as a hosted service with an app. Like a more aggressive version of opera's bandwidth reduction. The military might have similar problems. It's not really ready fir consumers yet though.
- tombh 8y agoGreat ideas, I'd not thought of them. So might be worth researching some contacts in those fields.
- themodelplumber 8y agoCharge for plugins? For example, user macros, user styles, integration of other apps, advanced bookmarks, etc. Sell merch, create your own awards for lo-fi websites and charge people to nominate their sites. Hope it works out for you!
- tombh 8y agoLoads of ideas! So well first I need to identify what people want and are willing to pay for. I like the awards for lo-fi websites, I could have a showcase section of the website.
- hexadecimal7e 8y agoI would pay for a mobile app that reduces my bandwidth usage during traveling while surfing the Webb away from WiFi.
- qplex 8y agoUse ublock and umatrix addons for Firefox, they're free and available on mobile too.
- hexadecimal7e 8y agoI am very familiar with uBlock and such. I have a local DNS at home which blocks a lot of stuff for the whole family at home without using plugin-blockers. My wife don’t know a life with ads and is often surprised when visiting friends: “what a nightmare of distraction” What I mean is an app that connects to an instance (vm, server) a brow.sh. I would like to install this in a lxc container and connect to it from my mobile via VPN and use HTTP-proxy settings or and with an specific brow.sh-app for my mobile. Could this work?
- tombh 8y agoIt's be great if html.brow.sh could become a sophisticated proxy that stripped the web down to an absolute bare minimum. Yes I think travelers are the most likely to pay for it, but I think the poorer people of less developed nations would be the largest sector of users. Currently though html.brow.sh is non-interactive, as soon as I start letting people logging in it opens up a whole bunch of privacy concerns!
- mylons 8y agodude, very cool.
- monch1962 8y agoI could see this being part of a lightweight browser UI testing framework. There's already ways to drive a headless UI (Selenium, puppeteer), but they require automation testers to interact with page elements via the "normal" DOM which can be quite painful in terms of creating automation tests - DSLs to drive DOM automation are necessarily huge. I could envision browser automation via browsh using a very small DSL e.g. browsh.url() to navigate to a URL, browsh.click() to click on an element, browsh.text_exists?() to check whether text exists, browsh.link_exists?() to check whether a clickable link exists
- tombh 8y agoI've thought of that too. The trouble is that Browsh's text renderer is more of a science than an art. It's quite hard to actually get a guarantee of the same text twice, which is a pretty important condition of testing. But yes, I'd love for Browsh to be used in such a way!
- brlewis 8y agoGuaranteeing the same text twice might not be so important. There are pixel comparison testing tools for popular browsers. Your advantage is probably speed. Would cypress end-to-end tests run way faster in Browsh than in a graphical browser? If so, you've got something of value to big companies. You might want to partner with or contract for Cypress. EDIT: Since Browsh depends on Firefox I'm curious whether it's actually faster than a graphical browser.
- annabellish 8y agoAs an anecdote, somebody at my workplace has just spent a day tearing their hair out trying to figure out how to get our selenium tests running automatically on a headless machine, because the resolution flat refused to go above 1024x768. Even then, they're slow and heavyweight. A very fast browser not tied to a graphical display with the bonus of being able to put error screenshots into all of our existing tooling could actually be quite beneficial here, whether the text is character-identical every time or not.
- mamcx 8y agoWell stay chargin for it. Put a button and give a dedicated connection for people that pay?
- tombh 8y agoFor sure that's definitely an option, for both the SSH service and the html.brow.sh service. As people get to learn about Browsh let's see if there are any takers.
- masukomi 8y ago> Also, I'd be interested in any opinions here about how to financially support this project. At the very least I'd just love to somehow make this my job. I think before you can answer that question you have to figure out if there are enough geeks like you who think this is a useful enough tool to run / use regularly. They'll likely pay you $. Alternately, find use case where even just a few users / companies would pay $$$ each for some thing that it does that you can't easily get anywhere else and helps get work done. For me it looks cool, and i'll give it a try, but i'm more likely to stay with my normal browser because with plugins like vimium i don't have to reach for my mouse very much. That's actually one of the reasons i use the command line so much. Make it work without constantly using my mouse and I'd be far more likely to use it. Once i'm using it regularly, then I'd be starting to think "I wish it would..." and then making those wishes come into practice is something i'd support. This is kind of a weird / esoteric thing that would just gradually improve so... maybe Patreon is a better route for getting support than normal software / feature / plugin sales. personally, IF I find myself using it regularly, i think i'd be more likely to support you via a Patreon type regular donation.
- tombh 8y agoThanks for your advice, it's really helpful. I agree, I think it has a large gimmick factor, for which I don't think there's a huge amount of $ (though it does help spread the word). You have a good point about finding a niche in a large company. As others have mentioned this looks like it would be to do with endeavours out in the field so to speak, where the Internet is slow and/or expensive. So eg; military or shipping operations. So at the moment I guess it's just best to hope as many different people and organisations see Browsh as possible and seeing what sticks and where. I've got Patreon, Paypal and Bitcoin setup already: https://www.brow.sh/donate/ https://www.brow.sh/donate/
- aeorgnoieang 8y agoAdd links to Patreon, PayPal, and Bitcoin right on the home page.
- 8y ago
- g-harel 8y agoweird, that link doesn't work on localhost /s
- thaumaturgy 8y agoI've been messing about with a toy search engine for a long time, and starting to tie it into my Pinboard bookmarks (6,000 and counting!), and the most irritating part of the whole thing for a while has been extracting useful text from modern websites. I'd considered using a headless browser setup but I never got 'round to it. If you structured this as a paid service where I could make some number of requests for some amount of money and get back basically what you've got now in monochrome mode, I'd probably sign up pretty quick. This is sort of relevant to some other recent HN discussions around the trouble with large-scale crawling and the trouble with so much of it being restricted to Google now, so I don't think I'm the only one.
- tombh 8y agoI've thought about this too, because https://text.brow.sh https://text.brow.sh certainly does make scraping websites easy, you just need to `curl` and `grep`. But the trouble is, as I mentioned elsewhere in the thread, Browsh's text renderer is more of an art than a science, it doesn't guarantee consistent results for every render. Whereas of course downloading HTML and using something like Beautiful Soup does give a much better guarantee of consistency.
- bambataa 8y agoI don’t think that lack of consistency should stop you though. Ok maybe it wouldn’t be suitable for testing things but there are other uses for a headless browser
- jacquesm 8y agoThe web 1995-2005 or thereabout will be the best documented period of humanity and it is saddening to see how payload has been replaced by cruft to the point that we might as well have remote PDF viewers. So much for 'the semantic web' I guess.
- tombh 8y agoThis precisely the sort of thing that Browsh can remedy!
- nemild 8y agoRe: financial support, have you seen Nadia Eghbal's Lemonade Stand for a whole set of ideas: A handy guide to financial support for open source. https://github.com/nayafia/lemonade-stand https://github.com/nayafia/lemonade-stand
- tombh 8y agoFantastic resource, thanks
- quadrangle 8y agoAs another resource for existing options: https://wiki.snowdrift.coop/market-research/other-crowdfunding https://wiki.snowdrift.coop/market-research/other-crowdfundi... Has further notes that don't just overlap with the lemonade-stand thing. Unfortunately, Snowdrift.coop is still not available to use itself at this point.
- dheera 8y agoDamn. Even Youtube works. Never thought I'd be watching movies over SSH.
- qplex 8y agoAAlib [0] has been around for ages. But yeah, it's a cool trick to watch movies in a terminal. However I think there is very little real use for image to text-as-image conversion. [0] https://en.m.wikipedia.org/wiki/AAlib https://en.m.wikipedia.org/wiki/AAlib
- helb 8y agoOr libcaca, which even handles colors. With mpv & youtube-dl, you can do just: mpv -vo caca "https://www.youtube.com/watch?v=DLzxrzFCyOs"
- hx2a 8y agoHaha, I knew I was going to be rick-rolled before running this and yet I ran it anyway. I didn't know about this utility. Awesome it does sound too. Thanks for pointing it out.
- primitivesuave 8y agoThis is not my favorite monetization strategy, but if you had enough people using your browser you could serve text-based ads in place of the now-pixelized image ads on the screen. To test this model right away, you could contact a developer-focused ad network like Carbon (https://carbonads.net/ https://carbonads.net/) Another insidious idea is to pitch this browser to companies as a way to reduce wasted time on social media and time-wasting websites - employees could be trained on how to quickly extract text information from a website that is relevant to some business goals, without getting distracted by the time-wasting opportunities that a browser provides. What I would love to see (but where far fewer promise of riches lay) is to use this as part of some great developer tool - this seems it could be a more intuitive way to test an interface than Selenium. Until then I look forward to personally supporting and using your awesome project!
- tombh 8y agoThis approach has already crossed my mind, and its not my favourite either. But if it enables me to make Browsh my job then I'd be open to it. I actually already self-advertise Browsh at the bottom of every https://html.brow.sh https://html.brow.sh page. So I'd certainly be open to placing a simple ad link there at least. Ha, the "reduce wasted time" idea is interesting one! Thanks for your support :)
- ohiovr 8y agoI got a wild idea that I want to do myself for funding a hobby of mine. I am developing a similar software compared to yunohost or cloudron. The way I want to fund my hobby is by afflilate marketing. I am developing a solution for hosting, so it might make sense for someone to use it via digital ocean. All I got to do is provide a link as a their affliate member (which I am as of now not apart of) and my user gets a discount, digital ocean gets a customer, and I get about $20 dollars I think. There are several other programs like this by various other companies. What I think you might do with this idea is offer an affiliate deal for your users for isps or organizations that want to provide super low bandwidth services. I read recently there are still millions of modem users in the USA because of the various remote locations can't afford to bring a network in and no political will to do it either. Good luck to you, I think you got a good idea. I am not able to get it to work on docker at this time but I'll be keeping an eye on it.
- bryanrasmussen 8y agoif it was pluggable into other browsers, or other browser's extensions, then charge a small fee for that kind of usage.
- tombh 8y agoI've had the idea to make a webextension that transparently proxies all top-level URL bar requests to html.brow.sh, that way you can click on links in other applications that open in your browser and instantly get the Browsh version. I think it could a fantastic resource for those in the world that have slow and/or expensive internet. First though I really need to improve html.brow.sh
- bryanrasmussen 8y agoI wonder if it would be a benefit for EU people who just want to read the site and not get a modal that tells them if they don't accept privacy invasions you can't read the page. I'm getting tired of writing down GDPR violations to report.
- tombh 8y agoBut then I wonder if Browsh would come under some violation for doing so?
- bryanrasmussen 8y agoI don't see how you would end up in a GDPR violation scenario for doing it. I suppose the more likely scenario would be Company X wanting people to agree to give up data, and make it hard to access site without giving up data, but browsh makes it easy. So then the company complains that browsh is essentially enabling theft of their resources, I don't think that will work very well though.
- bryanrasmussen 8y agoactually one problem you have here, and you're probably realizing from the responses, is a problem I had with a personal project that could be used to build lots of things that people wanted, but in itself was not a thing people want. In order to monetize you need to build one of the things people want, but in doing so you put focus into one area and stop improving the generic base of everything, as well as not producing many little toy examples of the possibilities of your technology.
- tombh 8y agodamn, yes, that's indeed perceptive
- westoncb 8y agoI've found myself running into this same thing as well. An obscure sort of problem no one warns you about ;)
- jacquesm 8y agoThis is typical for infrastructure and foundation libraries. Nobody made money on jpeg, but jpeg powered entire industries.
- C4stor 8y agoWhile your point stands, you may be interested to know that a company actually successfully sold a patent for jpeg at some point, and made about $100M doing so. So I wouldn't say nobody made money on jpeg ! But it's also interesting for the OP, maybe there's something patentable in there ?
- jacquesm 8y agoIf you're referring to Forgent: they were patent trolls and their patent was invalidated due to prior art. Unfortunately not before a bunch of companies paid up. Fraunhofer is a better example of an institute that made good money on tech patents with merit, as well as 3M and lots of other tech companies. But as a rule these things are hard to monetize and while I'm not happy that it will be hard to monetize the work that went into this particular project at the same time I think it is good that patents are most likely a closed avenue. Patents are - in my opinion - a net negative and the sooner they are abolished the better.
- asdojasdosadsa 8y agoOut of pure curiosity, how much are you profiting currently out of it?
- tombh 8y agoSince launch I've had just under £100 in donations.
- jacquesm 8y agoCheck again :)
- tombh 8y agoThe bitcoin one! Woaah, thank you so much :)
- jacquesm 8y agoNo, thank you. That must have been a very long and hard slog to get this to work as well as it does and unfortunately this is the only way that I have to show my appreciation of that. (Been there, done that.)
- tombh 8y agoHa, you're the first person to mention that. It's probably one of the hardest things I've ever done in my life, both technically and in terms of stamina. So I very much appreciate that someone else can understand that.
- tsukikage 8y agoStupid question: how do you follow links without a mouse? e.g. with Lynx you'd use the arrow keys / enter - this doesn't seem to work here, and there's nothing obvious in the keybindings document.
- deleted 8y ago[deleted]
- tombh 8y agoSadly, it's not a feature yet, but it's planned: https://github.com/browsh-org/browsh/issues/85 https://github.com/browsh-org/browsh/issues/85
- josh921 8y agoRegarding financing, perhaps you should consider collaboration with the Tor Project. Many Tor users disable Javascript, because Javascript sometimes has anonymizing vulnerabilities. But disabling Javascript cripples many websites. But I can type html.brow.sh/https://example.com https://example.com via my Tor browser and get a non crippled website, even with Javascript disabled. This is a very practical use case and I think many will want to pay you to make it work better.
- tombh 8y agoI'm not very familiar with Tor. But from what I gather I think Browsh will be of interest to Tor users more than Tor network itself?
- josh921 8y agoWhat you need to know about Tor is that the network consists of clients and relays. Clients are mostly users with browsers. Many of which disable JS, because JS can de-anonymize sometimes. This breaks some websites. Previously I could not visit CNN.com via a JS-disabled Tor browser, but now I can type https://html.brow.sh/https://edition.cnn.com/ https://html.brow.sh/https://edition.cnn.com/ and Viola! (Well, it's still a little crippled but much better than a blank). So, brow.sh benefits JS-disabling users. The Tor project receives donations and they dedicate them to enhance Tor. And, I think this is a neat enhancement. While I am not totally familiar with their money handling, I wouldn't be surprised if they are willing to funnel some of the funds to various side projects that improve the Tor experience. In summary, the use case you advertise is minimal bandwidth for clients, but you missed the privacy use case, which someone may want to fund. Edit: grammar fixes.
- tombh 8y agoOk great, well I posted over at r/tor, see what they say: https://www.reddit.com/r/TOR/comments/8y6z0m/browsh_html_service_converting_the_modern_web_to/ https://www.reddit.com/r/TOR/comments/8y6z0m/browsh_html_ser...
- vorpalhex 8y ago> I'd be interested in any opinions here about how to financially support this project. At the very least I'd just love to somehow make this my job. One of the cases where developers still use text based browsers is in attempting to check accessibility of websites. For many large enterprises, there's a legal or contractual requirement to ensure a certain level of accessibility for users with disabilities.
- vanderZwan 8y agoNice thought, but it doesn't seem to be that kind of textual browser. Unless it really relies on accessibility to work at all.
- vorpalhex 8y agoYeah it's a bit weird with it's fuzzy graphics. I'm not quite sure the best way to use this, but one of the most common forms of "blindness" is not a total lack of sight, but very poor eyesight.
- tenkabuto 8y agoIt can also work for general usability testing: after testing my personal site, I realized that with the graphical fuzzing that this offers, even I couldn't identify what my site's main navigation buttons (made in CSS, no less!) said or whether they were even links. This let me see graphic through the lens of people that cannot see graphics well, so yay!
- tombh 8y agoI'd never thought of this, thanks.
- se7entime 8y agoWill you put it in Flatpak or Snap?
- tombh 8y agoIt's not a high priority but yes I will. Goreleaser, the tool I use to build the binaries, debs, rpms and taps, already has code from Snaps.
- snarfy 8y agoRun it as a service. I send in a URL and maybe TERM type, you send back the rendering complete with escape sequences etc. You might not see the need for this, but others will. I could see it being used in some back end workflow.
- tombh 8y agoThat's essentially what https://text.brow.sh https://text.brow.sh is already doing right? Eg; `curl https://text.brow.sh/https://news.ycombinator.com/item?id=17487552 https://text.brow.sh/https://news.ycombinator.com/item?id=17... | grep snarfy`
- snarfy 8y agoIt's close, but it doesn't actually output the escape codes. It would be cool if there were different formats besides text and html. Maybe vt100.brow.sh, ansi.brow.sh, etc. That way when I curl it from a terminal it renders like the actual terminal client. Add terms that commercial use of the site requires an account setup and some pricing info. They can always host it themselves, but like many things, most people would rather pay someone else to do it.
- tombh 8y agoOh! I never thought of sending the escape codes over curl. Great idea, thank you.