Sunday, July 25, 2010

Mozilla Tab Candy: Notes Workspace revisited - again!


So, the latest cool Mozilla/Firefox extension is called Tab Candy. Tab Candy addresses the problem of run-away tab inflation in Mozilla. The idea is that you can allocate tabs to ad-hoc arbitrary groupings and view them as tiles in a single flat pane. I'd strongly recommend having a look at the Vimeo presentation on the site (6m40s).

The big pluses of Tab Candy include the following:
  • Keeps tabs manageable (instead of having 35 different tabs from a day of browsing you might have 5 or 6 "groups" of tabs according to topics).
  • Group related tabs by topic.
  • Makes use of Spatial memory - e.g. you always find your Comms tabs (say Gmail, Twitter, Facebook) in a consistent location (e.g. top-left).
  • Stackable tabs within a grouping.
Tab Candy does look very cool and I hope someone comes up with an equivalent for Chrome (currently my browser of choice). The interface is very intuitive with plenty of drag-and-drop and nice resizing features (you can shrink a grouping and cause the icons to stack - the vid demo proposes doing that with a set of tabs called "Procrastination" ;-). Other concepts include "Persistent" groupings (for - say - web mail, web apps, commonly visited pages) and there are other great ideas in the pipeline (e.g. semantic assessment of Tab Content to facilitate "intelligent" browsing).

However, the thing that struck me from a Notes / Domino perspective was that this is another case where something analagous to the original Notes workspace is resurfacing again. Tab Candy is way slicker than the current Workspace (which is - what? - 18 years old?). However, the key characteristics are very similar:
  • Flat 2-dimensional space to place tiles that link through to pages/
  • Arbitrary groupings of tiles.
  • Drag-and-drop between the groupings.
  • Use of "Spatial Memory" to facilitate quick access.
