Hacker News new | ask | show | jobs
Suitcase: A macOS tool for deploying GUIs for simple commands and scripts (github.com)
242 points by rjstelling 2249 days ago
27 comments

Very cool. Just a suggestion for the demos in the README though. Maybe have the code shown statically, then a gif of the GUI. Watching all the typing gets long when I just want to see the resulting GUI.
Yep, there's zero reason for the gifs. They seem really slow to me. Makes it impossible to copy the code if I wanted to, as well.
The code is on the page, in text, directly below the GIF, if you want to copy it.

The GIFs help, they should just start with the code getting pasted in, not typed in.

and clicking the gif gives you a skippable video
Taking me to another website to look at the same clip — and then make me skip to the end myself and then manage having to pause the video — is lipstick on a pig.

A JPEG will be just fine.

Except there are several videos and no need for me to click each one to find out what the output eventually looks like.
Also, move at least one screenshot/cast to the top, not after tons of technical documentation.
Thanks for the feedback, I've improved the Readme file and broken it into several pages.

I'm also going to add shorter videos at the top.

Not shorter vids. Pictures.
I'm fine with a gif.. because the whole thing could be like 3 seconds long.
The only thing we need to see is the outputted user interface. Everything else is superfluous.
As the source code isn't actually available I've opened a GitHub issue to clarify whether this is deliberate, or to track the adding of the code.

https://github.com/Impedimenta/Suitcase/issues/4

Thanks for this. My plan is to open source it eventually, but I just ran out of time to get it into shape for launch day. I've removed the PR comment so as not to confuse any more people.
The author was on this thread an hour before you posted this clarifying that it is not yet open source, so you could delete that Github issue.
Why not have an issue tracking it? The author will likely close the issue themselves when they open source it.
Ok I feel like an idiot, but where is the code in the repo that produces the GUI - ie where is the Suitcase code?
EDIT: okay, I'm the idiot for not actually opening the source archive and verifying that there's anything in there worth looking at.

You aren't the idiot in this equation. Inexplicably, the source can be found in zip or tar format on the download page:

https://github.com/Impedimenta/Suitcase/releases/tag/1.0.0-a...

The "source code" zip has the same files as in the repo. No source.
Holy hell, the source archive is huge.

I just saw how that the demo is slow to boot and wanted to see the horror of the code.

Ok no, there is no code in the archive. Only images.

I guess it isn't open source ¯\_(ツ)_/¯ Strange how GitHub has apparently become the default distribution platform
Yes, you're an idiot for thinking a project on GitHub is open source.

What a lame use of GitHub. Can I get the minute back I wasted reading that readme?

Awesome, I welcome any tools that simplify the GUI deployment process.

I've built quite a collection of scripts that clean and process my company's domain-specific data. I once needed to share that with a data-scientist/computer-Luddite (sadly too common) who wasn't comfortable running CLI scripts. The solution I came up with used Platypus[0] to generate a lovely app wrapper where files could be dragged in.

[0]: https://github.com/sveinbjornt/Platypus

I've used this to create a little muxer for opening URLs, which routes some to safari and some to Firefox, based on domain. Platypus allows to associate the app as a URL handler with the OS, which is very nice.
All of that doesn’t seem to belong on to CLI flags. I love the possibilities this opens up, but I’d much rather write a configuration file.
Or you use suitcase to make a GUI for this tool ;-)
Or make a separate tool that is a GUI to generate the config. We’ll call it metacase
Super cool. Reminds me of "platypus" - a similar tool I use frequently: https://sveinbjorn.org/platypus
Who else remembers Commando in the Macintosh Programmer’s Workshop? That was a long time ago, but then the world moved in a different direction. It’s interesting that this sort of thing has been out of fashion for so long. I wonder if it will come back.
Mac Quick Actions and Automator can be used for the simplest cases. I've build several file processing Quick Actions, which I can run by pressing buttons in Finder.

https://support.apple.com/guide/automator/use-quick-action-w...

macOS Quick Actions (formerly called Services) are great, but I've always found them very cumbersome to use due to being relegated to the submenu. And having no icons, and a severe lack of customization and control over their order.

I recently released an indie Mac app to bring your Applications and Scripts to the top of the Finder right-click menu, customized exactly how you like.

https://servicestation.menu/

It's on the Mac App Store and uses the modern Finder Extension API, so safe to install and no Finder haxies.

One of the major features Service Station advertises is "Open Terminal by right-clicking the Finder!", but isn't this functionality already available in macOS via System Preferences > Keyboard > Shortcuts > Services > checking "New Terminal at Folder" under "Files and Folders"?

A feature that might make Service Station even more useful would be adding "New Text File" and "Rich Text Document" options, similar to the app "New File Menu"[0].

This is the second time today[1] I've seen a closed source project hosted at GitHub[2]; I had mistakenly assumed GitHub was for open source projects (like SourceForge).

[0] https://apps.apple.com/us/app/new-file-menu/id1064959555?mt=...

[1] https://news.ycombinator.com/item?id=23020258

[2] https://github.com/knurling/ServiceStation/

"New Terminal at Folder" does work if you right-click a folder... but NOT if you right-click the background of a Folder you already have open. That's the primary way I want to open Terminal.

But more importantly it's the UX difference between these two images:

https://imgur.com/a/pt3yQ2q

You can definitely already launch applications and scripts in macOS via "Open With" or the "Services" submenus.

Service Station moves them to the top of your right-click menu, gives them icons, and lets you completely customize the menu including targeting menus to show for only very specific selected file types.

> But more importantly it's the UX difference between these two images: https://imgur.com/a/pt3yQ2q

