PermaLinkThe ObamaBerry "crisis"08:59:11 AM
Written By : Scott Good
The President's BlackBerry is a lot more secure than they'd have you believe.

I'm sure you've seen some of the hype about President Obama's BlackBerry and have probably heard the various noises being made (mostly by people who have no idea what they're talking about) discussing how unsecure it is and why, therefore, it's a risk to our National Security.

My friend John Wargo, who knows a lot about BlackBerry devices (he worked for RIM for a while, has just written what I think will prove to be the definitive book on BlackBerry application development, and is one of the best BlackBerry developers in the country) took the time a few days ago to explain why all the hype is just so much hooey.

If you have a few minutes, you may want to read John's post, The President's BlackBerry. Interesting stuff.


PermaLinkWhy looks matter (to your customers)09:19:50 AM
Written By : Scott Good

"Don't spend any time on making it look's only for internal use. All it has to do is work right."

Design doesn't matter to you? Really? Which beer would you rather have?I'm wondering how many times we've heard that statement from customers. I can't tell you the exact number but I can tell you it is a lot.

Every time somebody tells us they don't care how their application looks, we laugh. Not a mean laugh--it's a nice laugh--but we laugh nonetheless. That's because (a) we know they're lying and (b) we know we're going to make it look good, anyway.

Mind you, they don't mean to be lying--more often than not they're just trying to save a little money--but the truth is, it's not the truth. Not even close. They do care how it looks, even if they haven't quite admitted it to themselves yet.

Fortunately (for them), building ugly applications is something we're not willing to do. Blame me for that, if you like, but, personally, I can't stand to even work on an ugly application, let alone use it. I certainly don't want to stick any of our customers with one, even if they have, for all intents and purposes, asked for it.

Why not? For a lot of reasons, the most important of which is I know that, at some level, design matters to pretty much everybody.

"Not to me," you say. "Function matters a lot more than design. Design is just a nice-to-have." Uh huh. Yeah. I hear what you're saying but I don't believe you. Design is integral to everything we do and everywhere we go, every day of the year. Like it or not, you see and touch and use great (and terrible) design work all the time, and somewhere inside that function-is-all-that-matters head of yours, you not only know the difference, you care about it, too, a least a little bit.

An example? Sure...

Consider the two beverages shown above. Let's assume they have exactly the same beer on the inside and that the cost per ounce is identical. So, same beer, same price. The only difference is the printing on the cans. Which would you rather buy? Which would you rather drink? Which would you rather serve to friends?

I'm going to go out on a limb here and guess you didn't choose the beer on the left.

But maybe that's not quite fair. Let's leave your friends and all that peer pressure out of it for the moment. Let's even change the price a little. This is just beer for internal consumption among the members of the household. Nothin' fancy. Your friends and outsiders won't have to see it and the good news is the one on the left is now a penny an ounce cheaper. Still the same stuff inside the can but with the plain one you can save more than two bucks a case. I'm sure you'd be OK with the one on the left now, wouldn't you?

After all, it's the same beer, but cheaper. Clearly, the smarter buy. And, it's just for the "employees" of the house, anyway. Surely they won't care.

Or will they?

Read More . . .

PermaLinkMyths about Notes (and Domino)10:22:23 AM
Written By : Scott Good

I'm surprised how often I hear people spouting off information about Notes and/or Domino that is more than innaccurate, it's just plain There is an amazing amount of wrong information out there about Notes and Domino. Myths, like those about dragons and cycops, abound... wrong. And always, it seems, from people supremely-confident in the rightness of their wrongness.

In for a penny, in for a pound, I suppose.

These are the Myths of Domino and just like the years-gone-by myths of dragons or sea creatures or Minataurs, what irritates me most about them is how often they come from people who (a) should know better, and (b) are in positions of authority to make poor decisions on the basis of them.

We have come to the point that some of our proposals now contain an entire section devoted to addressing some of the most pervasive (and damaging) of these myths. I thought I might share some of the more damning with you and hopefully you'll share the ones you've heard, too.

So, here goes:

Read More . . .

PermaLinkYEAH baby! (Notes mail on my iPhone)03:51:32 PM
Written By : Scott Good

FINALLY, I have real Notes mail on my iPhone. Yea Lotus! I've had the iPhone for what seems like a long time and as much as I love it I have to admit I look Lotus Traveler brings real mail to the iPhone enviously over the shoulders of BlackBerry users as they endlessly and effortlessly check their e-mail from EVERYWHERE.

By comparison, we Notes iPhone users feel somehow inferior with our vastly superior handsets saddled with a commoner's need to log-in.

Oh, I see. How...unfortunate.

YES, I have iNotes and its special iPhone interface and, YES, it works pretty well but's not nearly native e-mail and, well, it's good but it's not great.

Now I've got great.

Lotus Traveler to the rescue. After a very easy server setup (thanks Gab!) and about two minutes of fiddling on my phone I now have full mail, calendaring and contacts just as god and Steve Jobs (or am I being redundant?) intended.

No more web interface. No more nice but not-nice-enough interface.

I've got NATIVE Notes mail, baby.



PermaLinkUsing a team to build a single form (at the same time)09:18:26 AM
Written By : Scott Good

We have finished several Domino projects over the past year where we have consistently had multiple developers working on the same form at the same time. Not the same project, the same form.

Working carefully, it's possible to have many developers working on a single form at the same time.

In the most recent, there were three of us more or less constantly on the project (and in the form) for three months. In one before that there were, at times, as many as eight developers working on the same form at the same time. And these aren't trivial applications. The latest included more than 8,000 lines of JavaScript. So...pretty serious stuff.

"Wait just a minute. That's not possible," you say. "You can't have more than one person working on a form at one time without causing all kinds of problems."

Actually, you're right but, as it turns out, wrong too. Let me explain.

Read More . . .

PermaLinkNotes 8.5 rocks!04:07:35 PM
Written By : Scott Good

I loaded the Gold version of Notes 8.5 today and let me say, it is great. ND85Workspace.jpg I've played around with the Betas, of course, including the new Mac client, but my day-in day-out client of late has been 8.0.2 and I'm here to let you know 8.5 is significantly faster.


And this, running on XP inside a VM session on a Macintosh. I may not be able to stand the speed of the native Mac client (though I'm willing to try).

It's like when you first get a new computer and everything that used to be slow is now fast again. I'm still in the look-how-fast-it-does-that euphoria.

If you've been using one of the early ND8 versions and are complaining about speed, take a look at 8.5. For me, at least, it is waaaaay better.

Nice job, Lotus, and...thanks!


PermaLinkWe made the Business First "Fast 50"!09:56:03 AM
Written By : Scott Good
Teamwork Solutions earns one of Business First's Fast 50 awards

We recently learned that Teamwork Solutions has made it onto the Business First Fast 50 list of the fastest-growing privately-held companies in Central Ohio.

Beginning in late 1992 as a three- but soon to be two-man shop with literally no money (the number zero comes to mind), and working out of a German Village basement that was so, um, height compromised some of our visitors had to stand with their heads between the joists, it is very satisfying to make it onto this list.

While we know we made the top 50, they won't tell anyone where they are on the list until Thursday's awards luncheon. I'm betting on mid-pack (but I'm good with that!).

Thanks to everyone at Teamwork, all our clients, and our professional friends who made it possible. Here's to many more good years for all of us!


