


But smart, patient people? They can just deal with the complexity, and they build increasingly ugly Frankenstein monsters, that somehow still walk. If you aren't exceptionally bright, or if you are impatient, that fact puts a hard limit on how complicated your software can be - past a certain level, you simply won't be able to get it to work, so you'll just quit and start over with a cleaner approach. Besides, smart engineers tend to overcomplicate what they build, because they can easily handle complexity. But in fact, end users know a tiny fraction of what you know about your own API and its implementation. Programmers tend to assume that end users have sufficient background and context - because themselves do. And, let's face it, most API developers never do that.Īnother problem is what I would call "smart engineer syndrome". It's only when you start sitting down next to your users and watch them struggle with your API that you start to realize that UX matters.

While you're writing code alone in front of your computer, future users are a distant thought, an abstract notion. So why does API UX design so often feel like an afterthought, compared to even furniture design? Why is there a profound lack of design culture among developers? A well-designed API, making complicated tasks feel easy, will probably prevent a lot more pain in this world than a brilliant new design for a bedside lamp ever would. User experience (UX) should be central in application programming interface (API) design. Our tools have great potential to cause us pain, especially in a field as complex as software engineering. Developers who unfortunately are often being let down by their tools, and left cursing at obscure error messages, wondering why that stupid library doesn't do what they thought it would. Developers who produce better code, in greater quantity, when they are kept happy and productive, working with tools they love. It is meant to be read by people, used by other developers, maintained and built upon. Code is not just meant for machines it has human users. Writing code is rarely just a private affair between you and your computer.

Keras is a Deep Learning library for Python, that is simple, modular, and extensible. The Keras Blog - Francois Chollet The Keras Blog
