MSDN Interview
October 1998
As vice president in charge of the Information Appliances Division of Microsoft's Consumer Appliance Group, Harel Kodesh oversees the company's efforts to develop a broad range of handheld computing devices running Windows CE. His division unveiled the newest member of its family on October 8, when Microsoft announced that it has shipped the third generation of its software for handheld PCs, called Windows CE Handheld PC Professional Edition (H/PC Pro Edition).
Initially, a dozen OEMs will use the H/PC Pro software to create a new class of H/PCs that are larger than today's Windows CE handheld devices, sporting bigger keyboards, large color screens, and many new software features and applications.
Microsoft has already published a lot of information about the H/PC Pro on the Handheld PC Web site, but to find out the details developers want to know, MSDN cornered Kodesh and Randy Kath, group manager for Windows CE tools.
MSDN: Some of these new Handheld PC Pro devices look a lot like mini-notebooks, but they're running the Windows CE 2.11 operating system. Do these larger H/PC Pro devices overlap with sub-notebooks and mini-notebooks running Windows® 98 and Windows 95, or do they each fill different computing needs?
KODESH: They absolutely fill different computing needs. The H/PC Pro is a PC companion device. It is not the only computer you should use. The strength of the H/PC Pro is its synchronization capabilities, light weight, and long battery life. We believe people are going to want the H/PC Pro for specific features such as these.
The PC in either a desktop or notebook configuration is the ultimate information appliance. A PC notebook is the tool you need if you don't want to limit yourself, if you want to keep all your options open, and if you don't have a good idea about exactly what you want.
The H/PC Pro is the tool for you if most of your work revolves around e-mail, Web browsing, looking at documents, writing some documents, and viewing PowerPoint® slides.
MSDN: There already seem to be many different flavors of handheld PCs in the marketplace. What need does the H/PC Pro meet that isn't already being answered by all the other Windows CE devices?
KODESH: These different devices are all optimized for specific uses. Palm-size PCs are completely different from handheld PCs, for example. We've found that the handheld PC is a very powerful tool, but people still complained about certain missing features, which we've tried to remedy with the H/PC Pro.
One request was for a larger keyboard. People said they would love to work on a device that lasts 12 hours on battery power, is very light, and very inexpensive—but they need a more reasonable keyboard. They also need a bigger screen that can show them all the information they need to see. That's why we switched from half VGA (640x240) on the H/PC to full VGA (640x480) on H/PC Pro devices.
That's just on the hardware side. We also made a bunch of improvements to the applications, which will increase the functionality of H/PC devices. For instance, our new H/PC Pro Edition software upgrades the mail client with IMAP 4 and POP3 support. The changes we made should shorten the time it takes to download messages on an H/PC about 10- to 20-fold.
MSDN: How do you expect the H/PC Pro to fit into the corporate or enterprise market? Do you expect to see a lot developers building enterprise apps that use the H/PC Pro to run the client portion of their solution?
KODESH: Absolutely. We think the H/PC Pro is going to be the first non-PC device that MIS directors and CIOs incorporate into the overall information fabric of the enterprise. With all the tools we built for the H/PC line, companies will be able to develop VB apps for these devices. They'll also be able to develop good Web sites that users will actually be able to see and use on an H/PC Pro screen.
In addition, companies will be able to develop whatever vertical applications they need for the H/PC Pro. And with the introduction of ADO (ActiveX® Data Objects) for the H/PC Pro, they'll be able to use these devices as network terminals to a remote server.
MSDN: Are these new H/PC Pro devices stable and crash-proof enough for enterprise use?
KODESH: Yes. The H/PC Pro is much less upgradable in nature than a PC, therefore its environment will be very controlled. Besides, this is our third time building H/PCs. We've learned quite a few tricks and techniques from the last two generations.
MSDN: How should developers decide when to build client applications designed for a full-fledged notebook running Windows 95 or 98, or when to build client apps targeted at H/PC Pro devices?
KATH: The issue isn't really whether to target notebooks or H/PCs with your applications. We hope developers will see this as a situation where Windows CE is creating yet another opportunity for them to build applications.
Harel described how the H/PC Pro brings added value to the enterprise. We expect corporations to find new uses for the H/PC Pro. For example, notebook PCs can be fairly cumbersome today for field use. You've got to turn on the notebook and wait for it to boot up. But with a handheld PC, you can turn it on and instantly start collecting data. Then you can turn it off again, walk somewhere else on your factory floor, and instantly start collecting more data. Insurance adjusters could use H/PC devices in the field when checking claims.
There are all kinds of applications not built yet for notebook computers that could run on the H/PC. The PC companion aspect of the H/PC makes it easy to integrate data back into the network when you're done using the device away from your desk or in the field.
MSDN: What are the main opportunities you see the H/PC Pro opening for developers?
KODESH: There are at least a couple of different opportunities to create applications for the H/PC Pro. One is to take their existing PC applications and optimize them for mobile professionals. After developers create a Windows version of an application, they can create a "pocket" version for the H/PC Pro.
There's also a whole new set of applications we'd like to see developers creating for mobile professionals who will use the H/PC Pro—applications that will address the needs of people who are on the road a long time. This population of mobile professionals has some very specific requirements. The H/PC Pro will be a great tool for these people.
The H/PC Pro will also have an impact in the education market. The size of the mobile professional population is immense, but on top of that we can now add the population of students—both high-school students and university students. Students and mobile professionals who already have a desktop PC can achieve a very good economy by also getting an H/PC Pro to take with them when they're away from their desk. These people are going to find the H/PC Pro very compelling.
MSDN: Do you expect to see many developers porting their existing Windows applications to the H/PC Pro?
KATH: Some developers will, since some code is applicable in both H/PCs and PCs. Mostly, I think they'll be migrating ideas and algorithms from their existing code and applying them in a different way in Windows CE. These should migrate pretty easily.
For the most part, H/PCs and PCs have different paradigms of use. Developers have to be cognizant of what technologies don't exist for both the H/PC and PC.
It may not be easy to port a full-blown, full-featured Windows 98 application to Windows CE. But the Windows 98 features that aren't available in Windows CE probably won't apply to the ported application, since an H/PC has a different paradigm of use than a PC.
MSDN: What sorts of new H/PC applications or technologies do you see the greatest opportunity for?
KODESH: I'd like to see developers working on synchronization technologies. This will be a very interesting area for developers to focus on. We already have pretty good synchronization from the H/PC to the desktop PC. But what will really optimize H/PC devices are new synchronization technologies from H/PCs to the server, and from H/PCs to the network.
In general, H/PCs and other Windows CE devices have somewhat limited intrinsic memory. These devices don't come with huge disks containing gigabytes of storage. The idea is to use these devices to interact with remote data. The more ways we have to interact with remote data, the more functional and useful Windows CE devices are going to be. Because of our order of priorities at Microsoft for Windows CE, we are only now starting to focus on these server and network synchronization technologies.
MSDN: You've already talked about how you expect the H/PC to open up new opportunities for enterprise developers building custom corporate solutions. What about all the third-party ISVs and independent developers out there? How much opportunity does the H/PC Pro create for them and the broad-market applications they build?
KATH: When contrasting the H/PC Pro to our existing model of desktop applications, it's good to keep in mind the differences between solution developers and ISV developers. The ISV community is focused on building horizontal applications that run on a wide range of devices. Solution developers work primarily with corporations, building custom solutions to meet specific corporate needs.
To solution developers, the H/PC Pro represents a trend toward special-purpose devices tailored for certain individuals in an organization. As Harel said, the H/PC Pro can answer many of the specific needs that mobile professionals have inside corporations.
To ISVs, there probably is less of an opportunity when comparing Windows CE applications to desktop Windows applications. But the H/PC Pro creates more opportunity for solution developers.
Outside the enterprise market, it's hard to identify the killer horizontal applications for the H/PC Pro. It's easier to identify opportunities when you look within a company and ask how people will use these devices. Then you can start seeing all kinds of opportunities for building applications.
MSDN: One of the biggest new features in every H/PC Pro device is its built-in USB port. Some developers might find that interesting, since this will open up new devices to work with the H/PC Pro. Will users be able to plug in any USB device to their H/PC Pro device, such as a USB mouse or USB keyboard?
KODESH: The H/PC Pro does support a standard USB port. Each device that plugs into this port must have its own USB driver. Technically, any USB device can plug in there as long as the user installs the driver ahead of time. Out of the box, the H/PC Pro will ship with a standard USB mouse driver in the ROM. Developers can create other USB drivers.
MSDN: Can you outline the capabilities of the new version of Pocket Internet Explorer that comes with the H/PC Pro Edition software? How will Pocket Internet Explorer for the H/PC Pro compare with the full desktop version of Internet Explorer? Did Microsoft have to leave much out of the H/PC Pro browser, such as a Java VM, scripting capability, and DHTML support?
KATH: The H/PC Pro version of Internet Explorer does support scripting (JavaScript). But there's no Java VM in it, so you can't run Java applets directly. We're working to add that to the next version of Internet Explorer for the H/PC.
KODESH: In the next release of Windows CE, you'll see us using more and more Internet Explorer technologies, with a browser that preserves most features such as DHTML and Cascading Style Sheets. That will be our strategy moving forward.
We're going to shorten the differences between the browser we have running on H/PC devices and the full version of Internet Explorer for the PC. The introduction of the H/PC Pro helps by giving us a bigger screen to display Web sites.
MSDN: H/PC Pro devices are the most powerful Windows CE devices to date. Will developers still have to be careful not to pack too many features into their Windows CE applications?
KODESH: Yes, they still should try to write small applications. That's not because H/PCs are not powerful devices. That's because we are building a platform that is optimized for a certain mode of operation: devices that do not contain any rotating media.
Such devices are very quick to boot, very quick to turn on. When you work with these constraints, the right thing to do is build a bunch of small applications that don't try to tackle too many things.
H/PC Pro applications are going to be inherently much smaller than PC applications. The idea is to synchronize H/PC devices often enough that users can focus on authoring and capturing information on their H/PC devices, not doing all the elaborate processing they would do on their desktop PC.
H/PC Pro devices are optimized to respond to immediate information like e-mail, Web browsing, and capturing and authoring information in a meeting or when you sit down with a customer. Obviously, H/PC Pro devices will have some sort of processing and styling tools. But we don't see them as the biggest part of the H/PC. Those tasks should be deferred to the PC.
MSDN: When will Microsoft upgrade its Windows CE toolkits to work with Microsoft's new Visual Studio® 6.0 tools? The current toolkits are for version 5.0 of Microsoft's Visual Tools.
KATH: We're almost done with the new toolkits now. They're going to enter beta in the third or fourth week of October. PDC attendees will get this beta. The new Windows CE toolkits should ship around the end of November.
MSDN: Specifically, which toolkits will ship around the end of November?
KATH: All of them—the new Windows CE toolkits for version 6.0 of Visual Basic® and Visual C++®. An update for the Windows CE Toolkit for Visual J++™ 1.1 that supports H/PC Pro will also ship at that time. We're working on the Windows CE Toolkit for Visual J++ 6.0 and expect this to be available in early 1999. We're also releasing a new embedded toolkit for Windows CE 2.11 that is based on Visual C++ 6.0. We have some changes in that product we plan to announce at the Embedded Systems Conference in November.
(Editor's Note: New devices running H/PC Pro Edition software are based on the Microsoft Windows CE 2.11 operating system. Previous H/PC devices were based on Windows CE 2.10.)
MSDN: Can developers use these new toolkits to build applications for earlier Windows CE devices, or are they just for the new H/PC Pro devices?
KATH: The toolkits we're releasing now will be backwards compatible to allow developers to create applications for previous Windows CE devices.
We did, however, work with device manufacturers to make some changes for the H/PC Pro that will improve their appeal to application developers. We worked really hard to make sure all the OEMs (device manufacturers) understand how much value there is for developers to have all the run times included in RAM with each device. They all recognize this now.
All the OEMs are signed up now to make sure that at a minimum the Visual Basic and MFC run times will be stored in the RAM of all H/PC Pro devices. This will make it as easy as possible for developers to build applications that use these runtimes. Some OEMs are also committed to including a Java virtual machine in RAM.
MSDN: What kind of opportunities do you think the addition of ADO to the H/PC Pro will give developers? What kinds of new H/PC applications will they be able to build using ADO?
KATH: ADO is one of the most important technologies we're adding to the H/PC. For the most part, ADO is all about data access. And everybody needs good data access to build anything these days, especially in the corporate market, where everything's about storing information and making that information available.
We now have built-in object storage on the device. ADO takes advantage of that. It stores native object data and makes it very easy to take that data and synchronize it with your desktop PC or the network. This gives you added value over existing ADO services. You can't necessarily synchronize your notebook when you plug it into the network today, but you'll be able to do that with an H/PC.
MSDN: For the first time, the H/PC now has a Pocket version of Microsoft Access. Is Pocket Access programmable in the same way that desktop Access is?
KATH: Pocket Access is not programmable, but you can use Visual Basic to program against the data in your database, which you can set up in Access. So it's programmatic from Visual Basic on the desktop using the Visual Basic toolkit and accessing the same data. But no, we don't have any client-side programmability yet on Windows CE devices.
MSDN: Is there anything else you'd like to discuss regarding tools for the H/PC Pro?
KATH: Yes. The other thing we've been doing a lot of work on but haven't talked about yet is our work with embedded OEMs. These are OEMs that use the Windows CE embedded toolkit to build all sorts of products besides H/PCs and Palm-size PCs. Some are open platform products and others are not. Many are products that Microsoft never even hears about or knows much about.
There are all kinds of different embedded products that these companies are building with Windows CE—everything from a pizza oven manufactured in Brazil to a gas pump in Germany. All these products require different levels of OS support and different types of UI. From a tools perspective, we see a lot of value keeping ATL, MFC, and all our other standard programming models available for these new devices.
We're taking a good hard look at how to componentize everything in Windows CE. We want to give developers programmatic access to STL, ATL, MFC, the Visual Basic run time, the Java Virtual machine, and the OS itself. And we want to componentize it all in a structured way, so the programming model stays the same no matter which API a developer targets.
Harel Kodesh is vice president in charge of the Information Appliances Division of Microsoft's Consumer Appliance Group.
Kodesh earned his Master's Degree in electrical engineering from Technion Israel Institute of Technology and his Master's Degree in business administration from Tel Aviv University. Before joining Microsoft in 1991, he developed new technology for wireless radio modems and mobile data terminals.
At Microsoft, he has overseen the development and introduction of Windows CE, and is largely responsible for driving the growth of the new platform. In his role as vice president, Kodesh manages the continued expansion of Microsoft's Windows CE efforts, focusing on Handheld PC, Handheld PC Pro, Palm-Size PC, Auto PC, and Sega Dreamcast. He is married to Iris Kodesh and has three children.
Randy Kath is group manager in charge of Windows CE tools. Since joining Microsoft in 1991, he has worked on Windows 3.1, Windows NT®, developer tools, and Windows CE. He was part of the original team that created the Microsoft Developer Network (MSDN), and has devoted his entire career at Microsoft to helping developers build applications, drivers, components and embedded products for Windows.
Kath started the Windows CE Tools Group at Microsoft more than two years ago. His group is now shipping Windows CE toolkits for Visual C++, Visual Basic, and Visual J++, as well as a Visual C++ Embedded Toolkit.
He graduated from the University of Colorado, Colorado Springs, in 1987 with a Bachelor's Degree in electrical engineering, and an emphasis in digital communication theory and computer science.