Most of us take for granted the rapid advance of “technology”. Computers get smaller and faster, cell phones turn into smart phones, smart phone capabilities steadily increase, televisions become larger, and more of life’s transactions move onto the internet. Not all of the changes are appreciated by all people, but they occur regardless of who welcomes them and who does not.
Rapidly Changing Display Technology
Few people appreciate the behind-the-scenes decisions and rapid changes to infrastructure that are needed to maintain this continual advancement. For example, consider the screen resolution of a computer monitor. Assume a manufacturer develops a new type of display screen with a significantly higher-than-ever screen resolution (think 4K screens). Before that hardware breakthrough can become an effective part of your workstation, a number of other supporting technologies have to be put in place. First, PC based graphical hardware capable of driving the new display must be developed. Software allowing access to that new hardware needs to be written, and the operating system running the computer with the new hardware needs to be modified to work with the new software driver. Finally, in order to take full advantage of the new display, development software needs to be written which will allow application designers the ability to access and control images on the new screen.
Given the almost continuous stream of new hardware and software being developed, the typical software developer is faced with difficult, ongoing choices as to which hardware and software platform(s) to embrace, and how to best deploy and maintain applications.
facilitates the collection of large quantities of data from an assortment of sources, allows a variety of analyses to be applied to that data, and then re-presents the interpreted data to decision makers throughout a manufacturing facility. In order to offer the best user experience, a great deal of thought has gone into the features and design of our presentation displays. The size and location of all of the elements on the screen are important. In addition to maintaining the appearance and functionality of these displays, there is the computational challenge that some, such as densely populated trend displays, require the recall and display of considerably more data than a typical desktop application. Meeting these design requirements amid a constantly changing development environment creates some significant challenges to our developers.
Legacy Display Rendering Techniques
There were versions of PARCview which predate Windows. At that time the application consisted of individual complied programs which exchanged data with a remote server. Typically, a given program had complete control over a single personal computer and its fixed resolution graphic display, and life was relatively simple. With the advent of Windows, programs obviously had to share video resources. Resource handling was managed primarily through the use of the WinForms class library. During the first few generations of Windows releases, PARCview was not only moved into that environment, but considerable development added to the number of WinForm based display screens that were created.
Making the Switch to XAML
As observed earlier, technology changes, and in order to keep our customers aligned with current best practices, dataPARC has had to change also. Over the past couple of years, in addition to adding yet more features, dataPARC has been has been migrated using Microsoft’s newest and preferred display technology. Presentation displays are now developed with a language called XAML (pronounced “Zammel”), which is an acronym for eXtended Avalon Markup Language. XAML operates within the Windows Presentation Foundation, or WPF, which is the graphical subsystem for rendering user interfaces in Windows.
We believe it is our job to move forward, take advantage of new technologies, and provide our customers with the tools that help them move forward and prosper. It is not easy to decide which technology path to choose, over the years many choices have been presented. Capstone used the following criteria when making the selection:
- Robust, easy to deploy and a great user experience. PARCview is considered a critical application by many customers for shop floor level decision making and the technology choices should match these goals
- Will be supported and maintained for a long time. Those who initially developed against Silverlight can appreciate
The XAML/WPF platform matched both criteria. First it is the method recommended by Microsoft for building LOB (line of business, i.e. critical) applications. And further, Microsoft has backed their recommendation with some significant action; using it to develop their own core product, Microsoft Office. Aligning dataPARC with Microsoft’s LOB recommendation made complete sense.
One of the new technologies benefitting right away from XAML and WPF are the high resolution, or “high DPI” screens arriving in offices, and control rooms . Forms built using old Windows technology do not usually display well on these screens. No one was thinking 10 years ago about 3840×2160 dpi screens, or zoom scaling via touch control. XAML and WPF uses vector based graphics to display full screen, smooth looking graphics, regardless of the size or resolution of a screen. A future article will examine the optimum DPI for PARCview displays.