The iPhone is an artifical calcuation device and is not capable of independent thought...        

...however it is not without a sense of irony. Case in point: I was on a phone call tonight with a well-known Notes developer in our community.

Me: "Can I ask you a frank question?"
Developer: "Sure"

Me: "Now you've seen the demonstration of the Transformer and understand that it works. Do you like what you see?"
Developer: "Umm... well...."
*click*

The phone battery had run out.

Those of you who have iPhones might know that once it turns off because the battery is too low, it won't turn back on until the charge level reaches 10%, even if it's plugged in. So once I plugged it in, I was standing there frantically pressing the ON button waiting for the damn thing to come back up. Of course the person I was talking to wasn't online, and only had their cell phone for communication, which I couldn't dial because my own phone wouldn't turn on. Each minute stretched into an eternity as I waited to be able to call back.

Yeah. I love irony. I love the crunchy sound it makes when it kicks me in the teeth.

To the person on the other end of the phone: "Thank you for being a friend". spacer

Posted by Nathan T Freeman At | Permalink | Comments (4) | TrackBacks (0)

 An Answer for Julian        

Julian Buss remarked on Patrick Kwinten's blog that he had not seen a compatibility list for the Evolution Transformer. I told him I'd get him a reply today, so here is the exact text from our internal Connections site that I gave to our global sales engineers. I hope this helps, Julian!

The Evolution Transformer never changes the existing design of the application. It only adds new elements to support the XPages version of the design. The vast majority of Notes design elements are converted to XPages, including all Forms, Subforms, Views, Outlines, Framesets, Pages, Folders, Script Libraries, Actions (shared and non-shared), Fields, Dialogs, Prompts, Picklists, and Embedded Elements. Additionally, the Transformer does not alter existing NSF data in any way, so behavior and presentation embedded inside Notes data is untouched. This could include rich text, doclinks, and certain text fields that include formatting controls such as tabs.
 
