Performance


z4OK, so yes, I did go a little mad the other weekend.  I’ve hankered for a roadster for many years and this little beauty presented itself and I took the leap. She’s garaged and only comes out at the weekends. However, that does not matter because she puts a smile on my face whilst she’s standing still as well as when I behind the wheel, feeding that 2.5 litre straight six and pushing her on through some sweeping bends.

Whilst modern she retains some glorious traditional lines, she looks fast when she’s standing still and when you open her up she’s as responsive as you like and she just flies.

OpenInsight 10 (OI10), for many of us has been a project that has seen the interface chance considerably. Whilst hugely functional, the old desktop interface was looking aged and not overly intuitive for new users. For experienced developers, the interface required a fair amount of clicking down through layers to achieve things or, at best you needed to know the shortcut keys. OI10 delivers a brand-new interface that is way more intuitive to use. There is no more clicking down through layers, so much more is right there in the interface or one click away and so, so much more has been exposed in the way of new controls, properties and more.

Whilst the O4W interface is still pretty new, it’s early releases were based around a two-column approach but OI10 opens up an array of new possibilities with multi-column design and drag and drop development.

I’ve played with the latter Alpha releases and I’m now getting more and more into the beta to convert my personally written contact manager that I use on a daily basis at RevSoft. I’m fast learning that OI10 all adds up to an easier to use interface with productivity gains to be found everywhere. I cannot believe how much code I can now remove from my forms by just setting one simple property in the Property Panel – that’s usually a case of inserting a single value (numeric or text), or making a picklist selection or toggling a property. OI10 is making our application developer easier than ever and introducing standards that will no doubt deliver better applications through consistency, stability and refined code.

So, the interface enhancements are nice, the O4W design options are more powerful but people still want better performance and on more than one occasion recently I’ve had discussions about indexing large files.

At conference last year, Bob spoke about the way that the conversion tools will optimise your tables. It is still work in progress but Revelation are mastering the dark art of balancing file-sizes with thresholds and a whole load of things that I really don’t understand. Bob’s also worked on caching things and using memory better and Andrew at Sprezzatura continues to explore ways to better configure the system for Linear Hash and find performance gains.

Some people don’t think that Revelation are taking performance seriously and listening to their customer base. I know for a fact that this is not the case. You only have to sit in the car with Mike on the way back from a User Group meeting to know that he personally takes customer needs and requested extremely seriously. On more than one occasion (in fact on many occasions) I’ve been driving him across the UK and he’s bashing away on his keyboard like it’s going to give up on him in the next ten minutes. We get to our destination and he shows me an example of something a client has suggested or requested and with a big smile on his face, he tells me that I can let my client know that it’s in the next release – subject to testing and quality control of course. It’s the little details like this that have kept me loyal to Revelation for the last 20 years, in a sales role that would normally have seen half a dozen sales people come and go.

Like the motorcar currently sitting in my garage just a few feet away from me, OpenInsight is maturing into one of IT’s classics which continues to deliver on the needs of the modern application developer. Not only does it look good and it’s wonderful to work with, hidden under the hood are a number of highly sought-after enhancements that are set to deliver some of those performance gains that the OpenInsight community have been asking for.

Just yesterday, after yet another call with a client looking at index performance on files with 500,000 plus rows, Andrew told me about some more of Bob’s enhancements to OpenInsight. Well, I just had to get some highlights from the man himself and, as a teaser, this is his reply:

“I have re-written index builds and updates. The high points are:

  • Rebuild uses in-memory hashtables and removes 64k workarounds which were in the legacy build.
  • Rebuild all for a table rebuilds all indexes in one pass, rather than individual passes
  • Update_Index is rewritten so that there is less contention on the root of the index. I made changes to SI.MFS as well.

…”

I don’t fully understand indexing but Bob tells me that the current system has to make numerous passes. One test that he undertook had to make six passes through a system with 500,000 rows. His greatly refined solution now makes just one pass through 500,000 rows, rather than having to work through 3,000,000 rows. He therefore has a very high level of confidence that the rebuild process work well and performance gains will be experienced across the board. I don’t have the figures, but he tells me that the 500,000 row rebuild was much faster and that’s good enough for me.

Other enhancements include a brand new update process that makes use of multiple sessions updating many tables at the same time. This has proven to be robust and fast during internal testing and we look forward to hearing the results obtained by our beta testers in the real world and running against real databases with hundreds of thousands or millions of rows.

I’m looking forward to getting out in the Z4 with Joanna, putting the convertible roof down and enjoying the wind in our hair. In the same way, I’m looking forward to working with the fresh looking OpenInsight toolset, modernising my applications and sharing this new gem of a toolset with the wider MultiValue community and the application development community in general.

We now have a fully integrated, highly functional toolset that is easy to use, powerful and fast. I can’t wait for the official OI10 release and to hear what Mike, Carl, Bob and the team have in the pipeline for OI11.

It’s going to be a great ride for the foreseeable future.

Advertisements

When is a bug not a bug…


… when Martyn is playing with the OpenInsight 10 Beta and his knowledge of the new system is lacking <lol>.

