Readit News logoReadit News
gandalfff · 4 years ago
I'm a speech therapist who does teletherapy. I routinely fill out a lot of web forms. I've already created one automation that will save me time, and I have ideas for several more automations. Thank you so much for making this!
dkthehuman · 4 years ago
Oh man, this makes me super happy to hear. Enjoy, and feel free to reach out either by email (support@browserflow.app) or on the Discord if you need any help with your automations!
pcthrowaway · 4 years ago
Interesting.. are you learning/using programming as part of your work or for your own interests? If not, I'm curious what value you feel you get from Hacker News; I know a lot of non-programming topics get discussed here, I just typically assume the audience here skews more towards people working in technology/software-related fields.
gandalfff · 4 years ago
I tried teaching myself programming at one point, but it didn't really "click" for me. I browse HN for the non-programming topics. I steer around the "built with Rust" posts (and other programming motifs).

The value I get from Hacker News is the aggregation of interesting web content, good discussion, and learning about new apps like this one :)

anonymouse008 · 4 years ago
If you'd be so kind... I'm helping a similarly standardized testing industry, how are you using this extension?

And DK: I didn't see it immediately - does an affiliate program for solution architects sound right / in the roadmap?

dkthehuman · 4 years ago
I hadn't considered it, but I'm happy to explore that option. Feel free to email me at dk@browserflow.app
gandalfff · 4 years ago
The main thing I want to do with this extension is to speed up my documentation process. For every therapy session, I have to fill out a web form that details what happened during the session, including subjective info and objective data regarding the therapy goals. I already record the data in a Google Sheet, and it would be great to have a one-click solution to transfer that into the web form!

Right now, I have an automation for updating Zoom meeting info, and one that fills out the web form with standard info I include for nearly every session.

cxr · 4 years ago
Some prior art:

"CoScripter" (2007) <https://blog.mozilla.org/labs/2007/09/coscripter/>

"IBM Automates Firefox With CoScripter" (2007) <https://www.informationweek.com/software/ibm-automates-firef...>

"Your personal assistant on the Web" (2010) <https://www.ibm.com/blogs/research/2010/10/your-personal-ass...>

"Koala: Capture, Share, Automate, Personalize Business Processes on the Web" (2007) <https://ofb.net/~tlau/research/papers/koala-chi07.pdf>

"CoScripter: Sharing ‘How-to’ Knowledge in the Enterprise" (2007) <https://ofb.net/~tlau/research/papers/leshed-group07.pdf>

"Here’s What I Did: Sharing and Reusing Web Activity with ActionShot" (2010) <https://ofb.net/~tlau/research/papers/p723-li.pdf>

Demo: <https://www.youtube.com/watch?v=lKIex_XAxWw>

Source code (bitrotted, of course): <https://github.com/jeffnichols-ibm/coscripter-extension>

adamrezich · 4 years ago
aside from Browserflow are there really no similar contemporary projects/products? seems insane to me
yaseer · 4 years ago
There are many. A sample in alphabetical order - and by no means exhaustive:

https://apify.com/ (YC F1)

https://automatio.co/

https://axiom.ai/ (YC W21)

https://extension.dev/

https://www.progress.com/imacros

https://trysmartcuts.com (YC W21)

https://ui.vision/

https://wildfire.ai/

3 of these are YC companies. Reminds me of mixpanel vs segment vs amplitude, where YC are backing all the horses.

Each company is different in its particular approach and niche, though. This is inevitable with any large, or potentially large market.

Disclaimer: Co-founder of axiom.ai

visarga · 4 years ago
UiPath does both browser and desktop automation. Browserflow looks very similar. https://www.uipath.com/
bdcravens · 4 years ago
Not really. It reminds me a lot of iMacros, even the UI

https://www.progress.com/imacros

eastendguy · 4 years ago
The historically first browser automation tool was iMacros (2001!).

https://en.wikipedia.org/wiki/IMacros

