OpenInsight 10 – The New IDE
As a first follow-up to our inaugural review of the 2015 Revelation User’s Conference and the public reveal of OpenInsight 10 it seemed appropriate to focus upon the heart of the product itself: the IDE. This also happened to be the first major component that was shown to the attendees who waited eagerly for the first glimpse of the long awaited product.
As with all versions of OpenInsight the user must first log into the application. This task alone pleasantly illustrates all of the work which has gone into the new Presentation Server. Below is a side-by-side comparison of the Open Application dialog in OI 10 versus OI 9:
What should be pointed out is that the OI 10 form is actually built within OI itself. This is not a C++ resource as prior versions of OI have worked with. As explained in Sprezzatura’s RevCon 2015 blog, the entire look and feel is due to the work done in the Presentation Server.
This now brings up an often repeated term that was expressed in the conference: Dogfooding. Unpleasant visual imagery aside, the idea is that if OpenInsight is worthy of being lauded then Revelation Software needs to demonstrate their own confidence by using OpenInsight to build itself. Of course, this is old hat for the Revelation Community. Since the days of the earliest DOS products, Revelation Software has taken pride in the philosophy of using the product to build itself. This does more than establish confidence and credibility. It provides the Revelation engineers a means of finding the very bugs that developers and consultants would discover on their own, ideally early enough to remove them before commercial release. In other words, it is a great mechanism for quality control.
Over the years this approach has had less than favorable results. The reasons have varied but in our judgment it was usually because attempts were made to write utilities within OpenInsight that were beyond OpenInsight’s natural ability to perform well. This is by no means a slight against OpenInsight. It is, after all, a product for developing business solutions and not (necessarily) tools and utilities. In the arena of business solution tools, OpenInsight has very few contenders. This is why we love the product so much. But some tools and utilities have UI and performance requirements that are not easily accomplished within the native OpenInsight arsenal.
With OI 9, Revelation Software demonstrated a willingness to leverage one of the great features of OpenInsight: interoperability with other technologies. Out of this new direction we have received the System Editor ++, Banded Report Writer, O4W, and Connectors. With OI 10, Revelation Software has taken the next step: enhancing the core of OpenInsight to be more functional and more responsive than ever before. This direction has great payoff: not only does it allow Revelation Software engineers to build the product with greater ease (i.e., using the tools they are familiar with), but it means that the rest of us will be able to take advantage of these enhancements also.
The result of this effort is the new IDE, which is itself another form completely written within OpenInsight:
Clearly this is a significant departure from the old C++ based IDE. In some ways this resembles the optional IDE form written in OpenInsight (RTI_IDE_MDI), but one should really regard this as an entirely new design. The stated inspiration behind this version are the tools that are commonly used by programmers coming from other environments (e.g., Visual Studio, Eclipse, etc.) with the hopes that OpenInsight will not be met with immediate derision when these individuals are first exposed to the product. Time will tell whether this will pay off but it is very refreshing to see a new IDE that has completely divested itself of any legacy design and graphics. The astute observer may have noticed that TCL is now prominently a first class citizen at the top of the IDE.
As another example of Revelation Software’s efforts to better exploit the internal capabilities of OpenInsight the IDE has been given a dedicated Start page. This visually appealing form is provided courtesy of interactive HTML. One wonders if this could have been built using just the Form Designer and the enhanced Presentation Server capabilities. I don’t recall this question being asked but if I had to guess the answer would be: Absolutely. However, I suspect the reason this was kept in HTML format was because it would flow better when the IDE was resized. This was a point well made by Bob Carten in the Embedded HTML in OpenInsight Controls presentation. (As of this writing, we anticipate covering this presentation in greater detail within another blog post.)
Revelation Software appears to be standardizing on the term Designer for its internal tools. Thus, the Form Designer will be left alone but other tools (conceivably) will be renamed as appropriate (e.g., Popup Designer, Message Designer, Table Designer, etc.) This makes sense as it reflects Revelation Software’s existing efforts to consolidate naming conventions with its bonding technology (i.e., SQL Connector, MV Connector, and Cloud Connector.)
The new IDE is more than a glorified launching pad. It is now equipped with various panes and panels to provide functionality and feedback to the developer. Here is an example of the new IDE with the (now HTML based) AppNote Designer opened:
In this designer a Properties Panel appears on the right. This is similar to what the Banded Report Writer uses. This new UI device will be seen over and over again with designers that take advantage of his helpful component. Additionally there is a an Output Panel along the bottom of the IDE which serves as an ever present receiver of messages.
Another new component is the Tools Panel. This is demonstrated quite well in the new Form Designer:
More will be written about the new Form Designer and Presentation Server. What is helpful to repeat is that everything we see in the IDE will be available to the OpenInsight developer to incorporate in their own projects.
The new IDE is also multi-instance. This means developers can launch more than one IDE to place on different monitors if they so choose. In the current version of OI this is already possible because the tools are designed as separate components. However, one cannot easily open a stored procedure and a data row this way. These are usually opened in the same tool. The same is true for messages and popups. With OI 10, the developer can exercise greater flexibility since all designers are modular and the IDE can be launched multiple times.
Our final report on the new IDE is excellent news for companies like SRP who build tools for OpenInsight: the API for building our own designers will be made available to developers. Revelation Software didn’t go into great detail about this but Mike Ruane did make it clear that this is an intended capability. Thus, future SRP utilities will be able to live within the new IDE and take advantage of the pre-built panels and panes. Indeed, Revelation Software has provided something for everyone.