So, just like the iPad/iPhone interface we see this concept rising again in another new place. I suspect that there's a lot of the capabilities of Tab Candy (both current and proposed) that could add value to a re-vamped Notes workspace. Things that come to mind include:
  • Flexible re-sizing of groupings.
  • Tiles being actual representations of the pages rather than simple icons.
  • Relating grouping properties (e.g. size of grouping) to importance.
  • (I'm sure there are others but I want to draw this to a close).
I know that the topic of "reinventing" and "rediscovering" the workspace is something that surfaces regularly in the Yellowverse and Mary-beth Raven and the Notes Design Team have definitely had a bunch of feedback in the past suggesting stuff for the Workspace. So, I guess my key points here are:
  1. Tab Candy provides (yet more) vindication for some of the fundamental principles that can be seen in the Notes Workspace.
  2. But it also shows how much more can be done with this visual approach to grouping links into information.
  3. Both Notes Workspace and Tab Candy have some growing to do but they can definitely make for a great interface into work and browsing.

Monday, June 14, 2010

Loyalty vs. Pragmatism - a Domino Developer's Choice


It was great (although also a bit strange - I never thought anyone actually read this stuff) to be cited in this very, very interesting (and eloquently put) blog entry. The comments here - like those in Jake's earlier post - tell as much of the story as the blog does - albeit without the beautiful analogy from personal experience. The to-and-fro in the comments starts to sound like a question of whether we should -
  1. Be loyal to the Lotus products that have been our bread-and-butter for so long (and which most acknowledge are as good s they've ever been for development) OR
  2. Acknowledge the declining job-market and the clear strategic moves from IBM that Jon talks about and adjust our skill-set to suit.
In the comments thread this begins to sound like a question of loyalty versus pragmatism. In my world - and I don't think I can be atypical - there is a sliding scale of loyalty. To illustrate the point here's a short subset of items on my personal loyalty scale:
The loyalty I have to any item varies from case to case:
  • I cannot envisage anything my family could do that would change our relationship (but acknowledge that some, like Jon, have different experiences - someone close to me has a very similar experience to Jon with her father). Total loyalty 10/10.
  • Supporting a sports team is irrational behaviour - that's the point. You back a team in order to feel the highs and lows. If you didn't go through the lows then the highs would not be so sweet. It doesn't matter if the other team play the better game and have the better players you acknowledge the opponent's victory and cheer your team the next time out - if you just follow whoever happens to winning then watching sport is dull. So - very loyal but I know it doesn't really matter - 8/10.
  • The Toyota is a great car but it's fifteen years old. I know it can't go on forever. In the meantime we've bought a Mazda for my wife and kids because it was the safest car in it's class (here in NZ anyway). Eventually I'll need to replace the Corolla and when that time comes I'll look at what's around at the time and make a choice. Somewhat loyal 6/10.
  • A good chocolate bar is great but part of the fun is trying new flavours. Also, it turns out that a lot of chocolate is grown unethically so I have to be a bit more picky. No worries though - Chocolate only costs a few bucks a time. Minimal loyalty 3/10.
  • If I don't like what the radio's playing I change the channel. If I hear too many ads or too many treacly R&B puke-fests I clear the channel from the pre-sets. No loyalty whatsoever 0/10.
So the question is, where does my loyalty to Lotus Notes lie on this scale. The factors that enter into that include:
  • I've been a Notes developer and consultant since 1995.
  • It's my core technical skill and I've had no training or experience with much else.
  • I'm in a permanent position with an IBM Business Partner - the partner is across all the IBM brands.
  • I have good relationships with customers I've worked for in this role and in previous roles. Some are still using Notes and Domino - many are not.
  • I like working with Notes - there are plenty of new challenges and opportunities to learn.
  • The career opportunities in Notes and Domino are dwindling - rightly or wrongly the skills are either not in demand or are not going to be in demand.
The result, of course, is that my loyalty to Notes and Domino should be like my loyalty to the Corolla but feels more like my loyalty to Celtic FC. The Corolla has been a dogged workhorse. It's done it's work faultlessly, even stylishly on occasion (no, really) but eventually it's time will come - I will not shed a tear. By contrast my work has been central to my day-to-day existence for almost half my life. Inevitably, I have developed the arbitrary (and not necessarily rational) emotional ties to Notes and Domino that go with supporting a sports team. So the question is, do I trade Lotus Notes in like the old Corolla (when it's time comes) or do I back Notes and Domino to rise again and win the next Old-firm derby against Microsoft (or Google or LAMP or Ruby-on-Rails or Flex/Flash or whatever else)?

The answer to this dilemma, of course, lies in the item on the top of the list. I have an on-going obligation to provide for my family and to do what's best for them. What's the best path for doing that remains to be seen. For now I have a good job and plenty of work to do. Yes - Domino development work. My employers are a good company and if at all possible they will provide me with opportunities to do whatever I feel I need to do. It is in their interests to keep me productive. They are across all of the IBM brands so there may be opportunities in other areas - ideally ones I can do without giving up the "day-job" of Domino.

So, fortunately for me, the Loyalty vs Pragmatism questions is, for now, a false dichotomy. I can continue to be loyal to the good things associated with Notes and Domino while still extending my skills to a broader base. Yes - I will stick with this Corolla while it's running well, but at the same time I think I'll drive the Mazda a bit more too and see where that takes me.

Thursday, June 10, 2010

Notes and Domino development. Any future in it?

Well that last Blog entry was cruelly ironic, wasn't it. Captain prolific, that's me. Anyway, no more false-dawns. I vow now to be lackadaisical and lack-lustre with my blogging. It's the safest way. That said, for all that I write so little I sure to read a bit. This blog is about one of the more compelling (if somewhat obvious) issues facing Lotus developers today.

There is an interesting discussion in progress on codestore.net about the long-term future of Domino as a platform for development.

The gist of the discussion is that the site-owner/blogger - a Domino Web Developer of very high repute - does not see a long-term future in continuing with Domino development, at least not as his only skill-set. He is a self-employed software-developer who has observed more and more of his customers moving away from the Lotus world. He has to think of his family and their future and so he is looking at alternative technologies with a more steady stream of work - primarily Microsoft solutions, Sharepoint and ASP.NET.

For me the key thing to note is the huge number of assenting opinions in the comments (from countries round the world including Australia) - with few (if any) dissenting views. These commenters are honest professionals who are considering their options. They have no axe to grind and no vested interest but they all see the writing on the wall. Most interestingly, some commenters observe that the Lotus technology is the best it's ever been. So this is not about the product but about how it's perceived and understood - Notes and Domino are seen as yesterday's news.

Personally, I see the same things in the NZ market - and I say that with all due respect and gratitude to the fine sales staff where I work, who have done sterling work carving out new opportunities for us here. However, the reality is that we see more and more customers moving to other platforms. Where we are making new sales it's often despite Notes and Domino not because of them - customers who back us as solution providers and trust us to sort out the platform. Indeed, there have been cases where I know our Sales staff have been deliberately "low-key" about the platform in order to progress the opportunity.

Anyway, it's an interesting discussion and one that all Lotus Notes and Domino developers need to keep in mind. I have a friend who worked for years and years in the UK as a contract developer in a product with a steadily waning popularity. He made hay while the sun shone but as a contractor didn't invest in further training or re-skilling. Eventually his UK contracts ran out and he has now returned to New Zealand and been unable to find work of any kind. I, for one, am not keen to emulate him so I will be looking at where else I can grow my skills. The great thing is that there is much in the Domino world that is transferable - HTML, CSS, Javascript and Java being the obvious ones.

Anyway, I'd be interested in hearing the thoughts of other developers - especially in the Australia/ NZ Notes Domino world.

Thursday, January 14, 2010

Non-New Years Non-resolution


I've never been much of a New Years resolution kind of guy. I've tended to figure that if I'm going to do something I'll do it and if I'm not then I'm not. The arbitrary temporal artifice of it being a "New Year" shouldn't make a difference. Indeed, I suspect I'd take it further and say that if I ever did resolve to do something just because of the "New Year" then the secret anarchist inside me would deliberately blow the resolution just to show how bogus the whole notion is.

So - no resolutions for me. No faux-guilt at Christmas' impact on my waistline and no resulting exercise regimes or diets. No pretense of an improved disposition or decision to be less sarcastic or more accepting. As the man said "Oy ams what oy ams" and if oy ams that way then I'll damn well take responsibility for being that way and accept that I've decided who I am and why should I change just coz Judeo-Christian tradition has completed it's yearly 365 day cycle.

So, with that little rant safely out of the way and now a good two-weeks into the New Year I did think it might be nice to resurrect the blog from the oblivion of disuse. Not a resolution - I assure you - just a practical attempt to get some value out of the $40/year I'm spending on this domain name.

Idea: Profiles for Lotus Notes



Vaughan was wondering aboutwhat would be the most useful kinds of Lotus Notes templates to include with a Notes / Domino install.

I was giving the question some thought and it occurred to me that a nice, friendly staff contact list could be a winner. Now I know the Domino Directory is meant to serve this purpose - there are fields for phone numbers and position and good stuff like that - but frankly, the Person Document in the DomDir is just not the right place. Any user in their right mind will be put off by all the "other" stuff like Keys for your Certificates and th eLTPA User-name or Encryption settings. And that's just the forms - you don't even want to think about views of Configuration Parameters or Alternate Languages - Gah!

I think we'd be better off with a clearer separation between the "technical" elements of the Domino Directory and teh "user" elements. What I have in mind is more something that has the organisation and contact fields (department, position, phone, email etc), maybe a photo and a chance to put a wee blurb or Twitter-like message to announce who you are. None of the rest of the person document stuff. The database would have a small number of views - People by Firstname, Lastname, Department etc. and that's it. You could also maybe throw one or two of these views into the Notes 8 sidebar for easy access. If the database could update the Domino Directory, too and write your message to your Sametime status then so much the better.

Now taking off my end-user hat and putting on my developer-hat I have to think that this thing really shouldn't be that hard to build - in fact I've actually developed something similar for a (Notes / Domino 7) customer. For the customer I actually kept all the data in the Domino Directory and the new database was just a frameset that opened special views (with a special dialog-box that popped up when you opened the documents). However, that required a modification of the Domino Directory template. However, you could just as easily keep a separate database and just synch the information back to the Domino Directory.

Ultimately, something like this becomes a bit like the "Profiles" functionality of Connections and I suspect that this is one of the reasons we don't see something like this in Notes already. As Peter proposes in the comments to Vaughan's blog entry - we can also have Blog and Wiki templates in Notes but once you have that then suddenly Connections isn't offering that much more than Notes / Domino.

Wednesday, June 10, 2009

News Flash: Lotus Notes can still be Cool!

With all this Google Wave hoo-ha it's very nice to be reminded that Lotus Notes can still be very, very cool. Nathan Freeman at Lotus911 has posted a video showing "Bones" a Kiosk-style Notes App for Doctors that surfaces a Notes App (with the Eclipse Client) on a touch-screen with built-in PC. The PC is running a Notes Client but some Eclipse XML-tweaking has allowed all of the Notes navigation baggage to be hidden. The application runs off a Foundation server (for the individual clinic/surgery) which can then replicate back to a central medical records DB. The whole thing seems to be compliant with a whole bunch of important medical communications standards.

However, the coolest part is the UI which just has to be seen to be believed. Check out the video here:

http://www.youtube.com/watch?v=BnYIYHjm1qo&feature=player_embedded

and Nathan's comments about it here:

http://www.lotus911.com/nathan/escape.nsf/d6plinks/NTFN-7SUP3M

Warning: Some over-sensitive YouTube viewers (or possibly someone having a joke at Nathan's expense :) have flagged this video as "Adults-only". I can only assume this is because the screen-shots show a cartoon picture of a naked body (this is so Doctor's can indicate visually the site of any medical issue). I assure you the video is totally SFW - but you will need to Sign-in with your gmail/Google Apps account or else get a YouTube account.

Monday, June 1, 2009

Google Wave - Take 2


OK - this is my second blog on Google Wave but that's because my first take was based on screenshots and the product announcement. Now I've seen the YouTube video of the presentation and read Tim O'Reilly's perspective. Frankly, while I thought Google's Wave was a big deal before I think it's much bigger now. I've been spending a little time recently looking at Sametime in relation to the new Telephony/UC2 capabilities and it's all looked kinda cool. Now it's really looking very, very humdrum and "old-hat". I guess I'm just a sucker for the latest shiny-cool thingamajig that comes my way :) However, I do need to make some corrections/clarifications from the previous Blog entry.

