3 ms·
You know, programs could version their UI's. I was struck in Bram Cohen's interview by how much care he's taken to avoid changing vim's behavior at all, while
by joeyh 12y ago
You know, programs could version their UI's.
I was struck in Bram Cohen's interview by how much care he's taken to avoid changing vim's behavior at all, while still letting nice new features be added. In the case of vim, you have to learn about features and enable them to change the UI. That works, but it does mean that the default vim experience for a new user lacks a lot of its cool features, and it can be hard to learn about features. (I only learned that vim has persistent undo from that interview.)
Imagine if say, firefox, had a UI version number. New users get the current version, and firefox writes that to its config. So upgrades don't have to change the UI the user has gotten used to. It could prompt on upgrade to let the user try out the fresh new version, and if they don't like it, they could revert back. Even if this were only limited to the "chrome" around the web page (no need to version UI for preferences pages etc), I think it would be a nice win.
Gnome 3 sort of did this with its legacy mode, but it's a poor imitation at best of gnome 2.
I'm sure that UI developers would hate this. Having to maintain old UI code, or implement pixel-perfect imitations of it using the new UI code. Needing to worry about how to shoehorn new features into an old UI that was not designed for them. Etc.
It's much easier to put the cognitive load on the shoulders of the user, who is forced to unlearn old habits, develop new muscle memories, and generally grit their teeth and bear it until the new UI fades into the background and stops distracting.. Just in time for a UI refresh to come around!
- halestock 12y agoBram Moolenaar, you mean.
- joeyh 12y agoAn embarassement of Brams.
- darushimo 12y agoI just hung out with an old friend last week and while he's into his tech, he doesn't work in the industry. he expressed the same sentiment in the last line of your comment. UI versioning sounds like a ridiculously difficult challenge, so difficult that it's worth thinking about more, because most people won't (because it's so hard). I'm gonna take that idea and run with it a bit... A few things come to mind: - Added complexity - apps would have two unique versions at the same time "Oh i'm running gmail 15.2 with UI v 12.0" - I wonder if another ways of achieving something similar is keeping legacy UI by calling it a "theme." While, politically, it might be difficult to get funding for a "theme" over a "redesign," with such an important and widely used application like GMail, it makes total sense to me that there are 2-4 interaction schemas that people could use if they'd like. Maybe "theme" is too weak of a name,--maybe "Schema"? Something else? - What sort of protocol would a "theme" use to improve? Let's say that "we want to keep the important parts of this theme as much as possible, not mess with them, just add this new feature." How universally possible is that, or do a majority of big new features inherently complicate a UI and the mental models of its users? - Getting into the nitty gritty details, though, there would almost inherently be splintering--different themes would have microinteractions and microfeatures that others would not. While that's probably good for the end user wanting to differentiate between them, it would make the "Do we add big feature X?" conversation across all "Theme Teams" AND development even more difficult. - Would the themes themselves have versions? - In a way, themes are already available as versions. Ex: I am running an older version ("theme") of twitter on my ipad because i just haven't gotten around to updating it. but It still works. What would be great is if twitter could allow me to switch between this version and the newest one so I could see if the newest version worked better for me. I could switch back if it didn't. Right now, I can upgrade, but I can't switch back, so upgrading is "switching permanently and hoping for the best." - what are your thoughts?
- mirkules 12y ago> I'm sure that UI developers would hate this. Having to maintain old UI code, or implement pixel-perfect imitations of it using the new UI code. Needing to worry about how to shoehorn new features into an old UI that was not designed for them. Etc. Programmers and coders would (and do) get blasted for being lazy if the user has to learn something that can be done automatically with code, no matter how difficult. But when a designer changes the UI, we excuse it as "cost of progress". It's about time that UI design is held to the same standard as functional design. To be fair, we are seeing a natural progression of an entire industry. First make it work -> make it work well -> then make it pretty -> make it work well AND look pretty. This is pretty much the lifecycle of every other industry, and fortunately the tech industry is finally approaching maturity and starting to think about that last stage.