How to create brown and blue web apps

I case you were having trouble creating brown and blue-colored web applications on your own, oracle has been kind enough to put a guide online!

If anyone can explain the mysterious “i’m gonna kill you” focus symbol (in addition to the selection column) in the “HGRID” spec here, then you’re a better man or woman than I.

Update: “Former coworker” mentioned Jakob Nielsen in a comment – so I clicked over there to find 2006’s best intranets. Guess who’s intranet isn’t on the list (hint: look at the guide above). Btw congrats to Brian/Rooney etc over in on demand workplace land for making the list.

“At least it doesn’t bomb out”

Apparently for some people interactions with software fall into a binary universe: one side is graceful, the other is anything else that crashes, burns, or otherwise presents the user with an error message or stack trace.

To use a metaphor that describes the problem we were discussing without actually being in the same subject domain at all – imagine you had a tool that let you arrange furniture in a room. So you pick a room, and then create and arrange furniture. Only some rooms you can’t create furniture in – you can start to create an item, but there aren’t any valid choices for color! So you can’t ever really save the room, and your time has been wasted. Do you think that’s graceful because it didn’t crash? Or would graceful have been not letting you pick that type of room in the first place?

To someone’s suggestion that our current design is not so graceful comes the response, “Its graceful, I mean it doesn’t bomb out”.

Granted, there are always time/cost tradeoffs particularly around edge cases like this one, but this discussion didn’t even delve into that.

Priceless.

Fun with design tools!

My Applied Design of Software User Interfaces class is lots of fun, but turns out to be a lot more work than I had anticipated (No programming or math, this can’t take much time!). I’ve spent hours learning Fireworks and Illustrator, and gotten much better at mocking up user interfaces in the process. I’ve also found that staring at the screen for hours tweaking pictures seems to be a different level of eye stress than programming, presumably due to having to focus on the slightly bigger picture than a line of code at a time.

We’ve had three weekly assignments to mock up user interfaces (including preliminary conceptual designs, affinity designs, and user profiles) which are given in the form of project for our mock design companies, and the deliverables must be color printed and bound, which makes one take an extra level of pride in the work – more of the same pride that keeps one up way too late making final design fixes.

Art Picker MockupI thought I’d share one of my designs from the last homework assignment: it was to mock up a design for a handheld, touchscreen computer (tablet) that would assist users in their tour of an art museum. The screen at the right (click to enlarge) uses the device’s ability to know fairly precisely where it is to present only the art nearest the user, from which the user can select one for more information. There’s some things I don’t love about the design now that I’ve had more time to reflect, but I still like it. I learned a lot about Adobe Illustrator in creating the icons for the nav buttons on the left (even though they still look like they were drawn by a Quailtard) – I also learned that Illustrator can’t do angular gradients like that I had in mind for the radar button, so I had to resort to the Gimp for that.

Will the real English language please stand up?

Language Chooser DropdownI was just navigating the IBM web site to view the Lotusphere 2006 keynote presentation so as to see IBM Community Tools Sametime 7.5 in action (more on that later) and found myself having to negotiate all sorts of barriers to actually view this promotional material.

An interesting sidelight for me was encountering this lengthy list of languages to choose to receive marketing material in. I find it noteworthy because it makes the effort to distinguish “English” from “English,
Australian” and “English,
UK”. Apparently American english is now the “standard” English, because no one felt the need to label that form “English, US.” When did that happen?

I also noted the irony that a video in which the ability of various Lotus tools to run on Mac, Windows and Linux happens to be served by a video delivery platform that frowns upon anything but Internet Explorer 5+ or the 3+ year old Netscape 4.x, which certainly no one using a Mac or Linux can use (or would get caught dead using). Someone is sending mixed messages:

A browser version (Mozilla, Opera or Lynx) that does not support advanced features of IBM webcast presentations (e.g. synchronization of audio/video with slides) has been detected. To successfully view the fully enabled IBM webcast presentation, it is recommended that you close all open browser windows and re-launch the Webcast event page in Internet Explorer (version 5 or newer) or Netscape (version 4.x).

Good thing Firefox 1.5 and Windows Media player were able to come through for me.

I gave Yahoo the metaphorical wag of the finger for this, so IBM gets it too.

Interesting Java Snippet

I was at an interview yesterday and got something like this snippet as a test.

Apologies for the lack of tabs,
whatever I try to put them in,
wordpress defeats me.
public class ExceptionTest {
public String method1(){
try {
return method2();
}
catch (Exception e) {
return "method 1";
}
}
public String method2() throws Exception {
try {
throw new Exception();
}
finally {
return "method 2";
}
}
public static void main(String [] argz) {
ExceptionTest et = new ExceptionTest();
System.out.println(et.method1());
}
}

