IM me on the sametime community -


Slides from AD102: Caffienate your XPages with Java

Category :
For those of you that attended my session at MWLUG on using Java in XPages and wanted the slide deck, I've attached it here. Also don't forget to download mypic from ( as well to get the demo code and examples.


Ever wondered about the scalability / availability of XPages on Domino ? Well...

Category :
I can't say this is the most scientific test, but it's real world.

We've got an XPages app that serves up a set of pages to entrants of a well known contest ... The entrants enter their registration information, and we record the data, and direct them to a thank you page.

The server that runs this is a Linux domino server, with 2 processors, 4 cores each, and ample memory (but its only running on a single partition, and since we're talking a 32-bit domino installation, memory is maxed out at 4GB). Server uses a simple single RAID 10 volume with 8 15k SAS 146GB Drives. I've dedicated 512MB of that ram to the JVM for the HTTP Stack in the Notes.ini, but, from the second image below, you can see it only has 51MB allocated to the Java Heap and 66MB allocated to the non-heap memory. We also have the server in a cluster that replicates the data in real time (cluster replication) to another server that is not serving general public requests. Its only for backup. The server does not serve any other NRPC traffic, its strictly for web traffic. For what its worth, all web traffic is anonymous.

A few days ago (February 14) I enabled the domino log to track some statistics to see what the overall load on the server was because I knew we were seeing some "significant" traffic.

Below you can see the server has serviced just under 9.3 million requests for resources from the domino server since midday the 14th. The majority of those (just over 9.2 million) are directly related to the XPages App I describe above.  The third entry shows the number of new entries we record each day, on average about 30,000 - 60,000 new entries every day. From the chart #3 below, the bandwidth graph you can see that the majority of our entries come in from 6 AM throughout the day, then taper of at about 1 AM ...

From the 4th image below, you can see we serve on average about 45,000 XPage Entry requests per day (give or take - its been as high as 60,000 in one day), then a couple of partial refreshes as they complete their entry form, then the submission to save the entry, and a redirect to a final XPage confirming the submission. so 90,000+ full XPage requests in a 19 hour period = roughly 4,730 XPages served per hour or about 79 per minute. or 1.3 full XPage requests every second, plus partial refreshes and cluster replication.  This "jives" with a gut level check i perform when I open a view with the totals and hit F9 every second and watch the record count go up by about 1 every second.

The final screen shot is a sh server from the server's console. Its hardly phased ... Availability Index sits at 100. While the application isn't computationally complex ... Domino and XPages are taking the beating only saying, "Thank you sir may I have another".  What do you think? Are XPages ready for production use?

Click the Read More link to view the images ...

Read More


ZetaOne is Looking to hire

Category :
ZetaOne is looking to hire.  We are looking to fill a position for a Lotus Notes Administrator and/or Developer.

We're looking for someone fairly local to Southwest/South Central Michigan or Northern Indiana or Ohio. If you are interested, please send your resume to me at


Need Help on Odd Domino HTTP Issue / XPages

Category :
Big Kudo Points and and a level up to anyone who can help point me in the right direction on this one ...

I'm putting together a well-endowed server, it's running SuSE Linux, and domino 8.5.1 ... Whenever I go to open a database via http I get a 12 (to 20) second delay before the http service responds.  The http thread logs show this:

*** Start Request Step: Session 28, Thread cbf34b70, Clock 218710
*** Raw Request Step: Session 28, Thread cbf34b70, Clock 218710
*** Pre Authenticate Step: Session 28, Thread cbf34b70, Clock 218710
*** Authenticate Step: Session 28, Thread cbf34b70, Clock 218710
*** Post Authenticate Step: Session 28, Thread cbf34b70, Clock 218710
*** Get Group List Step: Session 28, Thread cbf34b70, Clock 218710
*** Authorized Server Access Step: Session 28, Thread cbf34b70, Clock 218710
*** Translate Step: Session 28, Thread cbf34b70, Clock 218710
*** Post Translate Step: Session 28, Thread cbf34b70, Clock 218710
*** Authorized Step: Session 28, Thread cbf34b70, Clock 218710
*** Process Request for User Jeremy Hodge: Session 28, Thread cbf34b70, Clock 218710
*** Calling Url Cache Process Request: Session 28, Thread cbf34b70, Clock 218710
*** Calling Inotes Process Request: Session 28, Thread cbf34b70, Clock 218710
*** Post write Buffer, bytes [176]: Session 28, Thread cbf34b70, Clock 230824

The delay happens at the bolded lines above, "*** Calling Inotes Process Request"... the clock time is in milliseconds, and you can see the 12 second delay between the clock time on that line and the Post write Buffer ... Its within this line that it actually executes everything to render the response (which happens to be an XPages application) ... but the majority of the wait happens before the Before Page Load of the XPage executes. Once the process hits that point, it's off to the races and the actual XPage rendering only takes milliseconds.

Does anybody know how to get a more detailed log to trace out where this may be happening?

Nathan pointed out a post that showed a similar issue found in the R7 days, but there was no response to the question then .... hoping someone can help ... or at least maybe know how to get deeper logs so I can get an inkling of the delay.  I've got this happening on 6 partitions across three servers in a cluster, one of which I have torn apart three ways from Sunday trying to find a causal link.




The XPages Browser Workspace for Domino

Category :    
Ok, I've been sitting on this for a very long time.  I haven't had the time to implement more of it yet ... This demo version is slightly neutered ... I have parts from another application you will see soon that can be added to this, including browsing a server, adding icons for an application to the workspace, centralized management of workspaces etc ...

So go play with the live demo .... you wont be able to open any of the applications on the workspace, but you can see how it works ... move the icons around .. etc etc ...

Then ... let me know ... is there a market for a full featured version of this ?  Would your organization purchase this? Under what circumstances, what features would you want? ... let me know .... BTW, this is best run in Firefox 3.5+ or Chrome ... I haven't really tested the neutered version outside of those browsers .... but I assume they will work well enough for this demo.

To try the demo out go to
Read More


10 Concrete Steps IBM can take to Reinvigorate the Developer Community (and Notes/Domino in general) or The Domino Developer's Manifesto

Category :     
Like many out there, I've been intently reading the blogs and blog posts the past few days. I have refrained from commenting, mostly because I have been too busy to put together a meaningful, coherent message beyond what was already being said. But yesterday two blogs really started my gears turning. First, Ed's post that basically said, "Ok, there's unrest, we're listening ... talk to us" and a couple of posts by Andrew Pollack (that I somewhat disagree with, but I understand) that shined the light upon seeds of ideas I had in the back of my head.

The discussion around all of these posts really set me off thinking about what makes Domino Development attractive and what gets in my way personally, and what do I see getting in the way of other developers, and finally why is that Development is "suddenly" such a critical piece of the puzzle for Lotus Notes and Domino's success when the discussion revolves around the platform's competitiveness.  I've put my thoughts to the page now in what I am coining as the Domino Developer's Manifesto (to be dramatic of course - why not have a little fun with this too.).

So here we go.

The Domino Developer's Manifesto

If you are superhuman ... I.Am.What.Makes.You.Super.

I, the Domino Developer, my ability to quickly create that notes application that you depend on.  I am the Domino Developer that turns your 4 days of work and 2 days of rework into the click of a button so you can milk your cows on Farmville for four hours, and still be 1200% more productive than you were before Me.

I am efficient.
I am practiced.

I am out of date.

The world has passed me by.

I write my applications in RICH TEXT for god's sake ... rich text ... my god, it's like I live in a word processor with bells and whistles duct taped to it.

I yearn for the fancy, the shiny, the new.

Where are my rails?

What the hell is CSS?

They say the future is XPages, but rich text on rails it is not. Its new. I don't understand how to get there from here?

I am a developer.  I am not a power user.  Power users are not developers. Stop treating us the same.  Power users don't create applications. That is a misnomer. Stop tailoring my tools to help them, you hurt me. Trust me, I want raw, untamed, and unharnessed power. Give it to me. If you want to give power users access to some development tools, do it ALL in the confines of the Notes Client. Where a USER lives. I am a Developer. I live in Designer, not the Power User.

IBM Action Item #10: Every morning, wake up, look in the mirror and say to yourself: DOMINO DEVELOPERS ARE REAL DEVELOPERS, NOT POWER USERS.

Take off your kid gloves. Stop hiding eclipse from me. DDE is built to hide eclipse from the everyday developer. But eclipse is what I want. It's what I need. TIGHTLY INTEGRATE with eclipse as a development tool. Stop creating new editors to replace good ones already in eclipse. Why do we get a new JavaScript editor when one exists elsewhere already? Why? Read my next point.

IBM Action Item #9: Take a good hard look at Aptana, Make DDE more like that. Make DDE better than that.

I want to tap the Eclipse Universe. There is a plethora of already developed tools to help me do my job better. Tools built to extend eclipse. But most I can not use. They give me the power to pick lint out of my code. To compress my code for end users, to do things you haven't been able to conceive I want yet, let alone will have time to develop.

IBM Action Item #8: Architect and Design DDE as ECLIPSE with Domino Designer features. Expose more Eclipse capabilities and extension points. If I install Domino Designer, automatically enable things like "Install Application" ... help us become not only Domino Experts but Eclipse experts. Then we can help make Lotus Notes shine like fireworks on the 4th of July.

Foster the development community. IBM. Bravo on your support of OpenNTF. We need more. Create an online environment for Lotus Developers to congregate, share, communicate, and learn. MAKE THE HOME PAGE IN DESIGNER THE PORTAL TO THIS COMMUNITY.

IBM Action Item #7: I mean a real online community. Not developerWorks. Not OpenNTF's home page. I mean a new place, where I can create an account, create a profile, share my information, learn from others, join in discussion groups, learn about new features. Participate in focus groups with the DDE development team. Read the latest documentation.  98% of Domino Developers don't know there is a community out here. Be the conduit to bring us together, we'll make you strong.

Open up the design process. The design partner program and the managed beta program are great. But we need to hear almost daily from the people that design the tools and programs we are going to use.  You do this well overall., but not nearly well enough when it comes to the developer community. Developer's CREATED open source. We started the movement to be let information and process flourish in the "wild" ... without having it be wild.

IBM Action Item #6: We need constant, two way feedback with the team that is designing XPages, DDE, and other aspects of the tools we use.  You need to create "Developer Advocate" positions within IBM that are tightly integrated with your development teams. Both they, and the dev team needs to actively blog, participate, and illicit feedback from the community you create in Action Item 7.  I get and understand the need to have the design partner program. Focused immediate feedback during dev cycles is key.  All I am asking for is some of that same information be shared with the rest of the world as well, maybe not in the same time frame, but when and where appropriate.  Right now, its never. Let us see your direction, let us see your progress, let us see your warts. We want to succeed. We want you to succeed, we can only do it together.

Wikis and Red Books are not substitutes for good product documentation. Honestly, your documentation and helps system right now leaves a LOT to be desired. Its feels and acts as an afterthought to the product. It is the life blood of your community. We need and deserve better.

IBM Action Item #5: I hate to say it but, take a page from Microsoft here. MSDN. Document everything, religiously, and frequently. Get it out there into the community. Make it online. DO NOT BE CONSTRAINED BY PRODUCT LIFECYCLE. You are always playing catch up on your documentation and help, and it erodes developer confidence. I am not saying Wikis should go away, I am saying do a better job with them. I am saying turn ALL your documentation into a wiki. Get it out of the product life cycle, and make it an organic every growing, living site, with community contribution and support.

We need education. Lots of It. Free. XPages should have been done years ago. It wasn't. It has created a massive earthquake style shift in the direction of Domino Development. Coupled with the lack of documentation, there is a growing rift of developers that understand and use, and those that don't use these technologies. Some through out the years have stayed strictly in the rich text world. You have created an environment of displaced Designers ... afraid of their future, This unease creates cracks and opportunity for the competition to slip in. You need to proactively fill those cracks.

IBM Action Item #4. Education. Education. Education. Whitepapers, Books, seminars, monthly or quarterly free training. Online and in person Don't just tell us there is a road from where we are now to where you are taking us. Show us. Teach us, Help us along. Arm the developers with the ability, power and DESIRE to use your new tools to create and add value to your product line. Build us up, we'll build you up.

Connect the Developers to the Admins, the applications to the users. A Lotus Sponsored App Store.  Yes. I said it. There has been a lot of hub bub around this lately, its need is real.

IBM Action Item #3. There needs to be an online version of this (for non-admins and users). There needs to be a version of this that plugs into Domino Administrator. Let the Admins connect to developers to find and deploy solutions easily. Promote and hi-lite applications that make it big in the App Store.  Apple doesn't sell lots of iPhones because its cool hardware. It's the apps. Notes/Domino doesn't sell because its a great client or a great server, it sells because its got great apps. Mail, discussion, etc ... Find more of those and promote their success (which will solve the jealousy problem Ed, its the community that picks and causes the successes to be hilighted not IBM)

Lower the cost of entry for ISVs to create Domino Based Online Applications. With XPages, and the domino infrastructure you've got a great platform to build web-based applications. Your licensing and pricing model kicks start ups that want to build these applications square in the nuts.

IBM Action Item #2. Create an ISV pricing model that allows small and growing ISVs to implement online apps without having to quickly pay tens of thousands of dollars to get into online application market. They can start out with Domino Utility Express, but are limited to 400 1600 (Darren Duke notes this is now 1600 PVUs, or maybe always was, I remember working with 400 but i could have been wrong. 1600 definitely help, more can still be done here). If you want to create a stable environment with redundancy and a bit of power, you quickly out strip the Utility Express model, and jump straight to Utility server. This can be as simple as upping the limit on PVUs for ISVs under the express licensing, or create a sliding scale on costs (ie don't jump to unlimited users, let me purchase a higher user cap or something). DON'T MAKE IT SO DIFFICULT TO GET AN xSP LICENSE ADDENDUM. I'm still trying to get this done for an app we want to launch. I have to do end-arounds and back flips and know somebody who has enough sway to get a rep to talk to me long enough to walk me through signing the xSP licensing agreement. There is no incentive personally for the rep to do it.  Create some sort of program to help identify these sites as based on Domino, promote them, actively.  Let corporations see the cool things that can be done with a Domino Server.

Keep doing what you are doing, IBM Lotus, You create great tools, you create great software. You get it. Like very few companies your size do. You see the value of social software, You see the direction Lotus Notes and Domino should take, keep doing it. Keep enabling me to be Super.Developer, so I can make my users Super.Human. But take it one step further.

IBM Action Item #1. Help make the Lotus Notes experience ubiquitous across thick and thin clients.  Create a Notes & Domino Thin client. Extend what you are doing with iNotes and Project Vulcan, and do it all as seemlessly as possible both through the the Notes Client, and through the browser. Do not underestimate the "cool factor" of the browser client and the "uncool factor" of the thick client. Concentrate on this being a "going forward" effort ... Don't worry about trying to shoehorn old applications into this new model. This is the time for Domino and XPages to shine bright. For Domino to become the Sharepoint killer it is. This is what will do that.


The Domino Developer.


Create & Save Low Fidelty UI Mockups in DDE

Category :    
Found this site today:   Its a low fidelity prototyper for eclipse.  You can install it in DDE, and then in the Java perspective, if you expand your database, expand resources, and under Files, select New -> Other -> WireframeSketcher -> Screen, you'll have a full blow wire-frame prototyper like Balsamiq Mockups, INSIDE DDE ... Full license costs $75, but you can install and evaluate for free.

Update site is at

In order to install the plugin, you have to have the feature enabled that shows File - Application - Install ... to do this, you can follow the directions on Mary Beth Raven's Blog. You can follow the same general steps I outlined for installing the JSLint plugin in this blogpost

Click the Read More link to view screenshots...
Read More


New XPage Controls Coming From ZetaOne

Category :  
Over the course of the next few weeks, we here at ZetaOne will be releasing a series of XPage Controls, Applications, Mini-Applications, and Utilities.  Some will be free, some will be licensed, some will be services. Leading up to their release, I will feature one of them here on the blog.

The first control to get featured is our new XCalendar.  XCalendar is a fully customizable set of Custom Controls used to implement a calendar in your XPages application.  Some of the features include full calendar views for month, week, day, and work week views (among others), Animated calendar navigation, a synchronized date picker, context menus, and drag and drop rescheduling.

Take a look at the You Tube video below for a quick peek at a sample implementation..
Read More


Back from Self-Imposed Exile

Category :
Well, I am back from a self-imposed exile from the Lotus Community & XPages development as I wrapped up a Non-Domino project involving:

A picture named M2

some really cool hardware and 3D Graphics ....  But it was a large exhausting project, and I am ready to get back to doing the xPages development I've been missing.  So look for some more stuff coming from me in the near future on xPages, etc etc !!!


Video of our up and coming Lotus XPages App - FEEDBACK REQUESTED!!!

Category :  
I've put together a brief overview of our new Lotus Domino application that we will be offering as a product for resale here soon. The product is called Opa!, and is a task/project management system and is built completely using XPages and Dojo.

I'm doing cross-browser testing now, and we'll be entering a managed beta here in the next couple of weeks. If you'd like to be a member of the beta team, I'd appreciate all the more eyes looking at it, send me an email or leave a comment on this post.

We plan to release the product as a Hosted SaaS solution, an appliance, and as a "boxed product" ... We'll also have some form of free community version in the SaaS space as well.

I'd really appreciate if you would review it and give me any and all feedback, positive, negative, indifferent, etc.

The video gives a brief intro for about 45 seconds, but then dives right into a live product demo.

Again, any and all feedback is greatly appreciated

Read More