Some aspects of a Notes application design are not addressed by the 1.0 version Transformer process for a variety of reasons. These are detailed below.
  • Elements to support web browser clients via classic Domino design, such as forms with pass-thru HTML and embedded client Javascript, or view designs with HTML-based columns. Because classic Domino development typically co-mingle data and code, as well as not adhering to XHTML syntax in generated markup, it is not currently within scope to convert such designs.
  • Platform-specific behaviors such as COM/OLE, C API, REXX, LSX, Lotusscript OS Shell commands, DDE @Functions are unsupported by Java and web browsers, and therefore unsupported by the Evolution Transformer.
  • Notes Navigator elements and Layout Regions are not included in IBM's DXL schema, and therefore cannot be exported from the original design. As a consequence, the Evolution Transformer cannot convert them to XPages.
        (Note: based on customer demand during out testing cycle, we're going to support Navigator conversion by reading and transforming the binary data in the Navigator into a DXL Page, and then converting that.)
  • Notes PKI encryption is not currently supported for web browser clients in XPages, and is therefore not supported in transformed applications. PKI-encrypted data works as normal when running the application in a Notes client.
  • Private views and folders require the Notes client to build and maintain, and are therefore not supported in transformed applications
  • @Commands, @Formula and Lotusscript functions that pertain to Notes client-specific elements, such as the Replicator, the Workspace, Domino Designer or Composite Applications, are not supported, as these concepts do not exist within the web browser context.
  • DB2 Access View are deprecated by IBM, and are therefore not supported in transformed applications.
  • Java agents, Web services, Scheduled Agents are not transformed, but work as normal in the resulting application, as it continues to run in the same Domino server context that it always has.
Some behaviors that are out of scope for version 1.0 but can be considered for future releases.
  • Advanced full-text searching functions are outside the scope of version 1.0. This feature will be evaluated for future versions based on customer demand.
  • Notes printing behavior is not in scope for version 1.0. Printing support will be evaluated based on customer demand after the initial release. This is primarily due to the fact that web browsers are very poor printing platforms. It is likely that print support will ultimately be achieved through server-based PDF generation instead.
  • Client data integration, such as local file imports and exports, will not be supported in version 1.0. Support in future versions will be evaluated based on customer demand. Again, this is primarily due to the fact that web browsers do not support local file operations, and therefore files must first be uploaded to the server for import processing, or built on the server and downloaded to the client for export processing.
  • Sametime Presence Awareness is not yet supported in XPages, and is therefore not available in transformed applications. Addition of this supported will be evaluated based on customer demand and availability from IBM.

Posted by Nathan T Freeman At | Permalink | Comments (3) | TrackBacks (0)

 Ray Ozzie's most important lesson        

I can't confess to knowing him myself. I've had two or three email exchanges with the man Bill Gates called "one of the top five programmers in the universe," but nothing that could be described as important. But one of the most important things I ever learned about software hit me in 1994. This was just before Notes 4 came out, and I happened to be in Boston on a night when my boss was attending a dinner hosted by Iris Associates, and though I wasn't officially on the guest list, I drove from Boston to Westford to crash the party. It was a nice enough meal, and there was lively conversation with the other attendees, but only one sentence would truly shape my brain for the next two decades.

A customer asked whether Notes could do a certain thing (it had to do with doclinks, but it's irrelevant what it was,) and one of the Iris staffers turned to Ray and asked "is that possible?"

"Well of course it's *possible.* It's all just ones and zeroes."

I'm not sure I've ever heard a statement since then that expresses the development process so profoundly. Every time in the last 16 years that I've been faced with a seemingly insurmountable problem, those words echo in my head. "It's all just ones and zeroes." And if you really digest that, you might come up with the logical conclusion that I did:: "Getting them in the right order is the hard part."

Whenever you step back from a really tough problem and think about what programming is truly all about: getting a series of ones and zeros to occur in an extremely precise order -- the word "possible" shouldn't enter into it. Words like "provable", "expensive", "testable" or "maintainable" certainly deserve to be considered, but "possible?" Possible is everything. Ultimately, the function of any software is about return on investment -- is it worth all the effort to get the ones and zeroes to be in just the right sequence?

And whatever occurs in the career of Ray Ozzie, whether he's at Lotus or IBM or Microsoft or Google or his own brilliant enterprise, I will always feel a personal connection and a deep gratitude towards the man that completely shifted my thinking about software with one casual sentence tossed out 10 minutes before he hopped in his Jeep and tore out of the parking lot.

"It's all just ones and zeroes."

Thank you, Ray, for giving me confidence and hope to deal with any problem over the last 16 years. I hope one day I can pay it back.... or forward.

Posted by Nathan T Freeman At | Permalink | Comments (11) | TrackBacks (0)

 Catching Up        

Some days, weeks or months it's hard to come up for air. And certainly the last few months have been exactly that for me. When I finally get to what seems like a lull in the storm, it's only a quick moment before the squall resumes, and things get back to the breakneck pace that's rapidly becoming my everyday life.

But then those who know me know that I wouldn't have it any other way, would I?

So, as a result, here's a brief blog post to rattle down some recent events...

First, since my quasi-announcement in August about the "XPages Transformer" that we've been working on, there's been a fair bit of noise around it. For those who aren't already signed up for our November 17th webinar, that's the place to really see what it's all about. And if you're worried that it's going to be some online sales pitch -- well, don't. I'm doing the bulk of the presentation, and you can expect it to be deeply technical. In fact, you can expect to see splashes of source code on the screen, so if you really want to pick it apart, you'll definitely get your chance. It's no exaggeration that I consider this project the magnum opus of my career, so for better or worse, it's all riding on 17. I think you'll want to tune in.

As a precursor, I recently had the good fortune to talk about the XPages Extensibility API and Library at the Belux Lotus User Group (BLUG). I really can't say enough good things about this experience. First off, Theo Heselmans proved to be an absolutely first class host, and I felt extremely welcome and taken care of as a presenter.  I thought the presentation went well, though the pacing could have been a little better -- I needed to get to demos SOONER -- the external mistake of the engineer! But the audience stayed through two hours of my rambling, and there was much conversation afterwards, so I think it was ultimately a success. The Lotus brand in Benelux is... how can I put this?... spunky. Smart, dedicated leadership from IBM that like every other market on the planet, wants more from up top, but is doing a great job of keeping the local energy high.

Again, it was really a great experience and a thousand thank you's to Theo for being a marvelous host. If you get the chance to participate in one of their future events, make sure you take them up on it.

On a personal note, it seems I'm compelled to pile on new responsibilities at every turn. As long as I'm working feverishly on the biggest project of my career, I might as well work on being a father for a second time. So yes, my wife and I are indeed expecting our second child in early June. Obviously it's far too early to know the gender, so don't ask. I know I don't really write about it, but the truth is, playing with my daughter is probably the only thing I enjoy more than writing code, so having another child was never really in doubt. Now that it's actually happening, I couldn't be more delighted.

So I'm confident, dear reader, that this will be the only update in the coming months. It's not because I don't want to blog. But really, in the few moments these days when I feel like I can pause for breath, I find myself dancing with Meta or snuggling my head against the pregnant belly of my bride. Anything else seems like stolen selfishness.

Hopefully, the work will speak for itself.

Thanks for keeping up.

Posted by Nathan T Freeman At | Permalink | Comments (7) | TrackBacks (0)

 An even better hidden gem in Notes 8.5.2        

spacer After much gnashing of the teeth and bearing of the claws over this item since Notes 8.0, IBM has finally added "Delete" to the context menu in the Mail address type-ahead. This is an excellent way to purge email addresses that you know are defunct.

In fact, I'd very much appreciate it if you'd take a moment and do this for me by removing my old lotus911.com address!

Unfortunately, the process displays a rather annoying confirmation dialog, but it's still a huge improvement over the old technique of going to the recent contacts list, finding the entry, pressing delete, throwing some chicken bones, chanting "there's no place like 127.0.0.1" three times, and then rubbing your armpits vigorously.  At least I think that was the old way to remove an automatically added contact.

Enjoy!

Posted by Nathan T Freeman At | Permalink | Comments (0) | TrackBacks (0)

 Now running 8.5.2, and a hidden gem        

Domino 8.5.2 is GOLD! Just finished the upgrade on our internal dev server as well as the server that hosts this blog.

One thing that I don't think anyone talked about during the beta cycle was the massive performance improvement in start time of the later server.  Check this out...
08/24/2010 01:45:48 PM  Begin scan of databases to be consistency checked
08/24/2010 01:45:48 PM  End scan of databases: 1 found
08/24/2010 01:45:49 PM  Event Monitor started
08/24/2010 01:45:52 PM  0 duplicate PUIDs found while initializing Domino Domain Monitoring
08/24/2010 01:45:52 PM  Lotus Domino (r) Server (64 Bit) started, running Release 8.5.2
08/24/2010 01:45:52 PM  Server started on physical node THENTF
08/24/2010 01:45:53 PM  The Console file is C:\IBM\Lotus\Domino\data\IBM_TECHNICAL_SUPPORT\console.log
08/24/2010 01:45:53 PM  Console Logging is ENABLED
08/24/2010 01:45:54 PM  Database Replicator started
08/24/2010 01:45:54 PM  Replicator is set to Ignore Database Quotas
08/24/2010 01:45:54 PM  Index update process started:
08/24/2010 01:45:54 PM  Admin Process: thentf/GBSBLOGS is the Administration Server of the Domino Directory.
08/24/2010 01:45:54 PM  Administration Process started
08/24/2010 01:45:55 PM  DAOSMGR: DAOS is not enabled, nothing to do.
08/24/2010 01:45:55 PM  Agent Manager started
08/24/2010 01:45:55 PM  AMgr: Executive '1' started. Process id '8004'
08/24/2010 01:45:56 PM  HTTP Server: Using Web Configuration View
08/24/2010 01:45:56 PM  Router: Mail Router started for domain GBSBLOGS
08/24/2010 01:45:56 PM  Router: Internet SMTP host ntf in domain gbs.com
08/24/2010 01:45:56 PM  Database Server started
08/24/2010 01:46:02 PM  JVM: Java Virtual Machine initialized.
08/24/2010 01:46:02 PM  HTTP Server: Java Virtual Machine loaded
08/24/2010 01:46:02 PM  Servlet engine initialization was successful
08/24/2010 01:46:02 PM  HTTP JVM: File or directory C:\IBM\Lotus\Domino\data\domino\servlet does not exist
08/24/2010 01:46:12 PM  XSP Command Manager initialized
08/24/2010 01:46:12 PM  HTTP Server: Started

Yeah, that's from a post-upgrade, so normally the database scan wouldn't even be required.

From 01:45:52 to 01:46:12.  That's 20 seconds from server start to responding to HTTP requests!

According to some IBMers I've talked to, this massive improvements is a side-effect of the LotusLive Notes enhancements. The cloud-based services model requires extremely rapid on-demand response cycles for Domino servers, so the mighty Russ Holden has been dogmatic in his insistence on improving start time.  The results are, in my opinion, phenomenal.

So even if you're not looking to move your on-premises Domino environment into the cloud, you still got a great new benefit from it!

Happy upgrades!

Posted by Nathan T Freeman At | Permalink | Comments (3) | TrackBacks (0)

 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!

Posted by Nathan T Freeman At | Permalink | Comments (4) | TrackBacks (0)

 YellowDay: Meet @Transmogrifier        

So let's say you're a long-time Notes developer that just starting to cut your teeth on Xpages. You probably know your way around Lotusscript pretty well, but what's even more likely is that you know your way around formula. You can't so much as build a view without formula code, and while working with @ can occasionally be challenging, for the most part, it's the most direct and simple way to get things done in the Notes client.

Now you're looking at Xpages, and maybe you notice that SSJS seems to have some familiar @functions in it. Perhaps, as a wild experiment, you copy some code from your favorite action button and paste it into the Javascript editor. Alas, that didn't work too well, did it? There's some similarities, but it's really not the same.

Here at GROUP, we didn't really like that. We wanted to have our formula code JUST WORK. And because we're basically well-funded lunatics, we set out to do just that.

Say hello to @Transmogrifier. The way it works is simple: just paste your formula code into the top box. Then click on ZAP, and wait a moment. You'll get your shiny SSJS code.

Of course, the result code won't necessarily work right out of the gate.  It will compile, but it uses a number of @functions and JS functions that don't exist in the base Domino product.  However, thanks to the 8.5.2 Extensibility API, we're able to provide you with a library that you can install in Designer and on a Server if you really want to try it out.  Just follow the instructions in the installation guide, and download the library.

For everything else you need to know, please check out the FAQ.

Happy YellowDay!

Posted by Nathan T Freeman At | Permalink | Comments (0) | TrackBacks (0)

 YellowDay: Partnering with IBM on Xpages Extensions        

The crazy few that attended our IamLUG presentation in St. Louis already heard this, but because the live streaming didn't work, it turns out that I get to make this announcement twice.

A few weeks ago, the mighty Philippe Riand and I were discussing some of the missing ingredients from Xpages.  While Xpages gives Domino developers unprecedented power and flexibility, many people (including we here at GROUP) were struggling with some of the constructs that are part of the basic nature of the Notes client.  @Picklist, .DialogBox, Mail Address Fields, computed subforms, and even just keyword aliasing were turning out to prove quite a challenge to implement over and over in every XSP project that we engaged in.

Tim and I had been working feverishly on designing and building a collection of reusable controls that would behave as closely as possible to the traditional UI elements of the Notes client. And as it turned out, we were not alone. IBM had too been facing the same challenge, and members of the Xpages team all over the world had been working on similar concepts, in between fixing bugs to get 8.5.2 to ship quality.

Philippe and I agreed: "this seems like a lot of redundant work for us to be doing. Surely there's a better way to get this done."  IBM was already planning on releasing their toolkit on OpenNTF, so we had the option of waiting until they did all the work, and then just reusing it like everyone else.  But we're in a very big hurry, and I wanted to get access to some of these controls just as soon as possible. We also had a slightly different objective with many of them that required 100% consistency with the Notes client behavior, so while IBM's design for a dialog box required that you put the dialog contents into the container at compile time, we needed to be able to determine the contents dynamically at runtime.  (Note: they knew exactly how to do this, of course. It just wasn't a requirement for them where it was for us.)

So I asked my boss if we could join forces with the Xpages team on this effort. We'd have to do something unusual for GROUP, because we would explicitly be tasking full-time resources during regular hours to the production of an open source result. But in the end, we agreed that being able to work with the components that much sooner was worth sharing the results, and thus we moved forward with IBM with all speed.

The official beginning to this project was Monday. And I am thrilled to tell you just SOME of what it includes, as components that are both drag & drop in DDE, and declaratively through SSJS...

1) InputBoxes and @Prompt
2) Aliased keyword lists
3) View-driven Custom Picklists
4) Address selection fields & buttons (using the full Directory API, no less)
5) @DialogBox
6) Computed Subforms
7) Draggable "framesets" with computed contents
8) Multiple styles of Outlines that actually read from Outline design elements
9) Dramatically simpler OneUI implementation
10) Scrolling Dojo Grids driven from back-end data sets like a Notes view
11) Tag Cloud
12) Simple User Bean for Directory Info
13) Sametime Presence Awareness
14) Dojo Layouts and Events
15) Calendar Views (yes, calendar views. I said it.)