I was asked if I thought the finally block in method2 would execute before the catch in method1? So I puzzle over that for a while,
trying to determine how the stack would unroll, particularly in light of the finally block returning a value. I think my guess was pretty good.

I went ahead and tested it to see what actually did happen, and it turns out that returning from a finally block as in this example generates a compiler warning, and gleefully prevents the catch block from even executing, resulting in the program printing out “method2”. If the return is removed from the finally block, finally still executes before the catch block, as expected so that it can clean up the local state of that stack frame, and the program prints out “method1”.

Universal Principles of Design

I’m taking an engineering psychology class called “Applied Design of Software User Interfaces” this spring, for which our optional text book is “Universal Principles of Design : 100 Ways to Enhance Usability, Influence Perception, Increase Appeal, Make Better Design Decisions, and Teach Through Design“. The title is a mouthful, but this book is a real gem. Its more of an encyclopedia with 100 topics covered in two pages each, with one page of text with references to the primary/seminal works, and the other page devoted to beautifully illustrated and designed examples of the effect described in action.

I’d recommend it to anyone interested in effective design of any kind, or even just to read the interesting psychological explanations of certain effects.

News reporters “on location”?

I work next to a big courthouse in Cambridge, and fairly often there are rows of satellite trucks parked there, idling all day long, so that come the 6 o’clock news some talking head can blather on about the latest case of society gawking at truly unimportant crap while standing in front of it. Does standing in front of the courthouse mean their information is more valid, their comments more intelligent?

I’m pretty sure the local news (Is your toilet trying to kill you? Find out at 11!) watching public could be duped by just as satisfied with someone standing in front of a bluescreen, like on the Daily Show.

If supermarket loading docks can post signs prohibiting idling trucks to protect the neighbors, I think its time the courthouse did too.

Massachusetts has anti-idling legislation but it appears to contain an exception for vehicles that require their engines running for situations like this:

(c) vehicles engaged in an operation for which the engine power is necessary for an associate power need other than movement and substitute alternate power means cannot be made available provided that such operation does not cause or contribute to a condition of air pollution.

Maybe there should be some new legislation to incent those that operate vehicles of this type to install and operate auxillary power units instead of their primary engine.

WordPress Two’s “Flash” System

I installed wordpress 2 a few weeks ago, which doesn’t mean much in terms of reading this blog, but much in terms of administering it due to the majorly reworked back end. Anyways, to make a long story short, the admin site has this really great implementation of the “flash” (that is a highlighted element on a web-app page telling you something important/permanent has been executed, as in “your mail has been sent” or “changes saved”).

As flash messages must be, they are a bright, attention-getting color at first, but the innovation in wordpress is that they slowly fade to a color that doesn’t demand attention at all, leaving the user to work with the page without the distraction of a message that was only important for the first few seconds. The effect is so subtle that it took me a little while to notice it, but now that I do, I don’t know why everyone isn’t doing this.

I made a video so you can check it out: wordpress-full.mov

And from the archives, for fun, I mocked up what this must have looked like before DHTML: wordpress-oldtimey.mov

Sametime 7.5 and QuickChat

Congratulations go out to the IBM WebAhead team on today’s unveiling of Sametime 7.5. Its great to finally see that IBM Community Tools will be let loose to revolutionize connected workplaces everywhere, like it did IBM. I’m proud that something I was a part of nearly from the beginning in varying capacities got such a big splash during the keynote at Lotusphere.

A little birdy told me that QuickChat, an instant-buddy-list-search feature I developed in my spare time during my ill-fated post-WebAhead time at Lotus, was a big hit with the crowd at the demo. If nothing else, it’s still cool to see my invention up on the big screen.

Head First HTML with CSS & XHTML

Mostly because I love Kathy Sierra’s Creating Passionate Users blog and have heard much about the style of writing in the Head First book series, I ordered Head First HTML with CSS & XHTML as soon as it was released. (Ok I also got it because CSS is a paticularly nasty time-sinkhole for me when I’m working on anything web-related.)

I love the book, but for me it was too much of an introduction to HTML. Skipping ahead to the later chapters, I did learn some important things about CSS. Discounting that, the book is great. It’s sarcastic conversational tone keeps you engaged in the material, it has great examples and frequent special sections that break up the flow nicely.

This book is especially well suited for people entirely new to HTML- I’d definately recommend this book for that audience. The pacing is so well thought out, almost anyone could learn HTML here.

I enjoyed the parts I actually did read so much, I ordered Head First Design Patterns (taking advantage of my “free” trial membership in Amazon Prime) because I never quite got through the real Design Patterns book.