Script Kit: cross-platform, scriptable, automatic shortcuts to everything
scriptkit.com
scriptkit.com
A few things to get out of the way:
- I love Alfred/Raycast/BetterTouchTool/etc
- I am not a company. This is an individual, highly-flawed passion project. Let's be kind.
- I wanted to build an Open-source, cross-platform version of these tools that focused on reusable scripts
- Linux builds exist, I don’t have the machines nor bandwidth to support them. I will need the community to step up if they feel it’s worthwhile
We use Script Kit a lot internally at egghead.io for course/transcript production, so any success beyond that is honestly just a bonus.
If there are any ideas/features/questions I can help with, the best place to ask is over on our GitHub discussions page (much easier to share code, etc).
Cheers - John Lindquist
This seems like a repository of—hopefully verified—NodeJS scripts, and a standard library of common tasks, presented by a slick graphical launcher. The appeal seems to be that it's cross-platform (yet no Linux?), and that users can write their own scripts.
But... Other than the standard library, which might be useful, all of this is already possible. Just write your scripts _in any language_ and launch them via the universal launcher: the command line. Or, if you want to get fancy, use any number of script launchers, like rofi on Linux.
I'm curious to know what this tool does differently or better than what's currently out there.
Absolutely every single tool in this space is re-inventing the wheel. The entire concept of this kind of system automation scripting is, "do stuff that you could already do — but more conveniently."
Now "more convenient" is maybe a slippery concept, but it could mean:
- the same scripts work on different platforms
- the interface for creating, managing, and executing scripts is good
- include a good core library of building blocks to make tedious foundational things quick
- generate a lot of user support/enthusiasm, resulting in e.g. lots of scripts, good forum or a lot of blog posts or docs, that make it easier to work with
- offer UX or design elegance that somehow warms users' cockles
- start with really good defaults
You could do any one of those things well and make the world better.
I currently use Raycast on Mac and it's cool, but it's Mac-only. On Linux I use Albert, but am still looking around (for years). The built-in commands of these tools are appreciated, but even when they are just invoking scripts I myself wrote, as a user I still want any help I can get in organizing my scripts and commands, syncing them across my machines, restoring them when I set up a new machine, and easily editing them in a convenient way that works well with revision tracking.
Plus (in theory) I'd love to see other features, like easy ways to share useful automations with friends/family/whoever, etc.
My point is that there is absolutely nothing wrong with reinventing the wheel if you can make a better wheel, especially in the context of day-to-day user interaction automation scripting.
(For me personally, the potentially exciting bullet point for this particular system is "cross platform" — even if Linux is still WIP.)
I can see the appeal of a standard library of common tasks to make certain workflows more convenient. And this tool is certainly an improvement over existing proprietary tools that are not as easily extensible.
My main criticism is that given that it's "made for developers", an audience that technical can already do all of these things. And if the intention is to make things more convenient for them, publishing a NodeJS library would accomplish the same thing, without reinventing the way they already launch scripts.
I suppose the difference of opinion boils down to the subjective perception of "convenience". The workflow I use to solve these problems is convenient for _me_, but might not be for someone else. So it's difficult to relate to alternative workflows, but at the same time I shouldn't be dismissive of the fact that it works for others.
How do you not understand why people would want to do something faster than they typically do it?
Python to me has always been the ultimate glue and scripting language and it's sad to see it is not leveraged more often.
I have loved Python too, but fell out of love a long time ago. Julia is much better in many ways, _in my opinion_.
Lua is a language that I have no experience of myself, but which is often embedded in things like this, because the interpreter is very small (if I'm not mistaken), which makes it convenient, and therefore in some ways superior to using either Javascript or Python.
Just saying that there are many opinions and ways to think about this.
One piece of feedback: I saw the Apple download options and didn't realize there was a (much subtler) windows option. I think most people will miss that and think this is Apple only.
As an example, although I do have a prejudice against Electron based apps myself, that doesn't prevent me from using VSCode, which itself is based on Electron. VSCode is pretty great, and I'm not going to not use it simply because it uses Electron.
The top offenders are all electron based.
Okay so we need the chat apps and the coding apps to be electron, those are always running.
Okay now VPN apps need electron for some reason, okay now this scripting app needs it, okay those have to run all the time.
Shit where'd my battery life and memory go? Oh the 6 electron apps running nonstop.
The usual complaint against this is that you have to support multiple browsers (Edge/Chromium on Windows, Safari on Mac).
Seems like it’s not an electron app, but also works with JS and even React.
In case someone is using both. What are the Pro/Cons against Raycast for ScriptKit?
It's super nice to press cmd + space and type a common thing I do without having to think. I use it to move windows around, switch from light/dark mode (frontend dev) switch focus between Firefox, terminal and IDEs, control Spotify, manage my Asana tasks, the list goes on :)