Using a Database: How To Get Rid of Junk (Snail-) Mail

One of the questions we often get in our intro to databases (conceptual intro) course is…in what kinds of real world problems could we use a database? One answer is consider using a database to help track a lot of data or complicated data, or both.

We wrote a recent blog on stopping junk mail so we won’t duplicate that, but instead expand on it to explain how you might use a database to track contacting companies to opt out of mailings and other activities.

Although in our intro to databases class we go through several case studies explaining different types of applications for which students could use databases, this blog posting discusses an applicable example. As with blog postings, we won’t go into any implementation details (see our Programming Tips for coding!), but rather just pose certain questions. This blog is by no means assumed to be the best way or only way to stop junk mail; it’s just one idea.

The basic idea is to model the opt out workflow that captures the data and automates as much of the letter writing, label printing, reporting, and other activities.

Getting started…

So how exactly would you stop all junk mail? What would the database need to look like (table structure)? What types of responses from companies would you need to track? How long does it take to stop all junk mail?

All good questions.

Considering the OPT OUT portion of the database:

To set up a database, first consider that you need to capture the company information but also each response you get from the company. Should you have a separate address table? (Probably) In database terminology when you have a single table possibly related to multiple items in another table, this is a “one to (possibly) zero or many” relationship. In our intro to database course we talk about different types of relationships that you would model in most databases. We also discuss the cardinalities with these relationships (1:M, 1:1, M:M, M:1).

Document Your Assumptions for the System Up Front:

One initial “getting started” activity is to write down all your assumptions and then examine them later for refinement. It’s nearly impossible to get it all right the first time since what happens in the real world will sometimes defy logic. Your assumptions could be perfectly reasonable, yet the real world may challenge them.

One assumption you might reasonably make would be that you could just call the company one time and they’ll stop sending you junk mail, but this is rarely the case. Sadly, often, it will take two, three, four, or more attempts to get the company to stop sending you junk. Your contact attempt may include letters, phone calls, and in the worst case even submit a USPS prohibitory order so the USPS will contact that company on your behalf. Do you see this might be a “one to many” relationship somewhere in our database?

Determine if Your Application Is a “Workflow”.

Since all of these activities involve workflow (do step 1, then step 2, …) you want to have the the database’s data entry, and other activities, fit that model.

With a prohibitory order, for example, you can automate much of the data entry using the data you already entered on the OPT OUT form. You already have, for example, the company information from the OPT OUT form so you could copy it (or just “link it”, referentially, depending on your design). Also, since at least two prohibitory order dates depend on the date the order goes into effect, then the database should calculate these two dates automatically after you enter the initial date.

Create a workflow diagram

The diagram below is a (early, draft) starting point to model what we want using a workflow approach. Once you diagram the system, it’s easier to spot workflow problems or other things in the database that might still need attention. You’ll more easily see that the diagram may be missing some decisions or flows. Or, possibly the flows that are there need refinement. Don’t focus on trying to get everything perfect in version 1, but rather get the basic flows as close as possible to how you envision they would actually work.

Note that the diagram below uses a UML “State Diagram”, which is useful for modeling workflow models.

Automate Letter Writing

Your database could also have multiple form letters you pick when you write a company to “OPT OUT” of receiving junk mail from them. You could modify the form letter for each company, if needed. You could automate printing a label for the envelope, too. The database could then save each letter you sent into the multiple contacts (as many as needed) for that company. You could even track postage.

Reports

You’ll also probably want a report showing you which orders are still in effect on the date you run that report. Another key use for a database: reporting.

Graphs:

Maybe you want a graph showing the worst junk offenders or possibly junk mail by type of mailing. How about a report showing the list of companies and the number of contacts for each company ordered by date? Your database may offer graphics or you may need a plug-in for your existing database.

Scanned Images

You’ll have to decide how much to scan and keep as part of the database. In this actual working example database, we captured the prohibitory order application, and the USPS prohibitory order received as searchable PDFs. Back in the OPT OUT form, we had the ability to capture an image in any of the possibly many interactions with a particular company (remember that the company table is related to one or possibly many contact actions. You could conceivably have zero actions if you chose to enter a company in by itself with no junk mail from them.)