I'm not going to tempt fate by announcing a delivery date on my blog, but I can tell you that you'll need Notes/Domino 8.5.2 to work with all these features, and that our objective is "very soon after 8.5.2 is available."  We're as excited as ever to be working on this stuff, and we think that when you see it in action, you'll be excited to.

Thanks for stopping by on YellowDay!

Posted by Nathan T Freeman At | Permalink | Comments (13) | TrackBacks (0)

 YellowDay: LotusLive Notes and the meaning of Hybrid        

Unless you've been on a cruise for the last couple of days, you've probably heard about the announcement of LotusLive Notes (LLN). Whether you take the angle that this pushes IBM into immediate market leadership, or that they left out the crucial piece of custom applications, or that Lotus simply isn't as good a hosting provider as their business partners are -- you probably aren't aware of the key market differentiator that LLN provides: the hybrid model.

Well, let me amend that: you're probably aware of it, insofar as you've heard it mentioned. But you probably don't know how it works. And because this is an IBM offering, you're probably figuring that integrating an on-premises Domino implementation with the LLN hosted implementation means putting the IBM Tivoli Cross-Domain Federation Identity Broker Gateway Server into your DMZ with the custom IBM Lotus Domino Blarficator Addon pack that can only be installed by a team of 5 architect-level consultants from the Global Services team who charge $300 every 10 minutes and will only install the software on genuine IBM Z series hardware. So your minimum investment in that integration is $5.3 gagillion and it takes 17 months.