PermaLinkMore than you ever wanted to know about Domino date fields02:48:17 PM
Written By : Scott Good

We are nearly finished with Internationalizing our workflow tool, ProcessIt. This has been a pretty significant effort, out of which has come a whole suite of tools that make it much easier to convert any Domino application to support multiple languages.


YES, I KNOW the "Spanish" in the image here is awful. I used Google's translation service to get something to put in all the places there was language. We are the in the process of getting real, actual, translations. The cool thing is, the way we built this, substituting them in is trivial. Really.

I'll write more about the whole toolset another day. Today, I want to concentrate on a single tool in the box and some interesting things we learned along the way.

This release of both the toolset and ProcessIt has concentrated on web-facing applications, although we have built all the tools with an eye toward making things work in the Notes client, too. One of the biggest challenges has been getting a great user experience for all the various dialog boxes you have to use.

Workflow applications, like pretty much any sophisticated Notes/Domino application, involve some amount of user interaction in the form of prompts, calendar pickers, date pickers, etc. One of our goals was to get rid of anything that required opening a new window. We wanted a modal-dialog-like experience.

And, we (which is a nice way of spreading the blame around by not saying "I, the anal-retentive one") didn't want to use the DoJo dialogs as they are, how can I put this nicely?, SLOW. As a result, we have spent a not-insignificant amount of time rolling our own, one of which you can see in the image above.

The calendar picker, which you see here, had a whole set of special problem because date fields have all kinds of different formats you can set them to use. So, we had to make it smart.

Read More . . .

PermaLinkBob Ivers joins Teamwork Solutions08:24:44 AM
Written By : Scott Good
Bob Ivers joins Teamwork Solutions as the Managing Director of the Cincinnati Ohio office.

I am really pleased to announce that Bob Ivers has joined Teamwork Solutions as the Managing Director of our Cincinnati office.

Bob is a long-time friend both personally and professionally and spent many years with Lotus back when Lotus was, well, Lotus, and then for quite a while into the IBM years.

After IBM he had a spell at Microsoft, letting him see the other side of the story, before spending several years in a really interesting start-up along with his brother Bill (it's a great story...ask him about it).

As our main conduit (back in the day) to things Lotus and/or IBM, we got a chance first-hand to see Bob from the perspective of a client and I can say without equivocation that Bob was amazing in what he was willing and able to do to get things done both for us and for our clients.

Never much of a stickler for exactly following procedure just for procedure's sake, Bob is a guy who concentrates on doing what's right, which is exactly what you want in a guy in his position, both then and now.

We have been trying for many years to find a way to entice Bob to join our team but usually there's been a timing issue one way or the other. FINALLY, we've hit upon a moment that's right for everybody.

Needless to say, we are thrilled.

If you'd like to reconnect or share your congratulations with Bob, feel free to send him an e-mail or give him a call at 513-791-8222.

Bob: Welcome to the (Teamwork) team! We're really glad you're here (finally!).


PermaLinkMerging Domino Domains09:18:38 AM
Written By : Scott Good

First, my apologies for not writing sooner. We have been absolutely slammed for the last several months. One of the most interesting projects HorseRace.jpg we've been working on has to do with changing Domino Domains for a major international client.

Bear with me for a moment, this is actually more interesting than it sounds. Honest.

Here's a quick synopsis of the situation: This client started out as a single billion-or-so-dollar company. Its Notes Domain, for the sake of this discussion, was Acme. All the users were certified with /Acme but also with two other for their location, one for their country (yes, I know you can have a Country component your Notes name but this client did it as an OU).

So, people were named names like Scott Good/Columbus/US/Acme.

Over the last several years, this company has been on a merger and acquisition binge and has now pulled together 8 or 10 companies into a new company which is no longer called Acme. They have added servers and people and locations. And a new Organizational certifier, too, /Global, which has been used for all the new people.

But not for the original Acme people, nor for any of the servers.

So, now there are 8,000 or so users, of which 2,400 are /Acme and 5,600 are /Global. There are 70+ servers which area all /Acme. And, there are two sets of OUs for each location, depending on Certifier; there's /Columbus/US for /Acme, and there's /COL/US for /Global. Oh, and just to keep things interesting, there are more than two thousand custom Notes applications out there floating around the organization.

The continued existence of /Acme and of e-mail addresses for key executives ending in has become a point of embarrassment for the folks at the top, so we were brought in to convert all the people and all the servers to the new /Global domain.

Really, when you say it like that it really doesn't sound all that difficult. But the devil is in the details and what we've found is the simple directive, "move everybody to the new Domain," is an awful lot more complicated than you might think.

I'm writing this story to give you a sense of the kinds of things you'll need to consider if you happen to be heading down this particular road.

Read More . . .

PermaLinkAn improved AJAX NAB picker02:40:13 PM
Written By : Scott Good

Some time ago I posted our AJAX NAB picker for public consumption. It has been pretty popular, but Ben Dubuc found and fixed a few issues and has posted it on his site.

You can download the updated/fixed code here or from his site.

Thanks, Ben...much appreciated!


PermaLinkJSON and Domino02:35:48 PM
Written By : Scott Good

Do you do web development? Do you know about JSON? If not, you JSON.gif should. JSON (pronounced "Jason") is the acronym for JavaScript Object Notation. It is, among other things, a faster, simpler, easier-to-use alternative to XML. And, while that's not all it is, that alone means it is a terrific tool to add to your AJAX toolbox.

So what is it and how can you take advantage of it? I'm glad you asked.

JSON is not something new, but a general awareness of it among the developer community is. What it is, is a smart use of the flexibility of JavaScript variables. Give me a moment to walk you through it.

In JavaScript, there's only one kind of variable. In other words, variables aren't typed. You don't have to declare that variable x is a string while variable y is a number (or an array or an object). Any variable can be any of these things. Whereas in a language like LotusScript you have to declare types with your variables...

Dim ohioStateNum As Integer
Dim ohioStatePop as String
Dim ohioStateArea as String JavaScript you simply identify the variable name:

var ohioStateNum;
var ohioStatePop;
var ohioStateArea;

Or, you may identify variables and give them values at the same time:

var ohioStateNum = 17;
var ohioStatePop = "11.5 million";
var ohioStateArea = "40,948 square miles";

The fact that one is a number and two are strings is unimportant to JavaScript. It's just a variable of some kind.

Read More . . .

PermaLinkA big JavaScript speed pick-up03:30:31 PM
Written By : Scott Good

We are in the middle of big project rewriting the web interface used by Insurance Agents to quote, order, and manage Auto policies for their clients. I can't go into a lot of details about the specific application but suffice it to say JavaScript Performance there are a lot of fields on the form and that the code needs to access and re-access those fields over and over and over again.

That's easy to do with JavaScript, of course, but (there's always a "but")...when you do LOTS of this things tend to get slow.

Really slow.

Because we're writing this application as the base for a number of other products offered by our client, we have purposely built flexibility into it. So, where you might otherwise have hard-coded the number of vehicles or drivers, we have purposely built this application so those numbers can easily be changed. I already wrote about other aspects of this capability in a previous entry here.

Once you have all the flexibility of dynamically allowing the number of fields on the form to change, you can't exactly hard-code access to the fields (as the number of them can change at any moment). In JavaScript, that means you have to use a lot of eval() statements in your code, more or less like this:

