Announcing a New Mileage Logging Service

Our business office actually manages the finances and operation of two companies:  I/O Technologies, Inc as well as the local Squeegee Squad window cleaning franchise.   While it’s important for businesses to keep accurate mileage logs, it used to be a real pain to keep track.

So to address this, we created software for the sake of data entry.  And we took it a step further.  Rather than expecting drivers to faithfully write down their mileage, we set up a voicemail box on our PBX, assigning it a unique phone number.

Now, drivers simply need to speed dial the mileage logging number, state their current odometer reading and explain where they’re headed (or where they’re getting back from).  Then, at the end of each month, our faithful employee Patty E. works through the voicemails and generates reports and spreadsheets from the voicemails.

Since this has been working so well for our companies, we’ve decided to offer this service to other companies throughout the United States.

For more information, please visit www.odolog.info.

 

Our company’s experience with migrating from one telecom provider to another.

unpluggedWhen you’re shopping for a new vendor, it’s not uncommon to read horror stories about service providers, especially in the realm of telecommunication. So I wasn’t surprised to see the name of our previous telecom provider mentioned again and again in negative reviews. Talk about horrible customer service, high prices and slow speeds—I could write a book!
But rather than adding to the plethora of negative reviews, I want to focus on a much better experience—with our new telecom vendor.

As our telecom contract was coming up for renewal, we were determined to find better service. We’d read about the recent merger of Time Warner Cable (TWC) and Charter, and were concerned about signing up with an unknown entity. But their broadband speeds and pricing were among the best available. So we decided to make the switch to TWC.

Telecom Wires

No matter which provider we chose, the sheer enormity of a telecom migration project was overwhelming. It involved migrating multiple servers, websites and firewalls. What’s more, this project also involved migrating our phone lines from Plain Old Telephone Service (POTS) to Voice Over IP.
We tried laying as much of the groundwork beforehand as possible. And we built in one month of overlapping service, just in case problems should arise.

To be sure, there were bumps along the road. As it turned out, we would need that overlapping service. While TWC’s broadband was great from the start, we encountered several issues with Voice-over-IP. These turned out to be very challenging to troubleshoot, and required many hours (plus swapped-out equipment) to resolve. I won’t bore you with the technical details. But we were very impressed with how quickly the support team and local service technicians responded to our needs every step of the way.

Now that this project is coming to a successful completion, I’m pleased to report that our overall experience with Time Warner Cable has turned out to be surprisingly positive. Our broadband speeds have nearly tripled, while our overall telecom costs have actually decreased.

Although the TWC installation wasn’t perfect, their people bent over backwards to help us out, and make things right. Great customer service is no accident. It takes a coordinated effort, from the top levels of management down to the folks who interact with customers. Kudos to TWC for their obvious commitment to customer service.

Custom Software versus SaaS

Did you know that right now, there’s a major change going on in the software industry? It has to do with how software companies license their software. For example, did you know that when you install Microsoft’s Office 365 on your computer, you’re renting the software for a limited period of time—you don’t own it? In fact, most software vendors are moving to this Software as a Service model, because it’s much more profitable for them.

As more and more software vendors move to Software As A Service, the demand for custom software has been increasing as well. Why?  Think of it this way:  when you hire a company like ours to write a custom software solution, you OWN the software. You’re investing in an asset.  You’re increasing your company’s net worth.   Nobody’s going to be metering your usage ever again.  So you can forget the days of creative seat counting just to stay under arbitrarily-imposed usage levels.  Most importantly, with custom software you own 100% of your data. You, and nobody else, have complete control over who can access your information, and what they can do with it.

So does that mean that everyone needs custom software? Not necessarily—packaged software apps like Quickbooks, Salesforce.com and Microsoft Office meet the needs of many businesses just fine. But if your people waste precious time every day rekeying customer data, purchase orders or payroll data into separate systems, we can do something about it. Or if your company needs a solution tailored to your specific way of doing business, that’s where we can help.

I’m Dave Martin, with I/O Technologies. We write custom software that’s good for business.

Making Cold Calling More Productive

