Notes Workspace in Flex, For All You Die-Hard Fans

Don't know about you but I like to have at least one "pet project" on the go at any given time. Something for me to mess about on when I get bored during the day (yeah, right) or late at night when all the kids are in bed.

For a few days now I'd not had a project and was getting a bit restless. Then I had a brainwave - how about a Flex version of the good ol' Notes Workspace.

After a day or two's worth of spare time spent I had come up with a working prototype:


Have a play and see what you think. Try the following features:

  • Drag and drop icons
  • Double click icon to open the database
  • Right click workspace to add a new icon
  • Right click workspace to change background
  • Right click icon to remove it

Note that the icons you see are the actual Icons for the database; loaded via the /$icon URL. Change the icon in Designer and it updates in the Flex version (well, when the cache updates).

Note that you need "reader" access to the DB to see the icon!


A good customer of mine is moving away from Lotus Notes (client) on their desktops but keeping the Domino server and migrating the Notes apps to the web. One of the options I've suggested to them is using a Flex framework to ease the migration.

To ease the transition for the user I had the idea of providing some familiarity in the new environment. Whether they want a reminder of the Notes client or not I don't know, but it seemed like an interesting challenge and has been a fun learning experience so far.

Whether I'd actually suggest its use or not I don't know. I just thought it might make a nice portal.

Taking it Further

The glaring omission in this prototype is that you can't add your own icons. For now it loads a pre-defined list of icons from the backend DB. For it to work the user really needs to be able to add their own and remove the ones they don't want. It also needs to remember these icons and their positions.

And what about the open/add database dialog? This is something I'll add before I consider this "finished". But should there be a pre-defined list of web-enabled/migrated applications to choose from or should it just browse all files on the server? Should it allow the user to browse to other servers?

Some other considerations:

  • Stacking icons for replicas -- does that apply on the web.
  • Unread count. Can this be done on the web and/or does it apply still?
  • Is the option to show server name applicable?
  • Would it be worth adding tabs with custom colours - ala Notes.
  • Mutli-select and move.
  • Keyboard navigation?
  • Might be nice to be able to click to select and (re)move.

At first I thought this would be simple then, the more I thought about it, the more complex it became. That's good though, right? A pet project should know no end after all. 

Taking it much further I guess you could even provide a tool to let the user migrate their existing Notes workspace to the new Flex one.

