Wednesday, February 22, 2012

uploaded Lotusphere Comes To You presentation [Dutch]

Great Lotuspehere Comes To You today with Keynote speaker Brian Cheng showing the IBM roadmap and doing demo's and sessions on TDI, Sametime Unified Telephony, Document Management (Docova) and of course IBM Connections & Social Business.


For those interested I'm attaching my presentation (in Dutch) on Social Business & IBM Connections below.

Thursday, February 16, 2012

The bright side of errors (just for fun)

Sometimes errors can really help put things in perspective..... or simply give you a chuckle. Todays highlight were two errors that made my day. Rest assured, neither were real problems but both gave me a great big laugh. So to brighten your day, here they are!

This one made me almost feel proud of the achievement!

And this one from Microsoft online help.... well irony :)


Wednesday, February 15, 2012

Testing - the Japanese confusion test

When I test software I love to test for the quirky details stuff. I know, why bother, but I guess I'm just one of those people for whom the devil is in the detail.

And one of my favorite tests for multi-lingual applications is to test for consistency by changing the language to either Simplified Chinese or Japanese - languages I absolutely do not speak. The reason? Well for one it has a different character set, flushing out non-translated items right away (even if they sound the same the different characters will make it look different).

  
('share' is clearly not being translated here)

But secondly it also means you are suddenly stuck in a piece of software with no textual hints, forcing you to rely on logic and common sense to find your way.
Now, you shouldn't do this if you are absolutely new to the software. You need to have a basic familiarity with the functionalities first, otherwise you'll just get lost. But when you do have that basic knowledge, turning yourself into a temporary illiterate by trying to navigate the application in Japanese is a great way of seeing whether the logic of the application still holds up. Doing this has often helped me find inconsistencies you would otherwise easily overlook. Issues for instance with changing button or menu orders, when on one screen the order of buttons is [Ok] - [Cancel] and on another [Cancel] - [ Ok].

Now why is that important? Surely most won't bother about that?!? Well, yes. Most won't, but then there is this thing called repetition... We are creatures of habit and when we use software we often start anticipating moves, almost clicking automatically without looking. Like flipping through a photo album where you always flip through the pages from left to right, expecting the chronological order to follow that. How annoying is it if half way through you find the chronological order has suddenly changed, forcing you to go the other way?

So try it. It's a great way of finding things you would otherwise overlook and it can be kind of funny to see how good your own understanding of the application really is...

Sunday, February 12, 2012

BLUG March 22-23 in Antwerp


BLUG, the official Belgium - Luxembourg Lotus User Group has announced the line up for their annual user group event in Antwerp this March, and it is an impressive line up! With 44 sessions in 4 tracks (Development, Administration, Business and Sponsor track) and over 35 international speakers.

The event will be held in the Crowne Plaza hotel in Antwerp and admission is free.

For me it will be my first BLUG as I wasn't able to attend last years. But hearing nothing but good about last years event I couldn't miss this one! It's an excellent way of learning, meeting and interacting with and about everything IBM has to offer on Social Business and Collaboration software.

Apart from attending I'm very honored to be a speaker as well. Doing a session on how to weigh company regulation versus personal individuality and how to get employees to be responsible partners in a Social Business.

So if you are in the neighborhood and interested in Social Business & Collaboration then I advise you to check the BLUG site out and register. Hope to see you there!


Thursday, February 09, 2012

NLLUG A̶p̶r̶i̶l̶ ̶1̶7̶t̶h̶ ̶&̶ ̶1̶8̶t̶h̶ ̶i̶n̶ ̶A̶'̶d̶a̶m̶ May 15th & 16th Rotterdam (update 2)

Check your calendar and move those dates! NLLUG and the Social Business convention that were planned for April 17th & 18th in the Amsterdam Arena are now to be held on May 15th &16th in the Rotterdam 'Kuip'. Home of soccer club Feijenoord and traditionally arch enemy of Ajax whose stadion was first booked for this event. Apparently there is a soccer fan at play here seeing as we are moving from one stadion to another but I'm sure it'll turn out great as both venues have a lot to offer!

For one: It is a lot closer to home for me :)

Monday, February 06, 2012

The Virtual Super bowl party – game time the social way!

Yesterday (or should I say last night) was an absolute first. Attending my first ever real American Super Bowl party and watching the game with a group of Americans and Australians. So did I fly over for a quick weekend break?!? Nop, I attended right from my own couch in my own living room.


It all started a couple of weeks ago when my twitter stream exploded on NFL tweets by @CuriousMitch  and me reacting to that