Surprises along the way.

One of the things you will probably notice, once you start calling and writing companies to stop sending you junk mail, is that many companies are not really in charge of their data. Either they “farm out junk mail sending” to some third party or they don’t have sophisticated database folks you can talk to on their toll free number(s). If the company farms out their junk mail sending to a third party, you may never be able to get the message to the right person. It’s also possible since these companies like to send junk mail, that their hearts are not in stopping it just because you called or wrote them.

USPS Prohibitory Order – When they just refuse to stop sending junk

Fortunately, the supreme court decided in the ‘70s that you can stop any mail you do not wish to receive. Simply fill out PS-1500 and send it to the USPS (note the instructions). As described above, the workflow would capture all that information as well.

Conclusion:

We’ve covered a lot. Specifically, in our database, we are:

  1. Enforcing a workflow
  2. Automating date calculations
  3. Reporting so we know how we’re doing
  4. Graphing for getting the big picture quickly
  5. Supplying canned form letters
  6. Automating other activities including data validation
  7. Fixing user entry errors: if they enter “ca” for California, automatically change this to “CA”. Use Title Case fixes in other case, all automated!
  8. Tracking stamp costs in OPT OUT and Prohibitory Order forms
  9. Doing basic accounting for stamp payments
  10. Tracking the average time between junk mail for both new junk mail and junk mail actions with existing companies. This display uses a nice bar graph on our OPT OUT form.
  11. Tracking the average time it takes USPS to process a prohibitory order after we send it (about a month!)
  12. Printing labels if desired
  13. (More!)

Here is the nice graph that we show for 10 above:

————-

It’s probably clear that trying to do all these activities with complicated data, without a database, would be difficult if not impossible.

Even with automation, expect stopping junk mail to be, probably, a six month effort. (Companies don’t always make this easy.)

The database makes tracking and reporting straightforward, but for even low to moderate junk mail (a few pieces a day), stopping junk mail will take serious dedicated effort.

Finally, getting a “perfect” database application to model the real world is quite difficult. Consider all the bug fixes and updates for every piece of software you use. No other company, anywhere, can get any of their software defect free either. Perfect software does not exist so expect your database application to be a work in progress as you make it better and better over time.

Enjoy!

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Please read our disclaimer available from our home page

Ask Your Wallet if Forced Software Subscriptions Are Right For You.

Introduction:

 
Many computer users are too young to remember mainframes typified by large cooled rooms with raised floors, dumb terminals. and the data center overlords who “granted” you access to data, memory, and applications. Control was the key. And the computer overlords had it.

Fast forward to today.

You may have noticed that more and more software companies are going to the “Forced Subscription” (aka “Take It Or Leave It” — pay monthly) model often with their proprietary and required cloud access. This forced approach is similar in many ways to the mainframe model. And, perhaps unsurprisingly, this forced software model yields the best cash flow for the company. Shocking!

Control? As with mainframes (or other centralized control): you lose it.

This new forced subscription model, simply put, means you pay regularly – whether you use the software or not — or, usually, your software stops working. While this model is great for the company with regular cash flow (or else!), the model may not match how you use the software or want to pay for it.

Whether this software model bothers you is largely personal, but your choice to not pay until you are ready for a new version is currently being eroded with forced subscription software models. Also, as stated, loss of control of your data can go hand in hand with this subscription model, especially if the company forces their cloud solution on you.

The Case for Software Subscriptions

The case for software subscriptions includes always having the most up to date software, often not needing to configure, install, or maintain subscription software. No licenses to keep track of. For teams of people, a subscription often means making one regular payment for working software for the team. Whether these subscriptions should be forced on you as the only option available is the key point here.

The Case Against Software Subscriptions

The case against Forced Subscription software is compelling.

Number one among the various reasons against forced software subscriptions is that forced software subscriptions are, well, forced. Take it or leave it.

If the company then also forces their cloud “solution” on you to use their software, do you want these companies to have access to and even control your data? You should read the fine print in your Terms and Conditions before simply clicking “Accept”.

Moreover, do you want the drip…drip…drip of your money now regularly going to a third party for software you can, or used to, just update (and then pay for) when you wanted to?

