Martyn's blog for the Revelation Software community, sharing ideas, news, views and more. NOTE – Views and opinions expressed in this blog are personal and do not necessarily represent those of Revelation Software.
One of my hottest topics when talking to people is performance. Everyone wants their systems to run faster and faster, or at least as fast as possible. So, when a user’s machine suddenly begins to run slower, the support lines usually light up and we need to know the reasons why.
Microsoft have been one of the first organisations to go public on a slowdown that will be introduced as part of updates that they are currently rolling out to just about every Windows machine. This is a necessary update to address a very serious CPU vulnerability that could leave sensitive data open to access by hackers. If you and your users are running the latest Windows 10 updates, then you will most likely not notice much of a change. It’s said that the percentage slowdown on the latest Windows 10 operating system is in the single percentage digits, so somewhere between 1 and 9%. When we are talking milliseconds, most users will not notice.
However, for people running older Windows 10 versions, Windows 8, Windows 7 and anyone mad enough to still be running older versions of Windows, the performance hit will almost definitely be noticeable, with talk of performance hits of up to 30%.
Now, that IS some significant hit on our valuable time.
RevUS will shortly be pushing out a formal announcement and I’ll share that with my readers. In the meantime, I feel that it will be very worthwhile for all technical support and account managers who are involved with supporting and managing OI based systems, to read the following articles:
I’d like to thank Mike Ruane for giving me a heads up on this important issue that is sure to have our users emailing and phoning us when their OI based systems begin to run slower. Naturally, the best advice (as always) is to make sure that your systems are being deployed to properly patched Windows operating systems and that you are running OpenInsight 9.4 or later with the Universal Driver 4.7.2 or later.
On behalf of everyone at Revelation Software UK and Sprezzatura, I would like to wish all of our readers, friends and clients a very Merry Christmas and a Happy and Prosperous New Year.
Many of you will know that I have been working with the OpenInsight 10 Beta software for sometime and I am really pleased to be rounding out the year running 100% OpenInsight 10. It took under half an hour to convert my OI 9.4 RevUK Contact Manager to OpenInsight 10 and just a week of evenings to delete a whole load of my legacy code in favour of simply setting properties using professionally written code behind those properties. OpenInsight 10 has also given me the tools to quickly freshen up the user interface using some of the new features and I love working in the new system.
It’s also not stopped there. I recently learned of some of the plans for the OpenInsight 10 release in 2018 and they are very exciting and something that I hope we can build on going forward – more on that in 2018 as we get closer to the final release. I’m also working on a little side protect for Revelation which ‘I hope’ will, in some very small way, stamp my personal mark on this most exciting project.
Our customers and my colleagues at Revelation around the world have helped to make 2017 a very successful year and I’m really looking forward to 2018 and a lot of great things to come from OpenInsight and continues challenges and successes from our customer base.
Thanks again for your support during 2017, Merry Christmas, Happy New Year and above all stay safe and have fun this festive holiday season.
I am now at a point where my RevUK Contact Management Application can be deployed to Bill and Prashant in the office as read only and for testing. I still have some parts to update and enhance, but deployment license keys have been supplied by Bob, I have the procedure document to follow, so wish me luck.
So, I am a week into my OpenInsight 9.4 to OpenInsight 10 (OI10) conversion which is basically just playing around with the interface and I really like how things are going. I have a brand new colour scheme and ripping out loads of code. I was keeping a tally, but I’m about 2/3rd of the was through and nearly 2,000 lines of cobbled together code have been deleted in favour of setting properties and thereby using professionally written code to run my application.
Last night, I managed to introduce a long overdue and much longed for Progress Bar which runs whilst my data grids are loading during system startup. A trivial task for most of my blog readers, but quite a result for me all the same. It’s nice when you manage to achieve something after a struggle and this is one such case. It does put a smile on my face every time I launch my OpenInsight 10 application, so it’s well worth it in my mind.
Using graphics in OpenInsight to build some really nice interfaces is child’s play now. the key is having a good graphics library to pull from and I’m extremely lucky to have access to Icon Experience‘s graphics library. With nearly 3,000 images in the library that I’m using, and they have several libraries and numerous sizes of each image in each library, they have a graphic (.png and .ico) that just about meets any requirement when building an application.
Anyway, I’m pleased to now be 100% OpenInsight 10. Since rebuilding my computer, I have found no reason to install OpenInsight 9.4 and I’m now both developing in OI10 and using my Revelation Contact Manager on a daily basis running under OI10.
Great job guys.
I cannot produce any videos of my progress thus far because I’m working with live sensitive data. However, once this project is done, I will look to put a video or two together using the old Clinic application that I used for the OI9.x tutorials. Watch my blog for more information and video links as I begin that project.
If you are an OpenInsight WORKS subscriber, you can get the OpenInsight 10 Beta 4 software from the WORKS area on www.revelation.com. If you are not a WORKS member, please drop me a line and I’ll be pleased to arrange a time to talk a little more about OpenInsight 10 and the supporting WORKS subscription service that underwrites the development suite.
I’m often asked who is a typical OpenInsight developer and why? I pause for a moment, take a look at the current user base and this usually has me thinking back many years and to ‘why, those people chose to use Revelation Software’s products in the first place’. That tends to be the more interesting question to answer.
When I look back, I see countless Value Added Reseller (VAR’s) and end users with growing systems and small teams of developers and in most cases one key individual. That person may not have started out as a software developer, in fact, they are very frequently not a trained software professional at all and they usually come from a totally different background.
I could use numerous individuals as an example, people that started out in a profession, became frustrated with the software solutions available to them and who went on to build their own solution and then to begin offering their solutions to the benefit of hundreds of others (friends and customers). I don’t paint myself in the same light, but I will use myself as an example.
When I joined Revelation as an ‘Internal Sales Engineer’ (some 15 years ago), I was given Lotus Notes to use. It came to the end of its useful life within our business and we moved to Act, that was not up to the task and we tried Goldmine, that was too difficult to get data out of and we moved to Maximizer. I then began to learn about developing the Maximizer interface to give me the data views (datasets) that I needed to support my job role. All was good for a time and then the authors decided to go the MS SQL Server route and I found myself facing a five fold price increase with decreased functionality – actually, it got so bad, I found myself looking for another solution.
Enter a little plug in for Outlook and once again more frustration. All seemed to be pretty good initially and then it crashed Outlook, resulting in a restore and time setting everything back up again and lost work hours. A second occurrence, and then a third. I used to fly (a Cessna out of RAF Henlow as a work bonus) and I was reliably taught that when three things go wrong, you don’t fly. I live by that rule even now, so three strikes and the Outlook plug-in was out.
So what next???
Unsurprisingly, the solution was staring me in the face. It often is in life. You just need to open your ideas to something new. I had access to OpenInsight, I had access to some of the best OpenInsight developers on the planet and I had begun to dabble in my own product demonstrations, building simple databases, forms, reports and the like.
So, like many people before me, I was that individual with a need. A need for a software solution that worked with me and which supported my job role. I knew my job, I knew what I needed to support that job role and I just needed to get on and build my own system. And, that is just what I did. Over the next couple of weeks, with the help of my colleagues (usually Aaron fixing things up in the car whilst I dropped him home from London to Northampton, or Mike on one of our long UK road trips between RUGs and client meetings) I wrote a basic contact manger for RevUK and I have gone on to add to that as it has grown and evolved with our business – much like just about every other Revelation based system that has been running for any length of time.
So why the long and protracted story?
Well, I guess that I’m finally proud of what I have built. In fact, I knocked up a comprehensive system to manage our archery club (Andrew helped me to build a wicked tournament module that saved a lot of time collating results for multi-round tournaments) and again to manage a small photography business I dabbled with for a time – I wrote that one totally on my own.
But, the real reason is to outline Revelation’s traditional application developer. Yes we have developers join us and our clients teams who have studied computer science, obtained degrees and can work in one of many different programming languages. But, this posting is about the individual entrepreneurs, business leaders and department staff members that have the vision and who have used ARev and/or OpenInsight to help them to realise that vision and build that perfect application.
It is those people that take OpenInsight, build solutions and enhance their working lives and who then often go on to enhance the working lives of their colleagues and then their clients.
Furthermore, it is OpenInsight that sits in the middle ground between the lower end fully integrated database tools that are designed for the individual and which are not really scalable and which have their limitations, and the professional software development suites that need degrees and expensive training to master them. These large systems often need knowledge about; third normal form, inner and outer joins, record locking, working with datasets, how to write and debug code and how to bring several disparate technologies together. No small undertaking for an individual in an organisation with little time on their hands, but who needs a solution quickly to support their work function.
OpenInsight sits right between these two categories of products. It’s is fully integrated with everything you need in one toolset – desktop and web development tools, database, user interface, reporting, data warehousing tools and more. Plus, it is scalable and we have systems supporting hundreds of users over LAN, WAN and Web (mobile) environments.
Better still, with the upcoming release of OpenInsight 10, Revelation are once again providing application development tools that anyone can take to build solutions. It is amazing how much can be done without having to write code, and how you can then take those systems and easily deploy them to end users, and then how you can further enhance those systems WITHOUT the need to re-engineer your system all of the time.
Interestingly, the team have done so much to enhance the application development process in OI10, I now find myself deleting thousands of lines of cobbled together code in my contact management system, in favour of simply setting a property or two in the designers property panel. For me, the benefit is setting one option or typing in a value (into a property) to use professionally written code and a better, more optimised and robust solution.
Yeah Mike, I’m giving OpenInsight 10 a double thumbs up as well.
OpenInsight WORKS subscribers can get their hands on the OI10 Beta right now, just log into OI WORKS and locate the OI10 Beta Gateway on the main WORKS page on www.revelation.com. If you are not a WORKS subscriber, please get in touch and I’ll be pleased to see how we can help you to get into OpenInsight.
OK, 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.
Revelation Software will be presenting at the International Spectrum 2017 Conference and Exhibition which will be held between the 1st May 1st and 4th May 2017 at Litchfield Park, AZ.
OpenInsight 10: The Most Modern MV Development Tool You’re probably familiar with OpenInsight from Revelation Software, the MV development tool and database that was written for the Windows world. What you haven’t seen is OpenInsight 10 – completely rewritten from the base code up, it has a new, industry standard IDE for desktop Apps, a new web-based design platform for browser-based design, and as always our connectors to all the MV databases, cloud-based databases, and SQL.
In his presentation, Mike Ruane, President and CEO of Revelation Software will give a real-time demonstration of some of the features of OpenInsight 10, answering questions, and showing modules of specific interest to the audience. Attendees will be able to Download an evaluation version of the product.