
Ask HN: What's the best UI creation method of all time? - lj3
I&#x27;m doing some research on the various ways application UIs have been created ever since computers have been capable of displaying windows. What I would like to know is, what&#x27;s your favorite and why? Feel free to name any UI creation method you personally enjoy, whether it be for mobile, desktop, the web or something else. It can also be from any time period. Were you a fan of NewS? Adobe Flash&#x2F;Flex? Some obscure web framework nobody&#x27;s ever heard of? Tell me why it tickles your fancy.
======
ocdtrekkie
WinForms. Drag and drop. Drag to resize. Each object has a handy block of
understandable property fields to adjust how it looks and behaves. Double
click to open up an auto-created function to run when you click it, just add
functionality from there.

Sure, WinForms did not really output a stylish UI design, but I have yet to
see anyone make a functionally useful UI editor that is nearly as convenient
and approachable.

~~~
PaulHoule
WPF and Silverlight WPF. Also Java FX.

I am not a big fan of GUI UI editors because I like building the GUI from
models instead. Microsoft had a strong vision in the Visual Basic era that
they've carried through for some time.

~~~
ocdtrekkie
WPF has nowhere near the ease of use of WinForms. I get it can do a lot more,
but at the cost of a truly amazing development interface.

~~~
PaulHoule
I did a stint of Silverlight and got very familiar with the themeing
capabilities in WPF.

Themeing was a scouge of the Windows 9x age that developers had largely given
up on and the support for theming in WPF as part of the backlash against what
people perceived as visual excess.

It was fun for me to see this "visual excess" at work years later in the 2-d
graphics of games written against Sony's PhyreEngine

[https://en.wikipedia.org/wiki/PhyreEngine](https://en.wikipedia.org/wiki/PhyreEngine)

such as

[https://en.wikipedia.org/wiki/Trinity_Universe_(video_game)](https://en.wikipedia.org/wiki/Trinity_Universe_\(video_game\))

Even though people hated Vista, the WDDM model that it brought in is one
reason why Windows crashes much less than it used to and why GPGPU computing
is a thing. Someday Linux is going to switch to Wayland or something else like
WDDM.

------
PaulHoule
I want to see more things like Zork and Inform7.

~~~
lj3
Why? What about Zork and Inform7 do you like?

~~~
PaulHoule
Text-based UI that is smarter than the conventional command line.

With Zork you somehow have a (seemingly) plain-English conversation with the
computer that takes you through a fictional setting and story.

With Inform7 you write the scenario in what looks like plain-English (eg. "The
shed is north of the building") and it compiles to a Zork-compatible runtime
engine.

Inform7 uses a number of "clever" tricks such as accepting the word "seven"
for the number 7 that are unusual in software practice, not conceptually deep,
but contribute to the illusion that you're writing English. The rules engine
is half-baked but confronts head-on the problem that "commonsense knowledge"
that it is mostly built around defaults. (eg. by default you can not pick an
object up, but if an object has the "portable" attribute you can pick it up,
unless it is a bird statue that will turn into a real bird and fly away when
you try to catch it unless you are wearing the medallion)

The author of Inform7 would like to enable English majors to write interactive
fiction and the success there is still partial because once the story gets
complex enough the authors have a hard time understanding why the system does
what it does.

The author of Inform7 is plugging away at it, maybe somewhere somebody else is
building something similar out of stronger wood. I was talking with a European
aviation regulator who would love to see "Inform 7 for business rules".

It is much easier for rules in this kind of system to be readable by subject
matter experts than writable, but readability is a big plus -- if you can show
the rules on a slide and a get a check-off that is a great way to keep in
sync.

------
scroot
Hypercard

