Lotusphere, here I come!
I just got everything finalized for Lotusphere 2011. I managed to find a $155 roundtrip fare on AirTran from Dallas to Orlando, and I got a room booked at Dolphin.
IdoCheckin is back for the 3rd year, and as some of you in the community already may have noticed, I have been adding people on FourSquare and Google Latitude (where I am texasswede@gmail.com) during the last few days. Add me if you like. I will try to check in frequently during Lotusphere if anyone want to meet up.
So what’s left to do? Well, the most important thing: planning! The first thing I did was to download Ben Langhinrichs‘ Lotusphere Session Database. You haven’t downloaded it yet? Then go do it. I also went and ranked some of the sessions here.
This year I will focus on Xpages. As I mentioned previously, we are just now finished upgrading our users from Notes 5 to Notes 7. Most of them still got the Notes 5 mail template, though. But the IT Operations Manager have mentioned that he plan to get us on 8.5.2 soon. I am hoping for sometime before next summer. So I can see a possible use for Xpages at my current workplace, especially after the issues Sean Cull wrote about have been addressed.
There are a number of interesting sessions about Xpages, but I will also attend some sessions about user interface design (something I am very interested in) and of course harass the poor developers in the labs.
I am of course also excited about seeing so many of the people I consider friends, even if I know that several long-time Lotusphere visitors will not be there. I will be flying in Saturday morning, so I can attend BALD (Bloggers Annual Lotusphere Dinner) that afternoon at Big River Brewhouse. Of course you do not need to be a blogger to attend. That’s the beauty of the Lotus community, everyone is welcome.
If this is your first Lotusphere, don’t miss Andy’s Guide to Lotusphere.
See you in Orlando!
Lotus Notes: 21 years old this week
I am late to the party, but I also want to congratulate Lotus Notes on it´s 21st birthday on December 7.
This is a product that is extremely powerful, simple to use and has a great community where I can always reach out for (and receive) help.
The other evening I was watching an episode of Top Gear (the UK version), where they tested three luxury sports salons. One of the cars tested was the Maserati Quattroporte. My best friend, who lives in London, happens to own one, and I got to ride in it this summer when my son and I visited my friend. So of course I was excited to see what the Top Gear verdict would be. Knowing my friend, I was sure he had selected the best car. And of course Top Gear came to the same conclusion.
So what does this have to do with Lotus Notes, you may ask? Well, the final verdict on the Quattroporte could be applied to Lotus Notes as well, perhaps slightly modified:
It is like a two year old. Annoying a lot of times, but if
someone tries to take it away from you, you will kill them.
That is how I feel about Notes. As with most products, there are annoying things with it, but we all love the product and would not want anything else.
So happy birthday, Lotus Notes!
Lotus Lessons Learned
This is a guest blog entry by Tanya Delaney.
Recently, I had the honor of meeting and working with Karl-Henry Martinsson. I am a Lotus Notes ?ewbie,´ though I have a technical and web-based background. The last time I used Notes was as an end user (limited to checking email) while an employee of IBM in 1993. When Karl introduced himself as a Lotus Notes programmer and developer, I said to him, "People still use Lotus Notes?" The rest, as they say, is history; Karl has been on a mission to educate me ever since.
I am a web designer and developer, most fluent in ActionScript as well as the web standards HTML, CSS, some PHP, and I dabble in a bit of whatever is needed depending on my clients´ particular situations. As far as databases go, I always use MySQL. For this reason, Karl has been singing the praises of Lotus Notes and Domino ?though his accolades have fallen on my deaf ears. I was under the [incorrect] impression that Lotus Notes was only good for email, much in the way MS Outlook is, and I had no use for either.
Karl gave me a crash course in Lotus Notes as well as LotusScript to show me how efficient Lotus could be. As an example, he created a simple database in mere moments to hold ?ecipe´ data as well as titles, authors, and even country of origin information. He not only put it together (and made it look nice), but also challenged me to write a similar web ready database in as much time. “…”Right. I already knew matching both the power of Notes as well as his programming skill was impossible. So Karl amended his challenge: in ten times the amount of time, write a similar web page utilizing a database with all the same information. What took Karl 5 minutes, I now had 50 minutes to create?
I knew how to solve the problem. I could recreate Karl´s steps in my own native tools, but pulling it off without Lotus Notes was going to be a feat. Even without knowing much about Lotus Notes, I knew I was bested. However, I had a MySQL database at my disposal and a bet to try to win.
Since our challenge included a web ready version of the database to write to and read from, I started with a simple form:
//calling our PHP script and setting up the form
<form action="process.php" method="post">
//All the different labels required for this challenge
Country: <input type="text" name="country"><br>
Author: <input type="text" name = "author"><br>
Recipe Name: <input type="text" name = "recipename"><br>
Type of Recipe: <input type="text" name = "type"><br>
//Accolades to the low carb community
Is it Low Carb?: <input type="text" name = "lc"><br>
<input type="submit" value="Submit">
</form>
Here is a screen shot of a basic, simple form created for this challenge.
Since I decided to interact with a MySQL database, I decided to use PHP to interact with it. This form calls for a PHP file called process.php (in line 1), a file I had to create. The rest is pretty simple ?the form calls for different fields and once the user clicks on submit, all their values will be passed to the SQL database.
Process.PHP is the entire reason this form works. That being said, let´s take a look at what´s there:
<?
//calling our database categories
$country=$_POST[‘country’];
$author=$_POST[‘author’];
$recipename=$_POST[‘recipename’];
$type=$_POST[‘type’];
$lc=$_POST[‘lc’];
//database u/p information
mysql_connect("localhost", "some_user_name", "some_password") or die(mysql_error());
//database and table information
mysql_select_db("karls-challenge") or die(mysql_error());
mysql_query("INSERT INTO `karl` VALUES (‘$country’, ‘$author’, ‘$recipename’, ‘$type’, ‘$lc’)");
//letting us know that everything went well
Print "Your information has been successfully added to the database.";
?>
The above script is basically listing all the values that our database has for this particular challenge, as well as login information to the database. After authentication, all the values are passed to the database. However, part of the challenge was to also retrieve this information, so, yet another PHP file needed to be created.
<?php
// Connect to the database server
mysql_connect("localhost", "some_user_name", "some_password") or die(mysql_error());
// Open to the database
mysql_select_db("karls-challenge") or die(mysql_error());
// Select all records from the "karl" table
$result = mysql_query("SELECT * FROM karl")or die(mysql_error());
// Loop thru each record (using the PHP $row variable), then
//display the fields "country, author, recipename, type, lc" of each record.
while($row = mysql_fetch_array($result)){
echo $row[‘country’]. " – ". $row[‘author’]. " – ". $row[‘recipename’]. " – ". $row[‘type’]. " – ". $row[‘lc’];
echo "<br />";
}
?>
The script above queries the database and will keep looping until it receives all the data. It will be displayed on a website in plain text. This, however, is only 1 view of the information.
Conclusion?
Lotus Notes definitely wins here ?I ran out of time before I could even begin to attempt different views. Even if I had more time, it would take a bit of scripting to change the order of data ?something Lotus Notes does very well.
More and more throughout this process, I was really starting to appreciate the power of Notes compared to the tools I currently use. Karl was truly teaching me a lesson I will soon not forget (nor will I ever utter a comment like ?otes? People still use that?´)
Thank you, Karl, for giving me such an eye opener about the power of Lotus Notes and Domino. You´ve definitely made a believer out of me. It was truly an eye-opener to sit down with a Lotus master and observe the simplicity and power of a stellar product that Lotus Notes is.
Bleed Yellow!
Comments by Karl-Henry:
Now I will describe what I did in Notes.
First I created a form called ?ecipe´ with a few fields:
The only code are the formulas behind the three action buttons:
?lose´ button: @Command([FileCloseWindow])
?dit´ button: @Command([EditDocument])
?ave´ button: @Command([FileSave])
The recipe types (appetizer, main course, desert and other) are hard-coded, but could of course be pulled from a profile document or be built some other way.
I also added field hints, so the user can tell what to enter in the different fields.
I then created a view, with the view selection SELECT Form="Recipe".
I added a ?ew´ button, with the following code: @Command([Compose];"Recipe")
There are four columns in the view:
1 : Categorized, displaying the value of the field ?ype´.
2 : Name
3 : Origin
4 : Computed, display value as icons: @If(LowCarb="";"bullet_red.gif";"bullet_green.gif")
That´s all. A total of five lines of code, put together in about 5-6 minutes.
And here is the result:
Note: I used my generic Notes Application template for this, so that saved me a minute or two and gave me a nice look, but the total design time when I showed Tanya this the first time, without that template, was about 5-6 minutes, including actually explaining everything I did. In the original challenge I alsecreated two copies of the view, categorized/sorted on different fields (‘by Origin’ and ‘by Author’) to show the power of views.
Domino should be free for the web
Tom Duff wrote about Domino as an application platform, and in some of the comments there was a discussion about making the Domino server free as a web platform, at least for smaller companies. Go and read the comments.
Here are some excerpts:
[W]hy pay for a Domino server for only applications when you can do stuff in open source platforms like Plone, Alfresco, Joomla, Drupal, CMS2, etc. that are completely free?
The only way that the slide would stop is for IBM to recognize what it has and market Domino heavily as a Web server.
In addition, they need to price the server accordingly compare to the open source solutions out there.I actually have a solution already built on Domino and will be offering the same solution as SaaS. Sadly the Domino licensing model does not support our business model.
So although I want to use Domino, Domino can do the job, does it well, the pricing rules it out. It is cheaper for me to have the application rewritten on a different platform than to buy the Domino licenses.
The last comment, by Carl Tyler, is actually a response to me (comment #26). I was recently approached about developing a web application (online product catalog, simple shopping cart, then a CRM system to handle the processing of orders between several separate geographic locations) which I could put together in Domino in a fairly short time. A very good friend was thinking about using MySQL, Joomla and Magento to build the application, but that is a lot of downloads and installs. Why not use Domino, especially when I can build the application in very short time? Well, mainly because the customer would not pay thousands of dollars for the Domino server license. Domino Collaboration Express can not be used for web applications by unauthenticated users, if I understand the licensing correctly. So no public web server allowed.
I would have to get Domino Utility Server Express, which requires PVU licensing. Even with a single core, single non-Intel processor we are talking over $1000, and quite a bit more if going to say a dual core single CPU Windows server. According to "Sonny" at IBM (see chat to the right), that option would use 100 PVUs at $205/PVU, for a total cost of $20,500.00! That’s insane!
So could IBM not provide Domino as a free web application platform? At least some restricted version, or as someone called it "community version". Let’s say unlimited anonymous access and 100 (250?) authenticated web users, but no mail, just applications. Any Notes users or mail users still need a Lotus Notes Collaboration Express client license.
Promote Domino as the great web application platform it is, a RAD platform with strong security, built in database and much more. This would have the effect that more people would start using it. Isn’t that why Domino Designer was released for free, to promote Notes/Domino development and spread it to new developers? The next logical step is to provide a server. Now we have developers who learn the platform and see what you can do with it. They will push that to their clients or the companies where they work. This will get Domino in the door, even without email. The next step is obviously that the company realize what can be done if they get the Notes client and start using email. They buy a few Notes Collaboration Express licenses and start testing, and soon they might get Notes for everyone.
Nobody will buy a product they never heard about, or one they heard about but never seen. By getting Domino out there, making the product visible, more companies and corporations would learn about it. In the long run, I think that would lead to more sales to small and medium sized businesses.
Ed Brill also comment on Duffbert’s blog. He asks "Where does IBM make money on it? Our own services? If that became our strategy, we’d be blowing up the partner community that has made the product so successful". Well, IBM is giving Symphony away for free. Sure, it is a repackaged OpenOffice, but there is still an investment in development from IBM. And if you go to the Symphony page, you find this: "Lotus Symphony Quickstart services offering now available". Hmm, does this not sound like IBM making money on their own services:
Have you been looking for help to get a pilot up and running using Lotus Symphony in your organization?
We now have a fee based services offering from our IBM Lotus Lab Services organization that can help you do just that.
The IBM Lotus Symphony 3 QuickStart solution gives you everything you need to evaluate the ROI and feasibility of deploying Symphony in your organization. We provide hands on Symphony training, video training with the Symphony Multimedia Library, best practices for user segmentation, analysis of Lotus Symphony features and benefits, and proven deployment strategies.
I think a free Domino Web Application Server would be a great way to increase the interest for Domino, and show what it can do. I will in the next day or two have a guest blogger write about her impressions of Lotus Notes and Domino. She is totally floored at what Domino can do and how easy many things are. But all that count for nothing if the server is so expensive that nobody outside big corporations can afford to develop web applications for the platform.
Free (restricted) Domino web application server – vote at IdeaJam!
As Peter von St??l suggested in a comment to my previous post, I have now added a suggestion at IdeaJam.
Please go and vote. Don’t forget to add your comments, especially if you are against it, please motivate.
I am curious to hear opposing arguments.
Code Snippet: Display Message on Client or Server
Most Notes/Domino developers have probably been in this situation: you are creating an agent that is running both on the server as a scheduled agent, and manually launched on the client. On the server you want to displaysome information on the console, using the Print statement.Butsincemost regular users do not look at the status bar and read the output of print statements, youwant to display the informationto the user usinga message box. This way,when the agent is launched manually, the userhave time to read it.
Here is my solution. Nothing fancy, but it works for me. I simply create a small function that check if the code is running on the server or not, and execute slightly different code. I also use Getthreadinfo() to get the name of the calling procedure to display in the title.
Sub PrintMsg(text As String)
Dim session as New NotesSession
If session.IsOnServer() Then
Print text
Else
Msgbox text,,Getthreadinfo( LSI_THREAD_CALLPROC )
End If
End Sub
Note: You need to include LSCONST.LSS for the constant LSI_THREAD_CALLPROC to be available.
Internet is Amazing
The other day I was talking to a friend, and wondered what we did before we had access to Internet. She pointed out that we watched the news on TV and went to the library to look things up. Of course, that all works, but think about how more convenient it is today.
With the Internet, we have the information at our fingertips. Back in 1990, Bill Gates gave the keynote address at Comdex. He talked about some new exciting software, including Lotus Notes. But his main subject was what he called "information at your fingerips":
Someone can sit down at their PC and see the information that’s important for them. If they want more detail, they ought to just point and click and that detail should come up on the screen for them.
Sounds to me like a good description of the Internet as it looks today. Of course, he did not mention the Internet, the first web browser was still being worked on at this time. But I still think he was extremely accurate, even if it took much longer for his vision to become a reality.
Here are just some of the things I used the Internet for this morning:
Tracking my sisters transatlantic flight from LHR to DFW, including getting updates on arrival time
Checking my monthly electricity consumption for the last year.
Looked up the directions to my ex-wife’s new place and what the traffic looks like, for later when I go there to get my son.
Looking up the the latin name for bobcat, and reading more about them, after a friend mentioned them in a conversation.
I would never have been able to do those things that quickly and efficient without the Internet. And the most amazing is that I can do all this from my mobile phone as well!
One wonder where the next 10-15 years will take us.
Stuff I Use Every Day (SIUED): NoteMan
A couple of days ago John Roling (Grayhaw68) posted Shit I Use Every Day about Dropbox, a service that I also use. I think to post tips about useful tools is a great idea. I want to push for a few tools I use on a daily basis.
The first tool is the Notes tool i have been using the longest, NoteMan from Martin Scott. The NoteMan Suite consists of several programs, and they can be purchased separate or together. But for $395, it is a no brainer to buy all of them. Here are the programs which are part of the NoteMan Suite:
NoteMan.Editor
This tool can easiest be describe as “Infobox on stereoids”. You get a great overview of the fields in a document, and you can add, delete and edit fields, and even change the data type. It’s easy to see the UNID of a document, you can make a document a child/response to another one from within this tool, and much more. I use this tool pretty much every day, often multiple times.
The MultiEdit tool is great to update a collection of documents, and you can even perform the search from within the tool.
NoteMan.DocDelta
This tool compare two documents, or a document and a replication conflict. For replication conflicts, they can be resolved in different ways, either by switching the two documents, making the replication conflict the main document and vice versa, or by copying the values of individual fields from the conflict to the main document.
NoteMan.Design
I don’t use this tool that much, but it let me look at the design, see what elements inherit design from other templates, have “Prohibit design refresh” set, etc.
NoteMan.ACL
A very convenient tool, that I only use on occasion. But when I use it, I save a ton of time. It lets me export the ACL of a database as XML, then I can import it and apply it to another database.
Conclusion: NoteMan is a suite of inexpensive but very powerful tools that every Notes developer (and admin!) should have in their toolbox. Martin Scott usually have a pedistal at Lotusphere, go there and take a look.
Disclaimer: This is a tool my employer purchased. I initially got NoteMan.Editor for free at Lotusphere a number of years ago, and we purchased the rest of the tools within a few months.
Is geek the new chic?
I just noticed on twitter that something called Geek Girl Meetup (#ggm10) took place in Sweden this weekend. From the tweets (in Swedish), it sounds like a very interesting conference, with some seminars, people meeting up, etc. And of course in the Notes community we have our own Nerd Girls.
I think it is great that women now can show their techology interest, or other "nerdy" interests. When I grew up as a teenager, as a computer and RPG playing nerd, I was not very interesting to girls. Then, when the Internet starting to take off in the mid 90´s in Sweden, I noticed an increased interest/acceptance for nerds and geeks. As long as they were male. It was still kind of taboo for a girl to be a geek.
I think that in the last 5-6 years, the acceptance of female geeks have been increasing dramatically. Non-technical people see that girls can have a good career and enjoy a technical job. Personally I find intelligence (and geekdom) in a girl very attractive. So I hope this trend will continue. I also hope that the issues I know some (many?) girls experience in a male dominated area, like technology, will soon go away, and that everyone get judged on their merits and knowledge, not their gender.
However, I think that some participants in events like the above mentioned Geek Girl Meetup and SXSW Interactive are not "true geeks", but marketing people who want to hop on the bandwagon, because the fact that geek is the new chic/cool. I am sure not everyone with titles like "entrepreneur", "venture angel" and "founder" have the real geek/nerd mindset. That is ok. But don´t try to pretend you are something you are not.
However, if you code (creating web pages with Frontpage does NOT count as "coding", though!), administer servers, build/repair electronic hardware and love gadgets, you are a geek. :-) And if you like me started writing code on a computer with 16 kB memory (like the ABC 80 pictured here), you are absolutely a geek. :-)
There are of course many other kinds of geeks. Comic book geeks, Harry Potter geeks, Manga geeks, just to mention a few.
Image of Role Playing dices by Sabbut , licensed under Creative Commons Attribution-Share Alike 3.0 Unported. I resized the original picture and made the background transparent.