01/24/2012

My 2 Cents on Lotusphere 2012



This year marked my 8th or 9th time attending Lotusphere (if only I had a backpack to commemorate each one!).

I've always attended as an exhibitor. Back in my Digital days, the senior management always wanted the full conference passes, because in the early days exhibitors got boxed lunches and full-conference badge holders go the fine dining hall.  

Anyway, here's my personal take on the show:

1. I got a nice surprise when someone stopped me and asked if I was from Teamstudio. I have to say, whether they've seen me present at a user group or at an on-site training at their company, it is always nice to know that someone remembers my face, if not my name.

2. I was telling a "story" to one of the attendees, and he said, "Oh, yeah, I read that in your blog." That made me really happy. Even though you can't "Like" a blog post, a la Facebook, it's great to know that people are reading it. And speaking of the blog: stay tuned - there are many more horror stories to come from that app I just got (app in the sense of multiple databases).

3. I attended more sessions this year than last year.  Mostly XPages-related (some extension library stuff, and some mobile stuff). Not for nothing, but carrying a tablet around sure gives you a very different perspective on UI design - who wants to scroll through pages and pages of views or even documents?? On another note, this was also the first year I didn't get over to Kimono's. Hmmm... Maybe Kimono's visits are correlated with the number of sessions one attends...

4. I gained only two and a half pounds this year. Part of this is due to the fact that I managed to get in two runs during the week - thanks to the beautiful shorts - and - t-shirt weather. The other factor was the dining hall closed for breakfast at 8 am, and the showcase didn't open until 9:30. Let's just say those were early lunch days.  
5. Speaking of the showcase, I don't think people take enough advantage of the resources available to them in the product showcase. The exhibitors and sponsors do tend to know a little about the problems their solutions address, and they are all willing to talk to you for as long as you want.  It may not be a problem you are having today, but hey, you can talk to them for free!  

6. Wouldn't it be nice if the certification test lab was open on Sunday?  

And finally...

7. Did you attend the Source Code Control session? Even the overflow room was overflowing. The good news is that there is clearly a lot of interest in source code control. That's all I'm saying. I don't care what kind of source code control system you use, just use one.  Having said that, if you're interested in a system that has been around for more than 10 years, and knows what a Notes database is, you could ask someone from Teamstudio about that.  We also know a thing or two about maintaining a proper development environment - keeping it separate from your production environment. Hint: it's more than just source code control.

How about you? What did you think of this year's show?


O Category :   

12/16/2011

Developers, like lawyers, should not ask questions they do not know the answer to



I recently inherited responsibility for maintaining some applications.  At the same time, we happen to be decommissioning a server, so I needed to change the Server to Run On for the agents.  And, for some reason, I had to ask: "What does this agent do, anyway?"  

Turns out, this was the agent that runs once a week against all documents in the database.  Well, first of all, it doesn't *really* run against all documents in the database. I don't think it matters much, but target of your agents should be set properly.

Second, this agent looks up the market segment of a customer in another database. Remember, this runs every week. It would seem that, if this information is required, it should be flagged as a required field on entry.  In theory, at the end of the run, every document should have a proper value.  So why are there over 1,200 documents being processed every week?  The agent doesn't care if it finds a value or not.  So it runs over the same documents every week (just in case).

It is also does the look up using a view that has all documents in the other database, even though there are way fewer documents of the type that have the information we are looking for.  This is a symptom of. "It works in development with a couple hundred documents, so why should I care how it works with a hundred thousand documents?"  Using a better view could probably reduce the run time.  

So why are we running this agent anyway?  This is where a good change management application would come in handy.  And who uses this information?  Let's go to the change request...  Oops!   There isn't one. So let's just ask all the users.  Apparently, this information isn't actually used because the one view that categorizes this field has the familiar '(Not Categorized)' category.  This agent doesn't even solve a problem completely, so it's not much of a solution.

What's the big deal?  The agent runs on weekends and only takes 12 seconds.  But multiply this agent by all the useless agents and databases and servers and pretty soon you see why users (and management) think Notes sucks.  

I think I'm just going to disable this agent and see if anyone complains.

By the way, I think it makes sense to switch up ownership of applications every once in a while, just so someone can ask those stupid questions.  You might also see someone else's clever solution to a problem you've wrestled with before.  

That said, I'm happy to volunteer to look at one of your applications if you like. Any takers?


O Category :

11/08/2011

A development tip, and more



I recently inherited an application from someone who inherited it from someone else.

It reminded me of something I discovered back in the R4 days: When you copy and paste a field multiple times, Notes takes the original field name and then adds an underscore and a sequential number (as in Product, Product_1, Product_2, etc.).  The problem comes when you have to loop through each field -- and who hasn't had to do that?  What you get is something like this:

For x = 0 To 15
                If x =0 Then
                        newDoc.Product = doc.Product(0)
                Else
                        newDoc.replaceitem( "Product_" + Cstr( x ) ) = doc.getitemvalue( "Product_" + Cstr( x ) )
                End If
        Next

