Showing posts with label Lotus Notes. Show all posts
Showing posts with label Lotus Notes. Show all posts

Monday, April 13, 2009

Weird Behavior in Designer Client?

Anyone else have this? When I am in the Designer client (8.0.2) and am working on some Lotusscript, say in an action or something, if I get an email in my Notes client, the focus in Designer is taken from the action and puts me up in the "Window Title". I don't have popup notification (because it's too distracting!), just the icon in the system tray. This behavior drives me a little nutty when I'm in the middle of coding something and it loses focus. I have enough trouble keeping focus!

Tuesday, April 7, 2009

Should I Call The UI Police?

So, while filling out an online application for a race (look, running and developing in one post!), I came across this field…

Photobucket

Seriously? The form had radio buttons for other fields, so clearly they are aware of the technique. They just chose not to use it, but THEN they have to include instructions (that no one will read), for the user to select only “a Maximum of 1”. Ugh. That isn’t even well written. Ignore the fact that it says “Mens” shirts, but that the shirts are Unisex. Oh, and there is an asterisk, as though there is a footnote, but there is no footnote. One presumes it references the poorly worded instructions in red.

The worst part is that this is a huge website, used by TONS of races for the purpose of registering racers. This isn’t some podunk little site that no one ever sees. And this wasn’t exactly their first race registration form.

I was very tempted to check them all off, just because I could.

[ETA: BTW, when I got to the race, they just asked me what size I wanted!]

Wednesday, April 1, 2009

Facebook – Not Interesting or Multiple Personalities?

I’m not feeling the love for Facebook lately. Or maybe I’m just not using it right. Maybe I’m like one of those people who signs up for Twitter, doesn’t follow anyone and then “doesn’t get it”.

I signed up for Facebook sometime last year, probably May, judging by the date on my first profile photo. I friended a bunch of actual friends. It was fun. A great way to share photos, catch up, etc. I put in my high school and college information and a bunch of people from that part of my life started finding me and friending me. Initally, that was fun, too. We caught up on our lives, shared more photos, talked about careers, families, and more. However, after each initial connection, there would be a flurry of discussion and then it would die down. They would become just another photo in my friend list.

Then, Facebook started gaining in popularity (I know it was already popular, but then it started gaining in popularity with the 30+ crowd). Suddenly, EVERYONE I knew was on Facebook, and started friending me. Seriously, I am “friends” with my friend’s mother. Groups that I have vague associations with now have given me oodles of “friends”.

I have co-workers as “friends”. I see these people all day at work, do I really need to get home and see that they’re making dinner or feeding the dog now? Accompanied by pictures of said dog? (Sorry, if you’re a co-worker and you’re reading this, I really did love that picture of Fido!).

I haven’t really started connecting with people from the Lotus community on Facebook. I did connect with a few, but we’re in the Domino Divas group, how could I pass that up? :) The reason I haven’t connected with Lotus people on Facebook is because I’m not entirely sure I want to mix up my Lotus world with my personal world. (I know, I know, I’ve mixed running and Lotus on blog, I’m a hypocrite, what can I say?).

I honestly find Facebook confusing enough as it is. I already get 500 requests to “pass a drink”, do I really need to add a whole new community to that? I can’t handle the news feeds either. Is there a way to filter it to only show things that might actually interest me? I WANT to see when my friend posts pictures of her new baby. I don’t really need to see that 45 people took some silly quiz.

I know there are lots of Lotus peeps on Facebook. How do you handle this? Do you have multiple personas on Facebook? Do you just tune it all out? Do you freely mix your personal life and your Lotus life? I realize many Lotus peeps can actually be your friend and that’s a bit different, but how do you handle all the people who aren’t really and truly your friend? Connect with them anyway? Let them see that awful picture of you in high school that someone else posted? Or that stupid note that your friend’s sister’s brother-in-law wrote about you and some embarrassing story from the third grade?

Monday, March 30, 2009

Speaking of Bob Balaban... (2nd Time Post)

I mentioned talking to Bob Balaban a few posts ago. I am thrilled to say my employer was lucky enough and smart enough to hire him for a bit. I have gone from self-taught-struggling-newbie to self-taught-struggling-newbie who is working with Bob Balaban!!

