Columns:
|
|
All About Upgrades: A look behind the scenes at WebTV Networks Engineering
Hi. My name is Lennart Lövstrand, and I'm a member of the software
engineering team here at WebTV Networks. Sometimes when I think about what
we've created, it strikes me how strange a thing it is. After all, when
was the last time you bought a consumer product that just kept getting
better the longer you had it? Not a bad deal, eh? I'm talking about the
software upgrades that make the WebTV Internet terminal learn new tricks
and understand more kinds of data over time. Most of you have already gone
through one major upgrade. Back in December of last year, we released the
1.1 client software as a kind of early Christmas gift. When you turned
on the box, a message told you that a new upgrade was available. By selecting
Upgrade now and waiting a few minutes, your box got a bit smarter
and better, all by itself and completely free of charge. Find me the computer
owner who can say the same thing (or microwave oven owner, mind you)! It
is now May and we're preparing the next major client upgrade. WebTV
Networks has only been in full operation a little over six months, but
it sure feels like much longer. Computer software companies might release
a new version of their product about every 12 to 18 months, but we've already
had two client releases and five service releases. That's a new release
every month.
Servers
and Clients
That's right! There have actually been seven new versions of WebTV
software already, but no, you didn't miss any of them. This is because
most of these releases happened late at night in our big service center
here in Palo Alto, California, while you probably were fast asleep. When you turned on your terminal the next morning, the new features were immediately there
for you to use: Discuss newsgroups, improved email, more background
music... The world just got a little bit better. These "instant"
upgrades can happen because the WebTV Network is more than just the WebTV
Internet terminal in your home. It's also a dedicated array of some
of the fastest computers available, connecting to the Internet at blazing
speeds faster than most small countries' access. These computers do an assortment
of grunt work, from converting strange images to common formats so that
they can be easily viewed, to keeping local copies of popular web pages
around so that they can be delivered faster when you ask for them. They
also store your favorites and handle all aspects of your email -- receiving
new messages while you're away, storing them in safe mailboxes that are
automatically backed up, formatting them so they are as easy to read as
possible on the TV screen, and, of course, cleaning out those discarded
messages when they aren't needed anymore. It's because the WebTV Network
is divided into this client and server model that it can do all it does.
This is also the reason why we often can make new features available faster
than the traditional software companies. You might say that we're on Internet
time, where everything happens much faster than in normal life. Sure,
trying to meet accelerated deadlines is often very demanding and we've
had our share of working through the night just to get that last feature
in, but it sure is a lot of fun too when you see your work get used by
many thousands of people only a few days after you've put the finishing
touches to it!
More, More, MORE!
Even though we try to get new upgrades out as quickly as we possibly
can, it still usually takes several weeks to get it all to you, our customers.
This is because as much as we'd like to think otherwise, we're still human.
Software development is a quite complicated process and we need to thoroughly
test all new features to make sure that they are of the highest quality
and that we didn't break anything else in the process. After all, anyone
who has ever used computers knows how frustrating it can be to try to use
software that crashes all the time -- especially when there is nothing
you can do about it.
So, what's involved in producing an upgrade? The simple case goes something
like this:
- Someone comes up with a new product idea or problem to solve. The suggestion
is evaluated and given to the appropriate Software Engineering team.
- The Software Engineering team determines the appropriate solution and
implements it.
- The Release Control group incorporates the change into the main product
line and builds a test release. If a problem is discovered, we go back
to step 2.
- The Quality Assurance people test the solution and makes sure it works
OK. If a problem is discovered, we go back to step 2.
- The Network Operations staff rolls out the change to a small group
of early alpha testers. If a problem is discovered, we go back to step
2.
- The Alpha testers are joined by a larger group of voluntary Previewers.
If a problem is discovered, we go back to step 2.
- If all goes well, all changes are combined together into a single release
which is rolled out to all customers. If a problem is discovered, we're
in big doo-doo.
As you can see, there are plenty of opportunities to go back to step
2 -- it's almost a miracle that anything ever gets out! In addition to
this, there is also a lot of overall product planning and synchronization
that is necessary to keep track of all the individual pieces of the system
and make sure that we're going in right the direction as a whole. Then
there are business decisions, hardware considerations, competitive timing,
synchronizing with partners, workload balancing, etc., etc. The list does
go on.
Which reminds me, I think I have to get back to work now.
Cheers, --Lennart
Elsewhere, in the news...
WebTV NETWORKS TO SUPPORT PersonalJAVATM APIs FROM SUN MICROSYSTEMS
AS FIRST LICENSEE
On April 2, 1997 WebTV Networks Inc. made an announcement with JavaSoft,
a business unit of Sun Microsystems, Inc., at the JavaOne conference in
San Francisco. The companies intend to work together on the development
of a new JavaTM application programming interfaces (APIs) for the consumer
electronics market. In addition, WebTV Networks announced that it is
the first company to license PersonalJava and the two companies intend
to define "Java for TV."
"We are excited to be working closely with WebTV Networks, the
leading provider of Internet services through the television, on an implementation
of the Java platform for the consumer electronics industry," said
Jon Kannegaard, vice president of software products for JavaSoft. "PersonalJava
redefines the market for on-line developers by taking Java to a whole new
class of products -- most notably television -- an audience Java was originally
developed for."
This development will enhance the WebTV Network in many ways. "The alliance between
WebTV Networks and JavaSoft will help us showcase PBS ONLINE's rich content
to the potentially huge on-line consumer marketplace," said John Hollar,
executive vice president of PBS ONLINE. "We're enthusiastic about
extending our programming, particularly our rich children's service, to
the rapidly growing Internet television marketplace, driven by WebTV Networks,
with the implementation of Java-enhanced content."
For more information, see the entire press release on our corporate web site.
|