var fieldRef;
for (var i = 1; i <= maxDrivers; i++){
    fieldRef = eval("document.forms[0].DriverFirstName" + i);
    // then do something here with fieldRef

Pretty standard stuff except that, as I said, it can be really slow, particularly if you need access to the same fields over and over again, which we do.

So, we came up with what has turned out to be a spectacularly successful (if I may say so) work-around.

Read More . . .

PermaLinkDomino Web Development Boot Camp05:40:10 PM
Written By : Scott Good

Next month at Lotusphere, we will be announcing our new intensive 4-day Domino Web Development Boot Camp sessions offered here in Columbus. Photo Copyright 2006 Photodisc, Inc.

Available in two flavors, Introduction and Advanced the Boot Camps will give Domino developers of all skill levels the tools and information they need to be able to build sophisticated Domino-based web applications.

Details are still being pulled together but instructors will include myself and Henry Newberry along with several other of our most web-saavy team members. If you just can't wait for the announcement in January, drop a line to Steve McIntosh, our Director of Product Sales.


PermaLinkAJAX for views?07:06:47 AM
Written By : Scott Good

Ever since I first saw AJAX and, for that matter, DHTML, I've wondered if there wasn't a way to improve the way Notes views work from AJAXViews.jpg the web by combining those two technologies. Well, I've just finished the seventh installment of my Lotus Advisor series on AJAX and that was the Challenge of the Month.

Well, as they say in the South of France, voilą y'all. Click on the image to the right (or here) and try it for yourself.

Is it ready for prime time? Probably not, but it's pretty close. Works great in IE and Firefox. Was working great in Opera until my last tweak, so either I have a caching issue or I need to spend another half hour soon and figure out what dumb thing I introduced.

But there are some cool things going on here. When you first load the page, notice that it puts only part of the top-level categories on the page, then pauses, then finishes out. That's actually by design: Since it really has no way of knowing how many entries are in the view, it makes the initial AJAX call without an &count= other words, it only gets back whatever the server's default number-of-lines-to-return settings specify (ours is set to the default 30 lines).

That's a relatively small number of nodes, so it's quick, and quick is good.

Read More . . .

PermaLinkA very cool application...08:42:54 AM
Written By : Scott Good

It's been a long time since I've posted here. Sorry about that. We have been extraordinarily busy lately. That's a good thing but it's only just now that I have, however temporarily, been able to get my head back above water.

Henry and I have been particularly busy with the rebuild of an on-line insurance quoting and management system. The story is terrific but I'm not sure I can talk about it right now.

Technically speaking, the project is even more interesting.

TableDuplicatorExample.gifInsurance rating, if you haven't spent much time with it, is surprisingly complicated. Take an Auto policy, for example. It's not always so simple as just you and a car. Families have multiple cars and multiple drivers. The rate you pay is influenced by all kinds of things including the driving records of all the folks on your policy, their ages, which cars they drive and a laundry list of other factors.

Trying to collect all this data--from many sources--into a single easy-to-use interface that is fast and attractive is really quite a challenge. We have come up with what we think is a great solution (wish I could show it to you right now) that uses all kinds of web development tools: HTML, Javascript, DHTML, AJAX, XML, Domino name it, it's probably in there but the cool thing is it's all pretty transparent to the user.

Along the way, and based on a great suggestion from the lead developer at our client, we came up with a very interesting technique for building web applications that involve multiple sets of the same data. You know, like mutiple drivers, or vehicles, or buildings.

Read More . . .

PermaLinkSolving web replication conflict problems?08:26:35 AM
Written By : Scott Good

Yesterday I finished my latest Lotus Advisor article, the fifth in my series on AJAX in the Domino world. AJAXEditCtrl.jpg In this one, thanks to some much-appreciated help from Henry Newberry, I solved what I think may be an as-yet unsolved issue with Domino web applications: Preventing multiple people from editing the same document at once.

The problem, as you may know, is the web is stateless. That is, it's not like the Notes client where, except when the client or Windows crashes, there are recognizable events when you both open and close a document. Using those events (Query- and PostOpen, QuerySave, QueryClose), you can build mechanisms into Notes applications to keep two people from editing the same document at the same time (assuming a few things: They're on the same server, etc.).

We've been doing this in ProcessIt! for many years now.

Heck, with R6, Lotus added this capability into the standard Notes client so even mortals could get this stuff working for client-based applications. But, as far as I know, there are still no solutions to this from the web. The problem is, once the server sends its stream of code down to the client, it goes on to other things. It has no way of knowing whether you're still there or not.

Maybe more to the point, you, as a user, can leave the Domino page in your browser at any time to do whatever it is you're doing when your boss isn't looking. When you ditch the work you were supposed to be doing to go search eBay for trinkets and trash, the server has no idea you're not there anymore. Consequently, it doesn't know whether to allow me to edit the document you were "working" on eariler.

Well, we've solved the problem using a little AJAX and a simple Notes agent. It's easily portable to other applications, runs quickly and...turned out really great. To find out more, look for the September 2006 issue of Lotus Advisor.


PermaLinkLooking for a few good men (or women)11:26:06 AM
Written By : Scott Good

I don't know about you, but we are BUSY (which is a good thing). So busy, we're looking for more people. UncleSam.jpg Maybe we're looking for you.

We have positions available for full-time, long-term placements at one of our favorite clients as well as full-time application developers/project managers in-house here at Teamwork. Is this you? Maybe. If so, I'd like to hear from you. You can contact me by e-mail, or phone, or even at the AdvisorLive session in Las Vegas this week if you're there.

To be specific, we need a few good people who know a good deal about Notes and Domino development. While senior-level developers would be great, smart not-yet-senior-level developers are interesting to us, also. We have a long and strong track record of teaching smart people how to do really smart things with these technologies.

Web skills are a big plus. Project management/account management skills are another big plus. You'll have to move to Columbus (or vicinity) if you're not here. That's where a lot of the work is. Travel will be light, possibly nonexistent. On the other hand, if you like to travel there are opportunities for that, too.

This is a great place to work. It's more of a family than a job (okay, you still have to work, but you get my drift). If this sounds interesting, drop me a line or give me a call. Let's see if we can find a way to add you to our team.


PermaLinkNew Lotus Advisor series in the works09:58:07 AM
Written By : Scott Good

It's like a horse I can't get off. Writing for Lotus Advisor, that is. I've just turned in my last set of proofs for the first article in a new series I'm writing for them on the fundamentals of AJAX. That makes, if you're counting, my 41st Advisor article and the sixty-first article published by one of our people here at Teamwork.

In any case, AJAX, if you've been stuck in meetings for the last year or so, is an acronym for Asynchronous JavaScript and XML and it's very hot right now. More importantly, it is a really interesting use of technologies that, it turns out, is actually pretty easy to implement.

I am certainly not the first person to write about AJAX. I'm not even the first to write about it in Advisor. Richard Schwartz has that honor. He wrote a great article on the topic back in October 2005. So, why another article or, in my case, a whole slew of them?

Because, as I've talked to clients and peers around the Notes/Domino world, it is clear that while everybody is pretty interested in AJAX, most people have little idea how to figure out when it's appropriate in their applications. Even fewer have a clue about how to actually build it should they be fortunate enough to come up with a place to use it.

Well, that's a shame.

