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.
As many of you will know, I have been an avid alpha and then beta tester for OpenInsight 10 (OI10). I have fully converted my internal RevUK CRM system, worked on a few other OI10 based systems and posted a fair number of issues for the guys to look at over the last year or so.
Throughout the project those issues have been cleared and just recently I’ve seen a floury of activity on my issues and lots of them being addressed and closed. It has been very rewarding to have been just one of the many beta testers and I just hope that, in some very small way, I’ll have helped to make the final release as best as possible for the team working on the next generation of our amazing Windows application development environment.
However, the big news is that Revelation have just reached a
major milestone with the development of OpenInsight 10.
Over the weekend, I learned that the OI10 Beta 7 has been released. Nothing special in that, other than this has been cited as the ‘last (final) alpha’ to be released. In his posting on LinkedIn, Mike has also gone on record to state that the scheduled release date for the full release is the 16th April.
I’d like to add my thanks to everyone that has been contributing to the beta program through testing and working with the beta versions and feeding back their thoughts, issues and successes.
If you have not yet played with the OI10 software and you have an OI based system, now is the time to register for the beta, download the final beta release and run your applications through the conversion tools. You might just find an application specific issue that you would like addressing ahead of the final release.
We recently announced that we were quite busy porting our products to run in the OpenInsight 10 64-bit platform. For various reasons, it made sense for us to start working on SRP Utilities rather than any of our visual (i.e., ActiveX) products. At this time we are pleased to announce the general availability of SRP…
It is great to learn of people embracing the OI10 beta program and there are alot of good people doing some great testing of the software. Today I learned that SRP have gone one further and they are getting ready to roll out their SRP utilities in both 32-bit and 64-bit, the latter (I believe) being available for OI10 beta testers.
The link above will take you to their blog posting about the release.
OK, I lie ever so slightly, the new Examples application is the old examples application but with a slightly enhanced user interface but it certainly feels new.
I have now converted a few applications from OpenInsight 9.x to OpenInsight version 10 and I’m always pleased with the results. It started with me cutting my teeth on the EXAMPLES application and then I moved on to my larger RevSoft UK Contact Manager. The later benefited from a couple of weeks of evenings working on the user interface before I deleted the old 9.4.2 version and moved 100% OI10.
So, a few people have asked me to produce a video of the conversion process and I’m pleased to announce that both that video and a look at an early version of the new examples application is now online and copied below.
Please note that this is a relatively new YouTube Channel. I decided to drop the old one with the old 9.x videos in order to provide a clean break between the two and avoid confusion. For this reason, please subscribe to the new YouTube channel for periodic updates as I produce more OI10 videos.
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.
So, I had some computer issues yesterday (not OpenInsight based I am pleased to confirm) but the end result saw me blowing my machine away and opting for a complete factory reset. This is usually a pretty painful task, but ‘boy’, did I not know the half of it. This posting is therefore a reminder for me and also to enable all OpenInsight installers to better prepare for their OpenInsight installations.
With my machine sitting with a newly installed copy of Windows 10, I updated my Internet Security and immediately dived into installing OpenInsight 10 on my machine – well it is the most important piece of software on my box and an application that runs my working life. Well, I say install but I actually did what I have done a thousand times before and simply copied the RevSoft folder from my backup drive onto my new Windows 10 installation and launched the ClientInstall.exe to install those all important files that OI10 needs to operate properly.
Before doing anything with OpenInsight and as per the normal OpenInsight installation documentation, I took the added precaution and checked to make sure that I had the .NET Framework 3.5 and 4.6 installed on my machine.
All was good with both Frameworks displayed in the “Turn Windows features on or off” window.
I therefore ‘thought’ that I was good to go and copied over my backed up RevSoft folder, then I located and launched the ClientInstall.exe file using the ‘Run As Administrator’ option. However, half way through the install I got the following warning.
Now, I know that I don’t have the later .NET Framework installed, so I clicked ‘Yes’ to launch the Microsoft webpage. This presented me with the .NET Framework 4.7.1 option front and centre and that seemed like a good choice – well it can’t hurt to have the latest version.
Alas, after downloading the file and running it, I was presented with a Microsoft .NET Framework Blocking Issue warning and the only option is to Close out of the installation.
OK, so the OI system did say that I needed 4.7, so back to the Microsoft website and towards the bottom of the page are several options including 4.7. Naturally, I downloaded and installed that version. Alas, the exact same Blocking result:
I knew that I’d had the earlier version installed, so I tried 4.6 but, as expected I was told that it is already installed. Out of desperation I thought I’d try the 4.6.2 version and success, it ran through a full installation.
Jumping back into the OI ClientInstall I ran the file and crossed my fingers. Again, the installation failed. OI really does want 4.7 and nothing else will do.
Time to dive into the ‘More Information’ link and something that I really should have done first off. This presented me with a long page of different things that can affect the .NET installer but towards the bottom covering just a couple of lines is a note about the .NET Framework 4.7 needing the Windows 10 Creators edition. Checking my machine and because this is a machine that is a couple of years old, I naturally have an older version.
So, into Update and Security and I began to download the upgrades.
With the first set of upgrades installed, I ran the updates check again and the system went off to pull down the Creators Fall Edition, one heck of a long download and almost as long to install. This process began at around 10:00 hrs this morning. It’s now gone 16:00 hrs and the Creators Edition is finally installed. One last update check and one last batch before a final check and we are finally up to date.
This time when I ran the ClientInstall, the system ran through as expected with no call out to Microsoft and no need to manually install the Microsoft .NET Framework 4.7, that appears to be installed as part of the update.
Somewhat relieved that all now appeared good, despite nearly a whole working day taken to run the upgrades, I launched OpenInsight 10 and my application and it is now functioning exactly as expected – PHEW!!!
So, what is the moral of this sorry tale or woe, angst and dead ends.
The Number One Rule: Make sure that you or your client have your windows 10 machines fully upgraded BEFORE you step through the door to undertake any software installation that needs a .NET Framework and especially OpenInsight 10.
I’d have hated to have arrived on a client’s site to install their new OI10 based system, to find myself sitting there waiting for Windows 10 machines to update. One would hope that the machines will have been installed for a while and be fully updated, but you just know that there will be people who only opened the box and turned it on that morning.
Also, be warned that if you have to blow your machine away and back to factory settings and it’s running an earlier Windows 10 release, you will have to factor in a long wait. I guess that there can be something said for keeping mirror image backups.
So, now that I have my OpenInsight 10 working you’d think that I’m about to dive in and continue with my conversion. Nope, I’m off to coach archery and OI10 will have to wait until a little later.
On the whole, my OpenInsight 10 (OI10) Beta 4 conversion has been a major success and I’m now using the application on a daily basis and working on the UI to make it cleaner using the new tools in OI10.
However, one gotcha which we should all already be aware of, is the splitter bars that were introduced in OI9. In that version, you simply dropped the controls on the form and it did its best to resize controls (usually edit tables). The downside for me was a flickering screen as the form constantly redrew whilst the bar was being dragged by the user.
In OI10, Carl has introduced a new ‘MOVE’ event which enables developers to very quickly and easily handle the resizing of the controls to best suit the application. In my example, I have a form with three panels (Groupboxes) and on each panel is an editable. The panels are then set to autosize and the following code is added to the upper and lower Splitter Bars to managed the moving of the bars as needed. The code below is taken from the Upper Splitter bar’s MOVE event.
Declare Subroutine Set_Property
// Adjust the window's controls as the user moves the horizontal splitter bar.
// Get the bar "thickness"
barH = Get_Property( ctrlEntID, 'HEIGHT' )
// Get the bar initial position
barP = Get_Property( ctrlEntID, 'TOP', YCoord )
// Move the bar
Set_Property( ctrlEntID, 'TOP', YCoord )
// How far did the bar Move
barM = barP - YCoord
// Move the upper panel control
valPanelUpper = @window:'.GRP_ALF30DAYSPLUS'
Set_Property( valPanelUpper, 'BOTTOM', yCoord - 4 )
// Move the lower panel control and reset the height
valPanelLower = @Window: '.GRP_ALF30'
Set_Property( valPanelLower, "TOP", yCoord + barH + 4 )
valPanelHeight = Get_Property(valPanelLower, 'HEIGHT')
Set_Property( valPanelLower, 'HEIGHT', valPanelHeight + barM )
Disclaimer: The above code is written by me as a non professional developer. Whilst it works, it is not optimised, does not include any error trapping and does not promote best practice. The above code includes comments to explain what it does.
I was initially disappointed that I would have to write code to manage the splitter bars, but now that this is done I really like the way that I have control over the controls that move and that the form no longer flickers when the splitter bars are moved.
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.