So, I've had these ideas and concepts about a uniform UI library, and thought I might share. I think the thing the GNU/Linux user experience is lacking most right now is a sensible UI. These are ideas that I've come up with.
1. The application should immediately pop up a window, with a splash screen/logo. This helps with responsiveness. For this, the UI operations must be on a separate thread, with pthreads/mutexes/shared state/all that jazz.
2. Alternatively, the UI could be a single daemon process which other processes interact with through IPC/a bus. I believe this has the advantage of being able to control every UI from a single process and less memory usage via shared memory. The cons are a single point of failure and bus/IPC complexity.
3. When it is affordable, there should be simple but elegant transitions between menus, like slide and fade in/outs. Just small things to make things feel smooth should be fine.
4. I don't think flat/material design is bad, honestly, but it shouldn't become a mess where you can't distinguish links/buttons from text. All interactive elements should have clear outlines.
5. Mystery meat navigation is a mistake. Hamburger bars add nothing of value except for maybe hiding miscallenous stuff. I like the NavigationDrawer/bottom bar on Android 7.0, though, as it clearly defines the parts of the app.
What are your thoughts?
pic unrelated