TestFlight Alpha (0.1.0 build 1831)

Dear alpha testers,

first up: Thanks for volunteering! As I write this, the private/alpha TestFlight version is waiting for its App Store review, but that should only take a few short hours.

While we’re waiting, let me tell you a little bit about this build and what I’d like you to focus on.

0. General goal of the Alpha TestFlight

I want to make sure both the onboarding and the initial set of actions and their underlying concepts make sense before I start the public TestFlight. I’d like BA to make a good first impression on those fronts! :sweat_smile:

1. The Onboarding Process

When you start the app, you’ll see the prominent “Set up Browser Actions” button. Clicking it will open the onboarding wizard, please go through it, otherwise the actions won’t work.

Let me know what you think of the process. Is it clear/ understandable/ concise/ logical? Did you run into any issues, any unexpected errors?

2. The Shortcuts Actions

For this alpha build, the app only comes with a handful of actions. I’ve concentrated on the basics here, and worked my way “from the outside in”, i.e. I started with actions for working with browser windows, then browser tabs, then web pages. This is not the final list of actions.

I’ve yet to write web-accessible docs but the actions themselves have information about them, just hover over their list entries in the Shortcuts editor and find the little circled “I” icon.

The “Browser Windows” and “Browser Tabs” actions return data representations of windows and tabs, respectively. Both contain a number of properties that you can select when working with the result:

Window objects contain a “Tabs” property which holds a list of the window’s tabs, as you would expect.

Please test the overall concept here: Is it logical/ understandable, or is it too complex? Does the browser selection work? Do the actions work the same in your preferred browsers?

Odds and ends

  • I’ve not implemented support for private Safari windows yet. It’s on my list and will be in one of the upcoming builds.
  • Purchasing as such is in but what you see in the licensing tab is not indicative of the final product. :wink:

That’s all for now, thanks again for offering your help, @adrian @kennonb @Critter @Rakl_Praa @buresdv @JackWellborn :pray:t3:

Let’s gooo, looking at that list of actions, I’m looking forward to trying this more and more :grin: I will write up detailed feedback once I have played with it

The review (finally) went through, you should’ve gotten your TestFlight invitations by now. Bit exciting, that!

Where can I sign up?

You just did. :wink: Invitation is on its way!

1 Like

Moin nach Flensburg,

I thought I had also signed up for the TestFlight. Have you already sent the invites to this list, or have I messed that up.

Thanks Leif

Hi @leif! This is just “TestFlight Alpha”, i.e. “Dear handful of daredevils, please tell me my app doesn’t explode on launch and the onboarding works because I want to start the public TF next week”. :sweat_smile:

The semi-public “mailing list TestFlight” (a.k.a. “TF Beta”) will start as soon as I have confirmation that the onboarding works, and it works not just for me. I just don’t feel comfortable starting TF Beta with a few hundred people before that, the chances to get buried under an avalanche of support request because I overlooked something important are too big.

I hope you’ll understand! If you want to check out Alpha, I’d be happy to add you, tho! But there might be (more) dragons (than in the upcoming beta).

Hi @Carlo,
thanks for your answer. I’m fine to join the alpha. I worked 30 years for a software company, so I’m used to that. Never the less, if you want to make this very closed, I can wait.

Thanks for your work,
Leif

Cool, many thanks & großes Dankeschön :smiley: Alpha invite just went out to you!

I’m interested in Browser Actions. Will I be able to use it with my default Arc browser?

No, at least not yet. I’ll have to look into Arc’s scripting support first (because from what I can tell at a glance, it differs a lot from the other Chromium browsers) but that is on my to-do list after launch.

Arc does have AppleScript support, so perhaps that could be used in Shortcut actions, although I haven’t experimented with that yet. You can check the Arc dictionary in Script Editor. However, that would only be on macOS; I’m not sure what’s might be available for the mobile companion app on iOS. I will look into this some, and what can be done with Arc.

A few first thoughts. I hope you find them useful:

  1. Can you also support Safari Technology Preview? If this is AppleScript behind the scene, you should just be able to use the same scripts and point to the different application.
  2. Is there any plans to make tabs themselves from portable. For example, will I be able to run JavaScript in a tab that I selected rather than the active one?
  3. I think it would be nice be able to filter tabs based on some sort of URL regular expression.
  4. I wonder if in addition to accessing forms using “name”, if it would be possible to access the innerText, innerHTML, or attributes using a CSS Selector (like you are already doing with “Click Element”).
  5. Speaking of accessing forms, might I suggest my newly discovered approach for updating TextAreas. My guess is you are simply updating the value. This is what I did to start, but the problem is that stomping on value destroys undo history. The the linked approach simulates text entry and perserves undo history. Obviously you’d need to update to incorporate all of your supported browsers and would probably want to change/add an action with something like “Add text to form field”.

Browser Action is macOS only. I know its AS dictionary but it’s quite different from the other Chromium-based browsers.

@JackWellborn Thanks for all the input! A few quick notes before I head to bed… :sleeping:

  1. I’ll look into it but not right away. I want to get the basics right first.

  2. I’ve had some issues running JS in background tabs in the past due to browser-internal throttling / energy conservation, so for now it’s “active tab” only. I’ll check again, but see (1).

  3. I agree but I also believe in the “do one thing right” approach, especially when Sindre Sorhus’ Actions is available, is free and brings good list management actions. So, I’m a bit on the fence… :thinking:

  4. In my dev build I’ve added looking up fields by id attribute in addition to the existing name attribute and CSS selector. I’ve already implemented new form-related actions and parameters, and I’m pretty happy with what I have so far. I’ll push the new TF build out tomorrow, I think. I’ve started documenting all actions today but I didn’t get around to writing up the “Web Pages” section which contains the forms stuff.

  5. Interesting approach, I’ll take a peek! The file threw me off due to the extension, until I realized I looked at JXA, not AS. :sweat_smile: My code treats form fields differently depending on their type. Yes, the Element.value is set but you’ll have the option to fire a change event, too. Seems to work but I’ll need to check for the undo history issues you’ve mentioned.

1 Like

Quick update, @JackWellborn: the next build makes filling any text-based form field undo-friendly. If you want to make your own code a bit more compact, try this (works in all modern browsers):

element.focus();
document.execCommand("selectAll");
document.execCommand("insertText", false, `${newText}`);

element being textarea, input[type="text"], input[type="email"], etc. Technically, the document.execCommand() method is deprecated but from my reading, the replacement (Input Events Level 2) are not yet up to speed, so I’d say we’re good for the foreseeable future. :wink:

Thanks again!