You can pretty much just create a free plan and run this in our debugger, which will compile the chapters and return PDF. Pretty fun little challenge.
950 karma · joined December 16, 2014
You can pretty much just create a free plan and run this in our debugger, which will compile the chapters and return PDF. Pretty fun little challenge.
We didn’t intend to SPAM you or send unsolicited emails, we just wanted to ask for feedback. Being an open-source/boostrapped service, feedback is really important for us, so that’s why we thought it might be a good idea to reach out to people directly. But now it's clear that that was a wrong decision. We stopped doing that and won’t do it again.
Sorry, it won’t happen again.
This debugger simply sits on top of all that, and puts the code/execution context in the browser versus the server. Cloud flare is simply detecting that our server IP is a known headless chrome instance, and is serving their bot detection check
As far as the hovering goes, the canvas element is “mirroring” interactions back through to the underlying page. When Devtools are active, this triggers chromium to render hover effects in its GUI. This then gets sent back to the canvas element in the debugging page.
It’s a lot of network traffic and Synchronization... but once everything is setup it works fairly seamlessly
https://github.com/browserless/chrome/blob/5627f1ef041ec23f3...
Eventually we just tore it all out, and never looked back. Improving the product and blogging about our findings are a win-win for us and the ecosystem at large, versus agonizing over traffic and data
Very true. However, my rebuttal would be that the majority of folks reading this are of an engineering background, and seeing the words “no longer open source” can land quite differently.
This is categorically not true. The source is open, and will likely always will be. It’s not free for AWS going forward, however. Why is it that Amazon has such a hard time paying for stuff they use and commercialize? There’s no issues here with other providers (GCP, Azure, etc.), so clearly the problem lies with them. While they’re at it, they should also get off this “open and free” high horse they seem to be on. A few patches here and there don’t qualify as big time contributor status. If they want to show that they’re committed, how about the release their infrastructure code that runs all their services? That’d definitely go a lot further than “big bad Elastic changed their license and we’re defending users.” Get outta here with that nonsense, history shows otherwise with all the other tech that’s been ripped off.
I also don’t get all the criticism for Elastic doing this. They own the software, and they can do whatever they want. Should they have done this license from the start? Maybe, but it’s not exactly easy getting a project off the ground without some way to gain attention. If you’ve got no users, you’ve got to show at least what your code is doing, and picking software licenses is not exactly a straightforward task. They changed their license to fight back, and it’s entirely within their right to do so.
Hate to feel like I’m venting, but AWS is being the bully here and feigning that they’re pro-user, which is frustrating to witness.
Truth be told selling a small library probably isn't enough to make significant money on your product since it isn't solving a big enough risk. The risk of forking is fairly low, especially for small to mid sized companies. Larger companies, maybe so since things like security become much more urgent.
It's hard to separate people from their money, but I feel it becomes a lot easier if it offsets a potential risk they're not willing to take. Just my 2 cents.
I’m still a bit worried about how next year will shake out. Even though there’s some stimulus in place, there’s a cost to them that’ll eventually come to bear. Perhaps not next year, but years after.
I guess there’s always something going on. Good luck and congratulations on your success! Keep listening to your users, and keep innovating!
Have you considered a hosted product? I have no idea what your audience is like, but that seems to be where we've had a lot of success. Happy to chat anytime as well: joel at browserless dot io.
The only thing I think we do differently is nginx’s amplify SaaS product for monitoring load balancers. Those are still kind of painful, but work well with WebSockets, which is hard to find support for.
Thanks for sharing!
On that, I feel like docker could provide a much much better storefront, and charge folks for their packages, but just hasn't. Did you even know they had a store? That's what their hub is supposed to be, but they don't charge for anything! How great would it be if they built out a marketplace?! This has even more potential, IMO, since images are generally a whole service and not just a library.
The opportunity and value definitely are there, and the need is there, it's just not something that anyone has tackled in a way that makes sense with software.
In short: we wanted to dogfood the product at the cost of some time and machine resources
Our infrastructure actually does procedure for some of our scraping needs: we scrape puppeteer's GH documentation page to build out our debugger's autocomplete tool. To do this, we "goto" the page, extract the page's content, and then hand it off to nodejs libraries for parsing. This has two benefits: it cuts down the time you have the browser open and running, and let's you "offload" some of that work to your back-end with more sophisticated libraries. You get the best of both worlds with this approach, and it's one we generally recommend to folks everywhere. Also a great way that we "dogfood" our own product as well :)
Selenium uses a chatty HTTP interface, whereas puppeteer/playwright use WebSockets or pipes to communicate. Under-the-hood, however, Selenium is simply using chrome's devtools protocol to communicate with it. The way selenium does this is by another binary, generally a `driver`, that has the protocol "baked" into it and has the HTTP selenium API as its input interface.
This is all a long way of saying that puppeteer/playwright have a lot less moving parts, and are generally more approachable. Selenium _does_ have a lot more history behind it, better support across languages and frameworks, and is more stable but it's also much larger and "clunkier" feeling. It's also a lot harder to scale with load-balancers since, again, it's all over HTTP so you'll need some way to load-balance with sticky sessions.
Practically speaking they all do the same thing at some layer. Both are high-level APIs around the devtools protocol, it's just what higher-level interface you prefer and what your language/runtime is.
Anyways, happy to answer questions or talk more about it. Pretty fun/novel way of solving this problem!
Mike's story was a lot of inspiration for me, and I think licensing + cloud-ifying your opensource projects are a ton more viable than hoping for Patreaon or other platforms to pay you. Self-bootstrapped indiehacker style was great for me, but it does require a lot of up-front time and commitment in seeing it through. Upside is that it's not monopoly money being dealt with, and everything is on your terms.