Monday, February 19, 2018

Who's Online


There's no sense being exact about something if you don't even know what you're talking about.


 I received this question from a friend:

For all my skills and talents, I still remain 99% ignorant of the ways of the Internet and confess that I don’t understand what I’m being asked to do.  I don’t know the differential functions of website hosts or developers or registrars or custom programmers.

Would you be good enough, when you have a chance, to state in super-plain English and maybe a step-by-step fashion, what it is all about.  Pretend your language is a totally foreign language to me (which it mostly is), and translate as needed. I must have things nontechnical and simple.

OK, here goes:



Registrars register domain names. This is like registering a trademark or brand. You are reserving the name, and also buying the ability to associate your name with any addresses on the Internet. (Typically these are the addresses of your websites and mailboxes.)

You can understand this by analogy to street addresses.
You live at 123 Cool Street, Cooltown MA 01234.
But I call that address "Debbie's House".
If I tell a stranger to meet me at Debbie's house, how will he know where to go?

Every computer attached to the Internet has an address, called an "IP address" (IP stands for Internet Protocol.)  It looks like a very long number, separated into four chunks by periods.  Here is an example:

Knowing this number is like knowing "123 Cool Street, Cooltown MA 01234."

You can type the number into your browser and be taken to the website that is there.  For example: To see what's in a folder named "emother" on the computer located at, type
into your browser.

Try it.  (You'll be taken to our home page.)

But if instead you type "" into your browser, how does your browser know where to look for that?  That's like telling the Post Office to deliver a letter to "Debbie's House."  How does your browser know to show you the file located in the folder named "emother" on the PC attached to the Internet at ?

If I write only your name on an envelope, how can the post office deliver it?

Well, suppose there were a name registration system that guaranteed that only one person in the world could be named Deborah Wilson. And suppose there was a directory that said where the owner of the name Deborah Wilson lived and also where she wanted her mail delivered.

This is the service you've been buying from a me for about $10 per year. This service reserves the name, and tells the world where to find's website(s) and where to find's mailbox(es).

That information is stored on computers that are attached to the Internet. These computers are called "nameservers", or "DNS servers" (DNS stand for Domain Name System), or just "servers" for short.

Part 2:  HOSTS

Hosts provide space on their computers that are attached to the Internet.  Into this space their customers can put websites and mailboxes.  These computers are called "webservers" or "mailservers", or just "servers".

I am both a registrar and a host.  I register domains for clients for about $10 per year, and I host websites for clients for between $10 and $25 per month, depending on their requirements.

(By buying both services from one source, a customer does not have to manage the content of her domain's records on the "nameserver".  At no charge, I maintain those records so the world knows where to find Deborah Wilson's websites and mailboxes.) 

But domain registration and website hosting are not where I make money.  I do these things for the convenience of my clients;  so I can bid a complete solution without sending them anywhere else for any part of it.

I make money as a developer, which is what I truly enjoy.


Developers build websites.  A website is a collection of files that get stored in a folder on a webserver.  When your browser fetches a file from there, the browser interprets the contents of the file, which are instructions that tell it what to display, and so you see a "page".

Debbie, unlike the static pages of your website, which are pages that visitors can only read, I build websites that visitors interact with.  Websites like facebook, amazon, youtube, and so on.

Even tiny businesses need my kind of services if they want their websites to have a product catalog, a shopping cart with order histories, etc.  They may also want their customers to be able to rate or review products, to participate in a support forum, to download printable copies of manuals.  They may also want automated cross-talk between their website and what's happening on their social media pages.

Just as a home builder does not cut down trees but buys dimensioned lumber, does not shear sheep but buys carpeting, does not cut glass but buys pre-hung windows and doors, so too a developer builds websites out of standardized components.  A shopping cart from one source, a support forum from another, a file sharing component from a third, and so on; and integrates them behind an attractive design.  Just like building a house.

This is the sort of thing I do most of the time.


Custom programmers modify or create the components that developers use to build websites.  This is because the client deems it a competitive advantage to have their site do something that other sites (all of which are built from the same components) can't.

This is like an architect who designs the furniture and the rugs, and calls for one-of-a-kind windows.

This is the sort of thing I love to do.  I am a developer who is also capable of customizing the behavior of the components, or programming a new component.  But it adds to the website's development time (and cost).  

It also adds tremendously to the costs of maintenance.  Just as a house requires periodic replacement of worn rugs and broken windows, and perhaps a periodic replacement of the locks for better security, a website's components are constantly being upgraded.  New versions of every component appear at least once a year.  Ordinarily these version upgrades are simple.  But if the component was modified by a custom programmer, then all the modifications must be redone for each new version of the component.  Hence much higher maintenance costs.

I charge $80 per hour to do odds and ends, but have a $500 day-rate for large projects.  Depending on the client's requirements, a website for a small business can cost between $1,500 and $15,000.  $3,500 is typical.  (I can sometimes save my clients some money by subcontracting part of the tasks to workers overseas.)


Most hosts include an automatic sitebuilding tool at no extra charge.  The sitebuilder offers you a fixed menu of choices, and then your site is published automatically.  This is for non-technical do-it-yourselfers who can live within the sitebuilder's limited set of designs, components, and options. 

You can think of sitebuilders, website developers, and custom programmers as lying along a continuum of increasing flexibility and cost. 


OK, that's my explanation --- in plain English, I hope --- of what registrars, hosts, developers, and programmers do!  Was it simple enough?