You're wrong.

Here's what you need to integrate your on-premises Domino implementation with LLN: an OU certifier and a single Domino server in the DMZ

Yup. That's it.

Why? Because LLN is built on Domino, not some mishmash of technologies pretending to be Domino. And because it's Domino, it uses the Notes PKI and NRPC from the ground up. So when IBM asked themselves "how can we allow customers to manage the delegation of identity to our hosted environment?" they looked at how they'd solved that problem for customers since Notes 3 and said "we just need a certificate branch that we can control." So you give them an OU branch from your top-level O certificate, and they spawn all the servers they need from that.

Because they do it in Domino terms, that also means that every one of those servers can talk to your Domino server in the DMZ. You just need to enable it as a pass-thru server.  All the gateway services were built into Domino 4 versions ago.  There's nothing new there -- just 128-bit symmetric key encrypted NRPC travelling point-to-point between your DMZ and the LLN data center, and reaching from there into whatever directory and mail servers you've defined in your own Domino domain.

So what that really means is that when you use the hybrid features of LotusLive Notes, you're effectively using a hosted extension to your own existing domain. They even replicate your NAB.

That's all there is to it.  It's crazy elegant, really, because it doesn't worry about introducing a bunch of NEW stuff.  All these problems were addressed ages ago by the platform itself, and now there's just a really cool way to implement it with IBM as a service vendor instead of a product vendor.