glenneroo · 4 years ago
What does bitrotted mean in this context?
e12e · 4 years ago
Abandoned - last commit in 2013. That's typically so long ago that at least one Api, dependency or similar will be broken.
menthe · 4 years ago
As a web scraper, I'll say that because he is hooking into the browser like a debugger / remotely controlled browser, just like Puppeteer would - he is instantly detected by the Cloudflare, PerimeterX, Datadome bot management solutions; and will get consistently banned on his page reload for literally any site caring about bots.

He'd be better off running some javascript on the page instead (a-la Tampermonkey, but can be done really nicely with some server-served TypeScript) to scrape the pages stealthily and perform actions.

bdcravens · 4 years ago
Run it against https://bot.sannysoft.com/ to see how it stacks up

Most anti-Puppeteer tech analyzes the state of various browser Javascript objects, and if you run Puppeteer in headful mode with plugins like https://www.npmjs.com/package/puppeteer-extra-plugin-stealth you'll bypass most detection.

menthe · 4 years ago
This is not true, run playwright/puppeteer with puppeteer-stealth + headful + plugins + fonts + OpenGL fingerprinting workarounds and you’ll still 100% be caught by PerimeterX and Datadome if the site’s sensitivity is set to anything but “Low”.

Talk with berstend (author of puppeteer-extra/stealth), join their Discord or read some of his Github comments and you will quickly get confirmation that none of those methods are good enough in 2021 (even with residential proxies or CGNAT 5G proxies).

shaicoleman · 4 years ago
Disabling headless and adding the following command line option: --disable-blink-features=AutomationControlled

is enough to pass all the tests above with cuprite (Ruby), without needing any extra plugins