Before I knew it I was involved in a whole conversation stretching out over multiple days about the merits of American Football and culminating in getting myself invited for a Super Bowl party to be hosted by Mitch. He was having some guests over to his house and invited a bunch of others to join in through a Google hangout so that we could all enjoy it together from our respective living room (and time zone!).


Now I did have to think about it for a minute as I realized I would have to take a day off (game started at midnight Sunday night and was going to last at least 3 hours according to those who knew). But I was more then willing to do that, seeing it as a great social & cultural experiment to see if Social Media really could make this possible. Plus anyone that knows me knows I’m always in for something crazy and this one certainly fell into that category!
There was only one problem, I had absolutely no clue about American Football!.... And so I was drilled and grilled over the last two weeks through Twitter and Skype by several people about everything NFL and American Football. Waking up to tweets like this


And even getting a visual demonstration with diagrams and lots of arrows through a LotusLive meeting & Skype.


All leading up to the big event: The game.


 A multi layered play in 4 acts played out on the field, in a Google Hangout, on Twitter and on Facebook.

I loved it! 

Not just because I like being part of big parties (which the Super Bowl certainly is) but also because it shows the power of Social Media and the cultural shift it is bringing about. Who would have thought 10 years ago that something like this would even be possible and that I would be able to enjoy a ‘cold one and a game' from my living room in The Netherlands with people in Australia and the USA? Allowing me a very personal and up close glimpse into their worlds, living rooms and passion for American Football.