For now it's just something nice to mess about with. Maybe one day you'll be able to visit it and reminisce of the good old days...


  1. I love it! I can't live without the workspace!!

      • avatar
      • Jake Howlett
      • Tue 16 Mar 2010 05:11 AM

      Me either. Never did get on with "bookmarks" or whatever it was they tried to wean us on to.

      Just had another idea. Why not use a Workspace for your internet favourites?! The icon could be the /favicon.ico file... ooh, my mind's racing now...

  2. I couldn't get on with the bookmarks either but the Workspace suffers when you have lots of icons - especially when you have several environments per application.

    Personally I would rather you converted it to a datagrid with filtering capabilities - you can still include the icon ;-)

    Even better have a config doc per database which allows a 'proper' icon and other metadata (version, environments, bugs etc). These documents could then have a readers field which groups apps to the appropriate users. A pre populated workspace.

    The configuration documents also give you the hook if users wanted to add there own.

    Finally add a view switcher to change from the datagrid to the tiles /workspace view.

    If only I had the time...

      • avatar
      • Jake Howlett
      • Tue 16 Mar 2010 06:09 AM

      "If only I had the time..."

      Same here.

    • avatar
    • Dragon Cotterill
    • Tue 16 Mar 2010 05:46 AM

    Holy flagnog! I think you've hit the mother of all apps.

    The workspace is still the ideal startpoint for working in Notes. But it really does need to be extended to make it more "dashboard" friendly. Extending this to include other features makes a true starting point. For admins; you could have the Admin charts of disk space, server load, performance etc. For developers; project status, tasks, etc. For managers; project status, stats etc. For users; mail. All with a workspace to get to their common apps.

    I think you've just solved a lot of problems that nobody thought they had.

      • avatar
      • Jake Howlett
      • Tue 16 Mar 2010 06:12 AM

      All doable. I've yet to find something Flex can't do.

      If you defined the dimensions of the "widgets" you suggested above in multiples of the size of the icons then you could have them live next to the icons and draggable too.

      As above though - if only I had the time...

  3. Hi Jake

    thank you so much for this! I was looking into trying to build something like this myself via Dojo, but this looks awesome!!


  4. Ha ha ha...love it.

    Cracking idea.

    You should call it WoW (Workspace On't Web)



  5. This should be the next "full" version of INotes. My new welcome page!

  6. Would you be willing to post the source code to this?


      • avatar
      • Jake Howlett
      • Tue 16 Mar 2010 08:01 AM

      Will do at some point Michael. Email me if you're in a particular rush and I'll post it over.

  7. No real rush, Just loved what you created and would like to run with it....

    You have created something really great here....

  8. Ditto, Dragon. Holy rumscuttle! It's a good thing this chair has arms or I would have fallen out!

    Being visual I immediately like the ability to set a wallpaper. If we stare at it all day - why oh why, IBM, have we never had this option!?

    Well done Jake. I wonder what that does for the CAL, if you'll get a letter of offer from IBM or a letter of cease and desist. The former I would hope. "ClientAnywhere".

      • avatar
      • Jake Howlett
      • Tue 16 Mar 2010 08:51 AM

      Any acknowledgement at all from IBM would be nice ;o)

      Steve Castledine said he liked it. That'll do for me.

      See if you guess what the underlying Flex components being used are Jerry.

      Show the rest of this thread

  9. You are amazing Jake.

      • avatar
      • Jake Howlett
      • Tue 16 Mar 2010 08:51 AM

      I won't argue with that.

  10. Some years ago we used a software to migrate 20k Notes users using a software from a small startup company.

    With this software you could access the workspace of all Notes users via webbrowser and open the databases from there. It worked somehow using xml but I forgot the name of the software. I think we were the largest client of the software and somehow the company disappeared during the project.

    But this software was really cool, maybe one of the fellow readers of your's remebers its name? I think it was Austrian.

    Although your flex workspace really looks way better ;-)

    1. Now I remember the product, it was named ICODEX Client Genie or Integrate!People


  11. If I remember correctly (it's been a long time), the only way to access the unread count is with a C API call. A number of people have written LotusScript code to make the API call though I believe that there was a limitation of around 65,000 unread marks that can be retreived.

    I believe iNotes can get the unread count of your mail file, maybe someone has used the iNotes functions to determine the unread counnt of a database?

    Maybe an RSS feed for each database would serve the same purpose of telling the user that they have documents to read.

    • avatar
    • Jon
    • Tue 16 Mar 2010 03:35 PM

    Jake you are the man. Thats pretty sweet. Way to keep Lotus Notes Cutting Edge.

  12. That brain of yours just never stops ticking. Awesome concept Jake. Looks like you might be on a winner here.

    • avatar
    • Aussie Ben
    • Tue 16 Mar 2010 06:42 PM

    Both remarkable and ridiculous. I tip my hat to you, sir.

  13. re: Would it be worth adding tabs with custom colours - ala Notes

    Why not use the category for the catalog to make a tag cloud/categories? (make it more web 2.0!)

      • avatar
      • Jake Howlett
      • Wed 17 Mar 2010 04:01 AM

      Doesn't that move away from the whole idea that the workspace is under the user's complete control though?!

    • avatar
    • Erik Brooks
    • Wed 17 Mar 2010 04:54 AM

    Ok, this is awesome. If there's one place where web 2.0 still stinks, it's drag-and-drop (if for no other reason than half the time you end up highlighting text as you drag.) Flash *owns* this stuff. And the snap-to is rad, as is the right-click functionality.

    Jake I might have a decent-sized project for you revolving around this if you want it. It would likely be very ongoing (i.e. several hours of work each month) for quite some time. I'll shoot you an email soon.

      • avatar
      • Jake Howlett
      • Wed 17 Mar 2010 04:57 AM

      I like the sound of "ongoing". Drop me a line when you want to discuss it.

  14. just made my day, glad somone did it at last

    • avatar
    • Steven Podrouzek
    • Wed 17 Mar 2010 07:31 AM

    Brilliant. Very good work. Love it.

    • avatar
    • Alejandro M
    • Wed 17 Mar 2010 10:10 AM

    Hi Jake,

    Very good to change the text color and background. Congratulations !

    • avatar
    • Ralph Boccalini
    • Tue 23 Mar 2010 10:02 AM

    Beauty! You made it with flash, you think it will be possible to make it with login sessions to store multiple Workspaces of multiple users?

      • avatar
      • Jake Howlett
      • Tue 23 Mar 2010 11:46 AM

      Yes. With Flex anything is possible!

    • avatar
    • Mike
    • Thu 3 Jun 2010 02:06 PM

    Excellent Working Demo.... I love it...can you give me some hints how to implement the Snap-To-Grid features ? Is the workspace actually based a Canvas or a TileList ?

      • avatar
      • Jake Howlett
      • Thu 3 Jun 2010 03:49 PM

      Thanks Mike. It's based on the Grid class. The snap to grid is achieved through the drag-drop events of the Grid's cells. Nothing fancy needed on my part.

  15. Jake,

    There's an XPage version of this idea now. Actually there was back when you made this post but it was classified as "secret". Jeremy announced it today.


    A scaled down demo of his XPage solution is here:


      • avatar
      • Jake Howlett
      • Thu 17 Jun 2010 01:36 AM

      I know which I prefer ;-)

    • avatar
    • Mike
    • Thu 12 Jan 2012 02:07 AM

    Hello Jake,

    i was recently introduced by my colleague on how to integrate flex with domino data. i love it. is it possible to send the flex source code of your workspace.nsf. i would love to play with it. (mail:michael.incerto at gmail dot com)

Your Comments


About This Page

Written by Jake Howlett on Tue 16 Mar 2010

Share This Page

# ( ) '


The most recent comments added:

Skip to the comments or add your own.

You can subscribe to an individual RSS feed of comments on this entry.

Let's Get Social

About This Website

CodeStore is all about web development. Concentrating on Lotus Domino, ASP.NET, Flex, SharePoint and all things internet.

Your host is Jake Howlett who runs his own web development company called Rockall Design and is always on the lookout for new and interesting work to do.

You can find me on Twitter and on Linked In.

Read more about this site »

More Content