Reminds me a lot of Automator on macOS which I’ve always loved. I’m not on the current OS versions so I haven’t tried shortcuts on mac (I use it on my iPhone sometimes, not as useful though). It’s great seeing more cross platform tools like this!
Congrats on the release!
P.s. obligatory ‘no more electrons in my App folder thanks’ :(
Additionally to Shortcuts, Automator is still present in current macOS. I wish there was way to access Services through the Spotlight (but that would probably made apps like Alfred obsolete).
interesting! I am probably not a precise target audience for this app. My modest batch processing needs are satisfied by Alfred and built in MacOS abilities (including brew CLI).
It might also be a matter of taste but I could not justify another 200Mb Electron app for such low-level tasks. I guess I will stick with "Open terminal here" command for a while!
Sorry if off-topic, but is it possible to create native cross-platform apps that look like this without using electron & co?
I've played around with Qt, and the applications just don't look that good to me. And flutter for Desktop, while promising, just looks like mobile apps on desktop.
Yes you can. I could create something like this with both, most clean interfaces boil down to having a nice font, margins, padding and removing/overriding default os crap (focus outlines, hover effects, ugly borders etc).
Vanilla Qt (no QML) supports a decent subset of CSS(QSS) that can target widgets and objects etc. It's quite a bit of work if you're just getting started but it just comes down to knowing what to override, disable and what can be styled etc. In extreme cases where the native widgets are limiting you can just draw your own. I believe you could recreate about any interface with just Qt.
Three random apps of mine that use Qt and all look different but if you grok the src you can get an idea of what I mean.
It's probably Material Design "looks like mobile apps" on desktop, not Flutter itself.
Flutter gives you all the tools and flexibility to style and design your app as you wish. I'm developing Desktop apps in Flutter for 2 years now and I think it's the best thing that happened to desktop UI development since Qt in early 2000.
Modern GTK (3 & 4) can be (almost) fully styled with CSS. Whether you could get sufficiently close to the look of Drovp is hard to say. I don't think there are any toolkits you can use that will span desktop and mobile platforms efficiently or effectively, so pick one :)
Anyone know a good drag and drop solution for JS/HTML? I've been having a hell of a time building a magic the gathering sandbox. I've got a ton of experience building UIs but this turned out to be more complicated than anticipated.
I've got it working smoothly but I am in no way proud of my code. Super brittle. Basically resorted to a pub-sub system that works like so:
1.) mouseDown on a draggable component causes a global onMouseMove handler to be turned on, so that moving your mouse moves the component.
2.) mouseUp fires a drop event through the pubsub system with the data of which card was being dragged.
3.) Various instances of a dropzone component are subscribed to that event, and they compare the coordinates of the event with their own to see if they are where the card was dropped.
4.) If the coordinates match, a call to the server is made adding the card to that location and removing it from its original location.
That's the basic flow. A ton of complexity has arisen around it. I just couldn't find a better way.
I ran into these same issue trying to roll my own solution. The native drag and drop "works", but doesn't let me customize the drag ghost. I ended up using React DnD https://github.com/react-dnd/react-dnd/
I used Dragula[^1] for a form builder in the past and had quit a pleasent experience. Though I don't know how it would hold with a drag centric (card game) UI
As far as I've seen, that's really the only way. Maybe with a slight throttle for the onMouseMove handler if the performance isn't great.
I wonder if a different UX would help? Like clicking on a card and clicking on the drop target instead of dragging it? It would be less tactile but also a lot nicer on a trackpad.
In a previous project I needed to customize the look of the "drag ghost", so I set up a global state for <thing being dragged>, and used requestAnimationFrame to move the ghost around with the cursor. Drop-enabled elements would then listen for mouseup and check to see if something was being dragged. Lots of weird edge cases (what if the user moves the cursor off-screen?), so now I recommend using a library like React DnD or Dragula.
Trying to be helpful here: I couldn't understand what the product was from the header and after about 10 seconds of skimming around. I assumed it was a JavaScript library at first.
Maybe try a different heading and add a short paragraph under it to explain more? Text along the lines of "desktop app that automates tasks like X, Y and Z and lets you quickly create your own custom automation flows" would have helped me.
Even after reading the comments here and browsing the site for a few minutes I still had no idea what the fuck this is. I think I have a rough idea now.
I feel like this is a common thread these days: to double-down on the idea that nothing else exists except for $THING_I_CARE_ABOUT.
Be it hackernews and the USA, JavaScript developers and... well, everything.
This almost takes the cake. I've written GUI apps with MFC, Qt, tcltk, Python, GTK, KDE, immediate mode GL and DirectX UI libraries...
I don't write JavaScript, don't use NPM, don't build electron apps, and all this webpage tells me, without even using the words, is to go fuck myself.
In case you're serious about not understanding it and revisit this:
It allows you to drag and drop files into an interface to rename them according to a pattern you've provided. Or to drag and drop files into an interface to optimise them for size. Or to drag and drop files into an interface to do mostly anything. All of the actions are plugins.
Basically, it's a desktop app (for Mac/Linux/Windows) that accepts drag-and-dropped files to perform your chosen actions, like renaming, optimizing, etc.
Congrats on the release!
P.s. obligatory ‘no more electrons in my App folder thanks’ :(