This is good technology that has lots of useful applications. Back in November I posted here an AJAX-based Domino NAB-picker for the web which I helped tweak (but Matt White actually wrote most of) that is, by a long margin, the fastest NAB picker I've ever seen. That's "long margin" as in "by an order of magnitude." We have tested it on Address books with more than 200,000 names and the response is almost the same as with our meager little 300ish-name NAB here at Teamwork.

That's not just good, that's amazing. Carrying the idea a bit further, though, I'm working on an AJAX-based type-ahead drop-down thingy that will let you skip the NAB-picker altogether and go straight to the names, right from your field. That'll be even better and faster because you can skip the whole open-another-window-and-wait-for-it-to-get-going part of the process. You just start looking for names.

And, it's just the start of the kinds of things you can do with AJAX.

The technology is so good in the right applications that it's almost criminal not to use it so, well, I decided to start digging down into the bowels of it to try to make it understandable and usable to everybody.

Time will tell how successful it is but I can tell you I think the first installment (May 2006, Lotus Advisor) is a good one. Also, for what it's worth, if you're coming to the AdvisorLIVE event in Las Vegas this April, I'm giving a Fundamentals of AJAX session there, too.


PermaLinkSolving the NAB-picker problem02:11:05 PM
Written By : Scott Good

If you've ever built Domino applications for the web, chances are you've had to face the problem of getting something out of the Name and Address Book (that's the Domino Directory to you newbies). For whatever reason, an easy way to access the NAB isn't a part of the core Domino developers' package even though there's a pretty good one in the iNotes mail package.

So, we're left to roll our own.

There are a number of fair, even some good, solutions floating around out there, including one we built many years ago and which has been included for years in our ProcessIt! workflow tool. If you were at Lotus Advisor Live last summer, you may have downloaded a copy of ours along with my session demos.

While ours was pretty good, it was a bit slow--particularly on really big NABs--and it had a whole lot of pieces and parts needed to make it work. Well, that's been solved thanks to some very smart (and amazingly compact) coding by Matt White. Matt used AJAX, the smorgasbord of technologies that's popping up everywhere these days to set down the basis needed to build a great NAB picker.

His, which you can try out here, is actually more flexible than we need for just a NAB picker. It can work against more or less any database and more or less any view which could be amazingly useful in the right applications but is unnecessary for a strictly NAB-picking application.

And, while it is blazingly fast, it lacks some of the more mundane user requirements. You can't change between address books, for instance, and there is a little too much clicking around required for a really spectacular user experience. But it is close, man. Really close.

All it needs is a little polishing, which I've been busy doing. You can download a copy of mine (pictured above) here (instructions for installation are in the Help About document, and a demo Page you can use to try it out on your server is included).

You're welcome to use this in your own applications but please retain the copyright statements for both Matt White and Teamwork Solutions. And, if you add some new enhancements, please share them with the rest of us.

Read More . . .

PermaLinkDomino like the Constitution?07:31:32 AM
Written By : Scott Good

Okay, I admit it: I'm a geek, and not just a little bit biased about Lotus Notes and Domino, but I was thinking the other day about the amazing foresight of Ray Ozzie and crowd when they originally drew out the blueprint for Lotus Notes.

No, really, think about it. This is a comprehensive bit of software originally released in 1989 (coding started in about 1982) which has still (a) never really been challenged with a competitive product and (b) is completely backward compatible. In other words, if you built something in, say, version 2 (that would be in the 1991 timeframe), it will still work in release 7 here in the new millenium. Consider that upgrading to the latest version of Microsoft Exchange requires an entire rip-and-replace of even the most recent prior version and you'll begin to appreciate the magnitude of this.

What's more amazing is the original seven or eight data types ("notes" internally) defined way back in the stone age of computerization (early 1980's) are still what are bascially under the hood. Consider what a great web tool Domino is today and then realize there wasn't an Internet when they started building this. Well, OK, there was the beginning of it for a few uber-Geeks, but NOBODY knew about it. Heck, back when they laid this all out, there weren't networks in offices.

And yet, the same structure is valid today for an incredibly more complex and comprehensive set of features.

Pondering this yesterday made me think of the US Constitution. Here we are with a document pounded out by a bunch of revolutionaries that somehow managed to set down the basic precepts of a government in such a way that almost 230 years later it is still as relavant and viable as it was then.

It's incredible, really. Both of them.


PermaLinkInternationalizing applications04:40:31 PM
Written By : Scott Good

Another trend we've been seeing recently is the need to internationalize Notes, or in most cases, Domino applications. We have a lot of clients with an international presence--most of them, really--but until recently almost everything they did was in English.

That seems to be changing.

Suddenly we are getting RFQs for internationalizing existing applications, some of which we originally built, some of which we didn't. We recently completed a nice internationalization project for a major retailer (you'd know them) and are getting ready to do the same for a very large chemical company which needs its applications converted into 11 languages.

It could be we're being asked to do this because it has become a bit of a specialty for us, or maybe it's simply because of our existing business relationships. In some cases it's both, of course.