Love it or hate it, one thing is clear: stick with it long enough, and cold calling will generate leads.

And what could be easier? All you need is a phone, a list, and a little time. Moderately thick skin won’t hurt, either.

The process itself is fairly straightforward:

  1. Assemble a list of prospects who meet your target demographic
  2. Pick up the phone and dial
  3. Recite your script
  4. Schedule follow-up appointments
  5. Wash, rinse and repeat until your schedule is full

And here’s one surefire way to improve the odds in your favor: keep track of your efforts.

Keeping track means more than tallying the number of calls you’ve made and appointments scheduled. Your goal is to identify:

  • the best day(s) of the week to make your calls.
  • the best time of day
  • the most effective script

Over time, as patterns emerge, you can tailor your scripts and schedule to make calls when they’re most likely to produce optimum results.

While you could log your efforts using pencil and paper, a spreadsheet will probably enable you to crunch the numbers faster. But wouldn’t it be nice to standardize and automate the process even more? That’s why recently, I’ve begun writing a desktop application that integrates directly with our PBX.
 
Here’s a screenshot of what the main form looks like …
 
Click multiple items, then press save
 
For me, this application offers even more time-saving advantages. First, it automatically dials the numbers, so I don’t waste time punching out individual digits on my phone’s keypad. Secondly, it logs the call date, time and duration (see them at the bottom of the form?). So it’s impossible for me to forget to log my calls. Most importantly, I can run SQL queries against the data I’ve captured, to generate reports and graphs that spell out what’s working, and what isn’t.

So what do you think? What features would make this application even more useful?

I’d welcome your feedback about this application.

Toodles! enhancement

One of the software applications we’ve developed for internal use, and then shared freely with the world, is Toodles!

This simple To-Do list manager allows me to schedule both one-time as well as recurring to-do items for my office staff.  It also helps me to manage a separate list of things I’ve assigned to myself.

Previously, if you wanted to use the [ ] Completed checkbox as a way of controlling which items continue to appear on your list, you’d have to edit the specific to-do item, check the [ ] Completed checkbox, then press Save.  It would be so much easier if you could just check your completed items off on the List page.  Well now, you can …

 
Click multiple items, then press save

To use this functionality, just head on over to the List tab, and start checking off those items that have been completed (see the checkboxes in the far right column?).  When you’re finished, press Save, and all your updates will be saved at once.

For more information about Toodles! and how to download, visit www.iotechno.com/toodles.aspx

Just because someone fancies him/herself a competent programmer does not make it so!

While updating an application we inherited recently, Jeremy (one of our programmers) emailed me this example.  (This happens to be Visual FoxPro code, but we often encounter similar programming in Visual Basic, C++, and PHP code we inherit…)

This is really a circuitous way of performing a simple function.

This is really a circuitous way of performing a simple function.

“OK, Dave,” you’re probably saying–what’s so bad about it?  Well, a few observations come to mind:

1) Even with the comment above this code block, it’s difficult to understand what in the world the programmer was attempting to do.  There are much better ways to strip embedded spaces from fields.

2) The code uses single-letter variable names.  Suppose the program bombs, returning an error  message such as:  “Variable N not found.”  Guess how many times the letter ‘N’ occurs in this program?  How long will it take to find the specific ‘N’ being referenced?   Better:  use Hungarian notation.  For example:  lnX = AT(‘ ‘, … etc).   It’ll be a whole lot easier finding lnX in the code than trying to locate the specific instance of ‘N’ that caused the error.

3)  This code will write and rewrite strings to the database up to 20 times per record–when a single write per record would suffice.

4) This logic, spanning nine lines of code, creates a nested looping structure.  Nine lines will be much more difficult to maintain (and debug) than what’s needed.

So, how would we recommend changing the coding above?  How about a single line of code: 

UPDATE <table> SET ponumb=STRTRAN(ponumb,’ ‘) WHERE AT(‘ ‘,ALLTRIM(ponumb)) > 0

An added bonus:  this logic will only write to the database when a PO number actually contains embedded spaces.  The fewer times our code updates the database, the better.

Positive Feedback

