This essay does not describe an existing computer program, just one that should exist. This essay is about a suggested student project in Java programming. This essay gives a rough overview of how it might work. I have no source, object, specifications, file layouts or anything else useful to implementing this project. Everything I have prepared to help you is right here.
This project outline is not like the artificial, tidy little problems you are spoon-fed in school, when all the facts you need are included, nothing extraneous is mentioned, the answer is fully specified, along with hints to nudge you toward a single expected canonical solution. This project is much more like the real world of messy problems where it is up to you to fully the define the end point, or a series of ever more difficult versions of this project and research the information yourself to solve them.
Everything I have to say to help you with this project is written below. I am not prepared to help you implement it; or give you any additional materials. I have too many other projects of my own.
Though I am a programmer by profession, I don’t do people’s homework for them. That just robs them of an education.
You have my full permission to implement this project in any way you please and to keep all the profits from your endeavour.
Please do not email me about this project without reading the disclaimer above.This is one of the amanuensis projects. This little Applet has several possible functions:
I’m told windows 98 makes a brave stab at solving this problem. Windows NT/W2K lets you manually configure a list of area codes for which you don’t have dial 1+ and another list of exchanges in your local area code that do need 1+ dialling. You have to manually compile such a list for every location in North America you dial from. You can turn 10-digit dialing within the area code on or off, but you cannot control it on a per-exchange basis. Where are people supposed to get these lists to key into the computer? Is keeping track of that sort of trivia not what computers are for?
In British Columbia, where I live, the new (778) area code and 10-digit local dialing meant on 2001-05-26, every phone, fax machine, computer, PDA (Personal Digital Assistant), Day-Timer, speed dialer, alarm system, anything that dials the phone will had to be reprogrammed to dial the (604) area code prefix even for local calls.
Yet, you may not dial 1+(604), (unless of course, it is a toll call). How are you supposed to know if it is a toll call to Lion’s Bay?
The phone companies refuse to co-operate and allow you do dial a full international number with country/area and local numbers and let their equipment figure out how to route and bill it. Cell companies are only a little better.
Arrgh! In this day of computers why can’t it be simple? Allow any number, local or long distance, to also be autodialed: 111 + country + area + exchange + number. Then your laptop would work without adjustment even if you took it to Switzerland.
Your Applet is a stop gap measure until some noble band of terrorists force the world’s phone companies to implement a universal dialing scheme. Why stop there? Surely the phone system should support global roaming — a permanent phone number you keep no matter where you move or go on business or vacation. Since there is so much legacy equipment in the world’s phone system, this will have to be implemented via the Internet. Then your problem reduces finding Internet access (by autodial, direct connect or satellite) wherever in the world you find yourself.
For this to work, you need a giant database of countries, state/provinces, cities, exchanges and how you dial them from various other locations. How could you acquire such a database? The phone company won’t give it to you. Many others and I have already asked. Assuming, by some magic you did acquire it, how could you possibly keep it up to date? The phone companies couldn’t help you even if they wanted to.
The answer is simple — the same way people do it, by trial and error and by asking other people. Every time your dialing software fails, it starts experimenting. It may find an alternate dialing sequence on its own. It may find one with human help. The dialing program automatically reports home any errors it finds in the global database. It reports the results of its experiments. It shares with all other users what it has learned! This way everyone is brought up to date the very next time it checks in with database central for updates on the parts of the master database it has cached. A Palm Pilot may have just one city cached at a time. A major corporation might cache the entire thing. You could charge them big bucks for that information.
You could also implement this Napster-style without a central database, with users talking to each other directly to share just the information they want from each other.
There are complications.
This page is posted
Optional Replicator mirror
Please read the feedback from other visitors, or send your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.
Your face IP:[188.8.131.52]
You are visitor number|