Today was the last day of the JavaOne Conference. We came to the point when a lot of OutOfMemoryErrors where thrown. We just managed to squeeze in the last sessions.
Today's topic included:
- User Experience
- Semantic Web
Mischa and Erik Jan on The Layperson’s Guide to Building a Better User Experience
Burk Hufnagel showed in his presentation how to
The term “User Experience” describes how people feel about using something. This is very important, because if the experience isn't satisfying,
- The ability to get things done is slow.
- The software will be replaced by software that does have a satisfying experience.
The Layperson's guide is a guide for non-experts, on how to develop the best "User Experience" for the target group.
So what affects the user’s experience?
- Interaction Design
- How the users thinks it works.
- How the system is actually built.
- How the system presents itself to the user
Doing Test Driven Design has a couple of benefits like
- Writing tests first makes it easier to you create the right interfaces and behaviors later.
- Writing tests first can reduce the chances of the implementation model leaking into the representation model.
So how do you start? Well identifying the Key users is a good start.
They are te ones that must be satisfied for the product to succeed in the market.
Next you need to develop Persona's, figure out there behavior, motivation and goals. It may take some time to get to the
bottom of this, but it is better then to guess what they want. Try to limit the amount of persona's, because you need to create
an interface for all of them, to be able to get the best User Experience for all Key Users.
Developing like this may take a little more time on startup, but will gain a lot in the end.
Jeroen on the Semantic Web
Today I had another talk on the Semantic Web, this time a real Technical Session by one of the same guys who talked in yesterday's discussion panel, Dean Allemang from TopQuadruant. His talk was similarly titled as his book: Semantic Web for the Working Ontologist.
One of the best ways to describe the semantic web is probably using the following sentence: From data on the web to a Web of Data. Our current Web mostly consists of data that us humans can interpret as meaningful, but it has no meaning whatsoever to machines. In the Semantic Web, it is all about adding another dimension to data so that both humans and computers can reason about the data.
One of the standards for the Semantic Web is the Resource Description Framework (RDF). RDF is a way of storing data as triples (subject, predicate, object) distributed across a network, using URI's as identifiers for the data. For instance if I wanted to model the plays Hamlet and Romeo and Juliet written by Shakespeare in RDF I could write down the following:
(1, my:writer, Shakespeare) (1, my:title, Hamlet) (2, my:writer, Shakespeare) (2, my:title, Romeo and Juliet)
However as you can see, my:title could be very different from your:title. Where my:title is the title of the play, your:title could be your degree, like "MSc.". This means that the first requirement for the Semantic Web is that we need to agree to disagree. Using namespacing we can assign different meanings to the same terms.
The Semantic Web is all about data, and not about how you represent the data. Yo can chose your own representation and map that to someone else's representation. For example, if I wanted to say that my:writer is the same as a Dubblin Core author, I could write down the following RDF triple:
(my:writer, owl:equivalentProperty, dc:author)
Now anyone knows that if I say writer, I am actually talking about an author. What is nice is that RDF is used for both the data, as well as the schema. Usig these constructions we can build an ontology. An ontology is best described as: A reusable component of a distributed semantic model. A well known example of an ontology is the Dublin Core standard.
This primer into the Semantic Web was pretty good and clear. I hope they'll give some more talks on this subject.
Marco on his day
Keynote: extreme innovation
This one was about some of the really cool things you can do with Java. The absolute highlight was the Pulse smartpen, a Java-enabled pen that can not only record what you write & what you hear at the same time, but also order a cup of coffee. In Mandarin. Also noteworthy was a car that can drive & park by itself, which will become hugely popular amongst Asian people & women, I hope.
Designing GUI's 101: From User Needs To Usable GUI's
Thank heaven this one only lasted for about 30 minutes, as absolutely nothing new was said ("so we first need to ask the users what they want, then create a prototype, and then ask the same users again what they think of it? Brilliant!").
Using SOA, EAI, and BPM to reengineer Legacy Applications to Java 2 Platform, Enterprise J2EE Platform
A real-life story about how to drag a legacy system kicking & screaming into the 21st century. I really dug this one, with a very energetic speaker talking about how they wanted to save 30 years of business logic stored in the system by putting JNI on top of it, then later taking another step into the future with SOA. One lesson learned: apparently it's easier to teach Java developers assembly code than vice versa. Which should insult me in some way as I started out doing machine language, but I'm just too tired to care at this point.
Open Source Development Tools fir the Java Platform, Enterprise Edition (Java Platform), Web 2.0 and SOA
The final session I attended and it sure was hot, temperature wise that is. The demo gods still seemed to be angry, resulting in the room telling the presenter what to do, instead of the other way around (rule #61: if there is a stack trace, study it to see what is wrong – it will save time). After a change of subject (JBoss ESB instead of Seam) things got pretty interesting again, too bad it wasn't possible anymore to get hold of the free development cd.
It was really clear that this was the last day, as both the number of visitors and the energy level of those still present was down. After attending so many sessions (and writing about them to boot) I myself am 'stuffed', but all things considered it was a fantastic experience, and I certainly learned a lot. I'm glad I decided to concentrate on one track (SOA), even though it means I missed out on some other great presentations. Then again, my esteemed colleagues saw those, and I'm pretty sure they will blog about it as well somewhere else.
What do you mean, they share this space with me? I'm a star damn it, I deserve my own space! Now go get me some monkeys!