Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What does your ideal User Interface language/framework look like?
1 point by TobyTheDog123 on April 11, 2023 | hide | past | favorite | 2 comments
With so many options for rendering user interfaces, is there one that you've found to be perfect?

If not, why?

If you could have any amount of funding and any number of talented people working on a replacement, what would your ideal language/framework look like?

Would it look something like Flutter? Or JS(X) like React? Would you support multiple platforms, or just stick to the web and web technologies?

Would you create a whole new syntax/language? Would you separate out logic and templating, or keep them together?

How would you handle styling? Logic?

What would you prefer HN?




I would probably want to do:

- There is a file format (possibly a ACSII format, or possibly a binary format but also provided program converting the ASCII format to the binary format; there may also be a way to convert parts of it into a C code, for efficient use compiled into programs), which can define the layout and which widgets are in the form. Usually they will be built-in but you can use external specifications too (which may be overridden by end-user, and told to load perhaps using environment variables, if necessary)

- Define the API in C. It may also be possible to call from other programming languages, whether by a dispatch mechanism (similar to Glk) or by wrappers. (There also may be implementations which can be used directly in other programming languages.)

- Separate the API from the implementation (similar to what Glk does). Some parts of the implementation may be written for a common use, and customized if needed for a specific implementation. Other parts will be only implementation-dependent; therefore they can be made depending on different operating systems (using the operating system's UI), different user preferences, etc.

- Define the use of widgets, including list, menu, button, grid, tree-view, text-entry, text-label,

- Define the use of common functions such as file-picker, clipboard, etc.

- Define use of accessibility, and also of programmability by external programs.

- Define use of international text. The ASCII form can be stored in the program; non-ASCII text can be stored separately.

- For text, you can use multiple code pages including TRON code, and does not have to use Unicode.

- Styles are implementation-dependent, and mostly is not specified by programs. The program will specify some things, e.g. forced fix-pitch text.

I have some ideas how to do and might write about it in future in another file. (I also would consider to do a partial implementation as a part of the Free Hero Mesh project; currently the UI is implemented each screen separately; there is not a common UI except for scrollbars, but this can be improved in future, by allowing a common way.)


MS Windows ca W2000. Or rather, IBM CUA – Common User Access – as embodied in ca W2000.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: