Live data from Hacker News

Making Advanced GUI Applications with Godot

medium.com

201–210 of 259 posts

Re: Making Advanced GUI Applications with Godot

#201

Earlier quoted context omitted.

I made this comment when someone was talking about using GLFW and IMGUI to make an application with a openGL window and I think it applies here too, because it is easy to overlook the things that you will eventually need that are not trivial to add once you go down the road of using tools made for only very basic UIs. "I would bet that the easiest thing would be FLTK. You can use system colors and make an openGL wind…

IMGUI is still pretty impressive though. You can certainly create modal/non-modal windows, menus, custom widgets, file dialogs, fonts, drag and drop, unicode, tables without any other libraries. It's just that the approach is fundamentally different from what you see in retained-mode GUIs. (And if you need any OS-specific functionality like file dialogs, you can easily use other external libraries) One of the few wea…

IMGUI draws within a window, it does not create new windows. FLTK (like other GUI libraries) automatically uses native file dialogs. Drag and drop means you can drag files into the program, drag strings out of the program, etc. as well as copy and paste in and out of the program. IMGUI is great at what it does, but it does not have native file dialogs or drag and drop. I don't think it interfaces with the OS at all.

Re: Making Advanced GUI Applications with Godot

#202

If you want to use this in a business, either for an internal tool or for an application you sell, this is a horrible idea. Godot doesn't display native widgets, so it has no support for accessibility, for example to screen readers and blind users. Some people think blind people bring too little profit to care, but this is wrong for one single reason. There are some laws mandating accessibility, and more laws are bei…

Are you speaking out of professional experience? Do you know of cases where not implementing accessibility really did become a big financial hazard? Imagine the headline "company goes bust due to regulatory violations after hiring blind person". That would basically be sending the message "never hire a blind person", because no company can ever be sure to be in compliance.

Harvard & MIT were sued for putting up free lectures, because they didn't have captions[1]. Harvard eventually settled[2], not sure about MIT. I believe MIT's response was actually to pull a lot of the lectures, but I don't know if that stuck.

In that case the main complaint seemed to be that they had more of an obligation because they were receiving federal funding.

1: https://www.nytimes.com/2015/02/13/education/harvard-and-mit...

2: https://www.thecrimson.com/article/2019/12/2/Harvard-settles...

Re: Making Advanced GUI Applications with Godot

#204
post #191

Earlier quoted context omitted.

" just pick whatever the platform offers." The platform does not offer anything. "Just about every game needs text, including Unicode text. Every proper engine handles it" No, what they do is paste a few characters on screen, handling a more common subset of Unicode. They don't come close to handling most of the things I described above. Not even Qt handles text well - Qt allows you to do some fun 3D things with text…

> The platform does not offer anything. All major platforms offer advanced text rendering support. How do you think Windows or macOS render their UI? > what they do is paste a few characters on screen, handling a more common subset of Unicode. Some games do that, in particular old ones or indies. Most games do actual text rendering properly. > you can't open 100K lines of formatted code You definitely can, but not na…

"All major platforms offer advanced text rendering support."

No, they don't realy.

I think you're missing a few pieces in your understanding of what the platform does in these contexts

The platform does not support text rendering for Qt and such platforms. They are rendered 'from scratch'.

Some platforms offer some built in components, but even they are quite limited.

No platform offers the ability, out of the box, to do for example, a 'coded editor' with properly highlighted syntax. Not even close.

"Most games do actual text rendering properly."

They are 'rendering text properly' for the extremely limited subset of text that they put on the screen.

Have you ever used even a basic 'text editor' in a game? No? Because they don't even do that.

" you can't open 100K lines of formatted code"

"You definitely can, but not naively."

'Natively' means nothing on the context of 'browser'. If you mean to say 'the browser doesn't do it out of the box' - then ok, yes, we agree. And why not, because it's extremely hard?

There are 0 comprehensive text APIs that are built upon gaming or even 3D engines today. Most of the barely handle basic text formatting. They put a few lines of text on the screen in a limited number of languages, and that's it.

There are very, very few platforms that offer comprehensive text rendering, including Qt, GTK, and native platform components - they're basic.

Providing comprehensive text API is not only something that has to be layered on top of those things - they also have to 'hack' those platforms to work around inherent bugs and limitations.

Re: Making Advanced GUI Applications with Godot

#205

Earlier quoted context omitted.

Are you speaking out of professional experience? Do you know of cases where not implementing accessibility really did become a big financial hazard? Imagine the headline "company goes bust due to regulatory violations after hiring blind person". That would basically be sending the message "never hire a blind person", because no company can ever be sure to be in compliance.

Harvard & MIT were sued for putting up free lectures, because they didn't have captions[1]. Harvard eventually settled[2], not sure about MIT. I believe MIT's response was actually to pull a lot of the lectures, but I don't know if that stuck. In that case the main complaint seemed to be that they had more of an obligation because they were receiving federal funding. 1: https://www.nytimes.com/2015/02/13/education/ha…

this is how things work these days, for the sake of equality, minority overrule majority everywhere, i.e. if something makes a small percentage of people unhappy, then it is too unfair, the solution to play it safe, is that let's get rid it of for all.

Re: Making Advanced GUI Applications with Godot

#206

If you want to use this in a business, either for an internal tool or for an application you sell, this is a horrible idea. Godot doesn't display native widgets, so it has no support for accessibility, for example to screen readers and blind users. Some people think blind people bring too little profit to care, but this is wrong for one single reason. There are some laws mandating accessibility, and more laws are bei…