We've found a really great way to internationalize Domino web applications which lets us make both the forms and the views change text based on the user's computer's Regional Settings. We're not translating the text users type in, of course (that's only about 80% accurate when machine-translated) but we can make it so a single application can work for almost any number of individual languages.

Read More . . .

PermaLinkIt must be budget time09:34:28 AM
Written By : Scott Good

Suddenly, there has been a lot of interest in ProcessIt!, our award-winning workflow tool for Notes and the web. Well, to be fair, there's always a reasonable amount of interest--a regular stream of downloads and people trying it--but over the last month we've had five organizations decide that, yes, ProcessIt! is the right tool for them on an Enterprise basis and, yes, they're ready to buy.

Each one of these is music to our ears, of course, and a decision we highly endorse, but it does make you wonder about the timing. My bet? It's nearing the end of the year and folks have a lot more idea how much is left in their budgets. With Enterprise licenses starting at just $60,000, this is a purchase that's pretty easy to justify in an organization of any size.

Of course, single database licenses are a lot less (just $7,500) and they're selling, too, but right now it's the Enterprise licenses that seem to be in the most demand. That's quite comforting as it shows these organizations (most of whom have bought at least one single-database license to try it out) are clearly seeing the value we promise in our advertising.

Most interesting of the new Enterprise clients? A major communications company in the Ukraine and the government of one of the largest states in the US.

Have you tried it yet? No? What are you waiting for? You can download a full copy and try it for yourself FREE for 60 days. If you're building even simple workflow applications from scratch, this is a better way to live.


PermaLinkLotus Advisor Live, Day 312:26:38 PM
Written By : Scott Good

Sometimes you just have to back up and punt. That's pretty much today's plan.

Today's presentation, Notes-to-Web, Advanced Topics, was conjured up several months ago. With filing deadlines for presentations and real work to do for my clients, I tend to work out the presentation PowerPoint--the sequence and topics and so on--when they're due but leave the actual demonstration examples until later when I have a little more time.

Usually, that works out just fine. Usually.

For this presentation, though, it didn't. The longer and harder I looked at the materials I said I would cover, the lamer it looked to me. So, I punted. My apologies to those in the presentation but in an effort to significantly improve the content, I re-built my presentation. Like I said, sorry.

However, all is not lost. Besides being a lot better presentation, you can still DOWNLOAD THE PRESENTATION AND DEMO from here and review it at your leisure.


PermaLinkLotus Advisor Live Day 204:26:00 PM
Written By : Scott Good

This week I'm in Las Vegas speaking at the AdvisorLive event here. My topic is actually a three-part series intended to help guide newbies along toward effective web design using IBM Lotus Domino.

Today's session, the second part of the series, was about user interface design and solving common problems in an effective way. Based on the reviews it seemed to have gone well although there were a few complaints about the accuracy of the description. Hm. I just looked at the description on the Advisor site and it sounds right to me.

In any case, if you were there, thanks for coming. If you want the example database, you can DOWNLOAD IT HERE.


PermaLinkUnless you've been living under a rock this week...08:05:13 AM
Written By : Scott Good

Thanks to the folks from Lotus for giving us all a sneak peek at "Hannover," the code name for what will eventually become Notes 8. Aside from the fact you can almost already hear the folks in Redmond calling it "Hangover" this is really great news for those of us with significant investments in Notes and Domino.

Really, this is further validation of the things we started seeing at Lotusphere this year. I've blogged about that briefly already ("Drinking the Kool-Aid", January 25, 2005) and this is like, well, new flavors with a better sweetener.

There's great information about this on Ed Brill's blog, including more screen shots and the like, as well as on about a million other blog sites.

I am thrilled to see Lotus, er, IBM, stepping up to the plate with the confidence to hit one out of the park for a change, instead of hoping for a decent bunt and a fumbled throw to first. These are exciting times for those of us who use Notes and Domino AND for those (like me) making our living in the Notes/Domino space.

And this in the same week they renamed Sametime and QuickPlace back to--yes, I know it's shocking--Sametime and QuickPlace. Two smart things in one week. Let's go for the hat trick!


PermaLinkA hearty welcome06:28:10 AM
Written By : Scott Good

I am very pleased to announce that Henry Newberry has agreed to join our team. Henry, "Newbs" to his friends, is very well known in the Notes community and brings a wealth of deep development experience to our team.

He, like me, is a regular speaker at events like Lotusphere, Advisor Live, and other such events around the country. As of this Monday, Henry is the Director of Technical Services for Teamwork Solutions. He will be providing architectural planning, application development, and mentoring to our team. Hailing from Cincinnati, Newbs will split his time between our Columbus and Cincinnati offices, spreading the wealth as it were.

Henry has been architecting and developing products and applications that improve collaboration since 1980, and has focused on Notes and Domino solutions since 1991. He is a technical editor of LOTUS ADVISOR magazine.

Sitting in his office last night, a little after 6, with him and Steve Branam (my partner), sipping on a nice 18-year-old Scotch Bill Buchan had been kind enough to send to Henry, I mused out loud, "You're going to fit in just fine around here."

Cheers, Henry, and welcome!


PermaLinkThe search begins06:39:17 AM
Written By : Scott Good

Are you the next BigBill? If so, I'd like to talk to you. We are actively looking for a highly-skilled developer ready to join our team.

The ideal candidate will be strongly capable in @Formulas, LotusScript, JavaScript and Java. Skills with CSS, DHTML, XML and other web technologies would be appreciated. To work on our team you need to be self-motivated and a team player. What's that mean? It means if you're as good as we're looking for, expect people to come to you periodically for help and advice. That's part of the deal.

Naturally, I assume you'll know Notes and Domino inside-out. I would prefer you have some strong experience with WebSphere Portal and or IBM Workplace, as well. Experience with networking, firewalls, and the like would be nice.

Ours is a fun place to work with a boatload of interesting and challenging projects for some of the world's largest organizations. There's not a lot of travel involved but, now and then, you'll be out for a day or two.

If you think you have the skills to be our next Bill, send me a copy of your resume and some background to let me know why.


PermaLinkWhy people don't like Notes01:16:18 PM
Written By : Scott Good

It seems like, on a pretty-regular basis, and for a pretty long time now, I run into people who say, "I don't like Notes." Usually, when pressed, they don't have much in the way of reasoning behind it, they just don't like it.

Well, I think I know why. And, sorry, but you may be to blame.

One of the greatest and worst things about Notes is you don't have to be a professional developer to build applications with it. Heck, in the early days (before R4), you didn't even need a design client: All clients could do design work.

The good side of all this, even today, is that people with, um, shall we say, modest skill sets can still do basic things: Build simple forms and views, stuff like that. They can kludge together something that does, well, something. At one level, the idea that, with 15 or 20 minutes of looking over somebody's shoulder, somebody with no development experience could build a simple little application is pretty spectacular.

But that's a double-edged sword because the applications beginners build are really amateurish. They are, after all, amateurs.

So, what's this have to do with you?

Read More . . .

PermaLinkTry IBM Workplace Services Express for yourself09:01:38 AM
Written By : Scott Good

If you were at Lotusphere this year, you know a lot of the buzz was about IBM Workplace and its eventual integration/merging with Notes. An interesting side note was the announcement that every Passport Advantage customer will receive 20 licenses of IBM Workplace Services Express for free.

Free is always good, but particularly when it's from IBM and for something this interesting.

If you're thinking about taking Big Blue up on their offer (and why not?) but want to know a little more about the product, we have help for you. At we have mounted IBM Workplace Services Express on a Linux server for you to touch and play with.

It's up and running all the time. Just go there, click on the "Sign up" link in the top right corner, fill out the sign-up form, then log yourself in and start playing. If you have questions, either send me an email or, better yet, post it to the discussion in the "Teamwork Products" Team Space.

The site is under development. We're still in the process of adding things like, for instance, a couple of ProcessIt! workflow databases so you can play with that from within Workplace, but even at this stage it's easy to see how it works and how it could be a great tool for a lot of organizations.


PermaLinkMore (and more interesting) cascading menu stuff02:12:37 PM
Written By : Scott Good

I blogged here recently about my article on CSS Menus in an upcoming Lotus Advisor article (April 2005).

Today I've been working on a bit of code for the follow-up to that article where I plan to use a WebQueryOpen agent to read a hierarchical Notes view and dynamically build all the tags needed to make it work.

You can see an early prototype by clicking here. For complete details and the less-than-40 lines of code needed to make it happen, see my article in the May 2005 issue of Advisor.

What's cool about this is that, in the slight delay while you're waiting for the page to load, it's building links to 409 documents at ten levels of hierarchy (follow any of the trees under "Documentation"). At more reasonable numbers of documents, the cost in load time is more or less imperceptible.

Because it's being built on the fly every time the document (or, presumably in a real application, each document) is loaded, any changes to the view are automatically and immediately reflected in the menu.

NO, before you ask, this probably isn't a reasonable solution to a high-volume web site. Nor for one like with thousands of documents. In either scenario it would probably bring the server to it's knees. But in something small, something relatively volatile, or something NOT being managed by a professional web master, well, maybe it IS a good idea.

Regardless, it's one more example of something easy to do in Domino that would be hell to pay in something else.


PermaLinkDomino web tricks03:29:40 PM
Written By : Scott Good

I got an e-mail today from a Notes pen-pal who was looking for a way, from the web, to create a new document in a second window, then to get that document saved and the window closed with one push of the button. Like a dialog box.

It seems like such a simple thing. It seems like you could use a teeny bit of JavaScript to make it happen:


The problem is, it doesn't work. Not with Domino, anyway, because even though the submit(), which is to say, the save, is called before the close, saving takes time. And, JavaScript doesn't like to wait around for things. It calls submit() then moves on, closing the window before the submit() can happen.

So what do you do about that?

Well, one approach that works (but kind of sucks) is to insert a dialog into the fray:

alert("Thank you for your submission.");

The alert() stops things long enough for the submit() to make it to disc, which is good. What's bad is it's just one more thing popping up in the poor user's face. It's annoying. So, you're likely wondering, is there another alternative?

As it turns out, yes.

Read More . . .

PermaLinkCSS Cascading Menu09:09:44 AM
Written By : Scott Good

I spent the weekend finishing up another CSS article for Lotus Advisor. This is actually the sixth in my series but I mention it because this one in particular covers some fairly interesting ground you might actually have a use for.

  • Colors
    • Blue
    • Red
    • White
  • Food
    • Fruits
      • Apples
        • Granny Smith
        • Macintosh
        • Red delicious
      • Bananas
      • Oranges
    • Vegetables
      • Broccoli
      • Carrots
      • Peas
  • Housing
  • Vehicles
    • Cars
    • Trucks

I've started doing something a little different in this series than I did in either of my prior two (on LotusScript and JavaScript). Starting with the fifth article (March 2005), having already established a base of understanding, I started the process of building an application which takes advantage of CSS and of some of the native Notes/Domino capabilities.

Kind of like a series within the series.

In that article, I built the main parts of the base form for a self-building web site which used positioning to control its look and feel.

This month (April 2005) I stepped back and did a step-by-step description of how to build cascaded menus like the one shown below from the simple code used to build an unordered list like the one shown to the left.

You can try it here: Roll your mouse over the words in the menu below and some of them have sub-categories, some of those sub-categories have sub-sub-categories, and so on. It's pretty cool and amazingly easy to do.

In the May issue I'll take what we learned about cascading menus this month and build it into the application.

Don't get me wrong: This isn't exactly rocket science, and I'm certainly not the first one to think of it. Rocky Oliver blogged about it a while ago and has another article in the same issue as mine based on the same underlying CSS premise; the difference being I'm concentrating on the CSS, he's working on some very interesting @Formulas to generate the underlying HTML.

Rocky stole, er, acquired the idea from the same place I did, CSS Creator who, in turn, stole it from the Suckerfish Dropdowns example on the A List Apart site. Eric Meyer, He-Who-Walks-On-Water-With-CSS, has covered it in one of his books, too, so there is a long and honored tradition of stealing this code, or at least the core of it.

I am hoping to at least add a little new value to the stream, though, by using LotusScript to read a Notes view and build the underlying list and links on the fly when you open a form. The idea is to have it read the hierarchy of the view and to duplicate that as a cascaded menu. As the site changes, so, too, will the menu, without any need for designers or developers to do anything. Should be cool.

I haven't actually built it yet, of course, as that's something I'll get around to when I'm writing the article, but it should only take a few lines of recursive LotusScript to do it.

I've said it before and will probably say it again but this CSS stuff is really pretty amazing and even more so when you combine it with the power of Domino.


PermaLinkDrinking the Kool-Aid09:48:45 AM
Written By : Scott Good

Oh my. I am (comparatively) speechless about the the things I'm seeing this week at Lotusphere. Speechless. In the best sense.

And it's still just Tuesday morning.

I just left a session where Ray Ozzie, Mike Rhodin, and Irene Greif were having a panel discussion along with a couple of clients about the past and future of collaborative software. My head is spinning with ideas. It was absolutely fascinating. Really. If you weren't there, get the video. Innovators Panel: Lotus Notes from 1984 - 2005 and Beyond (it doesn't have a number).

