Showtime
My Blackberry Enterprise Server Push Utility for the Lotus Notes Client, allows you to create Jobs for individual Channel, Message, and Browser Content Pushes, as well as allows you to delete Pushed Channel Icons from defined recipient devices.
Contact Information
Blogger, podcaster, writer, and geek Chris Toohey covers topics from application development to the latest must-have-gadgets.
Latest Updates

More on Mailer...
More on Junction Lite...
More on Remote Console...

More on Controller API Utility...
Products & Applications
Time Tracker
The idea is simple. At the start of your day - upon completion of your first task - create an entry highlighting what you did and whether you feel it was an efficient or inefficient use of your time. Based on several requests, you can also select the priority, apply categories, or even align your time against a project.
For Lotus Notes Client v8.0 and above, you can use the Time Tracker Widget to make this process even easier!
Zephyr
My Configuration-based Rich Text Mail Merge and Emailing Utility, Zephyr allows you to create rich, data-driven emails to support automated workflow - all via Microsoft Word Mail Merge-like architecture. Dear <firstname> allows you to personalize each email message not only to the individual recipient, but also to the individual application workflow event!
xCopy
xCopy is a simple configurable xCopy client for the Lotus Notes client. By creating and defining xCopy Profiles, you can batch process your file backup or remote upload jobs. With the addition of the xCopy sidebar widget, you can easily kick-off these jobs, and modify both the xCopy Profiles and xCopy itself.
Community & Resources
Lotus Technical Information & Education Community
The Lotus Technical Information & Education community is comprised of IBM, business partner, and customer subject matter experts who use product wikis, published articles, white papers, community blogs and the latest in social media to build and share high quality technical content.
OpenNTF.org - Open Source Community for Lotus Notes Domino
OpenNTF is devoted to enabling groups of individuals all over the world to collaborate on IBM Lotus Notes/Domino applications and release them as open source.
developerWorks Lotus : Wikis
Share your deployment experiences and best practices in our wikis and help IBM to create scenarios for successful deployments. Contribute to the community by collaborating on shared content and leverage the shared knowledge from that community.
Adaptive User Experiences in IBM XPages Applications: Overview
02/01/2012 10:46:00 AM by Chris Toohey