Yesterday, a visitor to our website named Adam downloaded a copy of Contact! — our free contact manager software. But recent updates we made had introduced a problem with the installer.  This was the kind of problem that that wasn’t easily uncovered during beta testing.

When Adam called it to our attention, we updated the logic to address his issue.

I thought I’d share his response …

Subject: RE: Email verification for Contact
Date: 2015-11-24 16:50
From: “Adam”
To: <dmartin@iotechno.com>
Hiya Dave 

The new download has resolved the issue.
Thank you very much for your prompt response and resolution of my issue with
your software.
It's nice to find a company that is prepared to take the time to resolve an
issue with their product instead of just ignoring the request. Even more so
when you consider the fact that your product is a free one.
Hats off to you Sir.

Kind Regards
Ajay (Adam)

To RoboDial, or Not?

RobodialerWhich of the following phone calls would you tolerate? And which might you even welcome?

  1. Your family has gathered at the table for dinner when the phone rings. It’s a recording. The nice lady on the other end has an “important message for you about your credit card account”. She doesn’t identify your specific card or mention your bank’s name. You hang up immediately.
  2. A political candidate robodials your cell phone, asking for your support in the upcoming election.
  3. Your dentist’s autodialer calls, reminding you of an appointment you had forgotten to enter into your calendar.

Welcome to the brave new world of Robodial! Like it or not, autodialer software has become part of our culture–even if accepted grudgingly. How does it work? You simply import a list of phone numbers, record an outgoing message, and launch the software. The autodialer dials each number on your list, plays the appropriate recording, and logs the result of each call. Most autodialers offer the ability to respond. For example, ‘Press 1 to talk with a human, or 2 to leave a message.’

While any technology can be abused, autodialers can serve a useful purpose. Resourceful business owners may want to explore this capability as a part of their overall marketing and customer retention strategy.

Let’s look at the potential advantages from a business owner’s perspective. Would autodialing be an acceptable means of contacting your customers in any of these situations?

  • Your shop phone is ringing off the hook with calls from customers, asking for their order status. Contacting them proactively makes more sense, but your staff is already swamped, and you can’t afford to hire another employee just to make phone calls.
  • Your organization needs to contact all its members about a weather-related cancellation.
  • You wish you could call each of your clients personally to remind them of upcoming appointments, but simply don’t have the time or resources.
  • Your mortgage loan customers ask you to contact them immediately when rates dip, so they can lock their loan at the lower rate.
  • Business has slowed for your company. You decide to reach out and remind past customers of all the services your company offers.

Compare how much time it would take for someone at your office to make thousands of calls—when an autodialer could do the work with minimal effort.CyberOperator

Being on the receiving end of an unexpected robocall can be very annoying. And the last thing you want to do is irritate your customers. But there are measures you can take to avoid incurring their wrath.

For example, you could offer autodialing to customers as an opt-in service, letting them decide whether to receive automated phone calls. And, be sure to cross-reference your list of phone numbers with the national Do Not Call registry, so you don’t dial the number of anyone on the list.

Given a choice, most folks would prefer talking with a real person rather than listening to a recorded message. But when used judiciously, an autodialer can be a powerful tool to stay in touch with your customers and prospects.
If you’d like more information, please give me a call.

What’s YOUR programming philosophy?

We met with a prospective client recently, who asked me, “What is your programming philosophy–do you prefer Waterfall or Agile?”

If you’re unfamiliar with the terms, here’s a brief overview:

Waterfall Software Development

The waterfall approach to software development breaks the overall project into several distinct phases:

Requirements
  Design
    Build
      Test
        Deploy

For Waterfall to work, developers can move on to the next phase only when its preceding phase has been completed and reviewed. We can’t swim upstream, and there are no fish ladders available.

The Waterfall Challenge.
The biggest problem with this approach is that clients seldom have a firm grasp on exactly what their requirements are. If requirements are unclear, the project will never get past the requirements-gathering phase.

But if a client insists on moving forward without completing each phase, software developers will likely end up throwing portions of the code away, as the project scope changes later on.

Agile Software Development