While you're at it, get the opening session. Ray was in that, too. As always, Ray was great. Mike Zisman (former Lotus President) was here and was brilliant, too. In all meanings of the word. The current Lotus folks paled a bit in their speaking skills next to these two but they made up for it and more with the technology.

Last year we saw version 2 of Workplace and it was a toy. It would have been hard to find a place where people doing real work could use it without immense frustration. In yesterday's opening session they showed the new rich client (version 2.5, I think) and let me just go on the record right now: It is the Real Deal.

Read More . . .

PermaLinkThe way of the future (of Notes)02:19:13 PM
Written By : Scott Good

If you're a Notes person, you should be very interested in this piece, again by Andrew Pollack, on the future direction of the Notes/Workplace designer.

Very interesting stuff.


PermaLinkSo THAT's what IBM Workplace is all about03:06:01 PM
Written By : Scott Good

In case you haven't seen it yet, the current issue of Lotus Advisor magazine has a great article by Andrew Pollack of Northern Collaboration Technologies called The IBM Workplace Client for Domino Developers.

This is the best information I've seen yet explaining how and why Notes and Workplace are going to merge (and not just have a big-old head-on crash). It specifically talks about the new rich client for Workplace (I beg your pardon...the IBM Workplace Client Technologies Rich Edition) and how Eclipse fits into the picture.

If you're in this business and deal with (and/or depend on) Notes, it's a must-read. The bottom line: In the long run it's good news.

Nice job, Andrew!


PermaLinkSuffering for software08:35:15 AM
Written By : Scott Good

Wow, Lotusphere is almost here! Lotusphere is getting to be like Christmas: It seems like I'm constantly getting ready for it. Must be a part of getting old.

I'm doing two presentations this year. One, LotusScript Jump Start, is on Sunday morning at 10:30 (Swan Osprey) and is targeted at folks who have no experience with LotusScript (or no success with it). Hopefully, by the end of the session they'll be able to at least start the suffering process toward actually learning how to use it.

Have you noticed this? The suffering, that is?

I don't know about you but it's a familiar part of the process of learning a new language for me. Maybe it's because I'm not naturally a developer. I went to college (Rochester Institute of Technology) for Printing Management. I learned how to run printing plants.

Although I'd messed around a little with BASIC (and punch cards and whatnot) on the mainframe at Ohio University as a kid, it was really only later (as I was running a printing plant) that I learned my first "language" as I started using VisiCalc to analyze the business.

