Wow. Really cool. I wasn't expecting something so polished.
JIRA speed drives me crazy sometimes, so a couple of months ago I decided to build myself a tool to do instant searches/filters on multiple projects right from the browser just to scratch my own itch.
I just wanted to see if I could have near-instant filtering. I think I got a pretty decent performance by using some JS tricks. I'm sure there might be ways to make it even faster.
Page is around 70kb (HTML+CSS+JS). Everything is manually crafted. I know the design won't win a beauty contest, but it does feel instant and works for my personal use-case. I had a lot of fun building this side-project.
There is a public URL, feel free to try it out [1]. Already mentioned in a previous comment in HN a while ago [2].
For the record, it uses a proxy because of CORS. Proxy is in few lines of golang. No NPM or any other framework used to make the project. In any case, if anybody is interested in the source code to run it yourself I'm happy to make the project public. Trusting a proxy on some random's guy on internet is probably a bad idea, given all NPM shit that happened yesterday, in any case, if you want to try, feel free, but use at your own risk :P
Looks cool, but definitely a security team's nightmare. Putting an API key into some random HN'ers hobby project is a bad, bad idea, whoever you are (not saying you're a bad actor, but a zero-trust policy would agree with me).
Indeed. That's why I was transparent from the start. As I mentioned, using an API key this way is generally a bad idea. Even if I'm not a bad actor (which I'm not, but you shouldn't trust me), if someone compromises my server and forges requests, they could potentially access your projects.
JIRA's OAuth implementation requires apps to be registered, involves public/private key pairs, and changes the auth flow. That adds complexity and makes setup harder, which is why I opted for a simpler API key setup, you get the API key, you write it down, you can make requests. It is just simpler and does not require JIRA admin rights.
For comparison, JiraTUI also uses the user's API token. The difference, I guess, is that it runs locally on your machine, but they could also send it somewhere else. At the end of the day, it comes down to whether you trust what you're downloading versus trusting what runs on a remote server. It is true that locally you could potentially inspect all HTTPS or even TCP requests whereas in the remote server you don't have a clue.
The thing is, OAuth in JIRA demands app registration and certificate management, so I guess many developers end up defaulting to user API keys as the path of least resistance, even if they encourage OAuth as well.
I desparately want something like this for Github.
I appreciate the value of the web browser providing the universal "quick" GUI (as in "I can open it on most devices and instantly interact"), but for power users I really wish more people were shipping things that helped out people not afraid to learn a bunch of keyboard commands
Nothing prevents a Web app from having good keyboard shortcuts; Gmail and Linear are great examples.
GitHub becomes much more comfortable with the Refined GitHub extension. It adds a bunch of keyboard shortcuts, among a ton of other small improvements.
> Nothing prevents a Web app from having good keyboard shortcuts; Gmail and Linear are great examples.
I think nothing prevents a web app from having keyboard shortcuts, but more often than not what I see is web apps having bad keyboard shortcuts that hijack the browser's natural behavior (taking over <ctrl>-f is a good example). I think often people go at this as if it's an Electron app and not a browser that has literally a hundred other interfaces loaded into it, leading the user to have certain expectations.
All that aside your Gmail example is spot on, and I'm one of those google-hatin' dudes.
Yes, the unfortunate tradition of hijacking Ctrl+F is annoying. OTOH the forming tradition to use Ctrl+K to show a command palette / command line is commendable.
The presented TUI is a full UI for simply browing Github, the Github CLI is not that.
Notice how I can list with `gh pr list` but then will need to run a full new command to actually inspect the contents of those PRs. I think an interactive interface would be nice!
This is cool. I'm not a fan of TUIs at all (poor man's GUI if you ask me) but anything beats the Jira website trash.
I will definitely be curious to see how much of Jira's abysmal performance is due to the website design (got to be a fair bit given how badly things like drag and drop perform) and how much is due to the server.
What I like about TUIs are that they are forced to be simple, and are forced to load all data at once. I don’t prefer interacting with an app in a terminal window, but I do prefer the kinds of apps that are built with these constraints in mind.
There’s nothing preventing web apps from being built this way, but they just often are not.
I consider it the frugal man's GUI. Right now looking at top, any time I load a browser tab with Jira content chromium spikes to the top of the list. I'm not even doing anything with it.
One question. Is there any way that if I click a JIRA link somewhere, like email or Slack, that it could open in the TUI instead of in the browser? I just can’t imagine that being possible.
Its possible- you'd have to register a new uri handler to call the TUI (it'll need to take cli args to load the link/issue), then rewrite Jira links (tampermonkey script/browser extension) to use the new uri.
I do have some complaints about the Jira web ui (in particular it seems finding correct issues can be difficult), though maybe nothing too severe.
For me the most useful thing would be a cli tool (not tui) to just add stories. This way I could just write a bunch of stories in a text file (..or an .org file..) with the conveniences of my editor and upload them. Seems jiratui actually comes with some cli tools as well, but it doesn't seem this is yet included, or it's not just documented yet. I'll give a shot to this..
Now I'm doing that by copypasting the entries from the file, one by one, to the fields in the web ui, and not all of the fields can be copy pasted, and then updating also the file to have the correct issue ids so I can use them for finding issues with e.g. grep. Naturally this will only work for my stories, and won't synchronize with changes made in Jira.
Tried it; pretty cool, but I spent a long time crafting the perfect JQL query, just to lose it as soon as I closed the software. It might be nice to automatically save the search parameters as they are being submitted.
Looks amazing! Does anyone know of TUI libraries for Rust or Go that achieve this level of polish? I've tried bubblegum, ratatui, tview but none of these seem to match the sleek, polished look of Textual.
Brilliant. Really nice looking TUI.
One thing I noticed is that I still find myself using the mouse to click the form fields. The keyboard navigation seems to sometimes get stuck on fields and I then can't move around anymore. Is there an easy trick for jumping between the fields?
It’s awesome! I wrote a TUI for Jira for my own use, with extra stats like average time spent on tasks and counts of issues or bugs per epic. But yours looks so nice and polished—thanks for sharing your work!
Tangential: I feel that CLI is in vogue again. Does anyone else sense that pendulum swinging again? Is it just me?
I've sensed for years from colleagues or blog posts etc a drive to go deeper and lower in the stack. I attributed this to the huge amount of front end devs who feel detached from the "real" stuff because of layers of frameworks. Not derisively, I think it's great. Even coworkers will express this to me.
This is what I suspect helped Rust skyrocket in the zeitgeist, too. It's got a lot of modern conveniences but it targets the more difficult areas like embedded, drivers, kernel, or performance critical code. And you can justifiably rewrite things (debatable but whatever).
A way in!
is there something like this for Asana, I hate their UI and UX. Their keyboard shortcuts are based off `Tab` key being a "modifier" which makes absolutely no sense.
https://cancel.fm/ripcord/ Ripcord isn't exactly this but it's fairly close. Hasn't been updated in 4 years though... when I messed with it in the past it felt nice!
It's incredibly slow and they keep shovelling crap at users:
- You highlight text and up pops an icon to "Use AI to summarise this?"
- You use a short-cut only to find that it has changed
- And it is just generally really slow
JIRA web eats all my memory on Firefox, so laggy that pressing a button takes 3 or 5 seconds, not to mention page transitions. It only becomes usable when I add the uBlock Origin rule[1]:
I hate how Atlassian products hijack regular browser features and re-implement them in JS. When I open our Confluence page, it runs a bloated mess of 10MB of JavaScript. All of their WYSIWYG editors are terrible and I'm constantly fighting the formatting. Just let me input regular markdown already.
TUIs are usually the most snappy interfaces you can have. Pure bliss in comparison. To their credit, at least Atlassian provides usable APIs.
I still dont understand why there is no unified UI for a lof of ticketing systems, I'm so tired of popping into different teams and its a night and day difference between how things are configured.Just give me a kanban board.
Sometimes the org is so big, nobody wants to put any effort into knowing who the admin even is.
Nowadays I'm in ADO, I still want a unified UI for any and all ticketing systems that allows me a consistent UI regardless of JIRA or even ADO. I'm tired of so many different workflows that make no sense.
JIRA speed drives me crazy sometimes, so a couple of months ago I decided to build myself a tool to do instant searches/filters on multiple projects right from the browser just to scratch my own itch.
I just wanted to see if I could have near-instant filtering. I think I got a pretty decent performance by using some JS tricks. I'm sure there might be ways to make it even faster.
Page is around 70kb (HTML+CSS+JS). Everything is manually crafted. I know the design won't win a beauty contest, but it does feel instant and works for my personal use-case. I had a lot of fun building this side-project.
There is a public URL, feel free to try it out [1]. Already mentioned in a previous comment in HN a while ago [2].
[1] https://jetboard.pausanchez.com [2] https://news.ycombinator.com/item?id=44740472
For the record, it uses a proxy because of CORS. Proxy is in few lines of golang. No NPM or any other framework used to make the project. In any case, if anybody is interested in the source code to run it yourself I'm happy to make the project public. Trusting a proxy on some random's guy on internet is probably a bad idea, given all NPM shit that happened yesterday, in any case, if you want to try, feel free, but use at your own risk :P
reply