The winner of SearchDomino.com's June/July tip contest is Cregg Hardwick, who won for his tip Structured error handling in LotusScript. The tip describes how the benefits of modern, structured error handling can be achieved by carefully formatting code and learning how to properly test for errors, raise custom user-defined errors and re-throw errors.
This marks the second time that Hardwick has won the tip contest. The first time he won (in 2000, when SearchDomino.com was still called Lotus 411) was for a Formula-related tip, Radio buttons with de-select.
Hardwick, who is technical lead for the Lotus Notes Solution Center at CenterPoint Energy, in Houston, Texas, has been working with LotusScript for seven years. "When I started, no book on LotusScript had been written yet, so I found a list of samples on Compuserve and taught myself," he told SearchDomino.com. Hardwick is technical lead for CenterPoint's Lotus Notes Solutions Center. He holds an MBA, but says he got into development because he enjoyed using computers to solve problems and manage complexity.
The first application created by the Notes Solution Center managed a workflow supporting regulatory filings for Arkla Gas Co. (now a regional business unit of CenterPoint). "That first workflow application paid for our e-mail infrastructure and is still in use across the enterprise," Harwick says.
The Solution Center currently supports nearly 9,000 employees with about 300 "substantive" applications and about 1,500 total Notes databases of various complexity. Hardwick wrote many of the key Notes applications in use at CenterPoint, including the employee directory application and a suite of applications to bridge the gap between the capabilities of the company's SAP ERP application and the needs of the individual business units. He also created tools to support the Notes applications, from standard document inspection and orphan prevention modules to conflict resolution and keyword administration. His most recent tool performs design scans on all the Notes databases across the company.
However, Hardwick and the Notes Solution Center ran into an oft-reported problem. "We never had much success with the rest of our IT colleagues who, grounded in RDBMS and Web technologies, increasingly viewed Lotus Notes as backwards," he says. "In the end, these voices won out and in 2004 corporate IT launched an initiative to convert our entire environment to all Microsoft."
Hardwick remains a believer in Notes, saying, "Notes provides a compelling backbone to support our applications so that we can focus on value-added development (usually in LotusScript)." But he also sounds a sad note. "Developing in Notes has become increasingly frustrating as Lotus has simply failed to keep up with the state of the art."
When IBM acquired Lotus, Hardwick says he hoped that IBM would use its considerable software engineering expertise to give Notes a good refresh and turn it into a truly competitive enterprise system. Instead, he says he watched IBM stumbled over positioning issues after the acquisition. Recalling meeting the lead LotusScript architect at a Lotusphere event, Hardwick says, "I complained about having to navigate through hierarchical lists of objects in the debugger since there is no watch-window capability. He said that adding a watch window was a "good idea" . . .like he'd never heard of such a thing. That saddened me. As of R6, we still don't have a watch window and the auto-complete feature is pathetic compared to Microsoft IntelliSense."
According to Hardwick, IBM should view LotusScript as a key component of an application suite, instead of an add-on feature. "I should not have had to submit this tip," he said, "because R6 should have shipped with structured error handling as part of the language. Structured error handling makes code more robust and cheaper to write and maintain."
When it comes to the future of LotusScript, Hardwick is pessimistic. "Although IBM likes to say that LotusScript and Visual Basic are the same language, LotusScript has never kept pace, either in the syntax, the debugger or in the API used to interact with Notes. Iris [Associates, the company contracted by Lotus to create Notes] always seemed to focus on solving particular complaints instead of coming up with a holistic, truly modular set of development tools. In short, LotusScript has never escaped the shackles of being a scripting language, and this has made it hard for Notes to truly become more than just an e-mail application."