A few months ago, we ran a poll that asked which server OS you use to support terminal services. The results surprised me. When Windows 2000 came out in February 2000, Giga estimated that 90 percent of Windows terminal servers used Citrix MetaFrame, and even Microsoft estimated that 70 percent supplemented Windows NT Server 4.0, Terminal Server Edition (TSE) with MetaFrame. But as of May 2001, our reader poll indicated that most of you (34 percent) used Win2K Terminal Services without MetaFrame. MetaFrame is still in wide use on Win2K (24 percent of readers) and TSE (25 percent of readers), but when you count TSE use without MetaFrame, almost 50 percent of respondents don't use MetaFrame at all. I don't think these results negate the Giga and Microsoft estimates; the poll's informal and self-selecting nature makes that unlikely. And MetaFrame can still provide many capabilities that Microsoft's RDP can't. However, as RDP becomes more capable, it seems likely that many users who don't need MetaFrame's advanced capabilities will stick with RDP instead of adding Citrix's ICA.
Sound unlikely? I thought so, too, but I've had second thoughts since I started working with the latest Windows XP beta. RDP 5.1 (which comes with Windows XP Professional Edition and Windows .NET Server) includes several capabilities that make RDP more useful. Like MetaFrame 1.8 Feature Release 1 and later, RDP 5.1 supports sessions with up to 16 million colors. Need access to local drives from a terminal session? RDP 5.1 supports automatic drive mapping. Want sound in a terminal session? RDP 5.1 has it. I haven't stress-tested RDP 5.1 yet, but the session performance seems a little snappier with the new client—around Terminal Services Advanced Client (TSAC) levels. XP Pro even has an RDP server called Remote Desktop that lets you remotely connect to an XP Pro workstation from another computer. (This RDP server is designed only for remote control. Connecting to XP's RDP server shuts down the console—ostensibly for security purposes—so that people can't watch remote sessions from the console. However, because RDP sessions aren't usually visible on the console, I think the real purpose of shutting down the console during remote sessions is to prevent people from getting double duty out of a workstation.)
You don't get the full capabilities of an RDP 5.1 session unless you use that version of the protocol on both client and server, and at this point the only way to get RDP 5.1 on both ends is to run XP Pro to connect to a Windows .NET Server terminal server. (Bearing in mind that this is a beta product and subject to change, the client files on Windows .NET Server install RDP 5, not RDP 5.1, so right now I can't upgrade my Win2K computers to RDP 5.1.) If Microsoft makes RDP 5.1 use dependent on an all-XP environment, RDP 5.1's chances of crowding out ICA are much slimmer. But not everyone needs all the bells and whistles available with MetaFrame XP—or even MetaFrame 1.8. And if RDP 5.1 is available for all client types, Citrix could end up losing customers to Microsoft terminal services.
In its first public version, RDP was truly a REMOTE desktop protocol. The remote desktop displayed terminal server applications and a local desktop displayed locally running applications, and the two did not communicate. In each new version, however, RDP has allowed more communication between local and remote sessions. MetaFrame has been raising the bar, too, to give people a reason to continue using ICA, but as Windows Terminal Services evolves and MetaFrame features advanced capabilities that Windows Terminal Services doesn't have, MetaFrame is increasingly becoming a tool for the high-end customer. Licensing MetaFrame in addition to the terminal services client access licenses (TSCALs) you need to connect to Windows terminal servers gets expensive, so it seems likely that MetaFrame will stop being an "of course" part of Windows terminal services and will remain a staple only in high-end environments who really need its more advanced features.
What do you think? Which features do you require in a display protocol? Can you support your terminal users with RDP, or do you need MetaFrame to supplement them?