Several years ago, to address the limitations of the Waterfall approach, a group of seventeen software developers met to discuss alternatives. They published the following Manifesto for Agile Software Development:

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions    over    Processes and tools

Working software    over    Comprehensive documentation

Customer collaboration    over    Contract negotiation

Responding to change    over    Following a plan

That is, while there is value in the items on the right, we value the items on the left more.

Kent Beck   James Grenning   Robert C. Martin
Mike Beedle   Jim Highsmith   Steve Mellor
Arie van Bennekum   Andrew Hun   Ken Schwaber
Alistair Cockburn   Ron Jeffries   Jeff Sutherland
Ward Cunningham   Jon Kern   Dave Thomas
Martin Fowler   Brian Marick

© 2001, the above authors. This declaration may be freely copied in any form, but only in its entirety through this notice.

Agile software development offers an appealing alternative to Waterfall. Rather than scoping out a massive project and trying to address every possible detail, it breaks development down into bite-size chunks. As each new chunk is finished and tested, it moves into production immediately. This approach is known for its ability to deliver working software to customers faster. Then, as end users begin working with the new features, they often provide valuable feedback to drive future development.

Some of the best software we’ve written was developed using the Agile approach; we met with our customer to identify an overall goal, then wrote self-contained modules which performed specific functions fairly quickly.

The Agile Challenge.
But there’s a potential tradeoff. Developing software without an overall project design is akin to building a house without a blueprint. Unless project stakeholders pay close attention to the overall project evolution, the final result can end up looking like the cobbled-together effort that was used to put it together.

Oh, and then there’s one other small (almost trivial) issue: cost. Agile tends to be a pay-as-you-go approach. As a result, Agile projects can end up costing considerably more than anticipated.

Don’t get me wrong–if your company’s goal is quality software written quickly, then Agile makes a lot of sense. Just realize that if you’re working within a fixed budget, you may end up with less functionality than you envisioned. I.e., you may run out of budgeted funds before the evolving goals for your project all come to fruition.

You’ve probably noticed that I haven’t really answered the question. Why? Because I won’t be writing the check for your software project. More important than asking, “What’s I/O Technologies’ development philosophy?” is the question, “What is YOUR development philosophy?” If you need software quickly and don’t have all the details fleshed out, then Agile is the way to go. On the other hand, if you are faced with a fixed, not-to-exceed budget and can put together a well-defined project specification, then let the water fall!

A Security Vulnerability We Encounter Way Too Often

There were no locks on the house where I grew up in rural Wisconsin in the 70’s. And we never gave it a second thought—we knew all our neighbors. Crime was simply unheard of.

Can you imagine living without locks on your house or office today? I’ll bet you lock your doors even if you live in a relatively “safe” neighborhood. It just makes sense to take simple precautions.

That’s why my programmers and I are often surprised when clients and prospective clients don’t seem to share the same level of concern for security when it comes to their local area network.

If your small office/home office connects to the internet, it’s sitting right smack dab in the middle of a dangerous neighborhood.  Oftentimes, the only thing that stands between your computers and the criminal element is a piece of hardware called a Diagram of firewallfirewall.   In theory, your firewall is supposed to allow you to surf the internet, while keeping the bad guys at bay.

So you might be thinking, “As long as I have a firewall in place, I’m protected—right, Dave?” Maybe—But here’s a problem we see more often than you’d expect: when firewalls come from the factory, they’re preprogrammed with a default login and password—typically ‘Admin’ and ‘Password’ or something similar. If no one ever changes the login/password, there’s a good chance that your network is vulnerable. The bad guys have tools that can crack simple passwords in no time.

This is so important that I want to say it again: If nobody changes the password on a firewall that allows for remote management, you might as well paint a sign in big red letters, “COME ON IN—THE DOOR’S OPEN.” Once hackers get past your firewall, there’s not much to prevent them from rummaging through your files, taking copies of your sensitive data, trashing your website, or worse.

If you don’t know how to change the password on your firewall, please find someone who can. Since our business focuses on writing software, we don’t typically do this type of work. But we know several reputable companies who do. If you need help securing your network, let me know and we can put you in touch with professionals who know their stuff.