How I Want To Use Domino, Take 2
Oct 30, 2013, 4:10 PM
- How I Want To Use Domino
- How I Want To Use Domino, Take 2
A while back, I wrote a post about how I wanted to use Domino. The gist of that was that I was enamored with the idea of using Domino as a back-end database, but not necessarily as a app-dev platform on its own - basically, how you would use a SQL or NoSQL database. Since then, I've doubled down on my use of XPages as an app-dev platform with many advantages, but I still find it very useful to imagine Domino not as "Notes apps on the web, now with a modern coat of paint", but as a collection of related but not mutually-required components competing with other web-dev stacks.
I started working on an updated take on that post, inspired by some recent posts and chat conversations I've had (and I may return to it), but then I ran across Grand Decentral Station, which is a vision of an OS/app-dev platform taking the best of the lessons of the last decade and turning them into a coherent platform. It's a compelling vision, and reading it made me realize something: most of those goals are describing Domino, or, more accurately, the Domino that could be. Take a look down the list and see how many points Domino goes about 80% towards:
- App Installer & Updater: though Domino doesn't really handle app versions, the deployment strategy is nonetheless quite good, with all app code contained in a distinct NSF, not a bunch of files strewn in a couple directories.
- Sandboxed apps: again, Domino doesn't quite sandbox apps, but appropriate use of ACLs can bring you close.
- Mail server: I hear tell that Domino is capable of acting as a mail server.
- Calendar server: with proper CalDAV support, Domino could act as a real calendar server for non-Notes clients like OS X and iOS.
- Addressbook server: like with the calendar server, this is just a matter of adding CardDAV support.
- Asset handling: CSS and JS optimization in XPages is a huge step in this direction.
- Avatar server: the Directory can already act as a profile-picture server for Sametime, and something like mypic could standardize this use.
- vCard server: well, it already serves LDAP.
- Unified sessions: done.
And to cap this off, the prescribed per-app database is CouchDB, which is already modeled on Domino. And, of course, it already has a standard API for email, which conveniently doubles as a method of cross-app messaging in some cases, and its replication and clustering are top-notch. It's not, itself, an OS, but its fairly-cross-platform nature means that that problem is already "solved": install Domino on the server platform you're most comfortable with and it acts basically the same.
Of course, that final "20%" is, as always, the crux of the problem. Domino is only really a fully-integrated mail/contacts/calendar server when you use Notes or iNotes, XPages and legacy Domino dev are really the only games in town if you want to maintain the benefits of the NSF package, agents aren't integrated with the XSP environment and DOTS isn't a real replacement yet, there are still a number of items on the list not at all touched on by the existing stack, and licensing basically removes Domino from consideration for app development for anyone not already mentally invested in it. But hey, one can dream, no?
Keith Strickland - Oct 30, 2013, 5:59 PM
Pretty much all modern document databases are modeled after Domino. OrientDB is another good example of this, plus Orient has thrown in Graph capability. The OpenNTF Domino API as you know includes a graph implementation which works pretty good (with the exception of no query language/engine).
I think the current XPages paradigm is moving towards Domino just being a data store (other than where the design is located). Red Pill is using Domino databases as exactly that, a data store with a database that only contains the design. We're also using the graph implementation, again a domino db that is mainly just a data store.
I do agree that Domino's licensing model is preventing it from competing with the other players in the document database category. Nathan and I are big proponents for a sensible licensing paradigm for Domino to compete in this space and make developers lives easier.
Interesting topic, thanks for sharing.
Martin Rolph - Oct 30, 2013, 7:20 PM
Yep I agree. It's good but could be great.
I wonder if IBM would actually lose any money if they made Domino free under GPL or equivalent. If they are only interested in the big ticket sales (as some people say) then those clients would still want to pay as they do now for the support model. If Domino then flourished as an app platform then they'd get more people interested in adopting complimentary (paid-for) products like connections and sametime.
Make domino like symphony
Stephan H. Wissel - Oct 31, 2013, 2:47 AM
The missing piece is webDAV (for calDAV, cardDAV)... OpenNTF to the rescue