User experience in Puppet is more than just the GUI; it includes the command line, the Puppet language, and our APIs. It's easy to think of these as disparate systems, but it's important to us that they all act like parts of a whole.
Puppet must satisfy the real needs of real users in a high-quality and consistent manner. What are the UX considerations of a command line interface? How can we create a GUI that minimizes clicking? Can we make the Puppet language simultaneously easier to approach and more powerful? How do we know if we've succeeded? What do we do when we fail?
I'll talk about where we meet these goals, where we fall short, and how we plan to improve.