OI10Beta

As many of you will know, I have been working with the OpenInsight 10 alpha for sometime and I recently downloaded and begun playing with the official OI10 Beta which was released a week or so ago.

I’d reported a good number of issues to RevUS during the Alpha program and I’m pleased to see many of those issues resolved in the Beta and a mountain of other things now working and working really nicely.

OI10 is a massive change from the old 9.x versions.  It is so much easier to use and massively more developer friendly.  I’ve only really played in the forms designer (image above), popup designer and scripting tools but it is a brand new world compared to the old interface and tools.

For example, the Main Application Manager window lists your recently accessed entities, making access to those entities a day or two later super easy.  Once in the forms designer, you can now have multiple forms open and you can work on them all at the same time – although I’ve confused myself on numerous occasions and found that the tab bar gets a little full.  However, I absolutely love the ability to have a form open and then scripts and Quick Events open for that form, popups associated with that form, graphic files associated with that form and more – it’s just so intuitive and super, super easy to jump between entities.  No more closing things, drilling down to find new entities and opening them – it’s just a massive, massive time saver, let alone more organised.

Then you have the properties and events readily available at the side of the interface.  I usually have the Properties panel open because there are just so many properties that have been exposed to make life even easier for developers.

I used to write loads of lines of code to handle row shading, window positioning and the like, now it’s a value in the properties window.  This makes for exact positioning, the creation of some lovely looking windows, better graphics handling and much much more.

As I get more into OpenInsight 10, I find that it is the little details that are making all the difference.  For example, when compiling a form, I get an immediate notification of an issue in the output panel at the bottom of the window in red text.  So  much more is delivered right to the developer in the interface.

All of the usual tools are in the toolset, although just about everything has had a makeover or some level of enhancement.  The changes within the toolset are huge and massively beneficial.  The only downside is that there is going to be work for all of us moving existing OpenInsight applications to OpenInsight 10 but the benefits will be well, well worth the time and effort.

As for non-OpenInsight developers.  Well, Revelation are now delivering one of the few fully integrated application development suites for both super rich desktop and amazing web based applications.  We now have a very intuitive toolset that developers using other tools will be right at home with and which features form design tools, coding tools, debugging tools, reporting tools and much, much more for both desktop and web, right on one comprehensive toolset.

Another massive leap forward is O4W.  This ground breaking toolset, that I used some time ago (as a non developer) to build a proof of concept application and which was finished by the VAR and now used by the employees of some of the Internets biggest names (no need for me to say who), used to be based on a couple of columns and creating more complex interfaces was not overly easy.  With OpenInsight 10, all of that has been addressed and O4W10 (not it’s official name) has really matured into a brilliant piece of technology for those of us who don’t want to learn HTML5, Javascript and the like.

I might be more than a little biased, but I am totally and utterly blown away by what Revelation are now very close to delivering to the OpenInsight development community, the MultiValue development community for widely and business in general.

The beta program is currently open to all OpenInsight WORKS subscribers.  If you are reading this and you are not a WORKS member or you are new to Revelation Software, please contact your nearest Revelation office and we’ll be pleased to assist you in any way that we can.

I was told sometime ago that OpenInsight 10 was set to be a game changer.  I now know why that person said that to me and I can’t wait to learn more about converting my applications and building new systems and proof of concepts for clients and prospects.

New Development Being Planned


No, this is not something new for OpenInsight 10 (OI10), or something else altogether.  It’s a new personal project that is long overdue, but which has OI10 well and truly in mind.

I obviously dive into OpenInsight on a regular basis to undertake live demonstrations to interested people, prospects and the like, but that tends to be a need, feature, benefit, style of approach and it never really gets into application development planning and building.  However, this week I found myself delving further into the development tools and immersed in code to add a new module to my RevSoft UK Contact Manager.  Having not developed anything in quite some time, it was a) nice to find that I could still knock up something really quickly using OI 9.4 and b) not so nice to find just how rusty I had become.

Anyway, with the conference now only a few short weeks away, OI10 looming and a development project begging to begin, I thought it best to dive back into OI development.

As a hobbyist developer at best, it never amazes me to find what I can achieve with the toolset and this time my sights are set on trying to build the new system more slowly and better.  I’ll be looking at exploring error trapping and I might even have a quick dabble at using commuter modules.  All of this will begin with the current 9.4 version and then I will switch into OI10 just as soon as RevUS have a beta for me to play with.

Having started M4Photo nearly a year ago, it is now high time that I got myself organised and this new development will be an application to run the hobby business.  I’ll begin with Contacts and Organisations because I need those modules like yesterday.  I’ll then move onto a simple marketing management module for bulk email blasts and paper campaigns, and then I’ll computerise the sales and invoice side of the business.  Lastly, I’ll dive into the Banded Report Writer (BRW) for mail merging and other reports.

Don’t expect to see too much of this project on the blog anytime soon.  OI 9.4 development will shortly be old hat and I’ll keep the progress updates for when I dive into OI10.

In the meantime, watch for my conference updates via twitter and the blog during the conference week.