Explaining ".NET" to my Grandmother

F

Fred Newton

I would greatly appreciate some assistance in coming up with a brief and
simplistic analogy that can be used to explain "what is .NET?" to someone
who is completely unfamiliar with programming or computer technology. This
is actually a very important question for me to to be able to answer in non
technical terms for some of my more "non technical" customers.

An example of the sort of thing I'm looking for would be this (but with .NET
as the topic):
Suppose we're trying to explain to such a person whan an *algorithm* is.
We could say "an algorithm is like a recipe you'd use to bake cookies..."
that is, it is a series of instructions that tell you very specifically how
to produce some specific result.
This is useful because practically everyone understands what a recipe is.
Yes, it oversimplifies things - but that's the whole idea - to simplify
without misleading - and absolutely no technical jargon.

I need to be able to explain "what is .NET?" as that is the question I have
been receiving. We all know it's a framework that includes an IDE, multiple
language support ala IL, CLR, base class libraries, ADO.NET, blah blah
blah - but I can't even begin to explain it like that to these customers.

So, any suggestions for such a similar analogy that would provide a
reasonable answer to the question, "what is .NET?" would be greatly
appreciated.

Thanks!
 
M

Marina

Well, if an algorithm is a recipe, then .NET and the CLR are the oven, and
the framework and the classes in it are the ingredients for the recipe.

:)
 
J

Jon Skeet [C# MVP]

Fred Newton said:
I would greatly appreciate some assistance in coming up with a brief and
simplistic analogy that can be used to explain "what is .NET?" to someone
who is completely unfamiliar with programming or computer technology. This
is actually a very important question for me to to be able to answer in non
technical terms for some of my more "non technical" customers.

An example of the sort of thing I'm looking for would be this (but with .NET
as the topic):
Suppose we're trying to explain to such a person whan an *algorithm* is.
We could say "an algorithm is like a recipe you'd use to bake cookies..."
that is, it is a series of instructions that tell you very specifically how
to produce some specific result.
This is useful because practically everyone understands what a recipe is.
Yes, it oversimplifies things - but that's the whole idea - to simplify
without misleading - and absolutely no technical jargon.

I need to be able to explain "what is .NET?" as that is the question I have
been receiving. We all know it's a framework that includes an IDE, multiple
language support ala IL, CLR, base class libraries, ADO.NET, blah blah
blah - but I can't even begin to explain it like that to these customers.

Actually, I wouldn't say that the framework *did* include an IDE.
So, any suggestions for such a similar analogy that would provide a
reasonable answer to the question, "what is .NET?" would be greatly
appreciated.

I would possibly use a plumbing type of analogy: the framework is the
pipes, valves etc in the system. The developer can build their own
pipes, and can also do things with the pipes - eg making a water mill.
The CLR itself would be the pump making the water go round the whole
system.

It's not a great analogy, but it's a start...
 
G

Guest

I take a different approach thinking she really means why '.NEt' rather than
'what is .NET'.

"Its something that was invented by Microsoft to lock in its customers and
squash its competition, thus increasing its market share and revenue. Its
something that requires lots of new training to pick up because its so
different to what came before. And it will all be obsolete in 5-10 years when
it is succeeded by something else."
 
G

Guest

Here's an analogy if you must have one.
Its like a new type of sliced bread, except the slices are so big they wont
fit in a standard toaster. You have to buy Microsoft's toaster. Its so
popular that pretty soon everyone wants to buy the toaster and then finally
when everyone has one, Microsoft reduces the size of the bread again and
introduces a revolutionary new 'compact toaster'.
 
M

Marina

That is every single technology made by every company. And that is because
the purpose of every company is to make money - so what's new there.

But you're not bitter or anything, right?
 
N

Niki Estner

Yes, it's a new innovation, so the "new type of sliced thread" analogy isn't
that wrong.
However, there are at least two open-source implementations of the CLR that
I know of. At the moment these are not comparable to the MS implementation
in terms of stability, performance and completeness, but that's probably
just a matter of time. Or do you actually assume the open-source approach to
software development is not capable to do the things MS does?

Stop trolling.

Niki
 
W

William Gower

Kneejerkreaction is so funny. Take the first and last word off his user
name and that describes him perfectly.
 
T

Tom Dacon

Your 'from' handle is quite appropriately chosen.

Tom Dacon
Dacon Software Consulting
 
F

Fred Newton

Hi Marina,

Thank you for your previous response.

