Experience
for the next generation
It
is quite clear that the majority of computer
development is geared towards internet based
connectivity; in the last 3 years the number of
users online has grown to huge numbers - and it
looks like the figures will keep on going up.
Internet
integration is a big part of WinXP, and whilst it
is still perfectly possible to use XP without an
internet connection you will be missing out on
quite a lot of the new features. Microsoft have
gotten in a little bit of trouble with the United
States Justice Department over the inclusion of
Internet Explorer 6, Outlook Express 6 and MSN
Messenger in WinXP - how that will finally pan out
is unclear now, and too big a topic to discuss!
Search through online news archives if you want to
find out the absolute latest.
However,
the main area of internet integration is not
connected with that little dispute - so is
definitely here to stay. Windows Update is a
clever feature whereby WindowsXP will scan your
computer checking version numbers for
components/drivers and then check against an
online database to see if newer/better versions
exist. If an update does exist it will be
downloaded and installed on your system, the net
result is that if you regularly use this feature
you're system will be pretty much always
up-to-date. This feature also kicks in if you
install or have hardware that needs drivers that
the system can't find locally (on the disk or hard
drive). Whilst writing this review it detected
that I have an "unknown DVD decoder"
attached to my system, and prompted me to let it
look online for some drivers. I didn't actually
need to let it do this as I have the drivers on a
CD already.
The
other area of internet integration that is worth
paying attention to is the help and support center
/ help. WinXP comes with a significant help
library anyway, but if you can't find what you're
looking for in the local archives it has several
links/methods by which it can attempt to get the
information from the Microsoft servers. This also
helps when you get system errors - by default
Windows will want to check the Microsoft servers
for a solution, if it can't then it'll want to log
it on the servers for future reference/other
people.
The
only main problem with the whole internet-ready
nature of this operating system is if you're not
connected to the internet. It's a fairly obvious
statement really, but in my situation (and I doubt
I'm the only one) I have two computers - one is
for the internet, one is for development. That is,
my (now) WinXP machine does not have a modem
installed most of the time, and therefore can't
make any use of the internet functionality. The
system is still perfectly usable, and I've been
surviving fine - but I suppose it's fairly lucky
that I haven't needed to make use of the help and
support center too much...
Internet
connectivity in WinXP may well be a trial run for
Microsofts next big jump - the .Net generation
software. The only major .Net software currently
available is VisualStudio.Net (reviewed
here). Exact details of how the .NET software
will eventually roll out is not easily available,
but it is clear that it will be highly
internet/network orientated. I could be completely
wrong, but before Microsoft jump in the deep-end
with such a system, it would be useful for them to
test/setup the infrastructure and see how it copes
in a live environment. From first impressions, it
seems to be working fairly well...
Performance
& Stability
Two of the biggest issues for many people
contemplating upgrading/replacing their current
operating system. If these two areas are not up to
scratch, then no matter how pretty the system
looks or how many amazing features it has the
majority of people will not waste their time with
it.
Performance
has been good all round, It is difficult to say
for certain how much faster windows is from
version to version. The basic tests I ran
indicated a marginal speed improvement, but this
could as much be from better hardware drivers (in
the case of 3D multimedia tests) as the actual
windows code. As far as playing games are
concerned, the speed improvement won't be
particularly noticeable - 5 or 10 frames per
second improvement at best. DirectX is apparently
built pretty much into the core of the WinXP
system this time around, as opposed to Win98 where
it was just a bit more tightly woven together, it
is probable that this change is what gives
multimedia applications the slight edge.
Stability
- always an interesting issue with operating
systems. WinXP is built on the NT/2000 kernel
rather than the rather dodgy Win9x kernels,
therefore stability is generally much better.
However, it's not entirely bullet proof - you can
still crash the system, and crash it big time! If
you're a programmer, the NT-style process
management will be a real benefit. If you locked
up an older Win9x system it would often require a
hard-reset in order to get it working again. With
WinXP you can in all but the most serious crashes
just kill the offending process and carry on as
normal. One particular application that I was
working on with Win98 before was Direct3D texture
memory access - an often risky business, the
number of times I locked up the
computer/blue-screened it was quite impressive.
Developing the same application since installing
XP still heralds quite a few crashes (cant blame
Windows for my stupid code!) but all it ends up
doing is closing a few of my programs, rather than
stopping me working altogether.
The
new friendly error messages. In the above case,
I've stopped it
from reporting the error to Microsoft.
Memory
and resource management seems to be much better,
probably also due to the NT/2000 kernel being used
- I had left this computer on for nearly 7 hours
yesterday (not very clever I suppose), doing odd
bits of work now and then. The system remained
running and as far as I could measure at the same
speed as when it was first turned on.
As
mentioned in the previous section, Windows would
like you to report all of your major errors to
them, which I did test out on a couple of
occasions. However, the closest I got to a
solution was being forwarded to a knowledge base
article (which didn't solve my problem, but did
help a little bit).
Programming
for XP
Programming
with/for WindowsXP is not really that different
from programming with Windows 98, any code that
ran on a previous operating system will tend to
run with WinXP as well. Once you've compiled a
program, selecting it's properties in Windows
Explorer you can run it in "compatibility
mode" - Windows 95, Windows 98/ME, Windows NT
4.0 SP5, Windows 2000. When you select this, the
program should operate as if it were running on
the specified system.
Given that this is currently the most recent
operating system it does mean that it was designed
with all the current and existing technologies in
mind along with a thought to future technologies.
Whilst you'll still be wanting to support older
systems, it is definitely an advantage to you and
your customers to develop with WinXP in mind.
It
is always useful to remember that as hard as
Microsoft may try to push forward their operating
system(s) at the end of the day it is the software
developers across the world that sell it - we
write the programs to take advantage of the OS,
and customers will (in most cases) just follow
along. Therefore, it is important that Microsoft
give developers the support that they need/want,
and luckily for both parties, they do.
There
are two main areas you'll be interested in:
.Net
frameworks, whilst it probably won't be until the
.Net servers and operating systems go live that
these will really come properly to life, WinXP has
pretty good support for the frameworks, and are
closely integrated into the core. Anyone who's had
Visual Studio .Net for a while will have had the
frameworks to "play" around with, but
recently the .Net frameworks became available on
windows update for XP and most other OS's - so
home users are now more likely to have them
already installed.
Win32
API, the specification for this hasn't changed
much (it cant really), but there is full inclusion
of the new GDI+ libraries. These are essentially a
class-based/Object-Orientated version of the old
GDI/GDI32 libraries with a few additional
functions/tweaks (alpha blending for example). GDI+
is available as an upgrade for other versions of
Windows, but it is at it's best for WinXP - simply
because WinXP has it properly built in. GDI+ also
allows some hardware acceleration to take place
with suitable drivers/hardware, which is something
I'm amazed Microsoft haven't implemented before
(given the power of graphics hardware).
Additionally,
DirectX8.0 is included by default with WindowsXP -
and is again, tightly integrated into the system
core, providing a bit of additional speed and
stability. Other SDK's are available for windows
components - such as Windows Media Player. Windows
Installer is also built into the system - which
may well prove useful for distributing products,
particularly if you're interested in
online/cross-network installations and deployment.
Finally,
the 'WinLogo' program has been upgraded to match
WinXP as well - This is a fairly simple system
whereby you get to promote Windows for Microsoft
by including a little icon/logo in your software
documents/boxes, and Microsoft will include you in
their "compatible with XP" software
catalogue.
For those looking
for further details, the following links will take
you to information on the Microsoft site:
General
Windows Programming (all versions), Introduction
to Windows XP Programming, Windows
XP developer program, WinLogo
Program, GDI+
start page.
Versions
Professional
Edition:
Full Copy $299, Upgrade $199 (Microsoft
Shop Online)
This version has everything that you can possibly
get from WinXP
Home
Edition:
Full Copy $199, Upgrade $99 (Microsoft
Shop Online)
This version has quite a few things cut out - it's
only intended for
the home user, not a
professional/semi-professional developer.
There
aren't going to be any major core-differences to
either edition, the real differences lie in the
tools that come with them. Obviously for any
serious programmer or developer you'll be wanting
the Professional edition, but if you want to save
yourself some money you can probably make up what
you've lost with specific developer-related 3rd
party tools.
Once
you've purchased your copy, you'll obviously need
to install it. Installation was pretty straight
forward - and after the first few screens of
configuration you can pretty much leave it to get
on by it's self. Bare in mind that the basic
installation is now 1.5gb - which in these days of
super huge hard drives isn't too bad, it's still a
hefty figure should you be concerned about your
disk space.
The
other big change that comes with upgrading from
previous versions is that you'll almost certainly
need new drivers. WindowsXP comes with an
impressively large number of system drivers - but
they're only the most basic functional section (no
help files / utilities / control applets etc..),
so whilst it is quite likely that it'll get your
system working okay you're best off downloading/acquiring
the latest drivers online (windows update will
help here). Because the system is now based on the
NT/2000 core, you need completely new drivers - in
previous years Win95 drivers would often work in
95,98 and ME - you can't safely use Win9x drivers
under XP.
Drivers
are about the only part of windows that, over the
years, has pushed me towards mindless acts of
violence against inanimate objects (desks being a
common theme). There are just times (I'm sure
you'll appreciate) that something should work fine
- everything says it'll work fine, but it just
wont. This is almost always due to drivers - take video
cards for example, under Win98 on my SS7/AMD K6
based system it took weeks of research,
downloading and customer-service calls to get a
simple graphics card working in anything other
than in lo-res/16 colors. Therefore, before I ever
change my operating system I do lots (and I mean
lots) of research into driver availability,
stability and compatibility. I strongly suggest
you do this before considering an upgrade. I was
fairly lucky with my system - I don't have top of
the line hardware, but it's all still fairly well
supported, so drivers weren't hard to come
by. This should now be true for most people -
As I said at the start of the review, WinXP has
been available for quite a while now so most
initial driver teething issues should have been
resolved; and any companies looking to support
WinXP will have already done so by now.
The
only problem that I did have was with my ageing
flatbed scanner, which (even for Win9x) only
shipped with 16bit/Win3.1 drivers and utilities.
WinXP really didn't like these drivers (don't
blame it really), and in the end I just had to use
a default set of generic drivers from windows'
library. It now works okay, but I've lost a couple
of the utilities that extended the devices
functions quite nicely.
Things
only really get interesting once you've started up
your new system - product activation. The first
time you log into/start up you'll get a message
stating that "this software must be activated
before it can be used" - you then get led
through a few steps to gather some details, and
you must then go get an activation code. You can
either use the internet, or you can phone up an
automated system (I chose the latter) to get the
code. Product activation is Microsoft's latest
attempt to cut down on piracy - having to register
the software with them allows them to try and stop
multiple people from using the same copy (piracy
basically). At the time of release, many people
were very critical of this system - wouldn't it
mean that Microsoft would be able to
"watch" them? store lots of information
about them? well, I suppose it could well do... but
when I phoned up to get my activation code I chose
not to give away my details (this was more due to
the fact that I was in a hurry, and couldn't be
bothered to sit through another 5 minute phone
call!), and I suppose it is possible that the
number I gave them (you give them a number, they
give you a number back - product activated) had
some details in it, but I think it unlikely.
Therefore, unless you're a software pirate, you
don't have much to complain about when it comes to
product activation.
Conclusions
WindowsXP
is definitely ready to be looked at seriously, and
for the majority of people it will be the next
logical step for their system(s). I am assuming
that there will be two categories of developer
reading this review, those that are still using
Win98SE or WinME and those that are using Win2000.
Those
people using Windows 2000 will be aware of the
huge advantages of the NT kernel as far as
productivity is concerned (stability and
performance wise), and short of any huge interest
in the UI/GUI for XP will probably be fairly happy
with their system as it stands.
However,
those with Win98SE or WinME - definitely time for
an upgrade, I personally never liked Windows ME
(although I never actually owned a copy / had it
on my system), and Win98SE is essentially based on
software technology of 4 years ago - despite the
number of patches/upgrades you can get.
Having
used Windows 98 SE for several years now, and
having experienced its highs and lows I can say
that so far my experience with WindowsXP is far
better. There is a much more solid and refined
feel to this version, it is designed for maximum
ease-of-use with all it's new added features, yet
at the same time it holds true to the operating
system that I've used (and known) for many
years.
I've
now spent 2 days with WinXP on my system - digging
as deep and in as many places as I can to find
it's flaws, find it's bonuses and generally put it
through it's paces. I think I'll have to agree
that XP does come from eXPerience,
and that Microsoft have really given some thought
to the way they made this operating system. I'm
not in any hurry at all to go back to Windows
98SE.
As
a quick summary:
Good
Points |
Bad
Points |
•
Very well designed interface both in looks
and feel. |
•
May well not suit older systems / older
hardware so well |
•
Reliability and efficiency of the NT/2000
operating systems. |
•
Some older software that worked with Win9x
may not work with WinXP |
•
New changes/upgrades to the interface
don't get in the way. |
•
Quite expensive for most people. |
•
Ready for the next generation of software. |
•
Could require a bit of research/work
getting the relevant drivers. |
•
6+ months of release time has shown it not
to be all hype. |
|
•
Any hardware that needs XP-specific
drivers will have them available by now. |
|
•
Good selection of tools/utilities for
average home-users. |
|
•
Good use of internet-integration / works
well. |
|
Click
here to
go back to the first page...
|