dkthehuman · 4 years ago
This is simply not accurate, and you can easily test the claim. Just try running Browserflow on the sites you're thinking of and you can see for yourself whether it's instantly banned or not.
hmcm55 · 4 years ago
Can confirm, as someone who spent 2 years building software to beat recaptchas/bot management. I literally told DK that there was no way that Browserflow could solve the problems I spent years fighting against. I was wrong... it was humbling.
colordrops · 4 years ago
How exactly do these services detect Puppeteer?
shaicoleman · 4 years ago
They run JS tests such as the one linked in the peer comment: https://bot.sannysoft.com/
Siira · 4 years ago
Can you provide any guides on this? How will the server run the JS on their page automatically?
menthe · 4 years ago
The easiest approach is be to use an extension like Tampermonkey, which can load (and reload) “scripts” from a web server. There are a few project templates on GitHub with Typescript+WebPack (e.g. https://github.com/xiaomingTang/template-ts-tampermonkey). You can automate with any of your favorite Typescript libs, from the comfort of your IDE, with hot reload included.. Pretty nifty, and projects can quickly get pretty big that way! I usually have one “script” that has broad permissions (e.g. all sites) with some form of router at the root of the code that branches to the different sites to evaluate.
kulikalov · 4 years ago
This project seem to be consumer-friendly. You should mention to users that:

1. By sharing authentication cookies they provide full control over their personal account

2. By using this automation they often violate Terms of Services and may be banned.

abandonliberty · 4 years ago
With all of these apps, there's always the risk it eventually falls into the wrong hands.

I bought the pro version of a great scanning application years ago, only to have it eventually become malware as it exchanged hands over and over.

abustamam · 4 years ago
I'm guessing you mean CamScanner. Such a shame. Have you found a viable alternative?
sly010 · 4 years ago
Congrats, the demos look awesome! Having struggled with something like this in the past (for automated testing) I am always curious about how various solutions represent the "program" so its long term repeatable?

I often had to manually add branching on certain conditions (i.e login) or waiting for certain conditions (elements appearing) before proceeding.

I also often had to manually tweak selectors and even matches on html structurally (css selectors cannot select a parent element based on a matching content element).

Then there are the webpacked react sites that scramble css class names that change all the time.

Some of these things are super tedious to solve for even manually so I am just curious how no-code tools handle these?

namukang · 4 years ago
Browserflow is more low-code than it is no-code since it has support for control flow statements like "If", "Else", etc. as well as being able to execute arbitrary Javascript on the page. The no-code approach of simply recording a flow works fine in many cases, but there are a lot of escape hatches if the flexibility is needed (e.g. waiting for an element to appear).

There's also support for a few unofficial pseudo-selectors (:contains and :has — see https://docs.browserflow.app/guides/selectors#writing-your-o...) to make selecting elements more reliable.

Hope that helps! Agreed that creating reliable automations for the Web is challenging and hopefully Browserflow will make it easier for many folks.

renatgabitov · 4 years ago
DK, congrats on the launch. You are onto something with data extraction. I like that you allow to correct the selectors, so that the data can be extracted more accurately, and typing.

I found the UI slight challenging because of a popup window that opens. Resizing is tricky. Overlay would make is so much easier.

Our team at Bardeen.ai has built a workflow automation tool. We also have a scraper to extract data. But our full automation engine (similar to Zapier/Integromat) allows to tap into the full power of web apps. Like creating a new Google Sheet / Airtable / Notion with the scraped data and then triggering follow up actions.

If you are curious, here is a “live build” that I did for the Twitter --> Airtable use case. https://www.bardeen.ai/posts/scrape-twitter

Jon mentioned in the other thread automated screenshots. We get screenshots of all of our dashboards from Google Analytics + Posthog sent to our Slack daily. https://www.bardeen.ai/playbooks/send-website-screenshots-in...

Either way, great job there! Love seeing new automation projects pop up.

P.S. - I saw there is an “input” action. Can I feed your automation tool a spreadsheet of data and have it fill out form? (one per row)

dkthehuman · 4 years ago
Thanks Renat! Bardeen looks slick and your team clearly put a ton of work into those integrations. Good stuff!

Not sure what you're referring to with the "input" action, but there's a "Loop Spreadsheet Rows" command that will let you perform a set of actions per row in a spreadsheet.

eulercoder · 4 years ago
Hey Renat,

Bardeen looks super look, we are also building something very similar but very much focused on Web Automation, you can build cross platform automations on TexAu - https://texau.app

I’m thinking we should integrate with Bardeen and it will be open up so many more possibilities

~ Vikesh

namukang · 4 years ago
Hi HN,

About 14 years ago, I fell in love with programming because it made me feel like a magician. I'd type in some incantations, click "Run", and voila! My lightning-powered thinking rock would do exactly as I commanded — in my case, make a virtual robot named Karel move around the screen in my computer science lab.

Nowadays, casting spells requires a bit more work. Most of our work happens inside complex web apps that each have their own custom spell books (APIs) — assuming they even provide one at all.

Let's take a task like managing your social media accounts. Suppose you want to reset your Twitter account and start from scratch. First step: Unfollow everyone. The problem is that you have hundreds of accounts to unfollow, and you don't exactly want to sit there all day clicking buttons.

If you're not a programmer, your options are limited to what others have built. You can hand over your credentials to all kinds of third-party apps and extensions in the hopes of finding one that works. Good luck.

If you're a programmer, you have more options. You have the power to cast spells. What if we used the official API?

You can sign up for a developer account, get an API key, download a client library, read about how OAuth works for the hundredth time, and then start digging through the API to find out how to complete your task.

That sounds tedious and creating a developer account for a one-off task feels like overkill. What if we simulated user actions in the browser instead?

You can install Selenium/Puppeteer/Playwright, read through its documentation to learn how to navigate and click, open the web inspector to figure out the right CSS selectors, run into some race condition where the elements aren't loading in time, sprinkle in some waits, and puzzle over how to handle elements being added from the infinite scrolling list.

That doesn't sounds too great either. Maybe it'd be faster to manually click those buttons after all...

I built Browserflow to automate tasks like this where people end up wasting time doing what computers do better. I wanted a tool that makes it easy for anyone, regardless of their technical background, to automate any task on any website. It includes the convenience of features like automatically generating automation steps by recording your actions while having the flexibility of letting you tweak anything manually or write custom Javascript. (If you want to see how simple it is to automate the Twitter task above using Browserflow, here's the demo: https://www.youtube.com/watch?v=UnsGTpcA-98)

Building a browser automation tool from scratch and making it robust enough to handle all kinds of websites took much, much longer than I expected. After working on it as a solo developer for 1.5 years, I'm super excited to finally share this with you all. Whether you're a professional developer or a non-technical marketer, I hope Browserflow will make you feel like a magician on the Web.

Would love to get your feedback!

ChicagoBoy11 · 4 years ago
Feedback: The on-boarding workflow is so, so good. So pleasant and well thought out. Hard to believe this is the launch... I'd expect folks to go through many iterations of it and not get to something like this. Really, really well done.

Whenever I see extensions like this, it does make me wonder something which I've never fully understood: Given that so much of it runs client-side, what's the state of the art nowadays in terms of preventing someone from essentially "stealing" your extension. I've come across some extensions in the past -- even ones that were paid for and part of a business -- where it was clear that it would've been trivial to simply copy the extension code and run it on my own. How do you prevent folks from doing that?

dkthehuman · 4 years ago
Oh, don't be fooled — many of my friends have had to go through much worse onboarding experiences to get to what it is right now. ;) Appreciate the kind words!

The two pieces that make it harder for someone to simply copy the extension code and run it themselves is (1) Javascript minification and (2) parts that talk to a server.

Someone can try to reverse engineer the calls to a server and run their own, but that's often more work than most people are willing to go through and it's made harder by the client code being minified.

I wish it were possible to open source extensions without running into this problem because I like sharing things I've built (https://github.com/dkthehuman/), but doing so effectively kills the possibility of building a business on top of it unless you maintain two code bases (one free and one paid) at which point it's more trouble than it's worth IMO.

bspammer · 4 years ago
This is a really excellent sales pitch, you answered all my “why not just” questions upfront. The video makes this look very smooth to use, excited to try it out next time I have a need.
jonshariat · 4 years ago
If this could take screenshots, I would signup in a heartbeat.

Here is my need (and I've had this need my whole working career": What does production look like?

If a tool could automate loggin in, browsing specific flows, take screenshots of every page, and add them to a folder of the day, it would invaluable.

dkthehuman · 4 years ago
You're in luck! Browserflow can take screenshots and save them to Google Drive every day. :)

Take a look at the "Take Screenshot" command and feel free to message me on the Browserflow Discord if you need help.

KennyBlanken · 4 years ago
> and save them to Google Drive

No, thank you. Please offer a local save option.

renatgabitov · 4 years ago
Jon, what's the main pain or goal with capturing a screenshot for every page that you visit?

It's tricky to do on your machine, so that performance doesn't suffer. At the end of the day, all full-page PDF generators would have to scroll to the end of the page, which would make it really tough for you to browse around.

A solution to this would be to just capture the URLs that you visit, and then do the screenshot generation in the cloud. The limitation is that none of your websites with logins would get captured.

Local storage is another issue for Chrome Extensions. There is a limit to how much data that can be stored.

jonshariat · 4 years ago
I'm not a programmer so it would need to be easy enough to set up and maintain.

Logged in states are a must have.

spython · 4 years ago
Sikuli http://sikulix.com/ could perhaps be helpful.
RandomBookmarks · 4 years ago
Sikuli is good for desktop automation. For browser automation an extension based solution (such as this one) is easier to use.
genev · 4 years ago
How about a few lines of python with selenium?
kordlessagain · 4 years ago
It’s more than a few and less than a bushel.

Deleted Comment

ukd1 · 4 years ago
You could also do most of this (except adding the screenshot to a folder, but you can get it via api if you need) and more with our free plan - https://www.rainforestqa.com/
Gustomaximus · 4 years ago
throwaway81523 · 4 years ago
I worked with a test automation system a while back that used ffmpeg to screenshot a headless browser. Similar approach might be workable on desktop.
T_O_T_O · 4 years ago
What is the specific use case or value that you extract from saving those screenshots?