« YellowDay: Meet @Transmogrifier | Main| Now running 8.5.2, and a hidden gem »

YellowDay: Yes, Virginia, there is a Santa Claus

If you've been keeping up with the Escape Velocity relaunch, by now you should be noticing something of a trend...

1) LotusLive Notes doesn't do custom apps, but it does have a hybrid integration approach that makes both on-premises and cloud-hosted apps a lot more viable than people might think.
2) The problem is, even when you move your apps to the cloud, they're still the same apps that they were when they were on your own servers.
3) There's a bunch of things that you're probably used to doing in your custom apps that you can't do easily in Xpages yet, like calendars and dialogs
4) We're partnering with IBM to provide those things in Xpages
5) Your existing Formula code might look like it "just works" in SSJS, but it doesn't really
6) We built something that takes your existing Formula code and turns it into SSJS that "just works"

Can you fill in the missing pieces yet?

It might help to know that GROUP (and Lotus 911 before it) has been cultivating a deep understanding of DXL automation for a long time now.  We're now on our third version of our internal DXL deconstruction toolkit. And since DXL describes everything you could want to know about a Notes template in XML terms, and everything you describe about an Xpages application is done in XML -- well, do I have to spell that part out for you? Turning XML into XML ain't rocket surgery.

But if you want to turn DXL into XSP, it helps to make sure that there's a target component on the XSP side that matches what you had in DXL. Hence point 4 in the above list.

Of course, you'll also have all kind of business logic in your template that controls workflow, progressive disclosure, UI sequencing, etc. Much of that is written in Formula, and you can't just take the <formula> block from DXL and slam it into a #{javascript: EL tag on your Xpage, can you? Hence point 6 in the above list.

In the unlikely event that the light bulb hasn't gone off yet: Yes, Virginia, the Applications Frameworks team at GROUP is creating a tool to transform custom Notes applications into Xpages applications.  It's called the Genesis project. And yes, it'll do it for you in six minutes.

Some smart reader is sitting out there thinking "wait a minute. DXL and @functions are one thing -- but what are you going to do about my 50,000 lines of Lotusscript!??!  You can't make that run in an Xpage!"

Well, not today. Which is why we're not shipping yet. But we're close. The effort is going shockingly well, and the only serious question at this point is not CAN we do it, but how will it ultimately appear from the developer's standpoint. The worst case scenario is that we transform your Lotusscript into a very elaborate set of Java classes that bounce around between methods like a pinball machine, and if you look at them your head will explode. The best case scenario is that we turn it into those exact same classes, but you never see it because we hide it all inside a runtime VM, and you get to maintain all your Lotusscript source code just like you've always done. You'd quite literally have #{lotusscript: EL blocks in your Xpages.

I honestly wouldn't have believed we could do the latter 2 months ago, but at this point, it's merely a question of whether that will be the 1.0 or the 1.2 version.

The first version won't be perfect. They never are. You can probably guess a lot of the things that we won't be able to support in the initial release(s): COM calls, LS:DO integration, Java Applets, 50% of @Commands, a handful of @formula, client-local file manipulation. Some of these things aren't so much hard as tedious, so they'll probably follow on pretty quickly. Others will bring some fundamental technology challenges; you can't get a Webkit browser to call out to Microsoft Office without breaking a LOT of rules.

So this is the engineering team's public announcement of what we're doing. v1.0 of Genesis is targeted for availability in the Fall of 2010. And if you wonder why I've barely looked up from my keyboard in the last 3 months, now you know. This is by far the most difficult and rewarding work I've done in my career, and I couldn't ask for a better dream team to work on it.

Once again, Happy YellowDay 2010!

Comments

1 - Extreeemely way far cool. I'm hoping that some day we can point the suck end of this thing at something other than a Notes database.

2 - I'm shivering with... antici...pation.

Holy technological breakthroughs Freeman this is freaking awesome!

Isn't this the holy grail of Lotus Notes development right now?
A utility to convert our existing Notes apps to XPages apps?

I'll be so very happy to test it out for you if you like!

Cheers mate and <insert favorite deity here> be with you in your endeavors.

3 - @1 - Oh, you can bet your last dime that once we get 1.0 working, we'll point 2.0 squarely at Sharepoint apps. "Red Bull" my ass. (Actually, I like Red Bull the software company. They're a client. I'm talking about the MSFT project by that name.)

@2 - The testing availability will almost certainly depend on the go-to-market strategy, which is still up in the air. I am petitioning for us to focus on licensing & legal patterns for use of the converter code, rather than simply restricting access or using DRM. But this decision is ultimately not up to me, so please understand that I'm only describing the way I'd LIKE to do it: you'd just go to a web page at gbs.com, login with your Bleedyellow credentials, and upload your .ntf file. It would send you an email when it was done processing with a URL to download the new version. That version would have a license spelling out that this was for testing only and deployment into production would be a copyright violation, blah, blah, blah. Oh, but here's the person to call if you are interested in deploying into production, and if you need enhancements, hosting services, integration, etc, etc, etc...

However, to make this perfectly clear, that decision is above my pay grade. It's just how it would happen if it were up to me. But the people who DO make the decision are far better at making money than I am, so I'll confess that I'm happy to leave it in their hands.

4 - Is cool Nathan, whenever, however you guys do this it will be amazing...
The whole Notes world can benefit from this utility, I think it will go a lot towards changing the game in this arena.

Post A Comment

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

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