
Login
Home
Members
Partners
Collaboration
Resources
Newsletters
Events
|
| 
| 
| Developer Tips January 2009 (html) | |
Developer Tips January 2009
 |
 |
January/2009 |
| In This Issue |
|
Newsletter archive available here.
|
|
|
| |
| INTRODUCTION — LOTUSPHERE LOOMS! |
| Rob McDonagh |
|
January is the month of Lotusphere. Let's not kid ourselves — nothing else quite measures up to Lotusphere in terms of importance in the Lotus Geek calendar.
With that in mind, both Tom and I write about our plans for this year's Lotusphere. We go over our general strategies for getting the most out of the conference and we list several sessions we're particularly interested in. In general, we have a similar approach to the conference: We both prefer to focus on a specific subset of the sessions and topics rather than trying to see a little bit of everything. We've been going to Lotusphere for over a decade, so in addition to proving that we're really old, that should give us a bit of credibility on the subject. Take advantage of our (relative) wisdom and don't repeat the mistakes we made in the early years.
Tom also provided us with one of his patented (no, not really — don't need to get the lawyers nervous) book reviews. This time, the prolific and proficient reader has shared "Making It All Work: Winning at the Game of Work and Business of Life" by the master of Getting Things Done himself, David Allen. As you may or may not know, David Allen is speaking at Lotusphere this year, both in a Best Practices session and in a Birds of a Feather format. So if you ever find life and/or work overwhelming (yeah, you can all put your hands down, I get the point), check out Duffbert's review and get thee to a Getting Things Done Lotusphere session this year!
Last, but not least, I make a valiant attempt to take a very dry topic and make it entertaining enough to be informative. We all love to talk about the best way to declare our variables (come on, you know it's one of your obsessions), and I had a bit of fun with the pros and cons of various approaches.
Hopefully you all had a great holiday season and you're energized for another fun and successful year in the Lotus universe. Tom and I are excited to continue working on this newsletter and discussing development topics with you. Please drop either Duffbert or me an email at any time.
|
| |
| SPONSORED BY: THE VIEW LOTUS DEVELOPER2009 AND ADMIN2009 BOSTON |
| |
|

Reserve your seat to be a part of the premier events that deliver real-world Lotus training so that you can increase productivity and efficiency in your company, advance your skills, and squeeze the most from your current environment. One registration gets you into your choice of over 100 new and updated expert know-how sessions, one-on-one consultations, hands-on labs, networking opportunities, and more.
Take advantage of savings of up to $300 when you register today at Admin 2009 or Developer 2009!
|
| |
| PICKING LOTUSPHERE SESSIONS — THE DUFFBERT METHOD |
| Thomas "Duffbert" Duff |
|
A number of you reading this issue of LotusUserGroup.org Developer Tips Newsletter are getting really excited about your migration to Orlando later this month. You and thousands of your closest friends will be trying to jam a year's worth of knowledge into five days of Lotusphere. Up at 6 a.m. (sort of) and off to bed 20 hours later (if you're lucky). And we PAY for this privilege!
One frustrating part of Lotusphere is the pre-conference session planning. It's where you sit down with the session schedule (you DO use Ben's Lotusphere Planning application, right?), and start figuring out if it's possible to be in two or three places at once. If you're a newbie to the process, it's incredibly overwhelming to try and choose where you want to be. But it's no easier for the experienced Spherian, either. In fact, it's even harder...
Having attended more than ten of these conferences, I've made my share of mistakes when it comes to session planning. Sometimes I've tried to see it all, and in the process I missed out on some in-depth learning. Other times, I tried to see all the new stuff, only to find out that the new stuff never gained traction and was forgotten by the next year.
The method I've moved to over the years involves asking an essential question before you even start planning: "What do I want to focus on in the upcoming year?" If you can answer that question up front, then you have some direction when it comes to making the hard choices between conflicting session slots. The method doesn't guarantee that you'll get to see everything you want to see. For instance, Paul Mooney and Bill Buchan have done the Worst Practices session for the last three years. That may not fit into any predefined category before you start your planning, but it's one of those "must see" events that you don't want to miss. They're still talking about last year's... 
This year, I find myself looking at two different areas. First, I want to focus on solid application development and design techniques. These are the sessions that tend towards the "tips and tricks" category, and I've never come away from those sessions without learning two or three things that make my life much easier in the upcoming year. The other area of focus is integration with non-IBM technology. I'm going to be working with more Microsoft technology in the upcoming year, and learning how to make Notes and Microsoft play well together will be of great benefit to me.
So, with those two goals in mind, I have the following sessions flagged as priority #1 choices:
- AD210 Built to Last: IBM Lotus Domino Development Strategies — Nathan Freeman & Thomas Gumz
- AD214 What Every Domino Developer Should Know About Performance — Andre Guirard
- BP101 10 Things to Consider When Developing & Deploying Applications in Large Scale Environments — Martijn de Jong
- BP114 IBM Lotus Notes/Domino "Mythbusters" — Rocky Oliver and Bob Balaban
- BP110 IBM Lotus Symphony and You — A Developer's Perspective — John Head
- BP111 Reports, Charts, and Graphs 2.0 — Julian Robichaux and Rob McDonagh
- JMP205 Integration of IBM Lotus Notes and Lotus Domino with Microsoft Office, .NET, and IBM Lotus Symphony — John Head & Alex Kassabov
- BP305 The Document Format Dance — John Head
Now, in order to avoid making enemies, let me add that these are not the *only* sessions I want to see. In fact, I have my own session to give with Chris Blatnick! Couple that with a Birds of a Feather session with Gregg Eldred, and I'll be plenty busy as a presenter and attendee. But if I plan my learning around these eight sessions, I know I'll have gotten a lot of value from my Lotusphere dollar.
So to summarize... Forget about seeing everything. You can't do it. And I didn't even touch on labs and product showcase time, either! Just pick a topic or area of focus, and try to saturate that area. You'll still experience session regret as you hear gales of laughter from the room you're NOT in. But in the long term, learning is more valuable than entertainment.
However, if you can get both at the same time, GO FOR IT!
|
| |
| FROM LOTUSUSERGROUP.ORG |
| |
|
Don't miss the first LotusUserGroup.org Virtual User Group meeting of 2009. What is a Virtual User Group meeting? Think about all of the things that a live user group meeting contains — a presentation, some time for networking and questions, and perhaps a snack. Well, we can't vouch for the snack, but we are providing the presentation and the networking. LotusUserGroup.org's Virtual User Group meetings include a Webcast presentation, followed by a moderated discussion forum/chat the week of the meeting.
The January meeting is hosted on LotusUserGroup.org and is presented by PSC Group. It will include a presentation by leading Lotus guru, John Head, and long-time expert, Alexander Kassabov. This live, online presentation will introduce you to some unique and timesaving techniques for the integration of Lotus Notes and Domino with Microsoft Office, .NET technologies, and Lotus Symphony. No matter what version of Notes you're running (even 8.5 all the way back to 6.5), you'll come away with a solid plan for Mail Merge, exporting to a spreadsheet, charting, presentation building, and integration on the Web. You'll learn some advanced topics such as Visual Studio Tools for Office integration with Lotus Domino Web Services. Plus, we'll show you live demos on how to use Notes and Domino 8.5 to improve your integration options. Finally, we will touch on how the Integra for Notes reporting and integration framework can reduce your cost to provide your users with the reports they need to get their jobs done.
The presentation is free to LotusUserGroup.org members (and membership is free) but requires pre-registration. Please register today!
Whether you're going to actually be at Lotusphere 2009 or you're one of those not able to make it, LotusUserGroup.org's Live from Lotusphere coverage of the conference, and all its activities, has something of interest for you.
From aggregating Lotusphere-related blog posts and news, to running contests and games, to bringing you podcasts that are recoded before, during, and after the conference, Live from Lotusphere will be delivering you all of the news, information, and fun surrounding Lotusphere.
We start out this week with a pre-Lotusphere interview with Bob Picciano in our 2 Minutes with Lotus podcasts section. (Okay, this interview is a lot longer than two minutes, but it's the kick-off interview.) Read more below about this interview and about the "Guess the Opening Session Guest Presenter" contest.
This podcast will be followed by several interview podcasts with other Lotus employees, top gurus in the Lotus world, and other members of LotusUserGroup.org. We'll also be updating the Lotusphere blog and news page (including some videos from Lotusphere 2009 and previous Lotuspheres). Plus, we'll have more surprises in store too. Check it all out here!
General Manager for Lotus Software at IBM, Bob Picciano, talks with Scott Treggiari of LotusUserGroup.org in this pre-Lotusphere interview. Listen to this podcast to discover what Mr. Picciano has been working on throughout the six months he has been at the helm. Get insight into plans for SaaS, Atlantic, WebSphere, Domino, and other Lotus solutions. Hear from the source about what's in store for Lotus marketing. Learn the reality about the migration from Notes to Exchange, as well as Mr. Picciano's strategies for internally selling Notes and other Lotus solutions over competitive products. Find out what Bob is looking forward to at his very first Lotusphere and get a preview of some Lotusphere features, including the new "Show and Tell" track.
Plus, Bob gives a hint about who the Lotusphere Opening Session guest presenter is this year. So, LotusUserGroup.org decided to run a contest: If you can guess who the guest presenter is, based on Bob's hint, you can win an iPod touch in our "Guess Who" contest. Listen to the podcast; get the hint; and then submit your guess to be entered to win. But don't reveal the hint to others; send them the following link instead: http://www.LotusUSerGroup.org/guesswho.
|
| |
| Lotusphere Is a Many-Splendored Thing |
| Rob McDonagh |
|
There's this thing that happens in January every year. I'm not sure if you've heard of it. It's called Lotusphere. Oh, this isn't news? Good, because describing Lotusphere would take up a few months' worth of newsletters, and I'd like to focus on the things I'm particularly looking forward to this year.
First, I always enjoy seeing new versions of Domino Designer. I also always try to visit the IBM research lab, because there are some amazing projects they can show you. The "Meet the Developers" session (sometimes referred to as "Beat the Developers" because people take the opportunity to berate and cajole the product teams about their specific pain points) is required viewing, if only for entertainment purposes. The showcase floor is a great way to get a quick demo of several competing products, but I really try to have a specific plan and know where I'm going ahead of time because it can be overwhelming if you just wander around.
Other than those general objectives, I tend to focus most of my attention on the sessions that I think are the most practical. I like to come back from Lotusphere with techniques that I can use right away. I also like to try to learn something entirely new every year, and if possible I try to get to a non-technical session to round things out. This year, I have several sessions that I'm especially looking forward to (in alphabetical order, to avoid having to rank them all as #1):
- AD207 Building an "XPages-Powered" IBM Lotus Domino Application
John Mackey is presenting this topic, and based on the number and quality of his blog postings about XPages, I know he'll do a great job with a very interesting topic.
- AD210 Built to Last: IBM Lotus Domino Development Strategies
Thomas Gumz (IBM) and Nathan T Freeman (Lotus 911) will discuss the best ways to design and build applications that are maintainable and scalable. These guys are brilliant and this should be an excellent session.
- AD215 Practical Magic With DXL
Stephan Wissel (IBM) has always blogged the most useful DXL routines I've seen, and this session promises much more of the same. In case you've ever wondered how to use XSL to transform DXL, you definitely want to read Stephan's blog (and I will be very surprised if I don't learn more about that during this session, too).
- BP105 Developing a World-class Web 2.0 Applications with XPages
Bruce Elgort and Matt White will share the benefit of their experience building a new application from the ground up in XPages. They'll cover not only the techniques they used, but also the reasons why they chose a particular approach over the alternatives.
- BP108 Getting To WOW... Interface First Design for IBM Lotus Notes Developers
Chris Blatnick and our own Thomas "Duffbert" Duff talk about the always under appreciated side of Notes applications — the user interface — and how critical it can be in the success of your design. They'll show us an entirely new approach to the development process. Knowing these two, this session will be an epiphany for many of us.
- BP202 Administration for the Developer: Build and Secure Your Own IBM Lotus Domino Server Playground in an Hour!
My esteemed predecessor in this job, Jess Stratton, addresses one of my favorite topics of all time: how developers can get up to speed on core administrative tasks and maintain their own sandbox server. As you know if you've followed this space for more than a few months, Jess is incredibly good at taking potentially complicated questions and breaking them down into easily manageable pieces.
- BP215 "The Great Code Giveaway": The Art of the Possible
Viktor Krantz and Rob Novak, both of SNAPPS, are in their 8th year of this particular session, which should give you an idea of how popular it is. Every year, they give away some amazing code that you can take home and plug into your environment immediately. I have some inside knowledge about this year's session, and all I can tell you is this: If you go to only one session at Lotusphere, make it this one.
- BP301 A Hero Behind Every Tree: The Top 10 Ways to Guarantee Project Failure
Russ Mullen and Steve Caudill have done some great presentations on the "softer" skills involved in application design in the past, and this time they attack project management from a worst practices or anti-pattern perspective. Find out where and how your projects might go wrong so you can address the issues.
As you can tell, there's a LOT to see at Lotusphere this year, as usual. The best advice I can give you is to put together a plan and a schedule before you get to Florida. Figure out the sessions you absolutely have to see, list a few key things you want to focus on, and don't try to do everything at once. Oh, and make sure you head down to Komono's at least one night to hear your fellow Spherians try to sing karaoke.
|
| |
| SPONSORED BY: THE UC VIEW |
| |
|