So what have I learned from all this? 
  • Taco's & Chili in at least 5 variations seems to be the favorite US Super Bowl party food 
  • American Football can be fun and exciting once you get a basic grip of the game rules. Even if they drag out a one hour game to 4 hours easily 
  • Australia really is sunny this time of year (Yes, I know mentally that it's summer over there right now but seeing it just makes it real) 
  • Getting a social crash course on game rules through Twitter, Skype and LotusLive works and is much more fun then learning the old fashioned way!
  • Google Hangouts actually lives up to what it says it does (really impressed after 5 hours of continuous and error-less ‘Hanging out’ with 6-8 others) 
  • I have friends here in NL that were watching the game as well (found out through Facebook halfway through the game). Setting up a date to do next year’s Super Bowl together 
  • I should never drink Redbull at 3:30AM if I want to have any chance of sleeping anytime soon (couldn’t fall asleep until 6:30)
So.... having a 'virtual' party like this doesn't necessarily trump the real live experience and might, by some, be considered really geeky. But getting this group from 3 continents together otherwise would have simply been impossible. It just added a whole new layer to being social, showing how Social Media and online collaboration tools really do stimulate cultural learning and exchange. And in doing so making the world a smaller place.

Thanks guys for making this an experience to remember! 



Sunday, February 05, 2012

Lotusscript TimeDifference & Long data type - Grrr....

Spent Friday investigating some freakish code problems. This one just blew my mind....
When assigning numbers to a data type what do you expect to happen when you assign a number to big to fit the assigned data type? Right, an overflow error. 

Well explain this then....

Ok, yes I know, you can solve it by using "difference# = notesDateTime.TimeDifferenceDouble( notesDateTime )" method which will return a double. I just can't get my head around the fact that it didn't return an error when it overflowed on 2,147,483,647 and instead continued up from it's negative boundary (-2,147,483,648).
Or is this normal behavior for a Long data type??  I just hate it when I can't logically explain something...

Code I used to test the effect:

Sub Click(Source As Button)
    Dim todayD As New NotesDateTime(Today)
    Dim AlteredDate As New NotesDateTime(Today)
   
    Set todayD = New NotesDateTime(Today)
    todayD.Localtime = todayD.Dateonly + " 00:00:00"
   
    Set AlteredDate = New NotesDateTime(Today)
    AlteredDate.Localtime = AlteredDate.Dateonly + " 00:00:00"
   
    For x = 24850 To 24860
        Set AlteredDate = New NotesDateTime(Today)       
        Call AlteredDate.AdjustDay(-x)
        If TodayD.Timedifference(AlteredDate)<0 Then
            'EXPECTED OVERFLOW ERROR AT 24857 NOT HAPPENING
        End If

        Print "TimeDifference between: " + TodayD.DateOnly + " and " +_

        AlteredDate.DateOnly + " = " + Cstr(TodayD.Timedifference(AlteredDate)) +_
        " ---- Days: " + Cstr(x)       
    Next

End Sub


Update: I got this answer back through Twitter: "@FemkeGoedhart normal behavior for int/long. See http://en.m.wikipedia.org/wiki/Integer_overflow" Thanks @Thimo! It explains it, although the logic of Lotusscript returning an error on overflow of Integers but not on Longs still eludes me....

Friday, February 03, 2012

User Experience: Menu & button placement - How to make your users hate you

I'm kind of opinionated when it comes to User Experience and the way users are directed to use certain functionality. Maybe it is because as a Business Consultant I'm usually the one talking most to users about their frustrations with software. Or maybe because I really believe that to fully understand you have to use it yourself. Whatever it is I spend a lot of time going through UI designs, looking at how stuff works. And one of my biggest irritations is with how badly thought through the navigation and placement of functionality options (buttons/menus/actions) is done in some applications & sites. 

Generally you can group action buttons & menus in 4 categories:

Layer 1: Most used options
These need to be glaringly obvious. Things like a "Create" or "New" button need to be there where ever I am. They need to be big and at a logical place. Not placed at the bottom where I can't see it unless I scroll down.

Layer 2: Regularly used functions
These are things I might use maybe a couple of times each day, so I don't need them to be there all the time but I should still be able to hit them really easily and within 2 clicks. Generally these are the first level options in my menus. Not buried in the third level of some 40+ option menu or hidden on the 3rd tab of a seemingly unrelated 3 page application wizard. 

Layer 3: Rarely used functions
Ok, these are the things users hardly touch. They can be buried a lot deeper. That doesn't mean they should be in an illogical place though... So don't put the 'Share' option of a request on the bottom of the versions tracker tab. Also make sure similar functions have similar logic to where they are placed throughout the application. Knowing a function can be found in the left upper corner on one form will mean users automatically look for that function in that same place on another form.

Layer 4: Preferably never used functions
The interesting stuff. Things the application developers rather not have users use but that need to be build in for that rare instance where it is needed. The things they secretly hope nobody will actually need.... Well users will find them and they will find rational uses for it. So don't try to hide it or make it unnecessary difficult to use. Instead make sure it's clear what it's for and how to use it responsible. There is nothing as irritating to a user then an unnecessarily difficult to find action keeping them from doing something they deem important. For me these options are actually of the same importance as level 3 options and shouldn't be any more difficult to find.

Ok nice, but how? My two cents worth on how to improve.....
  • Determine the base set of functionalities for each page/element based on the use cases  before starting development. Map your menus and buttons for each page.
  • Determine importance. Avoid having an overkill of options on the screen. In general not having more then 3-5 buttons or options in the most prominent layer. All other options should go into drop down menus or at other places.
  • Group functionalities: "Save" and "Save&Close" should be next or close to each other, not on either side of the screen
  • Keep to generally accepted menu build ups. Things like having the "[Print]" option in the first menu to the left which is generally called "[File]". Users expect it there, so why confuse them by placing it in another menu?
  • Create a uniform functionality naming scheme: Don't call the button to create a new form "New" on one page and "Create" on another 
  • Create a mockup for each of the main pages/elements placing the function menus/buttons and review it with the users. Do the same with the menu map. 
  • Keep it consistent and logical: A "Next" button typically resorts on the right side of the page/element, the "Previous" button on the left (and yes, I've seen this done wrong)
  • Keep it simple: Don't create more options than necessary. Having 3 options "export to Excel", "Export to CSV" and "Export to Text" in a menu can also be solved by creating one menu option called "Export" that opens a dialog in which to chose the type of export to use.
  • Think in pairs when it comes to functionality: If you allow someone to "Create" something then they usually expect to be able to "Delete" that something too.
  • During development: Look at the page / element with a typical display size the users would use. Don't give developers a high resolution wide screen display if you're not prepared to give something similar to all your users.... 
So what prompted me to write this? Well because I had one of those moments this week where I could have literally growled at a web development team. The simple task I tried to complete was to unsubscribe myself from several groups I was no longer interested in on LinkedIn. Really? Yes Really. I didn't see the necessity to be a part of them anymore and so they had to go.

I would categorize this as one of those Layer 4 options as in general LinkedIn seems to think people will never leave the groups they add themselves to. So I was expecting having to click a few times to get there. I was NOT expecting to become so frustrated at not being able to locate a 'leave group' option I would have to resort to Google. Browsing search results to find out If, and if so How to do this. The fact that I hit a full page of results with people asking the same question just shows how badly this option was build in.


 
Copyright 2009 (Social) Business as usual.... Powered by Blogger Blogger Templates create by Deluxe Templates. WP by Masterplan