And because it doesn't introduce a bunch of new stuff, it JUST WORKS. Your users get to their new LLN-based servers in exactly the same way they would if you migrated them from one server to another in your on-premises environment.  They work with calendar federation, schedule management, directories, authentication, local replicas and transparent mail routing exactly as they would with a high-quality Domino implementation: seamlessly. A cloud-based user can run a busy-time query against on-premises users the same way a pure premises implementation can -- because the server just proxies the request between all the individual home servers as defined by the directory.

Now I won't claim that the implementation is perfect.  There are unsupported features. There are quirks. There are limitations.  But on the whole, what IBM has done here is incredibly innovative and could only be accomplished with a technology like Notes, where identity and security are built into the DNA of the platform.

Here's the real kicker: IBM doesn't care if your "on-premises" servers are really on-premises. They don't even know whether they are. So if you want to, say, put your email services into the LotusLive cloud, but you're disappointed that you can't move your custom applications, you should realize: YOU CAN. You just can't move them to LotusLive. But you can move them to another hosting vendor that supports custom applications. And as far as IBM is concerned, that's just part of your "on-premises" Domino environment.

Have I mentioned the GROUP Live Platform-as-a-Service offering? As many of you saw at Lotusphere, that is our data center middleware platform that lets you dynamically implement and scale Lotus servers with a few clicks of a button. Naturally, we're now extending that platform to allow seamless integration with LLN, using the same fundamental strategy as the IBM team: exploiting Domino's existing capabilities to seamlessly extend a cloud-enablement to be cross-vendor.  Whether you use it in your on-premises facilities, outsource your hosting to a third party, or want specific networks deployments for specific applications, the approach chosen by IBM will allow maximum flexibility.

Of course, while this addresses the IT support need of servers & infrastructure, it doesn't address the business need of end user experience. Whether they're in the cloud or on-premises, your mission critical custom applications are still whatever you designed them to be. So the next big question is: how can we make a 10 year old workflow app not only sit in a hosted data center, but also work better when it does.

The answer, dear reader, is a tale for another blog post....

Posted by Nathan T Freeman At | Permalink | Comments (3) | TrackBacks (0)

spacer

Downloads 

  • spacer YellowDay 2010 Logo
  • spacer YellowDay 2009 Wallpapers
  • spacer Pediatric Dosage Calculator
  • spacer Carousel v1.02
  • spacer Ye118wDay Wallpapers
  • spacer Suit up
  • spacer My Desk Full Size
  • spacer Interface Matters 2008 Demo NSFs
  • spacer Lotuscript API for Connections
  • spacer The Revolution
gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.