Latest Updates

Products & Applications

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.

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!

How to create whitehat viruses in Lotus Notes (or, I don't *need* you to click on my buttons anymore)!

11/04/2009 11:58:31 AM by Chris Toohey

How many times have you created an email with a Button, which you've coded with Formula or - hopefully - LotusScript that's been designed to perform some function? And how many times do people just ignore those emails? Sure, they open the email once, but they never click on your button for whatever silly reason they have. Ultimately, you're hard work is ignored and didn't get the chance to do whatever you wanted/needed it to do.

YouTube: Lotus Domino Designer Overview

10/20/2009 09:58:17 AM by Chris Toohey

Within 5 minutes, Angus McIntyre provides a great introduction and overview to Lotus Domino Designer. I'm really excited about the material that's coming from IBM lately: introduction, overviews, and documentation, all to support user and geek education of the product and platform capabilities.

Lotus Domino Designer Wiki, Remote Redbook Residency for Lotus Notes/Domino 8.5.1, and why you should care!

10/19/2009 06:54:20 AM by Chris Toohey

Lotus Domino Designer Wiki Today we begin the Best Practices for Building Web Applications for Domino 8.5(.1) Remote Redbook Residency... and I'm a little more than excited with not only the team that we've managed to assemble, but also the content that we are looking to cover in our 8 week remote residency. I'm excited by the prospect of creating content for both the seasoned Lotus developer as well developers new to the platform.

Time Tracker v1.0 - Open Source Efficiency Tracking Utility for the Lotus Notes Client

10/13/2009 10:50:05 AM by Chris Toohey

Time Tracker v1.0 - Open Source Efficiency Tracking Utility for the Lotus Notes Client Time Management experts will tell you an individual only has 24 hours in a single day; proper time management isn't finding time in your day, but rather discovering and dealing with inefficiencies in your day. The best way to discover those inefficiencies - at least as recommended to me as part of the AMA Time Management Strategies seminar which I recently attended - is to document how you spend your day.

With that, I introduce Time Tracker, an Open Source Efficiency Tracking Utility for the Lotus Notes Client.

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!

Time Tracker v1.0 - Open Source Efficiency Tracking Utility for the Lotus Notes Client - Sidebar Widget

Blackberry Widget API and SDK - What You Should Know!

10/12/2009 09:17:26 AM by Chris Toohey

I've gotten a few questions about just what the Blackberry Widget API and SDK are... specifically, not only what is it? but also what do I need to know?. Well, less than 24 hours after getting started... I'm happy to report that Blackberry development has never been so easy.

See, before the Blackberry Widget API and SDK, you needed to know a lot of things that most web application developers may only be slightly familiar with. You had to know Java. You had to know WSDL. You should have a firm grasp on WAP. You needed to know how to write web applications for mobile browsers - and when compared to the mobile browser on devices like the iPhone/iPod Touch... well, it was frustrating to say the least.

And then came the Blackberry Widget API and SDK... which sounds really interesting, but most people I know don't get that excited when I talk about Blackberry Application Development. Most people I know are busy working on their own platforms, and the thought of needing to learn yet-another-technology to support what some may consider a nice to have customer base for the majority of their projects.

I know that I've moved "I need this on the Blackberry" to the nice to have column on countless occasions myself - both due to the time it would take to create a local Blackberry client for the project application and (to be honest) my lack of expertise in Java mobile device development and the Blackberry application development platform itself.

See, I'm more of a web application developer. I use HTML, XML, CSS, and JavaScript to interact with web technologies - mostly IBM Lotus Domino - to build feature-rich web applications.

And I'm happy to report that the Blackberry Widget API and SDK is designed for me: a web application developer.

Using any HTML, CSS, JavaScript, and XML editor, you can create a feature-rich web application... that uses the Blackberry Widget API to allow complete interaction with the device.

Want to get information from the Blackberry device like the PIN, IMEI, or interact with the device Calendar?

Just can use these JavaScript functions:

// Display the device model
function displayModel() {
      var model = blackberry.system.model;
      alert("The model of this device is " + model);
}

// Display the PIN of the device
function displayPin() {
      var pin = blackberry.identity.PIN;
      alert("Your PIN is " + pin);
}

function displayIMEI() {
      var imei = blackberry.identity.IMEI;
      alert("Your IMEI is " + IMEI);
}

// Launch the calendar with today's date
function launchCalendar(){
      // Get today's date
      var today = new Date();
      alert("Today is " + today.toString());
      // Launch Calendar App with today's date
      var calendarArgs = new blackberry.invoke.CalendarArguments(today);
      calendarArgs.view = blackberry.invoke.CalendarArguments.VIEW_DAY;
      blackberry.invoke.invoke(blackberry.invoke.APP_CALENDAR, calendarArgs);
}

And this HTML to call the JavaScript:

<html>
      <head>
            <title>Widget API Basic Sample</title>
            <link rel="stylesheet" type="text/css" href="simple.css"></link>
            <script type="text/javascript" src="actions.js"></script>
      </head>
      <body>
            <div>
                  <p>Widget API Basic Sample</p>
            </div>
            <div>
                  <input type="button" value="What is the model of my device?" onclick="displayModel()" />
            </div>
            <div>
                  <input type="button" value="What is my PIN?" onclick="displayPin()" />
            </div>
            <div>
                  <input type="button" value="What is my IMEI?" onclick="displayIMEI()" />
            </div>
            <div>
                  <input type="button" value="What do I have planned today?" onclick="launchCalendar()" />
            </div>
      </body>
</html>

Yep - it's really that simple! You just write JavaScript functions that interact with the Blackberry Widget API. And you write HTML and CSS to makeup the UI for your application. Yeah, it's pretty simple stuff.

... but you probably think that we're missing something here -- and I am: you need to take your web application - every HTML, CSS, JavaScript, and XML resource - and zip them up into a single file. You then use the Blackberry Widget Packager to create your Blackberry Device Application installation files:

Via command prompt, issue the following commands:

C:\>cd c:\program files\research in motion\blackberry widget packager

C:\Program Files\Research In Motion\BlackBerry Widget Packager>bbwp.exe web/helloworld.zip
[INFO]       Parsing option parameters
[INFO]       Parsing bbwp.properties
[INFO]       Validating zip archive
[INFO]       Widget packaging starts...
[INFO]       Populating source codes...
[INFO]       Start compiling and building...
[INFO]       Generating output files...
[INFO]       Widget packaging is done.

C:\Program Files\Research In Motion\BlackBerry Widget Packager>

From there, you simply install the now self-contained COD file onto your device the same way you would any other Blackberry Device application, and you're done!

You can install your new applications for testing via the Blackberry Device Emulator or - with a few more steps that I haven't actually gotten to yet - install it on your own Blackberry devices.

The good news? We've got not only API documentation, but some pretty slick examples of how we can better use the Blackberry Widget API to interact with not only local applications and offline data stores, but also interact with web/SaaS/Cloud services.

I'm eager to deep-dive into the integration of a few Lotus Notes Client applications that I've worked on/am working on and the Blackberry Widget API. A good one that comes to mind: a mobile device application for tracking effecient, prioritized time against various customers, projects.

Before that of course, I really need to play around...