For the complete series, check out Adaptive User Experiences in IBM XPages Applications
I am always fascinated by the advances in user interface and user experience made by game developers.
I was a Nintendo Generation kid, with Super Mario Brothers, Metroid, Contra, Zelda, and Super Mario Kart stealing away the late night hours during sleepovers with my cousins. The games were relatively simple: you really only had two buttons to hit (A+B) with a D-pad. Some games however, most of them the quest-style games, were almost impossible without frequent reference to the game booklet (which was often lost) or Nintendo Power. Aside from story-driven gotchas, some games were impossible for novice gamers due to their non-documented demands or near-impossible gameplay.
Can't tell you how many times I died a watery death playing Top Gun. What kind of sicko starts you out in the air only to tell you once you've completed Level 1 that you gotta land or restart the entire level again?!
Speed Up. Slow Down. Up. Down. Up. Speed Up. Down.
*watery death non-landing landing*
[Me:] Screw this, where's Mario Kart... I'm Chode!
(My cousins, who will never read this, would laugh...)
Today's gamers do not have to fall victim of such painful, soul-tearing 8-bit demoralizing rejection... and not, as you may think, because of the countless walkthroughs and gameplay tutorials available online.
From
Game Design: Theory and Practice (2nd Edition) (Wordware Game Developer's Library) [emphasis added]:
... even with the most realistic game, players will need time to learn how to play your game, and this learning experience is often a crucial time in a player's overall experience. The first few minutes players spend with your game will often make the difference between whether they want to continue playing it or not. Whenever players tell friends about your game, they will often remember those first few minutes and say, "Well, it was a little weird to get used to" or, preferably, "It was great. I jumped right into the game and found all this interesting stuff."
In the past, many computer games relied on manual to teach players how to play them. With some titles players literally had almost no chance of success in the game without first reading a large chunk of the manual. Today many games try to get away from this reliance on players' reading ability, realizing that often the last thing players want to do when they have just purchased a new game is to sit down and read an extensive instruction manual. Players definitely have a strong desire to just pick up the controller and start playing the game.
Pick up any decent console game today, and you'll find that Level 1 is specifically designed to walk you through the gameplay while introducing you to the story. In Halo: Reach, the entire first level -- which is very action packed -- walks you through step-by-step how to navigate, use your weapons, ride vehicles, communicate with your team... and before you know it, you're actually playing the game using a hell of a lot more buttons than A+B!
The idea is to capture both the hard core gamer crowd as well as the all-important casual gamer.
... so what does this have to do with application development? Everything!
How many applications have you deployed that required some form of training? Sure, your application might be amazingly feature-rich, but if you have to pull people out of their jobs and into a classroom setting to learn how to fill out a form for toner cartridges or a new laptop after you accidentally dropped yours in the tub while you were taking a bath [yeah, this happened years ago at a company I worked for to a VIP...], then you might need to rethink not only your user interface, but also your overall user experience.
IT make for the worst QA people, because we think like IT. We actually expect that "some of these contents are not secure" error thrown by Internet Explorer, and we do not consider it an interruption in the user experience. We also know -- because it's our job -- that a "new BlackBerry" request would fall under the Mobile tab instead of the Computer tab... and we'd think to look for the mobile aircards under the Mobile tab as well.
What I'm getting at is that we're the hard core gamer. Our users, or at least the vast majority of our users, are nothing more than casual gamers.
We can take a cue from game developers and the idea of casual-to-hard core-evolving gameplay to create an adaptive learning user experience and user interface that matches the individual user's skills and understanding of the application.
This adaptive learning UI/UX will walk the user thru the use of the application and award them experience points upon reaching pre-defined milestones.
As the user gains XP, you simply disable the adaptive learning user experience and load the hard core (or power user) experience.
This is, quite frankly, not a new concept. Most consumer-facing technologies will give you a wizard-driven UI/UX to take you through your initial transactions, but once you've gained a history of usage you're pretty much given the power user UI/UX.
What I think is the new slant on this concept is simply this: XP drainage. Simply put, you need to lose XP over time.
So let's say you get 5 XP for every submitted request in your application. The adaptive learning user experience threshold is 20. Your XP drainage is 10 per month.
What this means is that frequent users of your application will have enough XP to never see the adaptive learning user experience guide again once they've passed their initial threshold... but if a user comes back to your application to complete a request 6 months after their last submission, they should see the adaptive learning user experience guide.
Let's take a look at a simple diagram that should help illustrate this idea:
This concept relies on the XP Store. This NotesDatabase will house User Profiles and Application-specific Milestones/achievements. A backend process, the XP Burn, will purge XP (as configured) for the specific application. And finally, the XP Store will be accessible via a pre-defined API.
Each application that uses the XP Store via the API can access the user profile information as well as the application-specific milestones and settings to determine both experience points awarding and, of course, which user experience to render.
In the next part of this series, I will discuss the architecture of the XP Store. We'll review the App-specific milestones (and other app-specific settings), we'll look at the user profile facility, and we'll establish the XP Burn process as well as the XP API.



@Dan:
Yes, to an extent. The idea of levels and progress bars can/(and in the demo, will) be used, but this series will discuss more of the initial setup of the XP Store, the definition of in-app milestones, adoption of the concept of "experience points" for interaction with the application (which could translate to levels), and various UI design tactics that can be employed by XPage application developers to create this adaptive user experience.
Hey Chris, I like it! The client I am working for full time needs to update their Notes/Domino design standards. We're using 8.5 and the standards are for R5 with some R7 additions.
One of my pet peeves about the client is that they don't want to have to train anyone to use Lotus Notes. They'll have videos on the intranet, display posters in the lobby, and hand out trinkets if SAP or Microsoft upgrades happen, be we're still forced to present the Workspace when Notes launches.
I like where this is going and I can see how we might be able to incorporate some cool, new features into our applications without them realizing they've been trained! :-)