I keep reading UX articles that complain about the usability of modern apps. How, for example, Electron based apps like Slack are terrible compared to whatever they replaced.[aol instant messenger vs slack image]
Most of these articles want to time-travel back to an age of consistency and discoverability (that never existed, Lotus Notes being the definitive proof). Most of these articles are bullshit. Two quick facts:
- Modern apps are easier to learn
- Modern apps cost a lot less to develop
So, what happened to traditional desktop software?
Desktop applications were always over-engineered. Implementing all the stock features – think the stuff in and behind the File and Edit menu – took a lot of effort. That effort could have been spent on making the software actually easy to use instead of making plain text and rich text work on the clipboard.
Then the web happened. All the mundane stuff belonged to the browser. The browser owned the menu bar and toolbars. The browser managed network connections. The browser did all of the operating system integration. The browser made the clipboard work. Developers could focus on building applications instead of re-inventing the wheel, except for rounder, every time.
Then the document as application model won. The web came with a simple model for applications. Your application is a document that is automated and integrated into a cohesive experience by interactive elements embedded in the document. Think Google. A text field, a button a few links mixed into a list of results.
Simple. Easy to use and learn. Easier to implement. Better all around.
The document as application model is so effective that when Apple and Google launched the smartphone revolution, the standard application UI was document-as-application. It took several years before we figured out we might need a standard way to present an application menu to the user. And so this much-maligned little guy showed up (and was hated by ux design pros everywhere):
Which leads to Portable Web Apps, Electron Apps, Chrome Extensions and pretty much every other new way to deliver a desktop application experience:
They are all stealing the document as an application model from the web and giving the menu and toolbars back to the developer.
Seems alright to me.