Separately, (this is acqually quite "on topic" although it may not seem that
way at first) I had a rather interesting conversation recently. I was having
lunch in the cafeteria of one of my clients. Some guy sat down near me and
we struck up a conversation. He was wearing a t-shirt with the logo of on
I.T. group of one of the "Big-6" consulting firms (Coopers I believe) -
giving the impression that he was actually employed by that firm (which
turned out to be false - he had been *fired* by that firm more than a year
before our conversation). He told me he was a technology consultant on
assignment at that location. He never asked me what I do for a living so I
didn't volunteer - but I asked a lot of IT type questions. He had no idea I
was more knowledgeable about the topics of discussion; which made for an
interesting opportunity for me to hear what he really thinks. Turns out he
was of the ilk of kneejerkreaction. He attempted to slam Microsoft at every
turn. I will not document here all the unfounded claims, misperceptions, and
untested assumptions clogging his brain - what I will say is that I walked
away from that conversation realizing that he was actually quite scared of
change (i.e. progress) and definitely frustrated with its pace, and
literally not very knowledgeable of I.T. in general (various architectures,
platforms, languages, etc). Now to my point (which is *not* to psychoanalyze
this poor chap); He and I are dealing more or less with the same client.
This particular client has many departments (their in -house i.t. group is
week, at their best). So, the relevance of my original question: how to
communicate what .NET is to these non technical clients. While they are not
technically proficient, they want to feel like they have some input into the
decision-making process. They want to be informed but don't want to learn a
bunch of technical jargon - thus my original post. Microsoft has done an
excellent job, IMHO, of selling .NET to the technical community (while
adoption is slower than expected, most of my non adopting peers do recognize
the technical merits of .NET). I'm just looking for some ways to briefly
communicate both WHAT and WHY .NET to non technical clients.

So, the kitchen or plumbing analogies are great - just the sort of thing I
asked for. I'd also appreciate any articles or white papers that may be out
there that are geared for non technical audiences.

Thank you again.
 
J

John Timney \(Microsoft MVP\)

Tell your granny .NET is like building quilts. The framework is the
pattern, and each grandmother has a small patch ( a class) to own. Grannies
are the namespaces - they may own more than one patch, and can create new
patches or use existing patches. With a .NET quilt, grannies can use any
type of stitch they like - it all does the same job behind the scenes - that
is the multi choice of languages that compile to common MSIL code.

The quilt (the client) can be thick or thin, and you need to use different
layers of the framework depending on how thick your quilt needs to be. You
can even make your quilt so it can travel and be mobile - but your quilt
tends to be smaller when you do this.

Occasionally wise grannies update the pattern, and the grannies need to come
back and change their small patches for better ones, or new ones that dont
have such wobbly stitching round the edges. Thats a new release. Many
grannies are contributing to the framework - they are wise elders and they
have almost had enough quilting sessions to get to quilt version 2.

With .NET the quilt can sit on more than one type of bed, we dont care if
its windows or linux, pine or grainy oak - it will still work if the
foundation is solid.

--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP
 
G

Guest

Great analogy, but you forgot to mention that if those grannies fingers get
tired and they want to give the quilt to a bunch of friends to work on, they
better get a licence first.
 
F

Fred Newton

Yes - and the beauty of the whole licencing thing is that granny can be
assured to some extent that her assistants will be working with the same
sewing machine, thread, and needles (base classes, etc) that she used - so
her quilt will, for the most part, continue to conform to the pattern
against which the quilt was designed - thereby enabling the quilt to be more
easily maintained in the future. Granny clearly understands the value of
that. She once tried to build a quilt using UNIX and another using JAVA, but
quickly discovered that once completed, the Java quilt wouldn't fit on all
beds and couches as advertised (plus the sewing machines, thread, and
needles didn't work very well together), and the UNIX quilt, well, required
a command line,,,.... um okay, the analogy just broke down.... In any case
granny sure likes the licencing angle of .NET because at least *someone* is
accountable (at least to their own profits - a very strong motivator indeed)
to make sure that her patterns, sewing machine, thread, and needles will
continue to work well together long into the future. Plus she likes the
pricing of .NET - becasuse when she was on her little J2EE kick, the
licencing fees for all the different enterprise components almost killed her
bank accounts.
 
N

Niki Estner

The .net framework does so many things, so it's probably hard to give an
analogy that describes it completely.
I'd start showing the situation before .net: You had different tools (like
screwdrivers, rulers, etc) that you all needed, but lots of them used to be
incompatable, like inch-bolts and metric nuts. So you always had to do lots
of extra plumbing that kept you from your "real" work. (Think Win32 API,
STL, ATL, MFC, Unicode, COM, C++-Garbage collectors - you needed all of
them, but you always needed extra plumbing to make them work together).
The .net framework finally enables you to work with one set of compatible
tools, nuts, bolts and metrics without sacrificing half of the functionality
you need. Also, before designing the framework, they looked around in the
industry, and tried to incorporate most of the advantages of the different
tools available (Java, C++, VB...), avoiding the pitfalls of these
technologies, so the net effect is: increased productivity.
That analogy doesn't explain all the framework does, but it should at least
show why it's so hard to explain it to grannies: It's primary purpose is to
solve developer's problems...

