May 20, 2004

By Karen Kenworthy

IN THIS ISSUE

It's good to see you all again! I've been so busy writing programs, and hoeing the rows of my little computer farm, I haven't had time to get together with you in almost a month. It seems even longer than that.

The secluded Power Tools workshop just isn't the same without our regular gatherings. I miss the laughter, and the good conversation. I miss sharing my lemonade. I even miss you who snuck some extra sugar cookies when you thought I wasn't looking. :)

Speaking of cookies, have all you want -- a second batch is already cooling in the kitchen, and a third is in the oven ...

VB at the Movies

While we were apart, Fred Langa, the hard-working computer culture maven, reported Microsoft's entree into the movie business. Just as you'd expect, the new MS movies will run move you through the full gamut of emotions. You'll laugh. You'll yawn. You'll cry.

But you won't kiss seven bucks goodbye. In fact, these movies don't cost you a cent. You can watch them in the comfort of your own home or office, viewing them in your favorite web browser.

Best of all, Microsoft will even pay you to watch at least five of the movies, and complete a short questionnaire about each! Finish this task within a 14-day period and you'll receive a coupon good for a free "Not for Resale" copy of "Visual Basic .NET 2003 Standard Edition". It includes the tools and documentation many programmers are using to write the next generation of Windows software.

So, what will you see? They all have the same basic structure. There are no opening credits. Each opens with a close-up, showing a programmer's computer screen. An off-screen narrator breathlessly describes what wonders you're about to see.

Then the excitement begins! The programmer's screen changes, as an animated series of actual screenshots are displayed. Right before your eyes and ears, you'll see and hear a portion of a program being written and tested.

And the fun never ends. You have approximately 100 movies to choose from, grouped into seven categories. I found the "How-To" and "Controls" genres particularly addictive. But that's just me. You may prefer "Data and XML", "Deployment", "Development Environment", "Web Development", or even the titillating "Language and the .NET Framework".

For example, the movie "Folder Browser" shows a program learning to prompt users for the name of a folder on their disk drive. The movies "Exception Handling" and "Global Error Handling" reveal how a program should detect and handle errors.

Don't worry about intermissions. Each move is really a short subject, running from five to ten minutes. But you will have to power down your drink and popcorn, if you want to finish them before the lights come back up.

Microsoft's new movies ought to appeal to at least three different audiences. If you've already started using VB.Net, you'll probably learn something useful. You may want to bookmark your favorite movies, and review them as you work through your next project.

If you've only programmed in "Visual Basic Classic" (such as Visual Basic v6.0, used to write my Power Tools programs), you'll still get valuable insights into the new VB.Net language. The movies are also a great way to taste test this newest flavor of Microsoft's program development tools.

And if you've never written programs before, you'll get a rare glimpse of the exciting life of a computer programmer. You may not understand everything you see, but it will still be fascinating. And rest assured, the nerdiness is safely below toxic levels (just barely).

You'll find the movie category links on this web page:

    http://msdn.microsoft.com/vbasic/atthemovies/

Click on a category name, and you'll see a page with links to individual movies.

And if you'd like to subscribe to Fred's excellent newsletter, the "Langa List" (and you really ought to -- what Fred doesn't know about computers isn't worth knowing), drop by his web site at:

    http://www.langa.com

A Note: When you redeem your coupon for the free copy of Visual Basic .NET 2003 Standard Edition, you'll be offered a substitute item. Folks who already own a version of Visual Basic .NET 2003 might prefer "A Developer Welcome Pack (containing a training CD and Application Architecture book)". It's what I chose, though it hasn't arrived yet so I can't say if it's worthwhile. :)

And one more note: For some reason the free offer of is only "valid in the 50 United States, the District of Columbia, all U.S. military bases that contain valid APO/FPO addresses, and Canada." You'll have to ask Bill Gates why. But hopefully Microsoft will make a similar offer to residents of other countries, perhaps through their local Microsoft web site.

A Note about .NET

Speaking of .NET ... I've been putting off our talk about .NET for quite a while. But the time is rapidly approaching when we can delay it no longer.

If you write programs for a living, you've no doubt already heard a lot about ".NET" (pronounced "dot net"). A linguist might say it's a portmanteau word (second meaning). An object-oriented programmer could say the word is overloaded. And the rest of us might observe it has many meanings, some of them changing from day to day.

One thing seems certain, though. The future of Microsoft Windows is .NET.

The rules programs follow when communicating with an operating system, such as Windows, are known as the operating system's API (Application Program Interface). The API also specifies which services (such as reading and writing disk files, accessing networks, etc.) the operating system can and will provide.

Many years ago, when personal computers were powered by steam and fueled by wood or high-sulphur coal, Windows and its programs communicated according to rules now known as the "Win16 API". Naturally, the "Win" in this name refers to Windows. And the "16" indicates that most of the data passed back and forth (screen coordinates, amounts of memory needed, etc.) consisted of 16-bit numbers.

When Windows 95 was released, it marked the arrival of a new API. Called Win32, it was very similar to the original Win16 API. But now 32-bit numbers flew between Windows, programs, and back again. This allowed Windows and its programs to manage larger screens, bigger disk files, more memory, and more.