Can you tell I’m excited? It’s like a dose of Lotusphere every week for me!

The best part is that he hasn’t looked at my applications and said “Oh my god, you’re a complete moron, this is crap”. Not that I was afraid that was what he would say or anything…

[ETA: Sorry, again, this was another post that didn't make it to Planet Lotus, reposting - I think blogger.com must take weekends off]

Thursday, March 26, 2009

Defensive Programming

I need to improve my defensive programming. This kind (the third bullet from Wikipedia): “Making the software behave in a predictable manner despite unexpected inputs or user actions.”

I use the tools that are available to me. I make fields that should receive numbers into number fields. I make required fields, well, required. I use field validation and translation. I don’t allow pasting or deleting in applications where users shouldn’t be pasting or deleting. I use drop down lists where possible and don’t “Allow Values Not in List” wherever possible. I use Julian Robichaux’s awesome OpenLog for error handling. The list goes on.

I test the applications. I test them myself first. I test them with actual users. I BEG them to try and do what they would normally do. I ask them (dare them) to try and break the application during testing.

And STILL those pesky users find ways to break the application *after* the final release.
Photobucket
I swear the UI could include a blank screen with a giant button in the middle that says “Click Here” and users will still say it doesn’t work because they clicked on the menu, and tried to select “Create” and do five other things besides hitting the giant button. . Maybe it’s my fault. I told this to Bob Balaban and he said the button should say “Click Here TO DO EVERYTHING”. :)

So my goal is to improve the ways in which I can program defensively. Yes, the onus is on me. I have to get better for a couple of reasons. 1) It is actually my job. 2) It makes my life easier (less complaints, less training, less calls).

On the other hand, complaining about users is a lot of fun. ;)

Monday, March 23, 2009

Only 10,000 hours to master Lotus Notes!

I just finished reading Outliers: The Story of Success by Malcom Gladwell. I’ve been obsessing a bit about the 10,000 hours thing. I'm not doing the book or the idea justice, but he asserts that most “masters”, regardless of what they are master of, have amassed around 10,000 hours at their specialty. He uses violinists, computer guys, hockey players, etc. as his examples. This is actually good news for me. I’ve been doing Lotus Notes development full time for four years now. Let’s see…four years, 48 weeks (gotta subtract out vacation), 30 hours per week (that’s probably generous, although I’d like to say I devote all my time to development, I don’t, I can’t, there’s meetings, helpdesk calls, etc.)…that’s 5,760 hours. Sweet! I’m halfway there! That's actually encouraging.

Thursday, March 12, 2009

Admin for Developers

I definitely NOT an Administrator. I occasionally become acutely aware of that fact whenever I have to do something Admin-y.

Now, I am not completely inept. For my first couple of years in IT, I actually did some basic administration for our Domino server: create users, manage mailboxes, etc. However, I only know what I’ve been taught. In other words, my admin said “create a new user, here, this is how you do it”. See, I am not completely inept, just mostly inept.

So, imagine my delight when I saw Jess Stratton’s Lotusphere session “Administration for the Developer: Build and Secure Your Own IBM Lotus Domino Server Playground in an Hour!”. Fabulous, just what I need and now I can do it on my own. No need to bother the admin. Great! She made it look so easy, too. Her slide deck was terrific with step by step instructions. Yeah!

