|Archived content. No warranty is made as to technical accuracy. Content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.|
Windows 95 is the first desktop operating system designed from the beginning with mobile computing in mind. Portable PC's comprise a significant proportion – nearly 25% – of all new computers sold in 1995; therefore, it makes sense to build strong mobile computing support into a mainstream operating system.
Mobile computing support cannot be implemented as an afterthought or as a set of utilities. Great support for portable PC users means optimizing the core networking, device support, and communications architectures for the mobile environment – as has been done in Windows 95. The ultimate goal of mobile computing support in Windows 95 is to help portable PC users be more productive, and to reduce the support costs associated with mobile computing.
On This Page
Three User Challenges
According to customers, mobile computing presents three challenges: getting the most out of portable PC hardware; staying in touch with (or "connected to") needed information resources; and keeping data organized while away from the office. Microsoft is committed to delivering system services and end-user functionality that both addresses these challenges and dramatically enriches the mobile computing experience.
Get the Most out of Portable PC Hardware. Customers expect portable PC hardware to work well, and not require time-consuming setup hassles or elaborate re-configuration for different work environments. Rapid advances in portable PC hardware technology and innovations by OEMs have minimized the functionality and performance differences between desktop and portable PCs, so many customers are turning to portable-form-factor PCs as desktop replacements.
Despite the recent functionality improvements on the portable PC platform, customers resist "forced obsolescence." Given the cost of portable PCs, they hope to preserve their investment and extend the lifetime of older but still useful machines.
Stay In Touch. At their desks, users have access to a wide array of communications capabilities which keep them connected to other people, both inside and outside their organizations. They have access to the LAN and all its services, such as e-mail, file sharing, and print sharing. A phone, a fax machine, and a modem are close at hand. Away from their desks, users become communications islands. They are cut off from their network and all its services. Phones, faxes, and modems are not readily available. Mobility entails a constant struggle to stay in touch with needed information. The ideal for most mobile users is to be as productive while mobile as they would be at a desk. To achieve this ideal, users must have easy access to powerful communications tools, regardless of location. Channels of communication must exist between their portable and desktop PCs, between themselves and the rest of their workgroup, and between themselves and the broader community of computer and fax users.
Keep Organized. Mobile users can spend inordinate amounts of time making sure that files stay "in synch" between a portable PC and a desktop PC or file server, without losing data. Likewise, few good methods currently exist for managing print jobs created out of the office, or easily transferring data between a desktop and portable PC. In short, the nature of the mobile work environment introduces significant, time-consuming organizational challenges – many of which can be addressed through software.
In designing features to meet the hardware support, communications, and organizational need of mobile users, Microsoft research uncovered the following key observations about the way mobile computers are used. These observations provided key insights into the problem of designing a great operating system to run on portable PCs.
Mobile computing encompasses anyone who moves computing capabilities away from a traditional desktop PC. The Windows 95 vision for mobile computing includes everyone who uses an Intel-based portable PC (including "luggables," notebook and subnotebook computers, but not PDAs), from people who move from meeting to meeting in an office building, to those who telecommute between their homes and offices, to business travelers, to "road warriors" who have no office at all and move from customer site to customer site.
The tasks people want to perform away from their desks are fundamentally similar to those that they perform on their desktop. While they're in the office, users want to draft a memo, review a budget spreadsheet, query a database, browse e-mail, peruse a presentation on the network, send a fax, or look at their schedule for the day. Away from their offices and their desktop PCs, users want to continue performing these same tasks.
The "mobile" computer environment is fundamentally different from the desktop environment. When users move away from their office, their computing environment changes dramatically. Their hardware environment is dynamic, as they plug in and unplug different components to deal with the task at hand. Portable PC users may be operating in a power-constrained environment with video displays often half the size of their desktop displays. They can't easily access a file on a server or receive e-mail. As a result, the mobile computing environment can be constrictive to users.
These observations are confirmed by extensive research, including quantitative surveys of portable PC users, discussions with corporate implementors of mobile computing technology, and periodic focus groups with mobile users themselves. The remainder of this chapter provides a detailed explanation of Windows 95 support for mobile users.
Get the Most Out of Portable PC Hardware
Windows 95 enables "mobile aware" applications
Windows 95 is designed to enable computer users to get the most out their portable PC hardware. Windows 95 includes native, designed-in support for innovations such as PC Cards (PCMCIA), docking stations and port replicators, and Advanced Power Management. A key component of Windows 95's support for portable PC hardware are architecture enhancements which enable applications and system programs to be "mobile aware." Under Windows 95, system software and application programs can take and active role in conserving battery power and managing configuration changes, dramatically enhancing the user experience. For the first time, portable computer users can take advantage of all the features of their machines in a robust, stable, easy-to-support environment.
PC Card (pcmcia) Support
PC Cards have been one of the most exciting innovations in the portable computer market. Despite their technical merit, however, PC Card software has this far failed to deliver on the promise of easy-to-configure, easy-to-use "hot swappable" peripherals. Users were never sure whether a particular card was compatible with their portable PC, they had to struggle through installation and configuration of card drivers and socket services, and card insertion and removal were anything but dynamic.
Through the Plug and Play architecture, Windows 95 delivers power, compatibility, ease of installation, and dynamic card insertion and removal to PC Card users. PC Card drivers in Windows 95 are robust, 32-bit, dynamically loadable virtual device drivers with zero conventional memory footprint. Windows 95 ships with an integrated, updated version of card and socket services. Built-in support for the top eleven PC Card chipsets, and Microsoft's compatibility testing/logo program ensures compatibility with PC Card and Windows 95 hardware standards.
With Plug and Play, tnstallation of a PC Card device is as simple as inserting the card! For example, when a user plugs in a PC Card network adapter, the portable computer detects the network card, loads the network drivers, and establishes a network connection. The shell then updates its user interface to reflect that the network is now active. When the card is ejected, Windows 95 closes down the network connection and unloads the network drivers.
Prior to Windows 95, users would have needed to shut down their systems and reboot in order to begin using the device. Windows 95 PC Card support extends to hundreds of devices from leading manufacturers, including modems, network adapters, storage devices, audio adapters, SCSI interfaces, and more.
Windows 95 provides state-of-the-art PC Card support through the 32-bit Plug and Play driver architecture. Windows 95's native PC Card support is compatible with the majority of popular PC Card devices on the market today. However, Windows 95 requires a 32-bit, protected-mode driver for any card it supports via the Plug and Play architecture. Windows 95 can utilize existing real-mode PC Card driver solutions, but at the expense of performance, dynamic driver loading, and system "awareness" of card insertion and removal. Real-mode PC Card drivers and protected-mode PC Card support cannot coexist on the same system.
When upgrading a Windows 3.1 system, Windows 95 preserves any existing PC Card support software as a safety measure (the Windows 95 setup program does not want to risk disabling access to a device). Windows 95 provides a "PC Card Wizard" to manage the transition from real-mode Card and Socket services to the Windows 95 protected mode support.
Portable PC users unanimously name "limited battery life" as the bane of their existence. While true innovation in battery life depends in large part on physics and hardware engineering, Windows 95 supports Advanced Power Management (APM) 1.1, which represents a major step forward from existing software-based power management technologies.
From an end-user perspective, APM 1.1 support delivers three major benefits:
Plug and Play APM messages allow application software to react to changes in the power state and battery life. For example, applications can now prompt the user to save their work and avoid data loss when battery power runs low, and programs that do background disk accesses can disable these features when running on battery power.
The Windows 95 shell includes a battery meter that provides users with an accurate representation of the battery life they have remaining.
Users can put their systems in Suspend mode directly from the Start menu, as opposed to going to a hardware control. Users also have the option to automatically power their PCs off when they shut down Windows, instead of having to shut down Windows and then use the hardware power switch to shut off the PC. Software-managed power control enables Windows to properly deactivate and reset peripheral devices to prevent data loss and conserve power.
From a software-developer perspective, Windows 95 dramatically simplifies the process of making an application "power aware." New APIs for power management enable virtually any developer (including corporate developers coding in Visual Basic or VBA) to make their applications sensitive to the power status of the machine. For example, a corporate data-collection application running on a portable PC could automatically save data and exit when the computer's power reaches critical levels, thereby preventing inadvertent loss of data. Commercial applications like word processors can do "smart" things like turning off background auto-save (which requires a power-intensive disk access) when running on a battery-powered machine.
Windows 95 depends on a quality implementation of the Advanced Power Management (APM) BIOS in order to provide power management support. Windows 95 is compatible with portable PCs that adhere to the APM 1.0 and 1.1 BIOS standards. If the BIOS in a particular machine is incompatible with the APM specifications, or is poorly implemented, Windows 95 may provide a limited level of power awareness, or may need to disable power management support altogether. Most new portable PCs have high-quality APM BIOS implementations, and Windows 95 Setup can detect many of the older machines that require special treatment.
Hot-Docking and Port Replicator Support
Docking stations and port replicators provide users with the mobility of the portable PC and the storage, extensibility, and versatile display capabilities of a desktop PC. Many corporations are turning to portable PC/dock combinations as replacements for desktop PCs. However, users with docking hardware have spent a lot of time reconfiguring and rebooting their machines whenever they change configuration. Building the necessary configuration files to support docks and port replicators for each different configuration is a time-consuming support headache.
Microsoft has forged partnerships with leading portable vendors like Toshiba and Compaq, and BIOS vendors like Phoenix Technologies to achieve an unprecedented level of integration between hardware and software. On the hardware side, PC vendors have enabled docking and undocking operations without powering off the computer. On the software side, Windows 95 detects the impending changes in configuration and anticipates the resulting changes in hardware, manages any conflicts (such as open files on an external hard drive or network), and loads and unloads the hardware drivers appropriate to each configuration.
Instead of rebooting and fooling with configuration files, users can now simply click the Start button and choose "Eject PC" (or, depending on their hardware, "Suspend") from the Start menu. Windows 95 checks for any potential problems and then prepares the computer for undocking, without users having to shut down Windows. After undocking, Windows 95 automatically reconfigures itself for the different hardware—for example, changing the video resolution to match the resolution of the built-in display—and continues running.
Windows 95 is dependent on a machine's underlying BIOS to support hot docking or hot port-replicator operations. In particular, the BIOS must very reliably and consistently inform Windows 95 when the machine is about to change state, must enable Windows 95 to control any motorized docking hardware, and must perform any tasks associated with changing configuration (such as entering or exiting suspend mode or resetting on-board devices) rapidly and reliably. Hot-configuration-change support is state-of-the-art functionality for portable PCs, and many manufacturers are implementing this technology for the first time. The performance of Windows 95's configuration support on these new machines is directly dependent on the quality of the BIOS the various OEMs create.
Configuration-Change Message Support
The Windows Plug and Play initiative provides a new set of Windows messages that work in concert with Windows 95's configuration-change support to enable applications and device drivers to react intelligently to changes in the hardware. These messages include the following:
Configuration Change and Docking
About to change configuration (for example, when the user is about to undock)
Configuration changed (for example, when the user just undocked)
Device about to be removed
Device about to be added
System about to suspend
Change in power status
PC Card Support
These messages enable applications and system services to better support portable PC users. Windows 95 itself takes full advantage of these messages. For example, here are some of the ways that applications shipped with Windows 95 use the Configuration changed message:
The Briefcase uses it to try to start updating.
The print spooler uses it to print all deferred print jobs.
Mail uses it to try to reestablish a network connection.
New, "Designed for Windows 95" applications can take advantage of these messages as well. With older applications, no special behavior is possible; the necessary Windows messages, APIs, and other programming support are new in Windows 95.
Integration with the Registry
The Registry provides centralized, dynamic data storage for all Windows settings. The Registry defines a "current-configuration" branch to enable ISVs to better serve the needs of mobile users. This branch stores information on a per-configuration basis. For example, the Control Panel's Desktop tool stores per-configuration information about video resolution changes and Print Manager stores per-configuration information about the default printer. Applications can access and store information for each of the different hardware configurations used by mobile users. This Registry support enables applications to gracefully adapt to the different hardware environments a portable PC might encounter..
Configurations are created when Windows 95 queries the BIOS for a hardware serial ID (which changes when the machine is docked or attached to a port replicator), asks the user for a name for the configuration, and then stores information about hardware and software associated with this configuration. Multiple configurations can also be created manually via the Hardware Profile manager. This functionality enables users to create different configuration settings for the same hardware setup, and choose between them at boot time (much like the existing MS-DOS 6 user interface).
Microsoft is presently at work on infrared support for Windows 95. This support, expected within 60 days of the commercial release of Windows 95, will enable computers and peripherals to communicate via infrared light. Infrared communications represents a major advance in portable PC technology, since it supports the "ad-hoc" nature of many mobile computing activities. For example, the user of an infrared (IR) equipped portable PC can simply walk up to an IR printer, and print. Or, two portable PC users could quickly exchange a file or other data without physically connecting their computers.
A key requirement for the success of infrared is compatibility. Windows 95's IR support complies with IrDA (Infrared Data Association) standards, so Windows 95 PCs will be able to communicate with any other IrDA-compliant device. The infrared driver architecture also includes provisions for emulating traditional parallel and serial ports, which provides backwards compatibility with existing software.
Infrared is set to become the next major advance in portable PC peripherals and communications, since it is easy and inexpensive (with a component cost of less than $5 per system) to implement. Digital Equipment Corporation, IBM, Gateway 2000, Texas Instruments, and other computer manufacturers are already shipping infrared-equipped portable PCs. Microsoft expects that all new portable PC designs will include IrDA-compliant (and thus Windows 95-compatible) infrared hardware.
DriveSpace Disk Compression
Many older portable computers have small disk drives. While these machines may still be perfectly functional for word processing, checking e-mail, or other non-compute-intensive tasks, the lack of disk space is a major constraint. Disk compression is a great example of how Windows 95 helps users get the most out of any portable PC. Feedback from Windows Preview Program users running DriveSpace on older (386-based) portable PCs indicates that DriveSpace increases disk capacity to usable levels, and provides ancillary performance benefits as well.
In a major enhancement over MS-DOS 6.22 functionality, all disk compression in Windows 95 is handled by 32-bit protected mode code integrated into the file system. In addition to the inherent performance advantages, such tight integration with the underlying device driver code means that all compression operations are transparent to the user
Windows 95 incorporates DriveSpace Disk Compression, the same compression technology used in MS-DOS 6.22. Windows 95 disk compression is backwards-compatible with compressed volumes created by DoubleSpace (DOS 6.0) and Stacker compression software.
Like other PC users, portable PC users often exchange documents with customers or other people in a different work environment. Because of limited disk space or lack of network access, however, mobile users often don't have the applications needed to view the files they receive.
An extensible, replaceable File Viewer technology has been seamlessly integrated into the Windows 95 shell. Users simply select a file and choose Quick View. Windows 95 directly supports more than 30 of the most common application file types, and publishes interfaces to allow applications to add support for additional formats (and even to add their own viewer). Systems Compatibility Corporation (SCC), for example, is planning to offer an enhanced viewer program, as well as a library of viewer drivers for additional application software.
Keep In Touch
Windows 95 provides powerful, easy-to-use, end-user communications capabilities and an open, extensible set of services for applications, all of which enables mobile computer users to stay in touch with essential information resources. Dial-Up Networking support has been integrated into the Windows 95 network architecture and user interface; finally, accessing a network via a modem is as easy and reliable as using a hardwired network adapter. Similarly, the Exchange email client and Microsoft Fax system are optimized to enable portable computer users to easily send and receive email and faxes while mobile. The goal of the mobile communications support in Windows 95 is to offer as great a level of access to information while mobile as is provided on the desktop, with no addition training or support requirements for the user.
In the office, well over 50 percent of PC users have become accustomed to full workgroup computing capabilities—printing to a network printer, sending and receiving e-mail, and accessing shared files. However, when users leave the office, they cannot take all the shared resources from their workgroup environment with them.
The dial-up networking features in Windows 95 give users complete workgroup computing capabilities while mobile. Dial-up networking is smoothly integrated into the Windows 95 network architecture and shell. Whether users are running a client-server application, accessing a customer database, downloading and/or browsing e-mail, or accessing shared files, network access while mobile looks and works exactly like network access in the office (except for speed, of course).
Windows 95 treats the dial-up networking software and modem combination as just another instance of a network adapter, as depicted below. Windows 95 supports the notion of multiple, concurrently-operating network adapters, clients, and protocols. If a network request cannot be satisfied by one protocol, client, or adapter, Windows 95 tries each component in turn. If no physical network adapter can resolve a network request (as is the case when a user is mobile), Windows 95 drops down to the Dial Up Networking adapter, and attempts to resolve the network request by creating a Dial Up Networking connection. Windows 95 creates a Dial Up Networking connection whenever the user implies that one is needed (by referencing a resource not available via any local network). Such automatic connections are therefore referred to as implicit connections.
Establishing a remote connection works the same as establishing a connection in the office, courtesy of Windows 95's support for "implicit connections." Users simply double-click the desired network object, and Windows 95 takes whatever steps are necessary to establish a connection to that object. Similarly, if users double-click Mail, or another client-server application, a remote connection is automatically established.
The Dial-Up Networking client software component, like the rest of networking in Windows 95, provides an open architecture and connects to a broad set of networks, including Windows NT, NetWare, and the Internet. Support is built in for TCP/IP, IPX, and NetBEUI network protocols. Additional network protocols can easily be added by third parties. Using industry standard Point-to-Point Protocol (PPP), and of these underlying protocols can be routed over a Dial Up Networking connection.
The Remote Access API, a component of the Win32 API, provides ISVs with services to initiate and resume a remote connection, as well as to gather information about the type and status of the connection. These APIs enable applications to adjust their behavior depending on the transmission speed and other characteristics of the network connection.
The Windows 95 remote access architecture, in its default configuration, supports TCP/IP, IPX, and NetBEUI over PPP.
In addition to PPP, Windows 95 can also communicate with NetWare Connect servers using the NRN protocol, and Windows NT 3.1 and Windows for Workgroups servers using the RAS protocol. Additional over-the-wire protocols can be added by third parties. For example, Microsoft provides an implementation of the SLIP (Serial Line Internet Protocol) as part of the Windows 95 Resource Kit.
Because remote access is part of the dynamic 32-bit protected-mode network architecture of Windows 95, users don't have to reconfigure or reboot their computers to continue working after establishing or ending a connection.
A Windows 95 desktop PC equipped with the Dial-Up Server component from Microsoft Plus!, can be used as a convenient access point to a small LAN or simply to the desktop PC itself. When used as a host computer—that is, the computer the user dials into—a Windows 95 PC provides an easy-to-use, single-port host, capable of multiprotocol routing for IPX and NetBIOS with pass-through user-level security. (Windows NT Server 3.5 supplements the remote network access functionality in Windows 95 to provide a large network solution that allows for as many as 256 simultaneous dial-in sessions.)
Windows 95 provides flexible remote connectivity options.
The Windows 95 security scheme employs the Windows NT or NetWare authentication mechanism and user database to validate the user. Share-level security is also available. Using the desktop management capabilities in Windows 95, an administrator can disable dial-up access so users cannot dial into a particular desktop PC or cannot remotely access the entire network. If the user dials into a host system, such as Windows NT, Shiva Netmodem/ LanRover, or NetWare Connect, Windows 95 offers full connectivity, depending on the permissions and security schemes in place on the server.
The Remote Access Subsystem
The Remote Access subsystem is a key component of the Windows 95 architecture. This subsystem is network-independent and device-independent to enable universal connectivity. For example, Windows 95 supports ISDN boards, PBX modems, and so on. This capability is accomplished through service providers—software components that manage physical connections and network traffic over the remote media.
The Remote Access subsystem includes a modular authentication provider that can be supplemented or replaced to provide custom security services. For example, if a company wants to provide its own custom services, that company can replace the authentication DLL in Windows 95 with its own to take advantage of company-specific security features.
Dynamic Network Architecture
Historically, network users with portable computers have dealt with CONFIG.SYS files and a regular stream of error messages as they connected and disconnected from the network.
To adapt to changes in link speed and configuration, the network architecture in Windows 95 is completely dynamic, regardless of whether users are using the NetWare–compatible components or the Microsoft networking components. All the underlying drivers, transports, and redirectors are robust, 32-bit, dynamically loadable, protected-mode virtual devices that support Plug and Play. This architecture enables Windows 95 to load and unload components of the network stack in response to hardware events. For example, when the user docks a portable PC or inserts a PC Card network adapter, the appropriate network components are loaded and connections are established without user interaction. Even assigning a TCP/IP address is now dynamic, using the Dynamic Host Configuration Protocol (DHCP) servers to allocate addresses on demand.
As with other components of Windows 95, the dynamic nature of the network architecture is dependent on availability of 32-bit, protected-mode drivers, and the general robustness of other network components. Windows 95's default network components (Windows NT Server and NetWare clients, TCP/IP, IPX, and NetBEUI protocols) are all implemented as 32-bit, protected-mode code. Any of these components can be loaded or unloaded on the fly. If a particular network architecture is dependent on real-mode, non-dynamically-loadable drivers, the dynamic nature of the network architecture will obviously be compromised.
Telephony API (tapi)
To communicate in a mobile environment, users and applications must dial phones or modems. Windows 95 introduces the Telephony API (TAPI), which dramatically simplifies the way that both users and application programs deal with telephone devices.
TAPI provides the Dial Helper to guide users through the process of defining a correct phone number, given their location and telephone system. The Dial Helper gives users the opportunity to define phone numbers in a location-independent fashion. Users enter an area code and phone number, and the Dial Helper applies location-specific parameters to the number, such as a prefix to get an outside line. When users dial this same number from a different location, they simply switch their location, and Dial Helper automatically adjusts the prefixes, area codes, and other parameters.
TAPI, through Dial Helper, provides telephone-line management services to Dial Up Networking
TAPI provides services that allow applications to share a line so that more than one application can wait for an incoming call while another dials out. TAPI itself is extensible, so third-party developers can write TAPI service providers to extend dial support to new devices. One such TAPI service provider is UniModem, which is discussed in detail in the following section.
Windows 95 provides an easy, central, extensible mechanism for installing and configuring modems. (This mechanism is similar to the Window 95 infrastructure for printers.) Windows 95 automatically detects the modem and provides a default configuration for it. After the modem is installed, it is available to all applications, which no longer need to store modem commands or data about the capabilities of different modems. Windows 95 ships with support for over 600 modems worldwide. Adding new modems is as simple as supplying the appropriate installation data (.INF) file.
As part of the "Designed for Windows 95" logo certification process, an independent testing laboratory will examine the .INF files for each new modem and certify them as compatible with Windows 95.
Historically, when users left the office, they left behind robust e-mail capabilities. Windows 95 delivers the next generation of remote mail so that users can simply connect a phone line to their modem, and start using mail. The remote connection is established automatically using Remote Access services.
Windows 95 has optimized Mail to gracefully handle remote network connections and slow network links. Performance over the wire has been enhanced, and, using Remote Mail functionality, users can browse message headers and download only those specific messages that they want to read. This mobile-aware approach to electronic mail dramatically improves the productivity of mobile users.
The user interface for Remote Mail, here showing a list of pending mail headers.
The Messaging API
More than any other class of users, mobile users need access to multiple messaging providers and the ability to seamlessly move between these providers. While desktop users receive most of their electronic mail through a corporate or network-based electronic mail system, mobile users frequently connect to several different messaging providers—for example, both CompuServe and their corporate network.
The Windows 95 Messaging API (MAPI) makes the communications abilities of mobile users significantly more powerful. MAPI is an open, extensible messaging infrastructure standard that ensures complete independence of Windows applications and client software from underlying messaging systems, while enabling vendors to supply a wide array of providers. To the end-user, each messaging provider looks more or less the same. MAPI provides the support to dynamically switch between providers and associate multiple providers and preferences with a "profile."
Inbox integration and remote mail functionality depends on the availability of MAPI Service Providers. Without the appropriate MAPI driver, the Inbox does not know how to access a particular mail provider. The depth and robustness of the functionality provided by the Inbox is in large part dependent on the quality of the MAPI drivers. Some drivers may provide excellent performance and a wide variety of options (including Remote Mail), while the performance and feature set provided by other drivers may be more limited.
Microsoft is shipping full-function MAPI drivers with Windows 95 for Microsoft Mail, The Microsoft Network, and Microsoft FAX. A full-function MAPI driver for CompuServe Mail is included on the CD version of Windows 95, and an Internet (SMTP) mail driver is included with Microsoft Plus!. Other messaging vendors are also at work on MAPI providers for their respective services.
Fax is one of the most common tools mobile users employ to send messages and documents. Rich fax services are seamlessly integrated into the Inbox e-mail client provided with Windows 95. Users of Windows 95 can send or receive fax messages the same way they send or receive any other electronic message. New fax documents are received by fax modem directly into the Inbox, where they are viewable on-line using standard, built-in tools. The tight integration between facsimile messaging and electronic messages significantly enhances the user experience relative to existing fax solutions.
If users want to send faxes when they are not connected to a phone line or network, they can spool them to their outbox. When a fax modem becomes available, the queued messages are automatically transmitted.
Microsoft Fax uses the open, extensible architecture of MAPI, plugging in as a transport provider and then leveraging the user interface provided by the Windows 95 client. Users are more productive since they do not need to learn how to operate a separate fax software package.
The mobile computing environment presents significant data-management challenges for end users. Since many portable PCs typically exist in at least two states – on the network and off – portable users need to contend with the possibility that they and their data will be separated. Most portable computer users deal with this possibility by making copies of important documents on their portable PCs. This practice introduces the problem of file synchronization. What happens to the portable PC user if the original copy of the document changes? What if the portable PC user edits his copy of the document? Windows 95 attempts to address these issues through the metaphor of a Briefcase.
Windows 95 also addresses the problem of getting a portable PC connected to a desktop PC or network for the purposes of transferring files. Direct Cable Connect enables a standard parallel cable, serial cable, or infrared link to serve as a simple PC-to-PC or network pass-through connection.
Deferred printing support handles the problem of creating print jobs while on the road. Instead of forcing users to contend with error messages when printers are unavailable, or to manually record which documents to print, Windows 95 is "smart" about managing the printing process in different environments.
The Windows 95 Briefcase minimizes the headaches of keeping the information on a portable PC up to date by keeping track of the relationships between different versions of a file on different computers. Portable PC users who also have desktop PCs (or who connect to a network) need to keep the most up-to-date files on the computer they are currently using. Users most often stay up to date by comparing the dates stamped on files and manually copying files from one machine to another—a tedious, unintuitive, and error-prone process. The user interface for this feature employs a simple metaphor that users are already comfortable with: a physical briefcase.
After installing the Briefcase software on a portable PCs (Briefcase is automatically set up during a "Portable" installation), users can specify which files and directories they want to keep up to date by dragging and dropping those objects into the Briefcase. When users reconnect their portable PCs to a network or their desktop PCs, the Briefcase updates unmodified files on the host with the recently modified files from the portable computer, and vice-versa.
Notice the additional information maintained by the briefcase, such as the location of the original file and the synchronization status for each document.
Windows 95 introduces a set of OLE 2.0 interfaces that allow applications to define "reconciliation handlers." When both the file in the Briefcase and the corresponding original document have changed, Windows 95 calls the appropriate reconciliation handler to merge the two files. For example, the next version of Microsoft Access will utilize these interfaces to provide database replication via the Briefcase.
By default, the Briefcase provides file-level synchronization. It does not attempt to understand different applications' file formats, or to make changes to the contents of the files it is managing. This was a deliberate design decision; given the pace of application upgrades and the plethora of file formats in use, it would be impossible for the Briefcase to stay current. Supporting sub-file-level reconciliation would also put Microsoft in the business of interpreting or reverse-engineering the file formats of many other vendors' applications – not the best use of development resources.
If the Briefcase determines that either the Briefcase copy or the original copy of a file has been changed, it will suggest a copy operation to put the newest version of the file in both places (original location and in the Briefcase). The Briefcase, by itself, cannot handle the situation where both the Briefcase copy and the original copy of a file have changed, since resolving this situation would involve sub-file-level reconciliation. In situations like this, the Briefcase has two options. First, it checks the Registry to see if a reconciliation handler for the file in question is available. In the case of a Microsoft Access .MBD file, for example, the answer is "yes", and Briefcase passes control to a module supplied by Microsoft Access which synchronizes the two .MDB files. If, on the other hand, no reconciliation handler is available, the Briefcase does not change either copy of the file, but rather flags the situation for the user (who can decide to keep both files, select one over the other, or do nothing).
Direct Cable Connect
Roughly 70 percent of portable PC users also use a desktop PC. As a result, they constantly need to transfer files and other data between the two machines. A simple way to effect these transfers is via a direct parallel, serial, or infrared connection.
With Direct Cable Connect, Windows 95 makes connecting two PC's significantly easier than it was before. The process of establishing a PC-to-PC connection is integrated into the shell, and provides full participation for the client on a variety of networks. The services provided by a direct cable connection are much the same as those provided via a dial-up connection, only faster! The Direct Cable Connect application provides a connection to the host PC, much as Dial Up Networking provides a connection to the dial-in server. The client can use shared files and directories on the host PC, or, if properly configured, the host PC can be used as a pass-through server to provide full network access for the client PC. Direct Cable Connect provides a simple, cost-effective solution when a portable PC needs infrequent or low-intensity network access.
The new support for Direct Cable Connect in Windows 95 has presented market opportunities for peripheral manufacturers. Using the ECP (Enhanced Capabilities Port) parallel ports found on newer computers along with a special "active" cable can provide data throughput rates in excess of 1 megabit per second over the parallel link. Parallel Technologies, for example, has introduced a line of "DirectParallel" cables designed to optimize the performance of Direct Cable Connection links.
Users generate print jobs regardless of where they are. Windows 95 supports "deferred" print jobs, enabling users to generate print jobs even if a printer is not currently available. The print jobs are spooled to disk by the system until a printer becomes available, at which time Windows 95 detects the connection and automatically prints the jobs as a background process.
Windows 95 switches to deferred printing mode whenever an installed printer is not available (whether that's because of a change in configuration, a network failure, or a printer hardware problem). When in deferred printing mode, Windows 95 periodically checks (in the background) the connection to the printer to see if it has been re-established. If the printer comes back on-line, Windows 95 will switch out of deferred printing mode and begin spooling any documents that have queued up. When switching out of deferred printing mode, Windows 95 prompts the user to begin printing – this enables the user to continue in deferred printing mode if desired.
To better support the mobile user, Windows 95 stores the default printers on a per-configuration basis. If users have a different printer at home than they do at the office, Windows 95 changes the default printer when it detects the computer's change in location—for example, from docked status to undocked status.
© 1995 Microsoft Corporation.
These Materials Are Provided "As-Is," For Informational Purposes Only.
Neither Microsoft Nor Its Suppliers Makes Any Warranty, Express Or Implied With Respect To The Content Of These Materials Or The Accuracy Of Any Information Contained Herein, Including, Without Limitation, The Implied Warranties Of Merchantability Or Fitness For A Particular Purpose. Because Some States/Jurisdictions Do Not Allow Exclusions Of Implied Warranties, The Above Limitation May Not Apply To You.