« Things you check on when you're up early at Lotusphere | Main| App Dev Keynote at Lotusphere »

I've been hinting a big at something interesting...


...and I'll tell you that it's in the can.  It's ready for public consumption.  It's only about 75% complete, but that's plenty to do some really interesting stuff.  And it's not going to take long at all to do the last 25% now that we have some answers from IBM about a few things.

So I'm just searching for the time I need to clean up the source code before I allow everyone to download it.

It's a Lotuscript API for Connections 1.0.2.

Consider this a true pre-announcement.  I'll probably get the clean up done in the next day or so -- it simply turns out that Lotusphere is not the best time to try to finish up a giant coding project!  

In implementing BleedYellow, we had a lot of ideas about tools we wanted to build to make our site more interesting than just what Connections does out of the box.  And since we're appealing to Domino devs, the obvious idea would be making things that integrated with Domino.

Well, for Connections, integration means REST using ATOM.  Of course, only a handful of Domino people know how to do that kind of thing.  But EVERY Domino developer knows how to write Lotuscript code, right?  So we thought "hey, if we just wrapped all that REST stuff and made it so Connections just looked like documents in a database, Notes developers would come up with all kinds of crazy stuff to do with it."

So that's what we did.

Now, a few things about it....

1) We built it in a big hurry.  A friend who shall be known only as the "Monster Mac" did all the heavy lifting in it.  Big cheers for him, and to my boss for agreeing to fund him.

2) It uses LS2J for now.  Yeah, that's the only way we could talk HTTP from Lotuscript.  We want to build an LSX for it instead, but that's going to take a little more time than we had.  ATOM transactions are small -- we need not fear fat transactions causing memory leaks here anyway.

3) Yes, that means we wrapped the entire Apache Commons HTTP client.

4) Yes, that also means this requires Notes 8.0.

5) No, it isn't feature complete.  We basically can't do Dogear stuff yet.  There's a slightly different authentication model in Dogear that we're working with IBM to resolve.

6) Yes, we will make it feature complete soon.

7) Yes, we saw all the cool announcements about Connections 2.0 at Lotusphere too.  (I was sitting in the front row at the Connections 2.0 session!)  Yes, we intend to chase all that, too.  We made some great headway on that while here as well.

8) No, it isn't open source.  For now, anyway.  We haven't decided on a licensing model yet -- but one thing is definite: if you're a BleedYellow subscriber, we will make this available to you as part of the BleedYellow service.

9) Yes, that's what I was hinting at last week when I posted the screenshot that included some LS code about Activities.

10) No, there's no documentation yet.

11) Yes, we have a clever plan to address the lack of documentation.  You'll hear it soon.

12) Yes, we do intend to have a plan to host Domino web apps on BleedYellow that support apps using this API in a hosted environment.  There is a Dominodev.bleedyellow.com.  We'll get ya in there.

So... watch this space and BleedYellow.com.  It'll be available soon.  It really is DONE in principle -- there's simply a few little pain points to clean up.  And then we'll unleash it on the world, and we'll see what happens when Domino developers suddenly have all of Connections as a data store and a UI model against which to exercise their process logic brilliance!  

Comments

1 - I'm so glad you posted this. I was about to let the cat out of the bag myself. { Link }

2 - This is bigger than anyone realizes yet. There have been so many products announced that require such a huge amount of heavy lifting to get integration that people will come back to it in a few months and finally realize what you have done. I'm just REALLY glad you guys are on my team. Not *THAT* team...

3 - Wow, that is seriously amazing stuff, Nathan (and all the Lotus911 guys). I really like Connections, but coming from a Domino background, I've got no easy way to integrate the two. Until now.

can't wait to see the finished product.

4 - This will definitely make it easier to integrate all the pieces of the Lotus product offering. I'm with Charles on this one, this is huge.
Great job.

5 - Wonderful work pal!!! Can't wait for #11.... Emoticon

Charles, you're spot-on!

6 - I guess that LS2J has improved and is not "an inadequate solution" Emoticon)

{ Link }


7 - Tony, actually, I still consider it inadequate for scalable production purposes. In this case, as we are pursuing a prototype design, it's suitable. But I wouldn't want to run with it on a Domino server in the long run.

LSX is a much better way to go.

8 - Connections is just the tip of a very large iceberg.

Look forward to hearing some more feedback.

9 - I'm glad that you're doing this - further extensions to the APIs - whether additional wrappers or client integration - is exactly the goal of the API. And this is a particularly important one. I'll be interested in hearing back about a few aspects of this - how your experience with the API was/is and what kind of apps get produced in particular.

10 - This is great, thanks for doing this work, from my point of view it makes Connections far more interesting.

I cant work out why IBM dont do this, they would get far more buy in from "standard" Notes shops.

11 - Where does this stand now? I downloaded the code and, unfortunately, it does not work (the line Set mySession = findSession throws an "object variable not set" error). I know you're still working on whether or not to open source this so the code hidden in the lss files may not be releasable but it would sure help me debug why I'm unable to run this - maybe they weren't compiled in properly?

You mention a plan for documentation ... any success there?

I'd love to see this move forward. Am I just missing where the updates are?

Emoticon

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

11 Aug 

Hire Me 

Lotus-911-Logo.jpg

Search 

Disclaimer 

Welcome to Escape Velocity!

Opinions expressed here by Nathan T. Freeman are not necessarily those of his employer. However, there's a decent chance they are, so check with them if you really want to know.

But really... do you need that kind of validation? Are the opinions expressed here in doubt?

MiscLinks