Of course, I come back from Lotusphere (and back to reality) and get busy with work, so I don’t get around to trying it until this week. Okay, download VMWare. Got it. Hmm, which VMWare product? There are approximately 500 of them (I’m exagerrating a little). Well, let’s see, this Workstation thing looks good, and I can download a free trial, let’s give that a go…downloading…installing…hey, look at that! It created an image of the computer it’s installed on. Fantastic. Jess said we could use Windows 2000 since it’s free and Domino 8.5 server works on it. But, look VMWare Workstation made a virtual machine of my XP workstation. We have the licensing, so I’ll just go with that. [Mistake #1]*.

Okay, that worked, let’s install the Domino server…installing…pretty…hey, that worked! Woohoo! Now, go to host machine, launch Notes client, make a connection doc, and a location doc. Umm. Hello? Nothing. Crap.

I then dig out Jess’ presentation slides. Prior to that I had decided to ignore them, since, you know, I know what I’m doing! [Mistake #2] Flip through the slides. Oh look, she recommended pinging between the host and guest BEFORE installing Domino. Hmm. Oh well, no biggie. I’ll just ping now. Ping from guest to host. All good. Ping from host to guest. Nothing. Crap. So then I start playing with the Network Adapter setting on the virtual machine, thinking maybe I just have the wrong setting. Which each time (I think) requires me to shut down and restart the virtual machine. Since I installed Domino as a service, this means I get to watch my Domino server start up and have to shut it down each time. [Mistake #3].

Still no go. Okay, next I Google my problem. No one ever seems to have a problem pinging the guest from the host. Lots of people have problems the other way, and lots of people have solutions, but nothing for my problem. Crap. Again.

Finally, something goes off in my brain that I remember something somewhere about XP and ip addresses. Oh yeah, and Jess said she uses Windows 2000. Hmm. Let’s try that. Dig out old Windows 2000 Server CD. Install…hey! Look at that! PING! PING! PING again, just because I can! Success. Now I install my Domino Server. Ah, look at that. A thing of beauty.

Launch the Notes client. Make a new connection doc and a new location doc (because now I’ve moved on to a new machine, new installs, etc. out of sheer frustration). And…crap. Still can’t see my server. Ping again. Yep, that still works.

Finally, I ask my admin. What the heck am I doing wrong? He comes over, tells me to put the ip address in where the connection doc asks for the server NAME. Not the tab that asks for the Server Address, I had that right, but the tab that asks for the Server Name. I do that, and sadly (because I am now embarrassed in front of the admin, who thinks I’m an idiot), but happily…it works! I make a joke about how long this took me and the following conversation occurs:

Admin: Why didn’t you ask me?
Me: Well, it was really the whole thing about XP and the virtual machine ip address that took so long.
Admin: Oh yeah, XP [blah blah] ip address [blah blah] I could have told you that wouldn’t work.

Sigh.

Moral of the story: Don’t use XP for your virtual machines and read the instructions.



*Admins may argue my FIRST mistake was actually trying to do anything adminstrative to begin with, since I am just a lowly developer. ;)

Friday, March 6, 2009

Overwhelmed - In a GOOD way

Okay, I am once again overwehelmed. But this time, in a good way. I posted earlier how I was overwhelmed with what I DON'T know. The comments, on my post and on Twitter, by people considered gurus was really wonderful to see.

To know that the gurus don't always feel like gurus, makes us little guys feel so much better.

I feel so much better, in fact, that I downloaded some VMWare, installed a sandbox Domino 8.5 server, and started in on Declan's XPages "book". That should get me better acquainted with Designer 8.5!

Of course, I can't get my laptop to see my VMware server, but I'm sure I'll figure it out, right? :)

Wednesday, March 4, 2009

Overwhelmed – please tell me other people have felt like this!

Okay, so I’m a middle-bie. Not a newbie, but not an oldbie either. However, I’ve recently become acutely aware of how much I do not know.

There are times when I attend a Lotusphere session, or read someone’s blog and I feel like I could sit and read books, read code, take classes, develop, etc. for 24 hours a day, 7 days a week for YEARS and still never feel up to par with these people.

I have good days, too, where I figure out some cool way to accomplish what I needed in LotusScript and I stand up and do a little dance at my desk, but today, I am just feeling overwhelmed. I don’t know Java. I don’t know Javascript. I don’t design websites, I’m not Web2.0-cool. I’ve looked at the 8.5 Designer and freaked out because it just looks so different from what I am used to. I don’t have a computer science degree and sometimes I think that fact can erode whatever confidence I may have had in myself.

I know this feeling will pass. I will take a few hours (days?) to get acclimated to the new Designer. I will someday learn Java and Javascript. I know I have to be patient. But right now, I just want to know it all, and know it all now, and feel comfortable and confident in what I know.

Anyone else ever feel that way? Anyone? (Feel free to lie and say yes to make me feel better).

Thursday, February 19, 2009

Guest Blog Post!

At Lotusphere, I was lucky enough to see a session by Chris Blatnick and Tom Duff. Chris covered low-fidelity prototyping among other things. He was gracious enough to allow me to post a guest-post on his blog. Check it out!

Tuesday, February 17, 2009

Amusing Domino Documentation

As a newbie developer, I constantly have Designer Help open. Thankfully, I have dual monitors, so one has the Designer client and the other has Help open, most of the time.

I love when I run across gems like this one...

Syntax flag = notesDocument.ComputeWithForm( doDataTypes, raiseError )
Parameters doDataTypes
Boolean. The method ignores this parameter. Specify either True or False.

I realize it is probably there for backwards compatability, but usually the documentation notes that. This just blatantly says, put in the parameter, put whatever you want because it is ignored!

I probably need to get a life, but that cracks me up!

Tuesday, February 10, 2009

Application Developer for Lotus Notes and Domino – a newbie guide

I think many people get to Lotus Notes and Domino from “winding” career paths. It isn’t like most of us started out our careers saying, “Hey, I know! I want to be a Lotus Notes and Domino Application Developer!”. In fact, most people I speak to didn’t even set out to be any kind of application developer or system administrator. Many of us started out in one place, and through various circumstances found ourselved suddenly tasked developing in Lotus Notes or suddenly in charge of a Notes/Domino server.

That is essentially what happened to me. Long story short (if you want the longer version, check out my first entry), I was never officially trained. I don’t have a masters in computer science. I don’t have a bachelor’s in computer science. Heck, some days I can’t even spell computer science. Anyway.

I suddenly found myself faced with need to know how to develop applications in Lotus. I quickly realized there was no “Lotus Application Development for Dummies” guide. It seemed that there were very few resources available. AND many of those assumed a level of knowledge that I did not have.

Of course, how you learn a new skill depends greatly on understanding your own learning style.

Go to the Lotus website and spend an hour or two navigating your way through 1000 links to get to the Certification and Training page. Find a certification path that makes sense for you, i.e. if you want to be a developer, look for the developer certification. From there, you should be able to find resources such as online and in person classes that would prepare you for the certification tests. (I won’t provide a direct link since they always seem to change).

One such provider is TLCC. They provide various online classes for learning Lotus Notes and Domino. I highly recommend these classes. If working at your own pace works for you, then these are a great option. You actually download an .nsf file that has lots of working examples of the material. WARNING: if you are like me and don’t “pace” yourself well, these may not be for you as I find I never complete them.

In person classes, offered in various locations. These can be pricey, but well worth it. I have taken classes from Davalen and Workgroup Connections. Both were excellent. Davalen also offers a virtual classroom, which is a lot more convenient than buying a plane ticket and hotel room! The great thing about these classes is that you get the official IBM book. Step by step instructions and examples to learn the material. WARNING: if you find yourself annoyed and bored if you get something and others in your class do not, the in person class may not be for you. WARNING: if you find yourself falling asleep at your monitor when you “work from home”, the virtual class may not be for you.

You will also find some IBM documentation on their site that may or may not be useful. Honestly, if you are just starting out, some of their “documentation” may be a little too much to handle. Downloading Volume 2 of the Programmers Guide might just make your ears bleed.

Get the Lotus Notes and Domino 6 Programming Bible, even if you aren’t using R6, this book is still invaluable. Realize though, that if you are a true newbie, some of this book will make your head explode. Get it. Read what you can and don’t worry ‘cuz the rest will make sense later.

Get Code Complete. If you are like me, and don’t have a programming background this book will help you write good code. It doesn’t matter what language, Code Complete discusses and demonstrates good code structure. Just like the previous book I mentioned, get it, read it and don’t worry that it doesn’t all make sense right away.

Definitely definitely definitely check out www.planetlotus.org. It’s a giant list of all people who blog about Lotus. Scan through stuff, search, whatever, it’s a great place for resources.

Last, but certainly not least. The way I learned the MAJORITY of what I know. Jump in. Go to openNTF.org and download an application (highly rated or popular). Open it up in the client, understand what it does, then go open it up in Designer. Try to figure out the code that does what you experienced in the client.

ETA: A Planet Lotus blogger just asked a similar question and got a bunch of great responses, check them out here

Motivation Monday - Update

It worked! Both professionally and for running.

Yesterday, I ran again! I also uploaded all of my runs since December and realized I was being much harder on myself than I deserved. I haven't been running a LOT, but I have been running some, which is better than nothing.

Anyway, thanks to the four questions from yesterday's post:

I went running.
I made up a running schedule to get me to the Great Bay Half Marathon in April.
I convinced my friend and running partner to also do the Great Bay Half.

I also cleaned up my desk, cleaned out my emails, organized my to-dos for the many development projects I am working on, and knocked out quite a few of them.

The four questions really can be applied to anything...

What would I like to have happen?

I would like to finish the Contact Management System I am developing in Lotus Notes this week.

What needs to happen to finish?

I need to get the specs on a couple of reports that the users want. I need to finish up the remaining requirements.

Can I?

The specs are up to someone else to create, so we'll see if I get those. I can finish my stuff while I wait.

Will I?

Yes.

See? The beauty of the questions is that you can see what is realistic for a goal. Then you can readjust. For example, I may not get the specs, but rather than be disappointed at the end of the week that I didn't finish the CMS, I know that I can do the rest and that part may or may not happen. Realistic expectations = happiness!

Sunday, January 25, 2009

Welcome!

Welcome to my new blog.

I am a Lotus/Domino Developer and a runner. I've blogged quite a bit on my old blog about running, and I'd like to start a new blog which incorporates one of my other passions, Lotus/Domino development.

So get it? Running Notes? Notes on running and running (Developing) Notes? Wow, I am so clever, right? Hey, what can I say? The good titles were all taken.

About me:

My running background - Prior to 2007, I was a sloth. Seriously. I was 40 pounds overweight and wouldn't run unless a bear was chasing me. I had tried running a few times before in my life and despised it. Why would anyone want to torture themselves like that? Then, in September of 2007, I decided to try the Couch to 5K program. Literally taking people from couch potatoes to running a 5k in 9 weeks. With the program, I took it slow. I mean SLOW. Like old-ladies-passing-me-slow. And in November I ran my first 5k. Slowly. 34:41. BUT, I RAN it. The whole thing.

Then, I was bit by the running bug. I loved it. Kept running all winter. Keep in mind I live in New Hampshire, so that actually means something. I ran in 24 degrees with snow blowing sideways. I built up my mileage and signed up for several races in the Seacoast Series. I ran my first 10k in June 2008.

Then, I really did something crazy. I signed up for a half marathon. So it was that just over a year after I started running, I ran my first Half Marathon in November 2008.

I've cut back since then and really need to get back into a consistent schedule. Especially since I *may* have signed up for another Half in April...

My Lotus Notes and Domino background - this one is a little longer. I started out post-college as an Actress in Music Theatre, living in New York City. After I got tired of that and wanted a "real" life, I moved to New Hampshire. I had intentions of taking a temp job and possibly becoming a web designer (I had some experience with some technical temp jobs while trying to support myself as an actress). I got a temp job in 1999, which was data entry-ish at an Investment consulting firm.

I moved up through the firm from temp job, to permanent job (Data Analyst) to Performance Analyst, to Investment Analyst. It was a small firm, so while I did the investment side, I was also part of the "Tech Team". Part of my duties on the tech team were to perform some of the junior duties of a Notes/Domino System Administrator. I was also involved in hiring and managing an outside consultant who developed an internal application for our firm. Managing the consultant involved learning the design of the application in the event he was "hit by a bus". He wasn't hit by a bus, but he did move back to India.

It was shortly before that I was made a full-time IT person. Still performing junior system administration tasks, and also maintaining and developing Lotus applications. When our consultant left, it was trial by fire. I had to learn everything about development and learn it quick.

Not surprisingly, development soon became my sole focus. So, I've been involved with Notes since R5 and a full time developer for the last several years. I am both self taught and IBM trained. I am officially an "IBM Certified Advanced Application Developer - Lotus Notes and Domino" for 7 and 8. I've attended Lotusphere 2008, Developer2008 and Lotusphere 2009. I completely feel that Lotusphere is THE best way to learn anything Lotus related.

Thanks for reading if you made it all the way here.