Niki
 
C

Chien Lau

Hello, I am not exactly sure what an "analogy" is, but please hear my words:

In the movie "Underworld", we learn that that the bloodlines of a Vampire
and Warewolf can be combined to create a beast that is stronger than both
and posseses the weaknesss of neither. This might be analogous to C# which
combines the bloodlines of C++ and Java.

I think the Underworld comparison is one that your grandmother will not only
understand, but internalize in her heart.


Excuse my English and thank you for listening...
 
N

Nick Malik

Not an easy chore, to describe .NET in this way.
I'm not going to describe all of the things that MS labeled with the term.
(They admitted the mistake of watering down the brand some time ago). I
will focus on the framework and the two primary languages (C#/VB.Net).

What does .NET do for the average Microsoft platform programmer:
--- provides millions of lines of reusable code, carefully architected,
consistently developed, delivered for free.
--- provides memory management to eradicate an entire class of problems that
haunted previous models (MFC).
--- provides a large series of examples of excellent object-oriented
patterns and structures. This means that the programmer's code is smaller
and more efficient when using that expansive library.
--- provides the ability to apply best practices in software design and
development without having to have a PhD in Computer Science... to whit: any
developer creating code using ASP.NET is using the Page Controller pattern
(a weak second cousin to the MVC pattern). This provides a set of
structures that makes it easy for developers to seperate the U/I code from
the business logic in a structure that is easy to learn.

What it does for end users:
--- modern, nice looking applications that stretch the boundaries of what is
possible in user interface design
--- applications with a code base that is smaller, more efficient, and
easier to maintain
--- applications that are less likely to leak memory, consume resources at
wild rates, or freeze up on exception conditions.
--- applications that can be installed over the Internet with a small
download (assuming the framework is already on the client)

The analogy that comes to mind:
A .Net application is to a COM application like a GSM cell phone is to a
rotary phone.

Here's why:
A rotary phone and a cell phone have the same fundamental purpose: to allow
you to use a shared network (the POTS telephone system) to communicate.

However, a GSM cell phone can not only do more, but more ideas are being
added every day.
-- you can use all of the services created for push-button phones, ("To
speak with sales, press "1", for all other services, press "2") REUSE
-- you can communicate without the need for a wire. This solves a whole
class of problems, fundamentally changing the way we solve other problems.
Small children who get lost can tell an adult the cell phone number of their
parent, who can directly arrive to collect them. Workers can attend
conference calls while commuting in to work. The PATTERNS of communication
have been moved to a higher platform.
--- the technology is simple to learn, is fairly easy to access, and
consistenly applied. There were wireless communication devices around
before cell phones, but when was the last time you made a phone call over
ship-to-shore radio? On the other hand, it is not perfect (try to make a
call from the a remote wild area... it's hit and miss but improving).
--- the devices are small and easy to carry. They can be easily customized
into small form factors, from flip phones to headsets to simple handsets.
--- the use of cell phones is gradually replacing the wired networks
altogether for this application. In some countries, where the wired
infrastructure doesn't exist or was poorly implemented, cell phones have
removed who layers of corruption, favoritism, and beaurocracy from the
process of acquiring a phone. It's hard to remember that in Mexico, in
1980, the waiting list for a telephone in Mexico City was measured in
months, and outside Mexico City, was measured in years.
--- The addition of "always-on internet" allows a broad range of information
services and features to be delivered to the cell phone itself. We have
phones with picture-email, video on demand, wireless access to web sites for
news, information, and entertainment. Data travels where only voice
traveled before.
--- The effects of ready digital communication cannot be underestimated.
Text messaging is a major factor in political movements in many parts of the
world, where a message can reach thousands within a few minutes. Let's not
forget that one of the planes on Sept 11th was downed by passengers after
hearing news while calling home on their cell phones. The white house may
have been destroyed, or the capital dome, by this little invention.

Our world has been changed by the invention of Java and .Net, just as
assuredly as our world was changed by the invention of the cellphone.

I hope this helps.
--- Nick
 
F

Fred Newton

Thank you, Nick. You provided a lot of useful ideas I can use when
explaining .NET to my "non technical" clients - a very important task for
any consultant; given that those clients typically want to understand what
they are paying for and why it is better than alternatives (and they want to
understand it in terms they already understand - like telephones and cell
phones).

I'll save the quilting example (provided earlier) for my granny : )
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top