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.
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.
As many of you will know, I have been diligently working with the OI10 Alpha releases and more recently the Beta’s which include the internal releases and those released to our WORKS subscribers.
My initial aim was to assist the development team at Revelation, working mostly with the Forms Designer and it’s ossociated tools, in catching as many issues as possible before we go to a final release. When I saw the conversion tool, I began to dare to hope for a one click conversion, at the same time knowing that such a thing is usually far from possible.
However, with the release of the Beta 4, I am alot closer to that elusive one click conversion. In fact, I’m ‘alot closer’ than ‘alot closer’.
Like many of you, on Friday, I downloaded the Beta, ran through the install, created a new application and waited expectantly as the system ran through the conversion of my contact manager that I use at Revelation day in and day out. The new conversion tool wizzed through the entities, with lines flashing up on the right side of the new conversion window and the categories of items to be converted were slowly and steadily checked off . . . done, done, done, done.
I had a couple of red categories, but a quick check of the log showed that these were items that I did not have to worry about. Legacy items that I really ought to have deleted prior to the conversion, but easily deleted in OI10.
So, how did we do?
Much, much, much better than I had hoped. Sure, my splitter bars no longer work, but I knew about those and I’ll blog about them later. My legacy and poorly written code is fighting OI10 in one or two areas but I’ll be removing hundreds (if not thousands) of lines of my cobbled together code in favour of OI10’s professionally written code that will be better optimised and correctly error trapped. So those issues are not really issues for me and they don’t stop the application from running.
So, as of Friday afternoon, I was both developer and user of my system under OI10. I’ll be removing code and changing some of the interface components (for example, my combersome three state buttons and associated GOTFOCUS and LOSTFOCUS code, in favour of the new Glyph buttons), so further developing the converted application. Plus, I’ll be using the application to support my job role. Something that I thoght would be a little way off and following a hefty conversion task (project).
The guys are doing an outstanding job with OI10 and the project really has turned a corner. So many things are finally coming together and it looks like some of the technologies that the guys have had to wait for, are now available to them and the toolset is going forward in leaps and bounds right now.
They are also cracking on with the reported bugs, leaving wishes for later. For example, I have cleared down no end of officially reported bugs in the OI10 bug tracker. But, what you don’t see is the internal emails and reports that I send to the guys. Carl had a ten page report for the conversion tool for my system at the initial internal release of the new conversion tool. By the final release of the beta 4 (in you are a WORKS subscriber, that is the one you can get your hands on), this was down to six items and a couple of new ones that I have found. [Edit – Oneof those items was user error and another related to my code].
Remember, we are still in beta so issues will remain, but I’m blown away by what OI10 is proving to offer developers.
I’m often asked who is a typical OpenInsight developer and . . . Well, lets leave that for another posting, I’m keen to get back into working on my brand new user interface – or should I rephrase that to, “the old one simply reworked” – but it feels brand new.
… when Martyn is playing with the OpenInsight 10 Beta and his knowledge of the new system is lacking <lol>.
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.
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.
So, I’m all caught up on my regular work, far too many people are on holiday and Revelation Software have just uploaded a nice present to my FTP site. As I write this email, the brand new OI10 beta software (an advanced copy) is being downloaded to my machine and I’ve cleared my workload to spend the next few hours playing with it before RevUS opens.
Revelation have just announced that their beta program has entered phase two with the release of the OpenInsight Beta 2 release being published to the beta site on http://www.revelation.com. This follows a very successful beta 1 stage with very few issues being reported on the new enhancements for this forthcoming release.