|
6-28-01
Build a Caller ID Application (Part 1) by Erick Tejkowsi
If you are anything like me, you have probably encountered an
annoying telemarketer just as you sit down for a meal. Caller ID has helped to reduce this
menace. With an inexpensive box, you can instantly discover the identity and phone number of the offending caller.
But, did you know that your Mac can read and understand caller ID information too?
This week's tutorial is the first in a three part series
which will show you how to build a simple caller ID (CID)
application with REALbasic.
Now, before you ask why someone would
want to replace a twenty dollar caller ID box with a thousand dollar computer,
keep in mind that your Mac is capable of doing much more than
a caller ID box. For example, your Mac can:
- Log all incoming calls for days, months, or even years at a time.
- Speak the phone number when the call arrives.
- Email you a notice each time someone calls.
- And more!
Sure, there are several caller ID applications on the market, but what fun would that be?
Armed with this tutorial, a copy of REALbasic, an old modem, and an even older Mac, you
can read the caller ID information yourself and do with it whatever you wish.
Tutorial Schedule
Since this tutorial is somewhat technical in nature and requires both hardware and
software knowledge, we will split it up
over three articles. The weekly schedule for the tutorial:
- Project Preparation - This week's tutorial
- Building the Resex caller ID software
- How to use the REALbasic Serial control.
- Understanding the CID spec.
- Using caller ID data in a REALbasic application.
- Advanced Features
- Useful applications for the Resex caller ID
- Extend the Resex caller ID
- And more!...
What You'll Need
To complete this project, you will need the following:
- A copy of REALbasic
- A Mac
- A caller ID compatible modem
- Modem documentation
A copy of REALbasic. If you are reading this tutorial, you are probably
already a REALbasic user, but if you aren't, download a copy
from REAL Software.
A Mac. This part of the project is wide open. You can use one of many different kinds of Macs for this project.
This project lends itself nicely to old machines. Caller ID data doesn't require much processing power at all and old Macs have the necessary serial
inputs for interfacing with a modem. In fact, even a 68K machine would be right at home for this application. Now would be a good time to go dig that old Performa or Quadra out of
your closet and give it a new life. For example, I will be using a 6360 and a 5260 as test machines for this tutorial.
A caller ID compatible modem. This may be the trickiest part of preparing for the tutorial.
You will need a modem that is capable of receiving caller ID data. Not all modems have this feature, but many do.
The bad news? iMac modems and most modems in New World Macs do not sport this feature. The good news? Many old (and slow) modems do have this feature.
The speed of the modem does not make any difference here, since the amount of data being transferred is minimal and
the caller ID specification provides for data tranfer speeds that are many times slower than even 14.4 modems.
Check your modem's documentation to learn about its caller ID abilities (or lack thereof). For example, I will be using a
USRobotics 33.6 Sportster modem as the test modem for this project.
Modem documentation. Although not absolutely necessary, it is often helpful to have your modem's documentation
on hand. There are standard commands for communicating with modems, but you may find subtle differences in
the implementation of these standards. The documentation for your modem will clear up any discrepancies. If you managed to
toss your documentation in the trash, look around on the web. Many companies post the documentation for their equipment in
electronic formats (usually pdf).
Now what?
Once you have collected the necessary hardware and software for this project, take a glance at some of the
caller ID information available on the web.
Caller ID FAQ
Beating Caller ID
Don't worry if some of this information doesn't make sense just yet.
We will talk about it in more detail next week.
This information is really just to get your feet wet. See you next week!
6-26-01
REALbasic News
by Erick Tejkowsi
Secret function revealed! REAL Software released
REALbasic 3.5a3 and with it unleashed its new secret control on the world.
The new control is called RBScript and it gives you the ability to run intrepreted REALbasic code in your RB apps. How will this help you?
It means that you can run REALbasic "scripts" dynamically in your own applications. There isn't much documentation about this new feature yet, but we will
cover the topic here on ResExcellence someday soon. Stay tuned!
Time to bulk up. RBulk Builder has been upgraded to version 1.2. The latest version adds an intriguing feature called
Poor Man's version control. The creators would like input about this new feature, so download it if you'd like to help.
SSL Sockets. Essentrix recently announced SSL Socket 2.0 plugin for REALbasic
Classic and Carbon. From their site:
Add Secure Socket Layer communication to your REALbasic applications, allowing them to connect to and
download data from any secure server on the web. Meant to mimic REALbasic's own Socket control,
SSLSocket seamlessly integrates secure sockets for an easy and transparent implementation.
Beta Testers needed. HiddenField Software has posted a Beta
version of their new offering: AspWrite. If you've ever had to suffer
through ASP programming using BBEdit, make sure to check this out. HiddenField Software would appreciate any help or suggestions
you could offer about this Beta version.
Game Console. Noah Desch has posted an interesting project for download called Game Console 1.0
GameConsole is a system to implement a QuakeIII like console (you know,
the thing that pops down when you hit the tilde key). It allows a
background image, customizable text color and background color, it can
animate opening and closing of the console, and even scroll the background
picture beneath the text just like in Quake! It completely handles text
entry [with a handleKey(Key As String, Update As Boolean) method] and it
automatically looks up the commands you enter in a hash table for fast
access.
Need a REALbasic Consultant? If you ever need to hire a REALbasic programmer, don't forget to check
the REALbasic Consultant Exchange. There are nearly 60
registered consultants spanning the globe.
|