Over on Matt White ‘s website he posted a video of the Flash Builder Reverse Debugger which is really cool. It shows the ability (among others) for a user when they encounter an error in the application they’re using being able to send a debug file to the developer. Once the developer gets this file he/she can load it up in the debugger and see exactly what they were doing when they encountered the error including variable values and the like. This is very cool stuff.
This video got me thinking about a conversation I had with Tim Tripcony a few weeks ago when we were talking about how we could proactively track down and address support issues, possibly even when the user wasn’t aware something was broken. In the XPages world there is a SaveState and a RestoreState which serializes the state of an individual component for the purpose of resetting that component to it’s previous state when partially refreshed. This is directly related to the “Server Page Persistence” setting in the Application Properties on the XPage tab.
Now for the pontification part as I have no idea if this would work, is feasible or just plain way out there. But if you were to set the “Server Page Persistence” to “Keep pages on disk” and an error was to occur. Could you then go out and grab that serialization information from the disk and email it somewhere? If so, would the person receiving that information be able to use it to put a replica/copy/whatever of the application into the same state as before the error occurred? If so, this would be huge in organizations playing a proactive role in supporting their customers. Plus, how handy would it be to be able to set an application to the proper state of right before an error occurred in an application for the purpose of troubleshooting the upcoming error?
Like I said above, I have no idea if this is feasible or not, but I think it would be cool to add logic to an application that when an error occurs to email the developer the save/restore state serialization data who can then troubleshoot the error and incorporate a fix. All without the customer having to place a phone call, send an email or jump up and down on a developers desk.
Now back to reality, IBM please watch this video. The SSJS IDE and lack of a debugger are starting to become obviously lacking the more we XPage developers learn what’s out there for other platforms doing similar things. Paul Withers points this out exceptionally well here. Now back to work.