This is FUD unless you source your claims.

- Almost no one does accessibility properly in web apps. Even native apps get it wrong more often than not.

- Using Electron does not give you accessibility in any way.

- What laws? I use everyday general purpose commercial applications, both webapps and native apps, with glaring accessibility flaws and I do not see anybody caring to sue.

- I don't know of any business doing general purpose commercial applications that has faced any issues with that.

Re: Making Advanced GUI Applications with Godot

#207
post #44

In part criticizing SwiftUI: > While you get a GUI inspector panel for your GUI components you are still forced to largely write the GUI in code. Well yes. The time and experience (at least for me) has shown that designing UIs anywhere outside the code will eventually bite you. Not to mention that from the very moment a second person joins your team you can practically throw your version control system out of the win…

Interface Builder is all fun and games until you have a merge conflict in a storyboard. It's all XML files so you'd think it'd be solveable, but SwiftUI makes the code representation so much more readable. And really, you can drag and drop elements into the live previews and it writes the code for you, including automatically wrapping existing components in horizontal/vertical stacks as needed to arrange the layout.…

Exactly. For maintainable code I think this is the way forward.

Re: Making Advanced GUI Applications with Godot

#208

If you want to use this in a business, either for an internal tool or for an application you sell, this is a horrible idea. Godot doesn't display native widgets, so it has no support for accessibility, for example to screen readers and blind users. Some people think blind people bring too little profit to care, but this is wrong for one single reason. There are some laws mandating accessibility, and more laws are bei…

One nit to pick; Electron is just HTML/CSS/JS and accessibility can be as good or bad as any other website.

As for the rest, I'm frustrated because you're partially right but also kinda defeatist and that makes me sad.

I went checking and found a long history of discussion about accessibility in Godot's GUI toolkit (because the Godot editor is built in the Godot engine). It's an active topic, spanning multiple tickets over years. Their stance has evolved dramatically over time, but they appear to be putting real effort into improving the situation. Here's what I think is the current tracking ticket: https://github.com/godotengine/godot-proposals/issues/983

Accessibility isn't a feature of Godot...yet, but it's obviously something that's important for mainstream adoption of serious software, especially non-audio-visual experience software. And it's obvious that people in the community care and are both asking for it and working on it.

If anything we need to keep doing this and revisiting it over and again and keep improving it, testing it, giving feedback, contributing. Because for as many applications that wouldn't benefit from this approach, there are as many that would.

Maybe what the community needs is a real-world application which would benefit from these accessibility features to help drive adoption and development.

Re: Making Advanced GUI Applications with Godot

#209

If you want to use this in a business, either for an internal tool or for an application you sell, this is a horrible idea. Godot doesn't display native widgets, so it has no support for accessibility, for example to screen readers and blind users. Some people think blind people bring too little profit to care, but this is wrong for one single reason. There are some laws mandating accessibility, and more laws are bei…

Are you speaking out of professional experience? Do you know of cases where not implementing accessibility really did become a big financial hazard? Imagine the headline "company goes bust due to regulatory violations after hiring blind person". That would basically be sending the message "never hire a blind person", because no company can ever be sure to be in compliance.

See, in the USA we have this thing called the Americans with Disabilities Act, under which providing accessibility options for people with disabilities to access your goods and services is required in order to do business.

Re: Making Advanced GUI Applications with Godot

#210

If you want to use this in a business, either for an internal tool or for an application you sell, this is a horrible idea. Godot doesn't display native widgets, so it has no support for accessibility, for example to screen readers and blind users. Some people think blind people bring too little profit to care, but this is wrong for one single reason. There are some laws mandating accessibility, and more laws are bei…

This is FUD unless you source your claims. - Almost no one does accessibility properly in web apps. Even native apps get it wrong more often than not. - Using Electron does not give you accessibility in any way. - What laws? I use everyday general purpose commercial applications, both webapps and native apps, with glaring accessibility flaws and I do not see anybody caring to sue. - I don't know of any business doing…

> - Almost no one does accessibility properly in web apps.

Screen readers can still (badly) work on web sites that haven't been made with accessibility in mind. And if you find you need to add proper accessibility to a web or native app, you can. With something like godot, you might have to rewrite the entire GUI to get accessibility working properly.

> - Using Electron does not give you accessibility in any way.

Yes it does. Electron gives you basic out-of-the-box crossplatform support for accessibility, just like chrome. And you can tweak the screen reader output the same way you would a website. See: https://www.electronjs.org/docs/tutorial/accessibility

> - What laws?

EU: According to the first google result, by September 23 2020 all websites and mobile apps must be accessible to everyone, have a public accessibility policy, provide a feedback mechanism for users to report inaccessible content and provide a link to the enforcement procedure:

https://siteimprove.com/en-au/accessibility/eu-web-accessibi...

California (govt): As of July 2019 all websites made by the state of california must be accessible: https://www.levelaccess.com/california-passes-new-digital-ac... . There's similar results at the US federal level.

> - I don't know of any business doing general purpose commercial applications that has faced any issues with that.

You don't know anyone who's faced issues yet. Momentum behind these laws is growing in most countries, bolstered by the 2008 UN Convention on the Rights of Persons with Disabilities - which requires countries to "Provide information in accessible formats and technologies appropriate to different kinds of disabilities in a timely manner and without additional cost". In the US and Canada the law currently only requires government websites to be accessible, but its not a safe bet to assume things will stay like that.

Post reply on HN