Let me give you some background information. The idea for 7GUIs was born while I was writing my master's thesis Comparison of Object-Oriented and Functional Programming for GUI Development[1]. My advisor and I first agreed to compare Java7/Swing and Clojure/Seesaw. That's the reason why you see these implementations in the repository. Over the course of writing the thesis we changed the scope to compare JavaFX in Java and Scala as well as some novel FRP-inspired frameworks and all that with a GUI _programming_ usability benchmark which I named 7GUIs. I received great input from my expert reviewers, especially Tomas Mikula[2].
Anyway, 7GUIs is work in progress although nowadays I have much less time to work on it (not studying anymore but working). Not all implementations are complete (e.g. Android/Elm) and I'm sure the existing ones can be improved. So I'd be very happy if others would help to extend 7GUIs with more implementations or analyses. I still want to try out other approaches myself and compare them with 7GUIs but again time is limited sadly.
You can find much more information in the thesis[1] if you're interested. I've also written a short overview blog post[3] that deals with Reactive GUI Programming.
Very interesting, although it took me a second reading to understand that it is about dev framework (source code) usability, not the resulting task interface UX usability itself. Given how "usability" as a word is conventionally applied to end-user experience and not developer workflow, I wonder if "productivity" is a clearer term to use instead.
The term usability is correctly used. GUI programming mostly consists of manipulating APIs - emphasis on the "I". They are not user-facing but still are interfaces.
I don't think the parent is saying that the title is definitionally/grammatically incorrect. I think they're saying that it's not the typical/idiomatic use of the word when used in the context of a GUI. I got the same misimpression when I initially read it.
I don't think it's bad or crazy, or says anything about the project at all (it looks like a cool project). I mostly say this to note that the parent wasn't the only one that was a little confused by the title.
I was just reading this thread [1] this morning, and spent the rest of the day looking for layout languages, GUI toolkits, and common layout examples/patterns online. I was effectively looking for some sort of "Rosetta Stone of UI patterns", and there this lands on HN's home page. The timing couldn't have been better.
I'll watch this repository closely, hoping for an unusual solution to wow me. At the moment, I feel like Elm is the most unusual of the bunch.
This is a very good idea. Similar to Rosetta Code for GUIs. They do a good job explaining the task specifications and the attributes of the framework that each task intends to test/reveal.
I think they should add a task where events outside the user's control can affect the GUI state in non-trival ways. For example, a control panel for a piece of hardware that could be disconnected at any moment, or a remote file viewer where the server can take away the user's rights to view a file while they are viewing it. This makes GUIs more challenging in my experience.
Great idea! I understand there are only seven options (hence the name) but I'd suggest adding a music playlist as an item. It's easy to describe and would cover multiple GUI elements: button groups (forward,back,start,pause), display list (what is in the playlist, what is currently playing) and interactivity (drag and drop to re-order).
None of these are related with GUI frameworks (such as Swing, QT). They rely on lower graphic constructs, and are suitable at showing off graphic libraries (such as Cairo, Skia).
Let me give you some background information. The idea for 7GUIs was born while I was writing my master's thesis Comparison of Object-Oriented and Functional Programming for GUI Development[1]. My advisor and I first agreed to compare Java7/Swing and Clojure/Seesaw. That's the reason why you see these implementations in the repository. Over the course of writing the thesis we changed the scope to compare JavaFX in Java and Scala as well as some novel FRP-inspired frameworks and all that with a GUI _programming_ usability benchmark which I named 7GUIs. I received great input from my expert reviewers, especially Tomas Mikula[2].
Anyway, 7GUIs is work in progress although nowadays I have much less time to work on it (not studying anymore but working). Not all implementations are complete (e.g. Android/Elm) and I'm sure the existing ones can be improved. So I'd be very happy if others would help to extend 7GUIs with more implementations or analyses. I still want to try out other approaches myself and compare them with 7GUIs but again time is limited sadly.
You can find much more information in the thesis[1] if you're interested. I've also written a short overview blog post[3] that deals with Reactive GUI Programming.
[1]: http://www.eugenkiss.com/projects/thesis.pdf
[2]: http://tomasmikula.github.io/blog/
[3]: http://www.eugenkiss.com/b/overview-of-reactive-gui-programm...