News for hackers. Stuff that matters.
Re:Graphics for JVM by hutzlibu on Tuesday November 17, 2020 @06:51AM (#25122664)
Well, the author did not say, Swing etc. does not work. But that it is incredibly hard to make a UI with it, that looks good and is performant. And this matches my experience with java 10+ years ago, when I tried it out and left in horror ... for: flash.

(Flash had many, many drawbacks: proprietary, security, ... but it was really easy, to make something nice looking, that also run smooth - it was designed for that and later taken to higher level with flex)

Re:Graphics for JVM by vbezhenar on Tuesday November 17, 2020 @07:05AM (#25122780)
When I wanted to write application, I used Swing and I didn’t find it horrible. Quite the opposite. I didn’t care about the looks, though, it was not a major concern. That was before Java 8. I could imagine that writing callbacks would be even easier with lambdas.

When people don’t laugh at Electron applications, I don’t know what could be wrong with Swing. Nobody cares about native toolkits anymore (what is native toolkit for Windows or Linux?).

Re:Graphics for JVM by hutzlibu on Tuesday November 17, 2020 @07:35AM (#25123013)
Yeah well, " I didn’t care about the looks, though, it was not a major concern"

There is the difference. This post is for people who do care about the looks. (or do care, that their users care) Some users don't care, which is fine to serve them, what they want, but most actually do.

"When people don’t laugh at Electron applications, I don’t know what could be wrong with Swing"

People do not laugh at electron apps, because they use html which is designed for good looking. In other words, usually much better looking. It is just not performant, unless you use native modules etc.

And native toolkits are still a thing. Gtk for linux for example.

Personally I also care about the looks, but I prefer function over form, meaning I want a functioning app first and secondly it should look good. But I like to have both.

Re:Graphics for JVM by thu2111 on Tuesday November 17, 2020 @10:49AM (#25125116)
HTML isn't designed for good looking. The default stylesheet for HTML is impossibly ugly. Heck look at HN, hardly a thing of beauty.

However, most people do a lot of work to make web sites and apps attractive. You can do that work with Swing or JavaFX too. I've done it before, it was fine, I ended up with a modern web-ish feel to the UI.

Re:Graphics for JVM by hutzlibu on Tuesday November 17, 2020 @01:21PM (#25127449)
By now, html is totally designed to be good looking. Look at all the amount of work, that went into CSS and co.

Things that cost me a line in CSS, like text-shadow, probably would require me to implement a shader libary in swing.

Re:Graphics for JVM by thu2111 on Thursday November 19, 2020 @05:26AM (#25148038)
In Swing, yeah. Swing focuses very much on boring business-type UI.

Not in JavaFX where such shaders are pre-canned and there's a CSS dialect too. I wrote my web-like app in JavaFX. It was no big deal.

Re:Graphics for JVM by sime2009 on Tuesday November 17, 2020 @07:55AM (#25123159)
> And native toolkits are still a thing. Gtk for linux for example.

You mean Qt?

Re:Graphics for JVM by _bin on Tuesday November 17, 2020 @11:14AM (#25125450)
I don't know why you got down-modded so much. There is no official "native" toolkit for Linux; Qt is just as native as GTK.
Re:Graphics for JVM by panta on Tuesday November 17, 2020 @10:43AM (#25125031)
gtk is not native (there are no native widgets on X Window System & family)
Re:Graphics for JVM by ptx on Tuesday November 17, 2020 @05:45PM (#25130944)
It's native to a user's desktop full of Gtk programs.

If there were a complete Swing desktop environment, Swing apps would be native to that environment. But even Sun's Java Desktop System was based on GNOME.

Re:Graphics for JVM by galaxyLogic on Tuesday November 17, 2020 @05:27PM (#25130768)
> I want a functioning app first and secondly it should look good

One thing to keep in mind is that you want a functioning app first with less than great GUI but then you also want an app that is "skinnable" in other words it should be easy to replace the look and feel without having to touch the application code. CSS-stylesheets attempt to accomplish that.

Re:Graphics for JVM by lmm on Tuesday November 17, 2020 @08:45PM (#25132239)
Electron performance is a lot better than Swing in terms of latency and startup time. Electron may use a lot of memory or whatever but that doesn't really matter; how fast it feels to the user is what matters. Meanwhile even basic Swing applications tend to come with a splash screen like they think they're Photoshop (remember Azureus, a freaking torrent client that took about 10s to start up?).
Re:Graphics for JVM by grandinj on Tuesday November 17, 2020 @06:58AM (#25122719)
Yeah, your mileage may vary.

I was writing UIs in Swing 10 years ago, and we managed fine even back then, but our target customer is technical people so maybe our definition of "looks good" is somewhat easier.

Re:Graphics for JVM by ksec on Tuesday November 17, 2020 @09:26AM (#25124040)
I remember how horrible Swing was 10+ years ago I ran to SWT. Along with GCJ trying to compile everything into native executable.

And even SWT was far from perfect. It is one of those thing you can immediately tell by its looks, SWT, Swing, Linux, Mac , Windows. While the looks has been vastly improved, it still remain mostly true today.

Re:Graphics for JVM by hutzlibu on Tuesday November 17, 2020 @07:36AM (#25123025)
"so maybe our definition of "looks good" is somewhat easier."

Yup, there is the difference. My target audience are common people, so I have to care more.

Re:Graphics for JVM by AnIdiotOnTheNet on Tuesday November 17, 2020 @07:56AM (#25123173)
You really don't. I interact with "common people" every single day and they couldn't give less of a shit how the UI looks as long as they can do their job or whatever it is they need the program for.

The people who care about "looks good" are managers and designers because they never actually have to use the damned thing.

Re:Graphics for JVM by 0x445442 on Tuesday November 17, 2020 @09:42AM (#25124221)
One of the best examples of this are old POS systems, which are mostly ncurses type applications. The people that use these fly around the interface so efficiently and are very productive.
Re:Graphics for JVM by thequux on Tuesday November 17, 2020 @11:10AM (#25125388)
Most of those old POS systems were actually either 3270 or (more likely) 5250 applications; i.e., block mode terminals instead of character mode terminals. While the difference between block mode and character mode terminals is a fundamental technical difference, that difference impacts the UI in two major ways: 1) Most interaction is local, and therefore quick. All of the editing, jumping between fields, and even basic validation happened on the terminal itself. It was only when you submitted your changes or loaded a new screen that the server would even get involved (much like a web form without Javascript); therefore, even in an installation with a lot of active terminals, these green screen applications would be incredibly responsive. 2) Every screen and application had exactly the same user interface. Even function keys were mostly standardized (ever wonder where F1=Help came from?), so what you learned in one place in the UI would trivially generalize to everywhere else in the UI.
Re:Graphics for JVM by 0x445442 on Tuesday November 17, 2020 @11:55AM (#25126027)
> Every screen and application had exactly the same user interface.

IMO this is an extremely important idea and where I think the modern GUI went off the rails. I also, think it's gotten much worse with web applications.

I agree with the Raskins' that the fundamental issue with modern HCIs are applications. A common UI context in which to run commands would be more preferable in most use cases. I'm thinking of some mashup of the normal social media timeline with Emacs M-X functionality to run commands.

Re:Graphics for JVM by formerly_proven on Tuesday November 17, 2020 @09:54AM (#25124349)
Well many of these do come with their own specialty keyboards, so there's that. The display is really just a display for these: all buttons are actual physical single-purpose buttons. No mouse.
Re:Graphics for JVM by hutzlibu on Tuesday November 17, 2020 @08:17AM (#25123369)
Depends, if you have people needing to do a (unpleasant) job, sure, they also care more about functionality, than form. Nobody cares about a smooth animation, if he cannot get his job done.

But given the choice, they prefer the better looking one. In consumer facing apps much more. Especially younger people, used to shiny websites/html point out quickly, how ugly something looks. And then not use it.

Re:Graphics for JVM by AnIdiotOnTheNet on Tuesday November 17, 2020 @09:11AM (#25123890)
> In consumer facing apps much more. Especially younger people, used to shiny websites/html point out quickly, how ugly something looks. And then not use it.

As far as I can tell, this is a narrative that only exists in the heads of people who never have to use the thing they are insisting "look good". Sales people, managers, developers, etc.

I will accept that I'm wrong when I either experience it in the real world for myself or see some actual evidence.

Re:Graphics for JVM by hutzlibu on Tuesday November 17, 2020 @11:38AM (#25125764)
"I will accept that I'm wrong when I either experience it in the real world"

Well, here in the real world, (because of the need of Windows) I just recently started to use Notepad++ again. It really pains me to do so. The only way to tolerate it, is by removing all UI and only keeping the text. But even then some ugly, contrast breaking window pops up, when I use search etc.

So I will likely switch to sublime text (even though I only have to work on windows sometimes). Simply because of aesthetics I choose a solution nicer for my eyes, when I have the choice, which I do.

Re:Graphics for JVM by ywei3410 on Tuesday November 17, 2020 @11:13AM (#25125439)
Anecdotally, a significant number of recent criticisms towards Emacs and vim are that they’re ugly compared to VS code — that seems to be a solid counterpoint to your argument that among users, aesthetics don’t matter.
Re:Graphics for JVM by JackFr on Tuesday November 17, 2020 @09:24AM (#25124025)
There is a certain level of professionalism your UI has to reach for people to trust it. If your product looks sketchy, people will treat it as a sketchy product. And if you lock into a look and feel that is 10 years old, people may use your product but they're going to be surprised if it behaves in the most up to date fashion.
Re:Graphics for JVM by breakfastduck on Tuesday November 17, 2020 @08:36AM (#25123540)
The people who care about "looks good" are also usually decision makers and funders, so yes, it does matter - regardless of your opinion on whether it should or shouldn't.
Re:Graphics for JVM by AnIdiotOnTheNet on Tuesday November 17, 2020 @09:15AM (#25123937)
If we're talking about appeasing the bullshit gods, sure, there might be something to that but my experience is that they talk about "looks good" a lot but when push comes to shove they'd rather have something that works.

Case in point: people still use Windows, and I've never had anyone tell me it's because it looks good.

Re:Graphics for JVM by breakfastduck on Tuesday November 17, 2020 @12:20PM (#25126429)
Certainly a good counterpoint! Now that I think of it, I've never heard a single person tell me they use Windows because of good looking UI!

Unfortunately the bullshit gods usually have more influence than should be allowed. But making something 'look good' in a sprint demo where the CEO is present potentially releases a lot of pressure and gives the team more time to build something that works.