VisiCalc was replaced (at our place, at least) by Lotus 1-2-3, which was an easy transition. Skip ahead about a dozen years and we started Teamwork Solutions to do the then mostly-unknown Lotus Notes. A little more learning curve but still, really, it was @Formulas (I'm talking version 2 here). That was like 1-2-3, which I could make sing.

But then things got a little more interesting.

Read More . . .

PermaLinkProcessIt! 7.5a ships!04:41:40 PM
Written By : Scott Good

I don't write much about our business here, but I'm very excited about the latest release of ProcessIt!, our Notes- and Web-based workflow tool. It just went Gold this week.

ProcessIt! was first released in 1995 as an outgrowth of a project we did for one of our largest customers. Since then we have come out with new major releases almost every year and minor releases two- or three times a year.

This release is the first one this year (yes, getting a little late, I agree) and, although it has a number (7.5) like an incremental release, this version is really a pretty big step forward for what was already a world-class workflow tool. If you're interested, there are demonstration movies available on our web site, but the thing I'm so proud of is how darned easy it is to use.

Each year I spend a lot of time building functionality into the tool but a lot less time actually using it. It's our folks in the trenches--and our customers, of course--who use it the most. But, over the last couple of months I've been personally involved in doing development on several interesting projects which used ProcessIt! for things like Sarbanes-Oxley compliance and IT Project Documentation. I used the prototype of 7.5 on those projects and I have to tell you, it's rather amazing what all is in there.

Things like validation, automatic escalation, metrics reporting, special numbering, customized messaging, document locking--and about a thousand other things--are all just click-click-click and they work.

As one of the two developers, it sounds silly for me to be amazed by what it actually does but, well, you know...we'll work on putting features in and then I just kind of forget them and move onto the next enhancement. When I actually get a chance to use it for real it's almost shocking to see how easy it is to do things that ought to be hard.

What's getting even more interesting, at least to me, is ProcessIt! is now at the heart of a whole suite of applications, including the ProcessIt! Document Library and the ProcessIt! WorkFinder.

If you're building workflow applications, you owe it to yourself to take a look at ProcessIt! It is the real deal, it's easy to use, and it is very affordably priced. Maybe too affordably priced. You can download a free 60-day evaluation copy from our web site. Let me know what you think!


PermaLinkFirefox/Mozilla developer tools you NEED08:59:52 AM
Written By : Scott Good

"Oooooooooh, that's cool!," were the first words out of my mouth when I tried it. Do you see the image here? That's one of the pages on our web site as seen through Mozilla Firefox with some of the developer add-ins turned on.

Looks bad? Oh, no, my friend, it looks great. To a web geek at least, because what you're seeing here is not messy gibberish, it's form layout, CSS tags, table boundaries and the like.

With a quick click of a button (or two) you can see all the bits and pieces in place so that even mortals can make sense of it.

If you don't already have this, get it. Open Firefox (or Mozilla), go to Tools > Extensions, then dig around until you find the developer tools. Get 'em.

What a great idea.

(Thanks to Tom Roberts for telling me about it).


PermaLinkAn open question to BLOGSphere bloggers08:22:54 AM
Written By : Scott Good

OK you BLOGxperts, I need a little help. Or at least some information.

I've been blogging (sporadically, I admit it) with this BLOGSphere template for a while now and there are a couple of things I haven't yet managed (bothered?) to figure out. Maybe you can help.

FIRST, where on Earth do you go to preview your blogs? Surely there's a way to see what you've writ without posting it to the world, but I can't find it. As it is, if you get here within the first 15 minutes or so after an entry is posted, you can actually see it change. I don't know why, but I have to read it in situ to really get the little niggling bits out.

I'd like a private preview.

SECOND, I started playing with a new RSS reader, FeedDemon, which I really like except when I link to my own blog I can only see the bits down to the Read more... link, after which most of the action takes place in a lot of my postings.

I could re-organize my postings to put everything on the front page but I'd much rather leave it how it is (a teaser on Page One and the rest buried in the paper) but have the RSS readers pick it all up. Is there a setting for this?

FINALLY, after a bit of digging through the code in here I've come to the conclusion there has to be a more efficient way to pull together all the page information. Unless I'm counting wrong (and I don't think I am), getting this one page up involves something like 120 @DbLookups which is too many. No, it's way too many. I mean, it works, but damn.

This one's on me. I'll see if I can't figure out a way to speed things up and simplify them at the same time (if I get some time to work on it).

Thanks in advance for any help you can provide.


PermaLinkDomino as a CSS generator?06:13:35 AM
Written By : Scott Good

Tom Roberts and I have been having a brainstorming session deep in the bowels of this site about using Domino as a CSS generator.

This is Tom's idea and it's a good one--no, it's a great one. It's time to bring it up to the front row.

In simple terms, here's the premise: Domino already has an engine built into it to convert rich-text to HTML. That's what puts all the <FONT> tags and such into our pages. That's all well and good but we're all learning how limiting hard-coded fonts and sizes and such can be.

A much better solution, in many cases, is pages tagged for CSS which are then related to style sheets. This makes making global changes fast and easy. The rough part though is getting all the tags in in the first place.

Enter Tom's idea, stage left.

Read More . . .

PermaLinkMore on CSS09:03:58 PM
Written By : Scott Good

I'm two articles into the CSS series now. OK, well, neither is on the newstand (first lesson: November 2004 Lotus Advisor), and Advisor hasn't even seen the second one yet, but I'm through with them.

I mention this because I'm once again blown away with what you can do with this technology. If you know me (and you may not), you know I'm rather amazingly anal-retentive about how things look.

I'd like to think it's my printing background that makes me care so much but, really, I think it's just the way I'm wired. What's cool about CSS is the power--no, control--you can have over the look and feel of a web page. It's really kind of amazing.

Here's an example...

Read More . . .

PermaLinkWeb views that actually work like, well, views03:11:06 PM
Written By : Scott Good

All I can say is: IT'S ABOUT TIME! For, what?, five or six years now, we've had to fight with trying to make Notes views do from the web even a fraction of what they do in the Notes client.

Finally, someone has actually solved the problem.

Compared to what you get in the Notes client, web views suck. Oh, I beg your pardon, I mean to say, they offer a much less well-integrated and intuitive user interface. Is that better? Nope, doesn't quite get it:

They suck.

You know what I mean. You have to either use HTML or the Java applet. The applet is slow and you don't have much control over what it does.

HTML is faster, but sucks in its own special way.

Read More . . .

PermaLink@Soundex08:14:31 AM
Written By : Scott Good

Do you know about @Soundex? You know, the phonetic-sound-conversion-numbering-formula-thingy...?

Really? You don't?

Then join the club. Of the tens of thousands of Notes programmers in the world, few know anything about @Soundex. And yet, it's an amazingly useful function. Take a load off for a few minutes and let me tell you how it works.

According to the Notes help, @Soundex "Returns the Soundex (the Notes phonetic speller) code for the specified string." I beg your pardon? What? That's enough of a description to get me to move on to @Subset or something.

The rest of it is not a lot better. The Return Value: "Text. The soundex code. You cannot convert it to any other data type." Or, the Usage: "The function is used almost exclusively by the Address Book. You will rarely use this function."

Not much of a sales pitch, and probably why nobody knows about it. But @Soundex's cool.

Let me show you...

Read More . . .

PermaLinkHow to dynamically build HTML with @Formulas09:34:39 AM
Written By : Scott Good

In a recent post I mentioned I've been doing a lot of web development recently. One of the things I love about using Domino for web projects is the power of list manipulation in generating HTML on the fly.

What do I mean by that? There are a lot of places where you may want to be able to change the page your user interacts with based on one factor or another. If you can dynamically generate the HTML used to display that page (or at least some of it), you can let it self-adjust as needed.

In a current project, for instance, I needed a whole series of dialog boxes used to assign work to various departments within an organization. The only things that changed between the various dialogs was the names and number of departments.

Read More . . .

PermaLinkThe joy of web development in Domino09:34:40 AM
Written By : Scott Good

I've been busy over the last couple of weeks doing almost nothing but web development. Within, of course, the Domino environment.

Last week was five solid days of JavaScript. This week has been more HTML and CSS, a little less JavaScript.

There are things about web development, CSS and JavaScript I absolutely love. Particularly on the Domino platform. The flexibility and power you get from having Domino underneath everything is pretty amazing.

Take a recent project, for example...

Read More . . .

PermaLinkMore @Formula fun10:41:00 AM
Written By : Scott Good
I gave an example (in my last posting) of using @Replace to find the values from one list that are also in another. As much as anything, I was trying to show how @Replace works. But there are other ways to skin the same cat (thanks to the list capabilities of the formula language).

Here's another way to do it using a different technique. The problem remains the same: Find the values from List1 that are also in List2:

List1 := "A" : "B" : "C" : "E";
List2 := "A" : "D" : "E" : "F";

What I showed before was a process which resulted in this formula:

@Trim(@Replace(List2; @Replace(List2; List1; ""); ""));

There's nothing wrong with that, but there are places it may not work for what you need to do. Another approach is to leverage the power of list addition and @Right (@Left would work, too, if the parts were in the right places). Here's the end formula:

@Trim(@Right(@Replace(List2; List1; "~" + List1); "~"))

Here's how it works:

Read More . . .

PermaLink@Formula fella08:43:15 AM
Written By : Scott Good
Are you an @Formula lover? You know what I mean.

In the world of Notes programmers there are those of us who cut their teeth on @Formulas and those who started with LotusScript. Like many of things in life, the language people started with is often the language they still use, either because it's all they've ever learned or because it's what they know best.

I'm an @Formula guy. That's not to say I'm stuck in a closet. The bulk of my work is in LotusScript and JavaScript. That's what I write all day long, but my heart is in @Formulas.

Most of the people who started with Notes prior to version 4 (which is when LotusScript was introduced) are @Formula folks. The thing I love about @Formulas is how much you can do with so little. @Formulas are amazingly powerful, especially when you're dealing with lists.

The catch is, you have to really know them to use them properly. And, maybe that's the attraction: They're easy to use but hard to use well. Keeps out the riff-raff.

I have a few @Functions I really love, and that I think everybody should know inside and out.

Read More . . .

PermaLinkShould be required reading for any developer...11:51:59 AM
Written By : Scott Good
Do you design software applications? I do, too. The problem with many applications (and many web sites) is it's often hard for a developer--someone for whom computer use is so normal as to be an afterthought--to anticipate how truly difficult the applications they build are for real people to use. If you don't think usability is a problem, you may have even more of the problem than the average Joe (programmer).

Well, if you're designing applications, you should read Don't make me think, by Steve Krug. It's small (less than 200 pages), easy to read, interesting and is absolutely excellent at both identifying the problems designers create and in helping you understand how to solve them. It's great. Truly.

A quick excerpt:

Read More . . .

PermaLinkThe power of a good demo...10:38:58 AM
Written By : Scott Good
This year at Lotusphere, one of the most exciting things I saw was what could be done with a BlackBerry device.

It's not that I've been totally unaware of them, it's just that, well, I guess I'd not bothered to think outside the box very far. I thought they were mostly for getting eMail while you were away from your desk and, although that sounded pretty cool, didn't think it was that big a deal. I've decided I was wrong.

On the Saturday before things really got started, Lotus had a golf outing for some Business Partners and selected customers. It was the standard scramble format where a team of four works together to play from the best hit of the group.

It's a great way to play an outing like this but the really interesting part was the BlackBerry. Each team got one BlackBerry device which had access to a custom application built for the outing. From it we could see a diagram of each hole, report our scores and check the leader board. From an application development standpoint, this was really pretty basic stuff, but...well, let's just say my head started swimming from the first hole.

Read More . . .

Disclaimer & Copyright
Monthly Archive
Contact me...
Racing sponsors and such...

Thank you sponsors!



GOODAero specializes in building aerodynamic products for racing cars. Our first product, the GOODAero Raptor wing is available at a surprisingly reasonable price (under a grand) for a full carbon, full-sized, racing wing. Check it out.

Infinite Fiberworks Co, a great source for high-quality Porsche fiberglass parts

Infinite Fiberworks Co.

If you are looking for fiberglass for Porsches, IFC is the place to go. I have used parts from most of the major suppliers and IFC's are easily the highest quality and the most reasonably-priced. Contact Mike at Infinite Fiberworks for more information.

Located in Racine, OH (so far Southeast they're almost in West Virginia), IFC's goal is to be The Best. Give 'em a try.

Bent or ugly wheels? Call Wheel Medic!

Wheel Medic & The Round House

Whether you need to repair, repaint, refinish or just replace your wheels, the guys at Wheel Medic/Round House can get you back on the road in no time!

Wheel Medic, Inc is a family-owned company which specializes in the repair and restoration of aluminum wheels.

The Round House was founded to service Wheel Medic's clients looking for more than just repair work...from custom wheel colors to high-end wheel applications and body kits, the Round House is there to serve the discriminating automotive enthusiast.

Used Porsche parts, great prices!

A Part Above

Looking for used parts for 944s, 924s, 968s or other late-model water-cooled Porsches? Contact John at A Part Above.

Located in Strongsville, OH (20 miles south of Cleveland) their goal is to provide top quality parts and services. I can tell you, John is great to work with and the prices? Very hard to beat.

SMRT Motorsports wants you!

SMRT (that's short for Skid Mark Racing Team), a very-

loosely organized band of fun-loving friends who enjoy auto racing (heck, cars in general), and the occasional adult beverage, wants you to be a part of our team.

Go here to find cool T-shirts, sweatshirts, caps and mugs with the SMRT team logo.

The BlogRoll
Lotus Domino ND6 RSS News Feed RSS Comments Feed Geo URL RSS Validator Blog Admin Lotus Geek Open Notes Picture Database OpenNTF BlogSphere
July 2016
By Category
What I do for a living


I've written a book.

It's a mystery/thriller called Loss of Control, and it's the story of Jake Berwyn, a software developer and amateur racing driver who tries to solve the mystery of the murder of his best friend in a fiery racing accident.

Filled with sex, intrigue, and interesting characters, it's an engaging story even if you aren't much interested in the racing as that is mostly a backdrop for the story. You can get your own copy here:

Paperback or Kindle

NOOK and ePub

I am the President of Teamwork Solutions a long-time Lotus, now IBM, Premier Partner.

With offices in Columbus and Cincinnati, Ohio, we specialize in custom application development for IBM Lotus Notes, Domino, and related technologies. Our software product, ProcessIt! (see below), is quite possibly the world's best, most powerful and easiest-to-use workflow tool for Notes and the web.

Our clients are some of the world's largest corporations along with others that aren't so big.

We do excellent work, quickly, and often on a fixed-fee basis. We'd love to talk to you about your next project.

I'm also the President of GOODAero, a specialty manufacturer dedicated to bringing professional quality aerodynamic products, primarly carbon fiber wings, to amateur racers. It's a labor of love.

Copyright Porsche and NASA...not me!

I am the National Director for the German Touring Series, a German-car road racing series of the National Auto Sport Association (NASA). I am also one of two Race Directors (the people in charge of what happens on-track during a race) for NASA's Great Lakes region.

I'm a two-time NASA GTS National Champion (2008 and 2011) and a Nationally-Certified Instructor for the Porsche Club of America. In a prior racing life, was SCCA's 1991 Midwestern Regional Formula Atlantic Champion and the Ohio Vally Region's (also SCCA) 1991 Regional Driver of the Year.

I am the chief architect and one of two primary developers for what many consider the best all-around workflow tool for Notes/Domino, anywhere, regardless of price.

It's called ProcessIt!, and you can read all about it at but the bottom line is this: ProcessIt! is fast and easy to learn, extremely powerful, and can be used by mortals. Even--dare I say it?--common users.

You can spend a lot more on a workflow tool but you won't be able to do a lot more for all the extra money.

Don't believe me? Download and try it for free for 60 days.