Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Devnexus 2015 - Designing APIs: the Other User Interface by Burk Hufnagel

DZone's Guide to

Devnexus 2015 - Designing APIs: the Other User Interface by Burk Hufnagel

· Java Zone ·
Free Resource

Get the Edge with a Professional Java IDE. 30-day free trial.

You may think that just because you don’t do any “front end” work, you don’t need to worry about knowing how to design a good user interface. The truth is that you’re designing user interfaces all the time - you just don’t think of it that way. Just because you’re writing code that doesn’t include a GUI, don’t think there isn’t a user interface involved. An API is a user interface and many of the principles that go into designing a good GUI are just as applicable when creating the public interface for a package, a service, or even a single class. 

In this session, you’ll learn the fundamentals of good user interface design, techniques to help you deliver a great user experience, and how to apply them even when there’s not a single pixel involved.


Burk is a long-time programmer and software architect, with experience in multiple languages. He has presented technical topics at AJUG meetings, JavaOne, DevNexus, and the Atlanta IT Architect Regional Conference for several years. In 2010, he was voted a JavaOne Rock Star for his talk on User Experience Anti-Patterns titled “No More Loser Experiences”. Burk wrote two articles for the O’Reilly book “97 Things Every Software Architect Should Know”, and another two for “97 Things Every Programmer Should Know”. He has also contributed to books like the “SCJP for Java 6 Study Guide”, and “Head First Software Development”, as a technical reviewer.

For More Devnexus Videos, Click Here

Get the Java IDE that understands code & makes developing enjoyable. Level up your code with IntelliJ IDEA. Download the free trial.

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}