First up - because this Blog is meant to be Lotus-oriented - I thought initially that it might be possible to cobble something similar together out of existing Lotus functionality. That still might be the case but it's a much bigger ask. What I failed to grasp initially is that the Wave itself is the central entity of this product - it's both process and product. That means that into the mix of IBM product stack stuff we probably need to also throw Activities - a Wave can become a holding-pen for all of the collaboration (of any type) that goes around a particular idea/process/project/activity.

But, even with every single thing that IBM Lotus could throw at this I still don't think it's going to be able to duplicate the Wave. The reason for this is that the Wave has been imagined from scratch. Anything that IBM Lotus put together is going to have the residue of their existing paradigms - and in the case of most of these products that residue runs deep (just look at some of the stuff that's still in Notes to support older implementations - and don't get me started on Websphere Application Server).

Beyond all of that, there is the question of Google Wave's extremely cool set of Web-widgets (plus the various tie-ins to Google gadgets). Some of the most-impressive were:
  • Drag-and-drop of images from the desktop straight into the Wave in the browser.
  • Collaborative document editing with six or more people editing the same document real-time - and each one's edits showing up on all of the others' screens. Gah!
  • Real-time "live" search results across Waves so that you if you tweaked the spelling on one person's Wave entry it would instantaneously appear in another person's Search Results and then (if you tweaked the spelling back again) it would instantaneously disappear.
  • Contextual spell-checking - the spell-checker "learned" spelling by looking at web-pages so it understood that while been and bean were both correct spellings they were only correct in certain contexts.
  • Instant-blogging from a Wave.
  • Real-time language translation.
  • Tight integration with Google gadgets.
  • I could go on (and on, and on) ...