Thanks for explaining the difference. I have so few services enabled that “New Terminal at Folder” is in the top level of my context menu[0], hence my misunderstanding.

[0] https://imgur.com/ZrHVSPA

Service Station pulls services out of the submenu and directly into the top level context menu, using a Finder extension.
Ah - thank you for explaining that. I have so few services enabled that “New Terminal at Folder” is in the top level of my context menu.
Built in "New File" functionality is definitely on the to-do list, and a very popular request from Windows users.

Running a support/issues website on GitHub without hosting the code is perhaps slightly weird, but it has been working well for me. GitHub does not mandate any licensing requirement.

Wow, this is awesome, and surprisingly easy to use.

I'd been looking for a simple way to run command like uptime or to get battery info not in the menu item without launching a terminal. Thank you.

Waiting for the gifs to show the output Drives. Me. Nuts.
Really cool but I’m wondering why have the user input args in as a command line arg? Seems very arduous and shell is just... shell. IMO, I would love something like this

`> suitecase my_layout.yaml`

Please open an issue, I'd love to hash out what that might look like.
Maybe you could start a script with a shebang. Call it something more descriptive like a Windowing Shell - wish for short. Put it on top of a command language and make whole thing cross-platform.
Really nice. Reminds me of Platypus[1].

I don't really use GitHub but, if possible, please change the GIFs to MP4. Besides being sharper and way smaller, one can control the playback to rewind/fast forward.

[1] https://sveinbjorn.org/platypus

This will date me, but when I think of Suitcase for the Mac, I think of the font manager application that predated OSX... which surprisingly, still exists.[1]

[1] https://www.extensis.com/suitcase-fusion

I’ll just add that I liked Font/DA mover. Need to set up a laser printer? That’s your tool! (what we tolerated because we didn’t have better at the time - yikes!)
This was a very unpleasant experience.

Read through the documentation... awful documentation, but the project looks cool.

Looked for the source... no source, that's weird, isn't this Github?

Found the binary... crashes without Combine.framework. That's funny... nothing about requirements in the docs...

Looked through the comments... couldn't get the source ready for "Launch Day"? Nor, apparently, any of the above. So what is the point of a launch day?

Maybe I'll try a sample app at the Bazaar... It says it's for sharing, right? So I can see some demos there... Nope.

Got 234 upvotes at this point, though, so people seem to be finding something worthwhile here. Wish I knew what it was.

Neat, but "instantly" is a bit much. How about quickly? :-p
Codeless GUI for Mac OS
Instant oatmeal takes 2 minutes so the term already has no meaning
I just need to know why that garbageware is so slow. Show me the code! :)

What happened to the good old days of 'wish' and friends?

This new trend on HN of CLI tools controlled through a ton of CLI arguments... Why not pass a config/yaml/json/xml file/stdin?
Cool, but needs a license.
Anyone know something similar to this, but with help generating a web front end? I'd love to generate a small UI for my team to help with openssl commands, being able to input data would be a bonus.

I could probably cook something up with node fairly fast, but I'm a remedial programmer.

Maybe Wooey[0] fits your needs?

https://github.com/wooey/Wooey

Seems like a less-good derivative of Briefcase: https://github.com/beeware/briefcase
Does anyone know of something like this for Windows? Would be nice to build a small UI around some powershell scripts I have, without having to resort to a full WinForms application.
Shameless plug: checkout Gooey. Works on Win/OSX/Linux

While it won't bootstrap your GUI straight from powershell, it can give you a pleasant GUI that calls your powershell stuff with just a few lines of Python (no actual GUI code required!) ^_^

https://github.com/chriskiehl/Gooey

Wow. This this is a really impressive project. Thanks for sharing!
A python dependency is unfortunately out of the question for me, but that is a really cool project.
I wish that supported Click. Very cool.
See also, Hammerspoon for an open source project that does this.
does anyone know of similar tools for linux?
"Xdialog is designed to be a drop in replacement for the "dialog" or "cdialog" programs. It converts any terminal based program into a program with an X-windows interface. The dialogs are easier to see and use while adding even more functionalities (e.g. with the treeview, the file selector, the edit box, the range box, the help button/box). Because Xdialog uses GTK+, it will also match your desktop theme."

http://xdialog.free.fr/

I dont think Xdialog is maintained anymore, dialog is though.
something like this? (albeit tied to gtk) http://manpages.ubuntu.com/manpages/precise/en/man1/zenity.1...
Tcl/Tk is like this up to eleven (in positive sense).
This also works on Linux.

Edit: my mistake, no it doesn't. Apologies.

where do you see that? theres not even code in this repo, and the only release is a dmg file
It's not open source yet, but I am planning on making it so. Watch this space. In the mean time I'm open to feedback and bug reports via GitHub issues.
Right there in the demo, Ubuntu windows.

Edit: never mind, my apologies. It's the dark theme of Mac OS.

Once SwiftUI is available on Linux, Suitcase will "just work". But don't hold your breath.
Zenity is a classic example.
dialog, wish, whiptail...
there is also kdialog
Looks cool, anyone got any good use cases for it?
Can this handle user inputs?
I hope for a porting to Linux
As of now this is not actually open source - though that’s the default expectation of a repository being on GitHub. I don’t like the pattern of doing that because I feel GitHub will become a very slick SourceForge.

One more experience like this and I’ll uninstall the GitHub apps from my devices because I can’t trust them to not be warez themselves or some sort.

I'd rather avoid macos gui system as much as possible IMHO
That’s unfortunately a problem for people who use macOS.