08/27/2010

Help Us Help You

Category
0
Back in my days of Notes Application development at Iris, when we were first developing Web-based Domino applications with LotusScript, the general feeling was that they were too slow.  We never felt that we could improve the performance except by trial and error. Countless hours were spent changing field names, view names, form names, any design element name to the latest company "standard."

By far, one of the most frustrating issues the Iris template team faced was how a team of developers could work on the same Notes application at the same time.  We were quite jealous of the core Notes developers and their fancy source code control system. They could easily pinpoint when a change was made, what the change was, and then easily roll that change out. They also had a plethora of tools to choose from, for performance tuning, unit testing and coding standards.

Obviously the rest of the Notes application development community was also sharing the pain of the core Notes developers, because in 1996, Teamstudio came along with their initial set of tools to help the poor frustrated Notes developer get a little more sleep. Teamstudio seemed to have a tool for every pain point, so why didn't our Notes application development team use them? We were aware of Teamstudio CIAO!, but always felt that we couldn't use it because it wouldn't work with new design elements, or with any modifications which may have been made to existing elements. However, in hindsight, we could have used it for our maintenance stream.

We could have also used other tools, such as Teamstudio Analyzer, to create a snapshot of templates which had shipped. We could have used the reporting mechanism of Teamstudio Delta for creating a list of differences in our templates between releases, which could have showed what we had fixed. And Teamstudio Profiler could have been used to show us the things we *shouldn't* have been doing with LotusScript...  

Obviously, I could go on and on here, and we all know that hindsight is 20/20. But my point is that the Notes community needs to be a bit more adventurous when seeking out tools that could help get the job done. Instead of making excuses about why tools won't work, I encourage everyone to try them. They may not fit your needs perfectly, but they may save you enough time and money to justify their expense. And finally, when you find something you like, spread the word! How about right now: What's your favorite Teamstudio tool?

06/25/2010

How did You Learn Lotus Notes?

Category
0

Recently, I was asked by a colleague:  "How did you learn Lotus Notes?"

I truly didn't know how to respond. It certainly made me take a collective journey through my 20+ years of development experience to figure out how I got involved with this thing called Notes. Here's my story:

The year was 1994  and I was working at Lotus as a Technical Notes Trainer. I had been training customers on Notes Version 3 for a while and was looking for an avenue back into development. An opportunity arose to work at Iris and I jumped on it.  

I was part of a small team that was tasked with making Notes more Internet savvy/aware. The first thing we built was the Notes NNTP  News Server Task. My role on the project was to create the Notes databases/templates which would be used. While I was sitting in the same building with the people who wrote the core code, I was a little intimidated by them, so I chose to learn things on my own.  As anyone who has ever developed a Notes database knows, it's 90% trial and error and 10% luck. I would occasionally ask a few people questions, but the response I usually got was "I don't know, it should work that way. Why don't you try it?"  

LotusScript had just been added to the product, so template developers were charged with finding uses for it. Overall, it was a dynamic, exciting, frustrating and rewarding experience. The NNTP News Server probably shipped with Notes 4.x (go ask Barb Mathers - she would remember better than me).  We next built the Web Retriever for the Notes Client, which essentially made Notes a web browser by using the ActiveX functionality of IE's Web Browser Control, but saving the pages in a Notes database.  At the same time, another small group from Lotus was creating a Web Publisher for Notes which was eventually called Domino.  Somewhere in there, IBM bought Lotus and the Lotus Notes Server became Domino--and I needed a break!

After taking a seven year hiatus from Notes, I was afraid of being lost within the many enhancements to Notes in versions 6, 7 and 8. Fortunately for me, it was like riding a bike, or putting on a comfortable pair of slippers. That's not to say that some amazing things didn't happen while I was away--I think Eclipse is one of the best things to happen to Notes in a long time. And, here at Teamstudio, we are jumping on the Eclipse plug-in bandwagon with a new version of our flagship design tool, Teamstudio CIAO!, which is context-sensitive within the Eclipse designer. For a Notes developer to have that kind of integration is something I thought I'd never see.  

With the understanding that Notes is a dynamic and ever-changing platform, here is my advice to new Notes developers:

1.  Forget everything you've learned about development in other products/ It doesn't apply to Notes!
2.  If you're ready to hit your head against a wall, put it away for a while and wait for an "aha" moment.
3.  If something isn't working consistently, bring somebody else into your office.  It will behave for them.
4.  If you're having trouble with it, somebody else probably has, too--so Google the problem and you'll likely find a solution.
5.   In order to preserve your sanity, use Teamstudio CIAO! as your Notes source code control system.

So, to answer my colleague's original question: I never learned Notes, I just grew up with it.    

Feeds

Custom Button Custom Button

Category Cloud

Disclaimer

The views expressed by the authors on this blog do not necessarily reflect the views of Teamstudio, those who link to this blog, or even the author’s mother, father, sister, brother, uncle, aunt, grandparents, cousins, step relations, any other blood relative - and sometimes not even the author himself or herself.

Comments on this website are the sole responsibility of their writers and it is assumed those writers will take full responsibility, liability, and blame for any libel or litigation that results from something written in, or as a direct result of something written in, a comment. The accuracy, completeness, veracity, honesty, exactitude, factuality and politeness of comments are not guaranteed. Oh, how they are SO not guaranteed.