I Tried JetBrains' “New UI” and I Liked It
blog.levinotik.com
blog.levinotik.com
Precisely. And that's what I look for in an IDE: Good mouse support.
> You will be 10x (barely an exaggeration) more productive if you learn to use the keyboard shortcuts.
No, you won't. If the majority of your time isn't spent thinking rather than typing or clicking, you're doing it wrong.
> I die a little bit inside anytime I watch another person reach for their mouse and navigate around the editor at a glacial pace.
Then do it quietly, please.
> Even if you don’t know a shortcut, it’s usually faster to search for that action (cmd + shift + a).
Oh god no.
> So, I personally don’t really get the pushback.
Right, you don't. So don't rag on those who do. This new UI is terrible for my workflow because it removes the things I reach for the mouse to do. That's not something for you to judge me on.
> Right, you don't. So don't rag on those who do. This new UI is terrible for my workflow.
In my experience, when people say, "I don't get" something, what they usually mean is, "I don't want to get" that something. The author does not want to understand why people are pushing back; they just want people to stop pushing back.
Note that I include myself in "people." I have done this myself and recognized it upon reflection (not with the JetBrains UI, but in other situations).
Change that is evolutionary can be good, that little tweak that REMOVES pain that you maybe don't even notice but feel better.
There also can be change that is imposed by either product managers who have run out of ideas and need to anything to stay relevant or also by designers who don't use the product themselves but find lets say large padding to be aesthetically pleasing. For them the disruption is not felt, the information density is not lost. It looks good on a powerpoint slide.
There's a whole cohort of vim users that use only keyboard shortcuts and never think about any of them. The mouse sucks.
If you have learned the hotkeys, you don't think about pressing them.
How do you find things in the menu if you do not search for them? Legitimate question. I've been using jetbrain IDE's for years and still have to 2x shift search for things daily because navigating their (old) UI is terrible
ps: that said, people who try to think about mouse interactions patterns can do wonders, Alias Wavefront labs used to make their software extremely fast with mostly mouse and a few keyboard modifiers. Briliant people.
> No, you won't. If the majority of your time isn't spent thinking rather than typing or clicking, you're doing it wrong.
Interacting with a GUI introduces latency to my interactions. If I think of something I can do with the keyboard, I can do it without disturbing my flow; if I have to e.g. start hunting through menus it is more likely to disturb my thought process and leave me at "what was I doing again?" I'm sure not everybody is this way, but I certainly am.
[edit]
A good, discoverable interface (mouse or otherwise) is important for casual users, new users, and infrequently used actions. At least some people (myself included) get a significant performance boost from being able to do things immediately from the keyboard though.
but if i need to get acquainted with a new codebase, i'm going to be using an IDE and mostly the mouse. when you're following references 5-deep, it's going to be far quicker to have the mouse cursor go exactly where you're looking to ctrl+click. furthermore, smooth scrolling with a mousewheel makes it much easier for me to quickly scan through code as well
I don't see why we can't have a healthy mix of both.
That's what the old UI has. The new UI pursues minimalism for the sake of minimalism, and alienates a huge chunk of their user base in the process.
I agree, I don't get the massive push for keyboard-only usage and terminal applications, I have a mouse and it's good for pointing at things and clicking, I don't want to stop using it! The keyboard is good for certain things, some shortcuts are nice, but too much become a hassle. There's a reason I'm not using Vim.
My wrists are the reason.
More than 10 years ago they started to hurt, so I became a left handed mouse user at work. A couple of years ago I started using a vertical mouse. If I could leave them in a mostly static position I would.
There's the added fact that I'm much faster with keyboard only and I can perform the actions without effort once I have them ingrained. Mouse is slower and even when you know where to go it needs more of your brain.
Having said this I'm perfectly ok with people preferring mouse, I'm just starting the reasons for my preferences. Not that they matter, I'm not using JetBrains.
If you haven't you should try a thumb trackball mouse like the Logitech MX Ergo, just move your thumb to move the cursor, significantly easier on the wrist. I've been using it as my only mouse for years.
I came to IDEA from Emacs and I used mouse there too but weirdly enough it feels worse in IDEA
A lot of my time is spent reading code and going back and forth between different places in the codebase. Reducing the time between thinking "what does that function do" and seeing that code makes it easier for me to think
When writing/editing code, the same applies. Reducing the time between thinking something and it happening makes it easier for me to keep what I'm trying to achieve in my head.
That being said, I have a lot of sympathy for IntelliJ users. Change sucks, especially when it's forced upon you. I know it's not forced yet, but they'll change the default and make it harder and harder to use the old interface. Until the analytics show that the usage is very low and then remove it.
Change doesn't suck; it's change for the worse that sucks. Saying "I have sympathy for you, change sucks" is not only patronizing, but also a way to dismiss the whole argument out of hand by implying that the people who complain are being irrational.
> Change doesn't suck; it's change for the worse that sucks.
That's clearly subjective though, it's worse for you. For other people it's better. It sucks when you're on the wrong side of a change, that was my point. Personally, the old UI and the new UI don't solve the problems I have with JetBrains IDEs, so I'm fairly indifferent.
I should have said that I empathize instead of sympathize though. Words are hard, but I definitely wasn't trying to be patronising.
They could have simply improved their keyboard support while still maintaining the small band of toolbars. It would have been effectively the same result for keyboard folks without the hostile change imposed on mouse folks.
Of course, everyone (myself included) develops certain habits and gets comfortable with them, and there is a mental cost with replacing those habits with more efficient ones. I don't have any time for people who are overly smug about their knowledge of different keyboard shortcuts, but I think it's equally unhelpful to discount the value of keyboard shortcuts.
The IDE shows you the shortcut whenever it can when you do something with the mouse. It keeps a history and once you’ve done something [n] times with the mouse it forces you to use the shortcut, greying out the button with an overlay indicating the shortcut.
You can of course configure the threshold and opt out completely (IMO it should be opt-in).
I’m speaking as a vim user who gradually grew my repertoire of shortcuts over many years. I am very slow to incorporate new ones. The driver for me is my dislike for moving my hand off the KB. In fact I prefer a laptop touchpad to a mouse for programming so my hands stay put.
Some of us spend quite a bit of time doing tasks other than development. We use the IDE's UI and if we do a particular task a lot, then we start to look for/memorize the shortcut key.
I use an extension that gives a small popup in the bottom right corner with what the relevant keybind is. If I do something often enough, it eventually sticks in my memory. Still wouldn't want to be forced to use keybinds.
It is ok to add new UI options. It is ok to make new tools that work differently. Such creative endeavors are the right of the software developer.
It is a form of theft to spend someone else's cognitive load on a UI change without consent.
It does not matter if some people like the change. It does not matter if the UI Product Manager knows that it will lead to a better universe.
It is wrong, but you will hear a lot of reasons why software folks tell you it is the right of the software developer and that the consumers do not have the right to retain the UI to which they have become familiar.
Seems like it’d need a top down rewrite at somepoint, and they’re open about taking feedback. But “don’t change anything” isn’t really feedback.
Hell, even the dial pad on your phone screen or the QWERTY keyboard are there for historic reasons more than anything else.
It might sound snarky, but it does make you wonder if people think changing their UI is ok because they're much less used, or alternatively if they think the developer is more important than things like sinks, phones, cookers and keyboards..
The way they collect and dispose of the waste has changed dramatically over time. And even in modern day, there's a huge range of toilets out there in the world: from basic outhouses and primitive developed toilets, to portable toilets, to composting toilets, to squat toilets. All of which operate in slightly different ways. Many might have bidets, seat warmers, deodorizers, etc included. Some bidets might be in the form of an integrated nozzle, or a hose, or a separate bowl.
There's a lot of variations in toilets, most of which improve on a basic idea. But they all still are improvements or changes, the equivalent of UX changes discussed here.
And?
The user interface of every toilet on the planet (except perhaps Japan) is similar enough that anyone from any other country could use one and this has been the case for the better part of 100 years.
Despite what public bathrooms might tell you about peoples abilities to use a toilet. The UX is at least the same.
Only the most basic of user interaction is there, and in the case of squat toilets even that isn't there.
Just admit you chose a shit example.
This might have been intended to be a pun, but it just comes across as absurdly rude and not at all in-keeping with your "DE&I" background.
That there are new and different toilets in existence (which are notable in the fact they differ from traditional toilets, btw) doesn't remove the fact that the vast majority of toilets in use have not changed their interface design in many decades.
You can think of it as: "We developed notepad.exe, and someone else developed vscode.exe", as in they didn't change notepad.exe to become vscode.exe, which seems to be what you're implying by the fact that composting toilets exist.
Toilets are a poor example for another reason: they're just about as basic as it gets, crap in a hole and dump water on it with a chamber hanging above.
The UX, is of course the same.
And, please don't shit into a bidet, I hope you're referring to the optional additional thing that some people have added to their toilets as an extension, which doesn't change the core functionality at all of the toilet.
If you're that offended over a single line, get a thicker skin. It wasn't even criticizing you but your choice of example.
> crap in a hole and dump water on it with a chamber hanging above.
Some toilets have flush buttons. Some have multiple buttons. Some have levers. Some have levers above you. Some are electronic and require a button push in a completely different place. Some require you to manually get and dump water. Even the act of dumping water has differing UX, and has UX which has certainly changed over the years.
> And, please don't shit into a bidet, I hope you're referring to the optional additional thing that some people have added to their toilets as an extension, which doesn't change the core functionality at all of the toilet.
It's different UX which in most high end modern day toilets is integrated into the toilet itself.
The point is that the UX of modern day toilets is only the same in that there's a hole over a chamber. The hole may be at seat level or on the floor, there may be buttons or levers or many other things. Old toilets would also certainly not have had such wide holes -- another UX difference.
In your Notepad vs VSCode example, the thing you describe as a "toilet" is more akin to the UI element which shows you editable text. Your basic toilet is Notepad, a modern day toilet is VS Code. The only thing even remotely similar about them is that they both have a text editing UI. Just like the only thing in common with toilets is that shit goes into a hole. Everything else is different.
New versions have messed with the diff window which I use in my workflow.
In addition, I have to "trust project" when opening a new project. I don't want to trust ANY project to run code on my machine without me inspecting it. And every time you open the project it nags you to do so. Paradoxically you need to suffer through the nags while you figure out what the project wants to run (IF anything).
I mailed them about this, and their response was to open a ticket in their tracker. I couldn't be bothered to reset my forgotten password.
Judging by the screenshots, this new UI shows 2 more lines on the screen for the cost of having to click around until you learn what the new icons do. What is the point of removing the text labels? The toolbars are mostly blank anyway.
I only remember one significant change for the past several years: moving it into the main git panel (which is at the bottom of the screen and is hidden behind alt+9 if you're using the default settings).
It's fully configurable. Ctrl+Alt+A → "show diff preview". And then (optionally) this:
https://youtrack.jetbrains.com/issue/IDEA-276156/Regular-Sho...
Version 2021.2.3 does what I want out of the box, and I think I'll never update.
They used to copy Adobe products, I guess now they want to copy Visual Studio Code.
They should remember that when Firefox copied Chrome it didn't make it more successful.
I want both those scrollable areas to not automatically move on me. I think there is now a way to disable that functionality but I haven't gone back to try.
But what is the point of having a single menu with a huge nested menu tree and keeping the major part of the title bar empty? If I enable the separate menu bar, the menu bar and project bar take as much space as both bars plus the tabs did previously. This feels like trying to be stylish at the sacrifice of usability. Here I clearly prefer the old UI.
I now completely disabled Code Vision and hope to never see it again.
VS uses a font about 2 sizes smaller and decreases the line height, too, resulting in a smoother experience.
That said, anything closer to VS Code will likely be perceived well.
Citation needed
Personally I have the opposite reaction to people cloning the VS Code UI: I find VS Code's model absolutely awful for most things, and even assuming someone _does_ find it useful, most attempts I've seen to clone its UI don't even come close to matching up to the quality of the original.
I'm not sure why someone would ever have positive perceptions of an application trying to shoehorn itself into a competitor's UI to capitalize on another project's popularity.
If you insist on redoing the UI/UX because you think a different design is "better", then you should keep the old UI/UX as an option. But you're almost always better off not redoing it.
For software that doesn't have an existing UI/UX, the best UI/UX is one that your potential users are already familiar with. Specifically, one that resembles whatever other programs on your target platform do. The reason for this is because your users are already using those other programs and are familiar with how they work so doing something different for the sake of being different will confuse them (this is why its good that gaming controllers and control schemes in games are largely standardized these days). If you're emacs or vim, it makes sense to stick with your archaic shortcuts because your users expect them and would be confused if you changed them but new programs should stick to ctrl+s for save, ctrl+x for cut, ctrl+c for copy, ctrl+v for paste, etc.
It's the same with MS Teams. A bad, sluggish program full of bugs and weird behavior that is only the most used conferencing software because it is included in the Enterprise Office subscription anyways.
This might be true. I wouldn't stop using it because I dislike it though. Only that if I'm going to give money, I'd rather do it to pretty much any company that's not Microsoft. I would probably pay for JetBrains stuff at that point, even though I could never get used to their products.
> It's the same with MS Teams. A bad, sluggish program full of bugs and weird behavior
Teams is the worst. VS Code OTOH is not bad (subjective, of course), definitely not sluggish (it's faster than emacs on my laptop, except when opening it the first time - which happens at most once a day) or full of bugs (at least none that get in the way of me doing my job efficiently).
Although to be honest I kind of pay for it more for the git integration than the editor (especially as the non-official Elixir plugin is not that great) and I guess they won't change that.
Even AWS console goes through changes.
The difference between `left top` and `left bottom`; and `bottom left` and `bottom right` are useful to me.
It could be a "I just need to get used to it" thing, but that was my first impression (I tried it for a bit).
However, the general impression of it was favorable and if I started with it, I likely would be completely OK with it.
The one thing I still really want from JetBrains UI is, and has been, truly glowing/neon text (like VS Code can do). I was and continue to be disappointed to know their proprietary rendering engine used for text doesn’t support it.
But the frame rate and performances of the new UI is much slower.
Interestingly a lot of IT folks hate change even more then other people. Just ask around how many would love to have a windows 11 that looks like windows 2000. There is just no other explanation for it.
While there being zero benefit in using Y over X, just a cost to change.
Case in point (for me, YMMV of course): For what I use (start a machine, run a single app and maybe a browser or two) there have been zero improvement in windows UI for last 2 decades. It's just moving shit around with occasionally wasting some more space coz tablet users need to click things and keeping separate theme for them is impossible to do for trillion dollar corporation.
And I don't even use it for a living, just occasional gaming and app that needs windows.
> Interestingly a lot of IT folks hate change even more then other people. Just ask around how many would love to have a windows 11 that looks like windows 2000. There is just no other explanation for it.
Not "hate change". Improvements are welcome. Change for change's sake is not. If you're not well versed in windows quirks you might think that's just grumpy people getting grumpy but we got from one control panel for a thing to old panel with some features, new panel with some other features, missing the features of old panel, coz microsoft couldn't be fucking arsed to migrate all of it properly when they changed the UI. Or some stuff was hid in registry somewhere.
It's akin to cars deciding that climate controls need to be on touchscreen now, behind some menu. It's not "new, better", it's "new, worse".
To reiterate: it is not aversion to new, it is aversion to designer being fucking bored and changing stuff that worked fine into something else for no good reason.
What I severely dislike about the new UI is all the negative space. All "modern UI" makes me feel like I'm using a 1024x768 pixel display again instead of UHD because of all the margins around everything. Everything seems to be designed around touch nowadays and it really is the wrong design choice for PCs with a mouse.