Python Programming, news on the Voidspace Python Projects and all things techie.
Resolver One 1.3 Released: Spreadsheet Web Server now Included
After a month of being about a week away from release, Resolver One 1.3 is finally out! Most of the delay was in sorting out the documentation and the way the installers are built, because of the major new feature in 1.3 - the web server is now in all versions of Resolver One, including the free Open-Source and non-commercial version.
The web server serves spreadsheets created with Resolver One, including UI elements like images, editable fields, drop down lists and buttons - going back to the server to update the displayed results based on user actions. Although Resolver One is Windows only (but works great under virtualization) we have had the web server working under Mono on Linux. Hopefully soon we'll be able to post instructions on serving Resolver One spreadsheets from Linux or the Apple Mac.
Other new features in this release:
Column- and row-level formulae, using headers.
So, for example, you can say that column A is "quantity", column B is "price", and then specify a column-level formula for column C to make it quantity times price. No more duplicated formulae!
A 30% improvement in startup time.
An option to trigger a recalculation, reloading all imports - Shift-F9.
This is very useful when you're developing and want to be able to change the Python scripts you depend on.
Handling of number formatting (thousand separators, currency units, etc) when pasting.
New ContentCells property for Row and Column objects, mirroring ContentRows/ContentCols on worksheet.
Upgrade to IronPython 1.1.2.
And, of course, many other bugfixes and usability tweaks.
My colleague Jonathan Hartley has done a two minute screencast on the new features in Resolver One 1.3.
The column and row level formulae are nice. As well as being useful where you repeat the same formula in every row (or column) of a spreadsheet, you can use them in combination with list comprehensions to do some interesting data aggregation. I'm in the middle of working on a short screencast (my first for Resolver Systems) illustrating this.
For release 1.4 we are working on the port of Resolver One to IronPython 2 (based on the Dynamic Language Runtime). IronPython 2 final is not out yet, but is still at Release Candidate stage. Our port, which is going very well, has uncovered a few bugs in IronPython 2 in just the last few days - so it still needs work before a final release. Resolver One is quite finely tuned to the performance profile of IronPython 1 and so we also have quite a bit to do to get Resolver One running fast on IronPython 2 (although the improvements in binary compilation mean that hopefully startup time will be significantly faster in the next release).
One of the tangible benefits of moving to IronPython 2 is that we will be able to integrate Ironclad into Resolver One, allowing the use of Python C extensions in the spreadsheet. Ironclad is making fantastic progress, with a large chunk of the core Numpy tests now passing (except for their evil use of sys._getframe in the test suite). Release 1.4 will definitely include support for a wider range of statistical functions, but it will possibly also support the use of Numpy arrays and matrices for calculations on spreadsheet tables - which will be fantastic.
Resolver One for commercial use is available at the discounted price of $199, but the discount ends on November 27th when the price goes up to $399. Get it while its hot.
We're starting to take Resolver Systems in an interesting new direction, focussing more on direct sales of Resolver One rather than the big-ticket 'consultancy-ware' we have concentrated on up till now. My boss has a good blog post on the subject (including background on how the company was started) if you are interested: Do one thing and do it well
(Nice tagline in the blog post - Let’s see if we can rescue the world from VBA.)
This work is licensed under a Creative Commons Attribution-Share Alike 2.0 License.