Which is horribly inefficient. All right, you can make it better by putting the first clause outside the loop. But still...

So here's the tip: Go back to the first field and rename it with an underscore and a "0," as in Product_0.  Now just do the loop with no "if."  Using a tool like  Ytria's scanEZ, you can change the documents in your database without writing a one-time agent.

And now for the "and more" segment of this post: I just got a new car (a Mini Cooper S hardtop)! And I'm just amazed at how technology in cars keeps changing.  My whole car is a hands-free headset!  When I get into the car, it says "hello" to my BlackBerry.  And, when a call comes in, radio is automatically turned down, and the call is put through to all 8 of my speakers. So cool.

While we're on the subject of ever-improving technology, have you seen what Teamstudio has done with DDE since 8.5.2?  CIAO!, our source code control product, is now beautifully integrated into the Designer navigator.  You get a nice little icon to tell you that CIAO is watching your design elements for changes. And it gives you a nice little check mark when you have an element checked out to make changes.  It also shows you if someone else has it checked out. I think you'll like it. Send a note to contactus@teamstudio.com, or go to http://www.teamstudio.com for more information.


O Category :

09/12/2011

Teaching an old dog...



I'll admit to using punch cards during my college programming years - and this was at a world famous engineering college in IBM's back yard. Those were the old days... But it still takes me awhile to try new things. Only recently did I create a list where each entry was an object - my first class and my first list all at once.

I'll also admit that a lot of my programming bravado comes from the guys down the hall here at the Teamstudio office.  You see, I don't consider myself a developer, even though I have been writing code (or punching cards) for a long time. But I know I am really good at solving problems and I know bad code when I see it.  

So, in the interest of learning new things, I've recently started following a blog written by one of the guys down the hall: Craig Schumann.  You may have heard of him.  In his blog, he's exploring some of the newer technologies (new to me anyway), and he includes links to interesting posts by other bloggers as well.  

It's well worth your time to check out his blog. You'll find it here: http://notesonmobile.tumblr.com/archive.  Be sure to start from the beginning, so you'll understand the progression.  

Hey, at this rate, I may even try out some CSS someday soon!


O Category :

08/17/2011

A word on our recent twitterstorm



(As if "twitterstorm" is a word).  

We recently sent an email to our mailing list that raised a few eyebrows and caused a bit of a ruckus on Twitter.

There were a few reasons for this, the first of which was that, due to an email glitch, half of the emails arrived in the recipients' inboxes as blank messages.  Because of that, we had to send the message a second time, which was probably annoying enough in itself. But it was the content of the message that really got people talking (and tweeting).

Let me explain.  Many of you out there think you know Teamstudio well. But if you think we're just the guys with the neat tool that makes Design Synopsis look like a kindergartener's coloring book, you haven't talked to us lately. We're so much more than that!

In addition to our library of development tools, we have a staff of very intelligent people with a lot of software development experience, and Notes/Domino development experience in particular.  So we can help you with change management projects and good development practices in general.  We also have a lot of experience with managing production environments.  And our sales model is not just to sell you stuff - we want to help you solve your problems, even if that's simply a matter of getting AdminP to work properly.  Our Account Managers talk to our customers every day, and what they are hearing a lot these days is that management wants to save money by moving off of Notes. This, my friends, was the subject of our recent email, which caused all the hullabaloo in the "twitterverse."

Now, I am a firm believer that it makes no sense to spend a ton of money, only to end up with the same functionality you had in the first place - whether it's because Microsoft says you should, or because "the cloud" is the happening, cool place to be. But often, management has no idea what your Notes environment looks like. And that's where we come in.
 
For starters, we have a really cool tool that can tell you which users are using which databases.  Sure, the Catalog also tells you what has 'usage'.  But that lumps in mail routing, agent activity, replication, etc.  If you look in our Catalog, it will tell you that Rocky Oliver's mail file had activity in the last 24 hours and I can guarantee that no one is actually using that mail file. So this tool is a great place to start for any number of projects including server consolidations or an upgrade to 8.5.2.  This allows you to focus only on the databases being used. For example, I had one customer with over 30 servers and over 30,000 databases. And only 20 percent of the databases were actually used!

Once we have identified the databases being used, we use Teamstudio Analyzer to get the details of your application design.  From here, we can tell you how complex your applications are.  This allows you to make an estimate of what it would cost to redevelop the same functionality in another environment.  Faced with this information, management may want to consider other options, like simply Web enabling your existing applications.

So beyond the subject line is the real of the story: We want to help you stay on Notes. But we can also provide you with the information you (and your management team) need to assess whether or not changing platforms is worth the considerable time and cost involved.

On a side note: @JonVon works for a company that decided to move away from Notes. He recently tweeted the words "Teamstudio" and "going away" in the same message. It wasn't long before people started whispering that Teamstudio was going away. But what @JonVon meant was that his applications were going away - not Teamstudio!

Trust me - Teamstudio is not going anywhere.  All right, I take that back - we're going to MWLUG in Milwaukee later this month. Stop by and say hello if you're going too - or drop us an email.



O Category :

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.