All of this webby goodness brings me to the real clincher for why this couldn't be Notes / Domino / Sametime / Quickr / Activities (with Websphere/Connections/DB2 et al. sitting in the background too). Google are able to do all of this because the (in)famous Cloud - and the promise of HTML 5 - was in their minds from the get-go. Notes / Domino (and the rest) just aren't built that way.

The other change to my thinking is the recognition that this goes well beyond Groove as well. All of the above problems with a Lotus equivalent to Wave equally apply to Groove. Possibly the original, pre-Microsoft Groove is closer to the Wave than a Sametime solution. But I suspect that MS have just spent a bunch of time-and-effort tying Groove closer to the rest of the Office suite (including Sharepoint) and all those tie-ins are going to make it even harder for Microsoft to build any kind of Wave-competitor out of Groove. As this commentator at CNet observed the incumbents are suffering the notorious "Innovator's Dilemma" and are now going to struggle.

Now, I'm totally open to the likelihood that I've just been bowled over by a clever demo and a lot of web hyperbole. I can certainly see the barriers to acceptance of this new paradigm in the enterprise. While the technology and the capabilities of Google Wave are totally cool the reality is that the Wave is a brand new paradigm and whether a new paradigm gets accepted or not is not going to be up to the technology (although that has to be good). Instead, the new paradigm has to be a good fit to how people want to do stuff. It's entirely possible that Google Wave will fall by the wayside and be the next Orkut. My gut feel, though, is that this isn't the case - this one could be here to stay and if that's true then those of us working in the enterprise collaboration space need to think about how we're going to respond - close our eyes and look the other way, work our asses off to build a response out of other technologies or embrace the new paradigm and see how we can work with it.

UPDATE: Nathan Freeman from Lotus911 has a very similar take on things. Nathan is a strong advocate for Notes / Domino (although not slow to criticize either) ... and he sees this as a game-changer that totally outflanks IBM / MS in the collaboration space.