To help out older programs, Windows 95, and all Windows versions released afterwards, humor programs that attempt to communicate using the original Win16 API. These older "calls" are silently converted to the corresponding Win32 request. Once Windows carries out the assigned task, the reply is converted back into the old Win16 format before being sent to the antique application.

This trick does allow older 16-bit programs to continue running. But they have become second-class Windows citizens. Because of the extra conversion steps, their 16-bit Windows requests take more time to complete. And there's always the very real possibility a future version of Windows won't support them at all.

Now comes .NET. This new API supports numbers as large as 64 bits long, or as large as 18,446,744,073,709,551,616 in the decimal number systems we humans prefer. This permits Windows, and its program, to manage truly incredible amounts of memory, screens covering several acres, and disk drives as large a city bus.

But this API bears little resemblance to its predecessors. Microsoft took this opportunity to re-invent Windows, making a pretty clean break with the past. Programs and Windows can now communicate in a completely new way. [Note to the terminally nerdy: It's a completely object-oriented interface.] And Windows can now provide many services it never could before.

You can download software that adds .NET support to your current version of Windows today. It's available several places, including the Windows Update web site at:

    http://windowsupdate.microsoft.com

Look for the ".NET Framework v1.1". Once installed, it allows your computer to run the few new programs that already use the .NET API.

A Look Ahead

Today, programs that use the .NET API are second-class citizens. In many cases they suffer the same delays currently experienced by older 16-bit programs, as the new .NET calls are translated into the older Win32 format.

But in the future, versions of Windows will appear that support the .NET API "natively" -- without any conversion or extra effort. When that day arrives -- and it will -- Win32 programs will be demoted. Their conversations with Windows will be slowed by conversions, into the .NET format and back again. And the fate of Win16 programs will be even worse. Look for them to eventually be deported, losing their citizenship in the land of Windows.

Ready for a little more bad news? If you're currently using Windows 95, prepare to be left behind. Unfortunately, it doesn't implement enough of the full Win32 API to support the .NET add-on.

Fortunately, Windows 95 will continue to run both Win16 and Win32 programs. But it will never understand how to speak .NET. And those Win32 programs you're now using will always run on the versions of Windows we have today.

Despite the inevitable loses, the arrival of .NET isn't all bad news. In fact, it's great news if you have a reasonably fast computer, and are running Windows 98 or later. The .NET API dramatically expands the services Windows offers to programs. That means Windows programs will become more powerful, and will be easier to write.

There's one more important, though little noticed, feature of .NET. It doesn't require an Intel-style CPU chip. It was designed to run equally well on any CPU architecture, from any manufacturer.

For example, it's entirely possible to port .NET to the current generation of Apple Macintosh computers. Or to any future computer, even one based on a CPU incompatible with the Intel line. Microsoft is actively helping and encouraging schools and companies to port the lowest level .NET component (the CLR, or Common Language Runtime) to other environments. When those ports are complete, the rest of .NET should move across easily too.

This means more competition for our hardware dollars, better prices and performance for us, and a larger Windows market for Microsoft. What this means for my Power Tools we'll save for another day ...

An Experiment

Before you leave, I want to ask a favor. I've made a few changes to my Zone Manager -- the program we talked about at our last get-together. It still lets you create your own time zones, and quickly change the zone where your computer thinks it resides. You can still make desktop shortcuts to your favorite zones, and use a public Internet time server to set your computer's clock.

But now the program's windows are "resizable". This means you can click your mouse on the borders of its windows and drag them, expanding or contracting the window as you go.

Many programs allow you to resize some of their windows. But the new Zone Manager does something remarkable. As its windows grow or shrink, everything on the window -- buttons, icons, text, etc. -- grow or shrink too!

Are you having a hard time reading the small print on a Zone Manager window? Grab a corner and make the window larger. You can even click the window's Maximize button, causing it to occupy your entire computer screen. The windows text and other contents will grow too.

Need more space on your desktop, to view other program's windows? Of course, you can minimize the Zone Manager's main window, reducing it to a taskbar button. But now you can shrink the windows a little, or a lot, instead.

I haven't noticed any other programs that work this way. And there may be a very good reason. That's why this is an experiment. If this new feature is helpful to some, and not terribly annoying to many, it will stay. It may even find its way into other Power Tools. But if these plastic windows are a bother, or of no particular use, you can forget I ever mentioned them. :)

If you'd like to give the new Zone Manager and its rubbery windows a try, download your copy from the program's home page at:

    https://www.karenware.com/powertools/ptzone

As always, the program is free for personal/home use. If you're a programmer, download a copy of program's Visual Basic source code too!

Better yet, get the latest version of every Power Tool -- including the new Zone Manager -- on a brand-new, shiny CD. You'll get three bonus Power Tools, not available anywhere else, too. Source code of every Power Tool, the text of every issue of my newsletter, and some of my original Windows Magazine articles, are also included. And owning the CD grants you a special license to use all my Power Tools at work.

Best of all, buying a CD is the easiest way to support the KarenWare.com web site, Karen's Power Tools, and this newsletter! To find out more, visit:

    https://www.karenware.com/licenseme

Before you go, take this with you. It's extra sugar cookies, wrapped in a paper napkin. They should hold you until you get home.

And until we meet again, if you see me around the workshop or on the 'net, be sure to wave and say "Hi!"