How to Contact Us Directly

Recently we switched to a new Voice-over-IP provider, which now allows for direct inward dialing (DID).

If you’d prefer contacting the programmer who’s working on your project directly (instead of going through the automated attendant menu), please feel free to dial any of the following, and your call will be routed directly to that person’s phone:

Contact Direct Number
Dave Martin 414-847-9481
Jeanie Martin 414-847-9482
Jeremy Vogt 414-847-9483
Luke Zahalka 414-847-9484
Alex Karius 414-847-9485
If you have any questions or concerns in this regard, please feel free to contact me.

Problem With Level3 Phone Service

We’ve received notification from our VOIP service provider that Level3 phone lines are experiencing sporadic problems. This outage apparently spans the entire continental US.

If you’re having problems reaching us today, this is most likely the reason. We continue to be accessible via email.  Also, if you need to reach me directly, please feel free to call me on my cell: 414-870-8406.   Thanks for your patience and understanding in this regard.

How a Flight Notification Board Almost Gave Me A Heart Attack

Late Friday afternoon I was sitting in the business center at the Baton Rouge airport, waiting for a flight to Atlanta.  It was originally scheduled to depart at 5:25pm.  I kept one eye on the flight status board, just in case my flight might get delayed.

Wouldn’t you know it?  The board reported that the flight was delayed.  No problem–I should still make my connection in Atlanta.  So I settled in and continued working on my laptop.

Then, a little later, I looked up and was shocked to see that the flight was now scheduled to depart 4 minutes earlier than originally scheduled!  Here’s a photo… Note the line for the flight to Atlanta:

heart_attack_time

If that information was accurate, it was already well past boarding time!   So I made a mad dash to the gate–praying that I could still get on  the plane.  But when I arrived at the gate, people were still sitting in their chairs.  Boarding hadn’t begun yet.  And the gate signage continued to indicate that the flight was delayed:

but_at_the_counter

Note to Delta–if you need help fixing that software, just let us know!

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)