Friday May 25, 2012

Java+ADF+Apps-UX = Making Cool Stuff at the Maker Faire

I spoke at the Maker Faire Bay Area 2012, my first time at the event despite having lived for years in the Bay Area. And what an event! Hard to describe given such a sprawling mass of energy, ideas, creativity and construction, it was kinda JavaOne/OpenWorld on Haight meets Burning Man meets Kickstarter meets Fry's meets Steampunk meets Make magazine come to life. If you're into making stuff, crafts, hobbies, innovation, are creative, like fun, kids, and generally being inspired in a non-business suit environment while being surrounded and inspired by the potential of technology of all sorts--and are prone to wearing kilts--then it’s for you.

What I Got Up To

I had two commitments. Firstly, as part of a panel facilitated by Oracle Technology Network (OTN) and Developer Programs Director Justin Kestelyn (@oracletechnet) called Gamification, Robotics, Simulators: How to Get Started Using Java. This was geared towards how young folk (well, anyone really), could get going in Java programming, and why they should do it. See the OTN Java Programming Center for Young Developers resources to get started.

I talked about how Java was an internationalized programming language, and used globally. Is said that you could go anywhere in the world and be gainfully employed, using your Java skills to make cool stuff for a whole range of devices; everything from mobile apps to websites to games. I explained gamification in plain language for the audience. This tied in well with the contributions from the education and outreach folks with references to Minecraft, Oracle Academy, Greenfoot, Alice, and so on.

Maker Faire Oracle Panel

Oracle panel at Maker Faire: Left to right: Justin Kestelyn, Caron Newman, Daniel Green, Kevin Roebuck, and Ultan Ó Broin. Photograph: Martin Taylor

Tori Wieldt's Games, Robots, and Java, Oh my! over on the Java Source blog provides a good summary of the talking points. You can now view a video of our Centre Stage panel too.

My second input was a set of presentations at the Oracle Java zone. I told a story woven from model making about making applications, how personalization and customization took over from making stuff out of the box, and how Applications User Experience (UX) science and technology related to observing chimpanzees in the wild, the US space program, science fiction, comics, and to other interest points.

Ultan speaking at Maker Faire's Java Zone

Java zone preso: Chimpanzees, Superheroes, Comics, Games and Star Trek: Making cool apps from kits with Java, Oracle ADF, & User Experience Design Patterns. Photograph: Oracle Java. Shirt: Erik Peterson, Oracle Mexico Development Center

I explored the kit parts we used in making Oracle Fusion Applications (Application Developer Framework (ADF), based on Java Enterprise Edition and well-known blueprints and models) and how knowing a little more Java allowed you to go even further, limited only by your creativity tied to what users really wanted to do. Of course, our kit featured the science behind our own sets of instructions for makers: the Applications User Experience Design Patterns and Guidelines. I closed out with a superhero approach to users of apps, using the Avengers-style motif of remembering different users had different skills and jobs to do, so design appropriately.

Check out the Oracle Java Facebook page for a set of pictures of the Java zone activities.

Kids chilled out in front of me on bean bags and afterwards I was quizzed about ADF, Java, design patterns and usability, and asked for recommendations on books and other resources. All around me kids programmed 3D dragons and more in Alice (reminded me of Ireland's CoderDojo that my son attends) and leaped about in front of the Xbox360-controlled Greenfoot ball game.

Enjoying the Greenfoot ball game at Maker Faire. Photograph: Ultan O'Broin

What Does This Mean for User Experience in Oracle?

A number of business uses for game controllers, Oracle technology, and gesture-based interaction, and a wide range of web app technologies on different platforms and a range of non-traditional (in the enterprise apps sense) devices, came into my mind...

With tons of energy, ideation and creation going on at Maker Faires, Oracle Applications UX and Java will certainly be back and the inspiration behind such kind of anything goes, out of the box, creativity across all technologies can be harnessed and used to think about how we innovate internally in Oracle. Stay tuned.

Between deliveries I checked out the many exhibits, met old friends from my Oracle Applications Technology Group days, and chatted with other attendees. I was especially interested in Raspberry Pi (great combo with Java), 3D printers, the robots everywhere, the games, the remote control stuff and... just thinking about how we can use these in the UX space had me exhausted. Ideas are already in the minds of UX management.

Anyone up for knitting a UI Shell Pattern for ADF, and using Nintendo 3DS for expenses (oops, sorry Financials team and Misha!), or Raspberry Pi for SCM and DOO, ping me now.

Many thanks to Justin Kestelyn, Michelle Kovac (Director, Java Marketing and Operations), and the other Oracle people who made this all happen. Count me in for more of such events worldwide. Delighted to help. And next time, the Utilikilt might make an appearance.

Monday Aug 09, 2010

Unexpected Errors: Were They Ever Expected, Anyway?!

I'm sure you've seen error messages that say something like "Unexpected error occurred. Contact your system administrator." Fairly useless error messages I would say, actually, and an approach I do not promote in my team.

When, for example, is an error message ever expected? And how do you contact your system administrator (even if you know who or what that is)?


Figure 1: Why Not Just Ask Alice?

I was reminded of all this as I read the section about "Make sure your error messages cover unexpected problems" in the UX Matters article "Avoid Being Embarrassed by Your Error Messages". However, in the enterprise applicastion space, additional requirements should be met for these "unexpected errors":

  • Firstly, a unique message identifier (or number) should be attached to the message itself. This can be disclosed progressively, coming after the message or made visible by way of a 'More Details' option on the message dialog for example. These identifiers can serve different purposes: They can allow the user to search on the number and find a solution is the most common one.

    However, in many enterprise scenarios this option is usually of little use to the end user. Instead, help desk or support analysts can use the number to search for, and record, solutions in knowledge bases. Being the same identifier across translated releases, as well as the English release, means that the analyst does not need to translate the message into English to find a solution too. The analyst looks up the identifier.

  • Secondly, end users should never be told to contact their system administrator (figure 1) or to try and recreate the error or type out what they were doing (even if they could). The message handling framework should do all that automatically for the user. Oracle Apps refer to this process as incident creation (or alerting) and diagnostic logging.

    When serious messages are shown to the user an incident is automatically raised and diagnostic logs (usually) created too, alerting the help desk to the issue and collecting all the necessary background details for the help desk analyst. In these cases, a straightforward message text tells the user that their problem has been recorded for them.The technical details are not disclosed to the end user, but instead, the help desk can use the incident and diagnostic tools to deal with the cause of the problem (figure 2). End users should not be dealing with complicated tech stack details. They can't do anything with them to fix the problem.

Figure 2: Possible Error Dialog for Non-user Actionable Message

All too often discussions and guidance about error messages are disconnected from the Support framework provided in the enterprise space and the reality of applications security and roles. A posited solution based on something like "Unexpected error. We didn't think you'd ever see this message, but you have. Please contact us and give us this error code: [Error Code]" doesn't really move the user experience argument very far in the right direction of recording why an user-unrecoverable error happened automatically and doing as much work for the user as possible.

Remember that "unexpected" error messages the beginning of a customer engagement process with the help desk and possibly support analysts, so make it as easy as possible.


Oracle Apps Cloud UX assistance. UX and development outreach of all sorts to the apps dev community, helping them to design and deliver usable apps using PaaS4SaaS.


Ultan Ó Broin. Senior Director, Oracle Applications User Experience, Oracle EMEA. Twitter: @ultan

See my other Oracle blog on product globalization too: Not Lost in Translation

Interests: User experience (UX), PaaS, SaaS, design patterns, tailoring, Cloud, dev productivity, language quality, mobile apps, Oracle FMW, and a lot more.


« July 2016