Other Questions…

  1. Who at the software company has access to your “Cloud” data (aka, simply your data they store on their servers) Programmers? Admins? Others?
  2. What happens if you stop paying (credit card expires, for example)? Is your data access terminated, your data deleted, or what exactly? How soon is the data deleted if deleted?
  3. What happens if your data is lost by the company?
  4. Does the company have and guarantee backups?
  5. Is your data encrypted on a cloud (Internet) servers?
  6. Where exactly is your data stored?
  7. How private is your data?
  8. Do you need this software up to date all the time as a subscription might offer?
  9. What happens when the company is hacked? Security in general?
  10. Do you have control do permanently delete your account and your data?
  11. Once you’re roped into Forced Subscriptions, will companies try as hard to come out with new exciting software?
  12. Why pay a monthly free for software you might rarely use?

Unexpected Consequences—Where Did My Data Go?

The costs of forced software subscriptions can add up, both financially, and from unexpected consequences.

One of our readers had an issue, for example, with a well-known company she used for email. She paid a monthly fee for that email service and had used this company for over twenty years. Yet, one month, her credit card expired. And, in just 6 hours, before she could update her credit card information, the company had deleted all her server email going back 20 years! Multiple calls to the company, letters to the president, and other attempts went nowhere. Her email data was gone. Period.

We’ve Got You!

When using software that needs “The Cloud” (aka “a hard drive somewhere on the Internet” others control) to run, companies could use this dependency to implicitly force a software subscription model on you. Consider when, at some point, cloud access itself ceases to be free, or becomes more expensive over time (as you become more dependent on it), etc.

A Ray of Sunshine — Lots of Software Options

Fortunately, there are many companies that don’t force a software subscription model on you. Instead of Office 365 (subscription), consider OpenOffice or LibreOffice. Both these MS Office alternatives are free for personal and for commercial use. Instead of TextExpander (previously recommended, but now recently changed model to forced subscription and forced, currently un-encrypted, cloud storage of your data), consider aText (one time $4.95 fee). Programmers can use the free “Eclipse” instead of now-subscription IDE offerings. With IDEs as well as other software, there may be tradeoff between cost and productivity that you should consider.

Let Companies Know How You Feel:

Companies are really thinking about jumping on the bandwagon and moving to this model. When you contact companies with questions for support or other contacts, let them know how you feel about forced subscription models.

Conclusion

Harkening back to the mainframe computer days, “The Cloud” and Forced Subscription models put the control with a third party, not with you. And of course, that’s the point: keep you paying … or else (software stops working, data gone, …) While you may get convenience or slightly more up to date software, you are also giving up control and are now paying regularly just to use your software.

Forced software subscriptions are becoming more common, but many choices for avoiding forced software subscription exist and should continue to exist. Unless forced software subscriptions are right for you (they’re not bad in all cases), look around for alternatives and take back (or keep) control of your software!

Enjoy!

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Please read our disclaimer available from our home page

Are you paying for a proprietary Word Processor?

With all the zero-day exploits and other hacks on the DOC format, as one example. it’s amazing people still use it. Who feels comfortable double-clicking a “.DOC” file received in an email? Ahhh, well, ahhh, ….

Instead, why not just use a really great text editor? Text is the common denominator. No company can stake out “text” as proprietary and then hold you over a barrel to extract higher and higher fees with more and more restrictive Terms and Conditions.

Some companies with proprietary word processors now demand you pay a monthly fee (a “subscription” – $-$-$: Drip-Drip-Drip) to use their software. Stop paying and guess what happens? If you really need the Office Formats, why not check out the free Office Suite LibreOffice (a favorite of students and professionals)? Additionally, also consider other office suites such as Google Docs that are also free. And, as of April, 2017, Apple now offers, free of charge, all its iWork products including Pages, Numbers, and Keynote!

The great news, however, is that regular text editors are free, plentiful, and universally understood. Text is also distraction-free: you just type the text! Every program understands text. Moreover, most non-bare-bones text editors include powerful search and other features for professionals. And, text editors now support images and other advanced features.

So, why not get off the “We Got You” proprietary model merry-go-round?

Declare your independence using text today!

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Please read our disclaimer available from our home page