|
| |
| REVIEWING THE BOOKSHELF — "MAKING IT ALL WORK: WINNING AT THE GAME OF WORK AND BUSINESS OF LIFE" |
| Thomas "Duffbert" Duff |
|
Making It All Work: Winning at the Game of Work and Business of Life
David Allen
305 pages
Viking
ISBN: 978-0-670-01995-3
Normally I cover technical books in this column. After all, this *is* the Developer Tips newsletter. But I'm taking a bit of liberty this month to review a non-techie book, albeit one that does have a tie to Lotusphere. The book is "Making It All Work: Winning at the Game of Work and Business of Life" by David Allen. Most of you will recognize David Allen as the creator of the Getting Things Done productivity system. And if you're going to be at Lotusphere this year, you'll get a chance to see how relevant this is to our Notes community.
Table of Contents:
- Introduction: From Getting Things Done to Making It All Work
- The GTD phenomenon
- Making It All Work — the Process
- The Fundamentals of Self-Management
- Getting Control: Capturing
- Getting Control: Clarifying
- Getting Control: Organizing
- Getting Control: Reflecting
- Getting Control: Engaging
- Getting Control: Applying This to Life and Work
- Getting Perspective
- Getting Perspective on the Runway: Next Actions
- Getting Perspective at Ten Thousand Feet: Projects
- Getting Perspective at Twenty Thousand Feet: Areas of Focus and Responsibility
- Getting Perspective at Thirty Thousand Feet: Goals and Objectives
- Getting Perspective at Forty Thousand Feet: Vision
- Getting Perspective at Fifty Thousand Feet: Purpose and Principles
- Getting Perspective: Gracie's Gardens Revisited
- Making It All Work — in the Real World
- In Closing...
- Appendix i — Incompletion Trigger List
- Appendix ii — Natural Planning Model
- Appendix iii — Project Planning Trigger List
- Appendix iv — Mastering Work Plans
- Appendix v — The Weekly Review
- Appendix vi — Workflow Processing and Organizing
- Appendix vii — Horizons of Focus
- Index
Getting Things Done (a.k.a. GTD) is David Allen's productivity methodology that has become one of the most popular and effective ways to keep on top of your life. At a *very* high level, you get all the to-dos, ideas, and projects out of your mind and into an inbox for processing. Then, using a variety of tools (from paper-based to electronic organizers), you move your "stuff" into projects, next action lists, or calendar entries, depending on what's most appropriate. The goal is to use your mind for *doing* work instead of trying to remember it. With all your actions and projects in one place, you can take advantage of "context" to do things when you have the necessary resources or time.
"Making It All Work" takes those skills learned in Getting Things Done and places them in a larger context of your life using control and perspective as the guiding principles. Control follows the path of what you do with all the "stuff" in your life. First you need to capture everything, followed by clarifying the stuff and organizing it into proper context. Once everything is in the proper context, you can then reflect on what it all means to your life, deciding what to do first based on what's most important to you.
Perspective relates to how each part of your system ties into the larger picture of your life. Next actions are the core activities that you do on a day-to-day basis to make progress. These activities need to be reviewed on a weekly basis to make sure you have everything recorded and accounted for. As you move up in "altitude," things start tying together at higher levels, propelling your life in an ultimate direction that fulfills the purpose of your life. These purposes are different for everyone, so what drives me won't be the same thing that motivates you. But unless you've taken the time to examine your life at these levels, you'll just drift along with no control over where you end up.
So how does all this tie into Lotusphere? I bet you thought I forgot... 
David Allen is a strong supporter of the power of Lotus Notes. He personally uses Notes to keep track of his own calendar and next actions, as well as running his company. He'll be presenting a session at Lotusphere along with Eric Mack titled BP304 IBM Lotus Notes and Me: Maximizing Personal Productivity with Lotus Notes, along with the Birds of a Feather session BOF408 Getting Things Done with IBM Lotus Notes. Eric Mack has a software product called eProductivity, which is an implementation of the Getting Things Done methodology on the Notes platform. If you've ever wondered how Notes can help you increase your productivity, these sessions are must-sees. I also had the pleasure of interviewing David and Eric on a Taking Notes podcast, and I can tell you that you'll come away from these Lotusphere sessions highly motivated on a number of levels.
If you're brand new to the GTD methodology, Making It All Work might seem to be a bit more conceptual than practical. The original Getting Things Done book is the nuts and bolts toolkit of how to implement GTD in your life. But if you've been practicing GTD for a while, or if you've used it in the past and need to get back on the wagon, "Making It All Work" will help you get back on track as well as taking your productivity to a new level.
|
| |
| VARIABLE, OH VARIABLE, COME HERE VARIABLE |
| Rob McDonagh |
|
I have a pet peeve I'd like to share with you. I know, it's hard to imagine, isn't it? Maybe I should call it the monthly pet peeve? In any case, I can't stand when people butcher their variable declarations. So let's talk about all the ways that simple task can be screwed up. I'll use LotusScript as the language for reference, since the number of Lotus Notes/Domino developers who don't know LotusScript approaches zero for large quantities of developers (a little math humor there — very, very little).
Bad Idea Number 1:
Dim doc1 as NotesDocument
Dim doc2 as NotesDocument
Dim doc3 as NotesDocument
...
Hey, can we put just a tiny bit of intelligence into the names? Call it PurchaseOrderDoc or PersonDoc. If there's only one document in the agent it doesn't matter as much, but it still makes your code much more readable if you use meaningful variable names.
Bad Idea Number 2:
Dim this
Dim that
Dim theOtherThing
First of all, if you've done this then you haven't enabled Option Declare (which is even a preference now). Secondly, you DO know that these are all variants, right? And as a general rule, variants are less desirable? Right, moving along then.
Bad Idea Number 3:
Dim ... as ....
... 47 more lines of declarations
... 600 lines of LotusScript code
This is guaranteed to drive me absolutely insane. Can we all please agree that any piece of LotusScript code longer than 75 lines (pick your own number, but there IS a number) is begging to be broken up into functions and subroutines at the very least, if not refactored entirely into classes?
Bad Idea Number 3b:
Same as Number 3, but the variable declarations are all scattered randomly throughout the function.
This is the worst of all possible scenarios. There are two possible places you can legitimately put your variable declarations: You can either put them all at the top, or you can declare the variable immediately before it is used and use it only within a narrow area. Declaring a variable on line 234 and then using it on lines 400-420, 460-470, and 550-575 is just plain mean to every other developer who will ever work on that code.
Do everyone a favor: Don't declare your variables in any of those ways. Thanks, now I can sleep at night.
|
| |
| MEMBERSHIP AND SITE INFORMATION |
| |
|
This newsletter is a benefit of membership in LotusUserGroup.org. This newsletter mails monthly. If you wish to subscribe and you are not a member, go here for your free membership and to subscribe. If you are already a member and wish to subscribe, log in at Manage My Account and update your profile to include the newsletter.
Let us know what we can do to help you achieve your goals. Send us
email or Contact us from the home page at:
http://www.lotususergroup.org.
Want to sponsor the Developer Tips Newsletter?
Contact our Partner Relations Department or call 1-781-751-8734.
|
|
|