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 :
Lotusphere 2012 source code control XPages
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 :
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 :
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 :
(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 :