1. Product Compatibility and Upgrading
NI always strives to use the latest off-the-shelf PC technology, standards, and products, and Windows XP is no exception. Most NI products work without problems under Windows XP.
In general, most software applications that work with Windows 2000 work with Windows XP. However, also consider porting measurement hardware to new Windows XP systems. Take these steps if no XP driver exists for your hardware:
1. Let your vendor know they need to create a driver.
2. Search for a Windows 2000 or a Windows NT 4.0 driver. These have a better chance of working than a Windows 9x/Me version.
Fast User Switching
One new feature of Windows XP to be aware of is Fast User Switching. With it, you can keep applications running in the background even after you log off and others log on. Before Windows XP was created, many software developers wrote their applications assuming that they could only be run by one user at a time. Fast User Switching invalidates these assumptions, and can cause problems for applications that do not account for it. Although the feature is not available to many users who use workgroups, it is advisable to turn off this feature if it could unintentionally be used and crash your system.
You might be concerned about older applications that you created or bought for DOS, Windows 95, etc. XP's developers eliminated the Windows 95 code base, which would make it incompatible with 16-bit applications. Fortunately, XP includes compatibility modes to run older applications that you can use if erratic behavior appears or if error messages warn you that a previous version of Windows is required. You can find information on how to run the Program Compatibility Mode on the Microsoft site.
If you have other questions about migrating your application, or to report problems with National Instruments products working under Windows XP, contact one of our applications engineers.
2. Improved Reliability for Measurement Applications
Most test applications are developed for the Windows platform, and subsequently any reliability improvements directly affect untold man-hours in development productivity and application down-time. Windows XP provides you a much more reliable platform than previous versions of Windows.
As mentioned, Windows XP is built on the code base of Windows 2000, but replaces both Windows 2000/NT and Windows 9x. These two lines previously existed as two separate products with its own source code and kernel, but the same user interface. The migration of users from a Windows 9x platform into XP provides immediate and significant stability gains. Windows 9x was more popular than NT in the measurement and automation industry largely because it was easier to use, had wider hardware support, and was slightly less expensive. With Windows XP, you keep these benefits while gaining the stability of Windows 2000/NT. The unified Windows OS also makes maintenance easier, because only one set of items, such as drivers or service packs, is required.
Windows XP also further addresses the problem known as "DLL Hell," occurring when different applications install different versions of the same dynamic linked library (DLL). Over time, a PC can become unstable as some applications may need a specific version of a DLL not present on the machine. Microsoft made efforts to cure this problem in Windows 2000 by restricting access to system DLLs, as well as enabling applications to maintain private copies of DLLs. However, vendors and application developers shouldered much of the implementation, and the scheme was still not perfect.
Windows XP accomplishes much better DLL version control by means of extending the concept of "side-by-side DLLs." Side-by-side DLLs permit multiple versions of the same DLL to exist side-by-side. The OS maintains the link between the application and the right DLL, so several DLLs can exist and multiple applications can share them. A software developer must explicitly create these side-by-side DLLs, although their creation is much simpler in the upcoming release of Visual Studio .NET. (Read more about Microsoft .NET in our past article.) Microsoft's certification programs for third-party software now require the use of side-by-side DLLs, which should also speed their adoption. Stability is not increased by leaps and bounds in a single stroke with these developments, but they help erode the problem of DLL Hell. It fights the stability problems caused by installing and reinstalling software over time on a test or development machine.
Know the Basics of Microsoft.NET
3. Networked Measurements and Working Remotely
We see two industry trends addressed by connectivity features of Windows XP:
1. Engineers need measurement systems that use networking.
2. Standardization or development of measurement and automation solutions by engineering teams is spread among different physical locations.
Increasingly, measurement systems must integrate with other enterprise resources, such as databases, other applications, and ERP systems, but it is sometimes difficult to administer and monitor these machines over the network. National Instruments has created many products that fit this vision for networked measurements, including remote device access for NI-DAQ, the LabVIEW Enterprise Connectivity Toolset, and GPIB-ENET.
Windows XP further extends your ability to create networked measurement solutions. For example, you might build a temperature monitoring system on a PC with LabVIEW and FieldPoint that profiles an environmental chamber, which logs to a database, and sends e-mail notification when conditions warrant attention. The chamber might be located in a lab in a different building or an otherwise inconvenient location. A new feature in Windows XP called Remote Desktop means you can remotely log onto the PC as if you were physically there at the machine. You get a full-screen, controllable view of the desktop while the LabVIEW application is still running. You can stop the application, reconfigure the hardware, reset the alarm, and then leave the program running as you disconnect. Other examples of Remote Desktop include connecting to your development desktop from a colleague's machine, in order to access not only data or files, but applications as well. You can start test sets after power failures or process completion.
Engineers can connect to a remote PC with Remote Desktop to monitor or restart an application, or for troubleshooting.
Microsoft limits the functionality of Remote Desktop for security and practical reasons. Remote Desktop assumes that you have been set up with a valid login ID and password for the remote machine, just as if you tried to log onto the machine normally. Also, unless another feature called Fast User Switching is not employed, then connecting via Remote Desktop logs the current user off of the remote machine. In our example, that means that if you leave the temperature application running, you are the only one who can successfully access the machine later with Remote Desktop. You must decide the best way to accommodate these limitations in the context of how you can use Remote Desktop.
Engineers increasingly must work together on teams spread across facilities, time zones, and continents. Software developed at one location might be standardized at others, requiring fine-tuning and reconfiguration. Microsoft originally designed Windows XP's Remote Assistance feature for technical support and help desks. However, we envision engineers using this feature to solve the problem of working with teams in remote locations. With Remote Assistance, you can share a view of your desktop with your remote peers. Remote Assistance also incorporates a chat program. You can optionally yield control to your colleague. Starting Remote Assistance is quite simple, requiring a few mouse-clicks through integration with Microsoft's built-in instant messaging program. You can also initiate a similar feature, Application Sharing, from the chat program. It permits the remote viewing and controlling of a single application or window only, instead of the full desktop.
Use Remote Assistance for interactive collaboration between engineers for solving technical challenges in the field or
other remote locations.
If you encounter difficulty configuring a test set, or compiling some code, you could turn to your internal expert for help with these features, no matter where you are. This is particularly useful when inheriting code from other departments or teams, or for field engineers implementing a system at a client site. You would use Remote Assistance when both the client and the expert can work together at the same time. Application Sharing is more useful when a colleague might want to monitor a program running on your machine, but you do not want to yield control of your desktop and unrelated tasks, such as your mail program. You can also use Application Sharing as an alternative to Remote Desktop, so your associate can use the application in question without you logging off.
Microsoft concentrated on making the user interface of Windows XP more intuitive, especially for traditional non-users of PCs. Most engineers will appreciate smaller changes, such as grouping of windows in the task bar according to their parent application. For example, after opening multiple LabVIEW windows, you see their shortcuts on the task bar collapsed into a single entry.
Native hardware support for a wide variety of devices and buses proves the real gain in ease-of-use for engineers. In years past, Windows NT was a more powerful, stable OS than Windows 95, but often lacked Plug and Play support for hardware necessary for engineers. For example, using PCMCIA data acquisition boards on an NT laptop was a difficult chore, because no native board services package was available for this format. Windows 2000 significantly improved NT's hardware support, and Windows XP further extends support for all kinds of devices. Installing equipment on your PC is easier, even though many of the newly supported devices, such as scanners, cameras, and CD burners, are a side benefit for you.
5. Microsoft Product Activation
Microsoft is trying to eliminate causal piracy of Windows XP through a new component called Microsoft Product Activation (MPA). Software protected by MPA must be unlocked with an activation code, obtained either automatically over the Web or by phone, based on a hardware profile of your PC and serial number. The activation code only works on the machine specified, thus preventing the simple copying of the software to other machines.
Activation presents a potential problem if you change hardware components of your PC. If you upgrade or change enough components, the activation code may become invalid because Windows thinks the code is for a different machine. Many users worry they will be forced to reactivate each time they change something on their computer, such as their memory or video card. Microsoft declares that such small changes to a PC do not require reactivation. If users are drastically affected, Microsoft would have to reduce activation efforts, but it is not likely. For a full specification of how Microsoft Product Activation uses hardware information, see visit Microsoft's Web site.
Organizations with volume licensing agreements or site licenses with Microsoft do not have to activate, nor do users who buy a PC pre-activated from the factory. Installing and removing National Instruments hardware does not affect activation at all. Reinstalling Windows onto a machine necessitates reactivation only if you reformat the hard drive. While some of you may be very familiar with anti-piracy efforts by engineering tool providers, WPA represents the largest such push in the history of consumer software.
Microsoft Product Activation
Windows XP will become ubiquitous, either through customers specifically upgrading their systems to it or through its inclusion on new PCs. Before deciding on XP either in a new PC or through an upgrade, you need to consider the benefits, such as better stability, connectivity, and ease-of-use, as well as potential problems in such as application compatibility and Microsoft Product Activation. If you have any questions, comments, or ideas about Windows XP and the creation of measurement and automation applications, you can contact us directly, search the KnowledgeBase, or post a question in our online community.