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.    

06/10/2010

Treat Your Change Requests like Your Deposit Bottles

Category  
0

For those of you who don't know what deposit bottles are all about, check out this old Seinfeld clip:

http://www.youtube.com/watch?v=TEpDBQ_Ww6k

So how do deposit bottles relate to change requests?  Nobody returns their bottles as soon as they are done with them, so don't release your changes as soon as you finish them. But wait--isn't reacting quickly to all change requests the responsive thing to do? Well, yes... But remember that things are constantly changing.  And nobody likes change, let alone constant change.  

And the other extreme?  I was returning my one re-usable bag of bottles the other day and saw someone with several shopping carts full of bags of bottles.  Must have run out of room under the porch to store more (hopefully it wasn't the result of the weekend's festivities).  That would be a metaphor for storing up change requests for way too long.  You'd be explaining all the changes to your users for days, just like it will take several days for that guy to put all his bottles into the return machine.

So what's the right mix, and what do you do in the meantime?  Well, you have to touch that database anyway, so why don't you leave it better than you found it?  Any hard-coded server names?  Recently, I found a formula agent from R3 days.  It had that old

fldName := fldName

stuff all over it.  It also checked to see if it was running on OS/2!   A few deletes and a much better agent.  Nobody sees those changes, but you won't have to go back in there for another 10 years, just because you got a new server.  

Maybe you could run a spell check... Here's a fun one: Search the 8.5.1 client help contents for lotuscript with one "s."  Just sayin' - it can happen to anyone.

How often to release new code?  There's something magical about the number 7, so try releasing seven changes at a time.  And tell them I told you to.

06/03/2010

Keep Taking the Tablets

Category    
0
For quite a while--well before we came up with the idea for Teamstudio Unplugged--we’ve been pretty “plugged in” to what’s happening in the mobile world.  We use a mixture of mobile devices (mostly BlackBerries, with a sprinkling of iPhones, and even one Windows Mobile device).  Personally, I’m an iPhone user, and a self-confessed gadget hound, so it won’t surprise you to know that my iPad arrived on April 3, 2010, the first day it was available in the U.S.

I had high hopes for this device.  As I started to use it, I was very impressed with the browser experience, and found it to be a fantastic e-reader and video player.  I was very surprised at how well the keyboard worked, and once I installed the iWork (word processor, spreadsheet and presentation) apps, I started to believe that I could finally ditch my 5.6 pound laptop.  (The iPad weighs in at 1.5 pounds.)

Add Teamstudio Unplugged to this setup, so I could access my Notes apps on my iPad, and this would be unbeatable, thought I.  (The iPhone/iPad version of Unplugged is due to ship in October.)

There’s just one problem.  Apple hasn’t quite sorted out the whole issue of file transfer.  If I create a document in Pages on the iPad, it gets stored into “My Documents,” a file storage area that is specific to that app.  If I want to store that document on my laptop, I have to “export” it.  Then, I can either email it to myself (yuk), or sync via iTunes and copy the file out from there (yuk).  The other option is to use the (beta) service iWork.com.  This seems to work OK, but requires me putting my documents in the hands of a third party (Apple), and although the service is free while it’s in beta, I assume it will cost money at some point.

All of this made me start to doubt whether Apple will maintain its lead in the tablet market as these devices start to make their way into the enterprise.  The fact that Dell, Acer and (allegedly) HP are bringing out Android-based tablets in the near future suggests that the competition in this area may start to heat up.  Corporate purchasing managers who are already committed to one of those three vendors for their PC needs may feel more comfortable with purchasing tablet devices from them.

However, Google doesn’t seem to be doing much to make Android corporate-friendly, with no support for remote wipe and only third-party support for Exchange syncing.  (Before you ask, Unplugged support for Android is scheduled for November.)

So, it’s going to be interesting to see how this all shakes out.  Will the tablet take off as a corporate device at all?  If so, will Apple maintain its lead, or will the PC manufacturers add the features that corporate buyers need?  Whatever happens, at least you’ll be able to access your Lotus Notes apps on any of these devices.

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.