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 Tesla...
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.
Welcome to dominoGuru.com!
Focused on being the go-to resource for the IBM Lotus Notes Domino developer, dominoGuru.com delivers introductory-level best practices and advanced development deep dives for the IT professional, book and gadget reviews, and technical weblog, and more!
Teaser for My Mobile Development Session at The View Lotus developer2010
04/26/2010 11:36:48 AM by Chris Toohey
Here's something you might not see everyday: An XPage UI rocking an iPhone UX on a Blackberry:

My Build Project for my mobile development session, Creating mobile device apps for Lotus Notes and Domino applications, is a simple one: creating an XPage-based HTTP Request Proxy for a Personal Address Book, with absolutely no modifications to the target NotesDatabase design.
Hopefully I see you there, May 11th-15th in Boston!
Lotus Notes Domino, Blackberry, WAP, and forgetting your portfolio (and Ego)!
03/17/2010 11:46:16 AM by Chris Toohey
I found myself in a pretty interesting situation today: I had a customer that had a need that I could address with a very low-tech solution. And it got me wondering if we don't put too much on building this monolithic solution that leverages the greatest cutting edge technology to date and something that's completely unique and amazing... just to sorta pad our own egos -- me being a huge offender of that very thing! I will often take a look at a situation and say, "Hmm, I know how everyone else would handle it; how should I take a look at it?".
And for better or worse, I talk about these really cool, unconventional ways of addressing an issue.
Well, I try not to do that for customers and in particular I didn't this time around. Now, the problem (if you will) or the request was simple: they had a Lotus Notes Client-based application that they wanted to be able to take to the mobile device. Now, the mobile device in question was a Blackberry. They run their own BES server; it's all in-house. They have people in the field that access their backend environment with Blackberries.
Everything was setup, so all I had to do was take the data out of the NotesDatabase and put it into a format that would work on the Blackberry.
I could use direct HTTP Requests... so I went that route.
(Click thru for more...)
Personal Address Book + 1 Domino Agent = Read-Only WAP UI for Mobile Devices
07/29/2009 12:42:41 AM by Chris Toohey
I was contacted by Keith the other day asking me for a downloadable example from my WML-enabling a Personal Address Book - It's in the cards.... article.
Instead of going the multi-Design Element route (as the original article called for a View Design Element and a Form Design Element), I thought that I would take a second to simplify the approach and instead deliver the same functionality with a single Agent Design Element.
The Agent - named mobile - can be added to any Lotus Notes Personal Address Book Template-based NotesDatabase, have that NotesDatabase setup with an appropriately configured Access Control List, put in on a Domino HTTP-enabled Server, and simply point your mobile devices to NotesDatabase/mobile.
The Agent itself is very simple - by design - and can allow for customization via tweaking to meet the needs of the particular customer:
Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Dim doc As NotesDocument
Dim markup_options As String
Dim markup_cards As String
Set db = s.CurrentDatabase
Set col = db.AllDocuments
Call col.FTSearch(|[form] = "Person"|, 0)
Print |Content-type: text/vnd.wap.wml|
If (col.Count > 0) Then
Set doc = col.GetFirstDocument
Do Until (doc Is Nothing)
markup_options = markup_options + |<option value="| + Join(doc.GetItemValue("fullname"), "") + |"><onevent type="onpick"><go href="#card_| + Cstr(doc.UniversalID) + |" /></onevent>| + Join(doc.GetItemValue("fullname"), "") + |</option>|
markup_cards = markup_cards + |<card id="card_| + Cstr(doc.UniversalID) + |" title="Contact Info"><p><b>| + Join(doc.GetItemValue("fullname"), "") + |</b><br />| + Join(doc.GetItemValue("mailaddress"), "") + |<br />| + Join(doc.GetItemValue("officephonenumber"), "") + |</p></card>|
Set doc = col.GetNextDocument(doc)
Loop
Print |<?xml version="1.0"?><!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">|
Print |<wml><card id="card1" title="| + Cstr(db.Title) + |"><p><select name="name">| + markup_options + |</select></p></card>| + markup_cards + |</wml>|
Else
Print |<?xml version="1.0"?><!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">|
Print |<wml><card id="card1" title="| + Cstr(db.Title) + |"><p><b>Unable to load Contacts</b></p><p>There appears to be an issue with this address book. Please contact support.</p></card></wml>|
End If
End Sub
Pretty simple stuff here, which renders the following WML markup:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="card1" title="Example WAP NAB">
<p>
<option value="Chris Toohey">
<onevent type="onpick">
<go href="#card_3CEDB7D07E5327D98525760200117ECA" />
</onevent>Chris Toohey</option>
</select>
</p>
</card>
<card id="card_3CEDB7D07E5327D98525760200117ECA" title="Contact Info">
<p>
<b>Chris Toohey</b><br />
ctoohey@dominoguru.com<br />
610.417.1700</p>
</card>
</wml>
So feel free to take the above LotusScript-based Agent Design Element code and use it to add a mobile device WAP UI to any Group Address Books and such that you might have lying around. Also, feel free to point your mobile device WAP-friendly browser to check-out the online demo that I've setup.
(Note: I wrote this in an Agent and leveraged things like FTSearch from within the mobile Agent. I do this so you can easily pinpoint what's going on and apply any required modifications.)
Now, for a killer solution: combine this with Showtime and deliver via Channel Push - for example - as many icon-laden WAP-enabled Personal Address Books that your customer teams require.
So, to review:
To implement this solution, you can simply create a new Agent Design Element named mobile, past in my code, and point any WAP-friendly mobile device to /mobile.
The beginnings of my 'untitled' Project Management and Tasking project
06/25/2009 02:59:44 PM by Chris Toohey
One of the latest projects that I'm working on is something that I absolutely need: a simple yet effective Project Management and Tasking application.
I've decided to try to make this process as public as possible in an effort to drive away all of my readership to show you an example of ground-up development for new projects.
For example, I've posted the following two snapshots of my notepad entries based on customer meetings that I've had to gather requirements which establish a phase 1 and phase 2 run of napkin development for said project (shown respectively):
Yeah... you really can't see much. But it's not the particular content that I really wanted to share but the overall process.
Thankfully, the customer is all for my sharing this project with the overall community (minus their specific extended-functionality requests, of course), and provided I can get this completed in a timely manner I'll coordinate with the OpenNTF groups and get this online for a download.
I plan on starting development on this project after this weekend, where I'm wrapping up one post-due project and my Domino Java Ajax Proxy wiki article (and example application download)... so stay tuned!
... ok, I'll share a few basic features and functionality that I'm looking to add:
I want to create a fluid multi-client UX, which means using the UI that I played around with a few weeks back to mirror the Facebook UX in a Lotus Notes Client application. That being said, I'm writing this for the Lotus Notes Client, Wap/Mobile browser clients, and eventually a Web Browser client. Silly order you may say, but the fat client and mobile clients were the big requirements for this one... as the Web Browser client is really something that's a nice to have.
As for the functionality in the application itself, each Project will act as a single NotesDocument, which each Task a Response NotesDocument. A Task can have a dependant Task, which will allow you to properly weigh assignee workload across all projects as well as pinpoint potential delivery delays.
Each Task will also act as a milestone within the overall Project, so each Task is weighted against an overall 100% completion rate with completed milestone percentages rolling up to the Parent Project NotesDocument. ... hopefully that makes sense!
So anything else that you'd like to see in this application? Time provided, I'd love to get some click-to-export functionality that will allow you to take the content into Excel, Symphony, Open Office, or even Microsoft Project.
SOTU - Remote Console Command Utility v0.3
01/06/2009 01:17:55 PM by Chris Toohey
I was once asked why I would created a little application that would do nothing more than what could be done with a simple SmartIcon. When I created SOTU - my Remote Console Command utility, it's v0.1 release was a simple utility that - yes - was an extended version of what you could do with a simple SmartIcon. v0.2 gave you the option to configure a simple Sidebar Widget, and allow you to issue Remote Console Commands to your Domino servers with even greater ease. With SOTU v0.3, you won't even have to fire up your laptop!
Simply point your mobile device's WAP browser to sotu.nsf/mobile, and you will be presented with a simple WAP-enabled Form:
From here, you can select the Server and enter a console command. Click the Issue Command button, which submits the request via POST to a simple Domino Agent which uses the SOTU Script Library and issues the remote console command.
Once properly executed, the browser is redirected to sotu.nsf/mobile, and can quickly see the response (if any) from the Remote Console Command via a pseudo-embedded View at the bottom of the mobile Form.
Quick Tip: For you Blackberry users, you can use Showtime to create a simple Channel Push icon for your Admin team and quickly deploy this application just in time for Lotusphere!
Here's a quick icon set that I used for my team - both a standard and an updated icon, shown respectively:
See how I tie things in (eventually)?!
Also, v0.3 has no error handling in the mobile.engine which handles the request... and for good reason. If you get an Agent Done response form the Agent... then something's broken, and it's more than likely a permissions issue with the Remote Console security stuff (which can be changed on the Server Document). The Remote Console Command will be issued by the server, so make sure you have everything from a security side setup or you'll likely see something like this on the server console/log:



