Category Archives: Custom Software Development

Next Time You’re Flying Overhead …

It’s true. Our custom software development company is smack dab in the middle of the Midwest–also known as ‘Fly-Over country’. Few celebrities or news-makers come from this neck of the woods. Several neighboring states have more cattle than people. Some may claim that we have a Wisconsin accent, But I have no idea what they’re talking about ūüôā . Others joke about our dairy air. I guess some humor never gets old …

One of our bovine best.

If you want to ignore us from 30,000 feet, go ahead. But please don’t equate Fly-Over country with ‘nothing to see here.’ Especially if you’re looking for top-notch software development and support services.

Consider the advantages of hiring Midwest software programmers:

  1. Midwest prices. Because the cost of living is lower here than either coast, we can afford to charge less for the same great custom software solutions.
  2. Midwest work ethic. Our programmers enjoy putting in a full day’s work. And they do it with a smile.
  3. Central location. If your company is on the East coast, and your software developer is on the West coast–how long do you have to wait before they return your call? If you work on the West coast, good luck getting afternoon support from your provider in the East! (At I/O Technologies, we stagger our staffing so that you can get live software support when you need it.)

So go ahead–fly right over. We don’t mind. You might even catch a friendly wave from us down below.

But after you land, come on over for a visit online, and turn your custom software dreams into reality.

I/O Technologies and the IOT

Ever since day one, we’ve always used the abbreviation IOT as a shortcut for I/O Technologies, Inc. But in recent years, IOT has become the standard three-letter acronym for the Internet of Things.

Which is OK by us, because IOT does IOT! Many of the projects we’re currently working on involve communicating with devices across the internet (or sometimes, a company’s intranet).

Are you thinking about a project that involves communicating with devices and harvesting the wealth of data they provide back to a central server? Do you need to integrate video feeds from remote cameras into your application? Or do you need to receive a text message whenever inventory levels of critical parts fall below a certain threshold?

IOT is right up IOT’s alley! Contact Us to discuss your project.

When Software Doesn’t Help

It’s About Productivity

Does your typical day at the office run from nine to five–or more often 7am to 7pm?

If outdated business software is a factor, call I/O Technologies. We write software that’s tailored to your company’s specific needs.

I/O Technologies’ software can drain the pain from business processes, so your people are more productive, and YOU can get home at a normal time..

I/O Technologies’ professionals offer customized design, and support when you need it.

Visit us online at Or Toll-Free: 800-993-9028

Introducing a New Doc Management Module

Thanks to everyone who responded to my last e-mail, asking for your input about document management.

We’ve taken your feedback to heart, and developed a new document scanning module. It’s designed to be incorporated into existing applications with very few modifications.

For a quick demo of the features and benefits, check out this 2-minute video:


(By the way, if you want to take advantage of the scanner feature, you’d need to buy and set up at least one desktop scanner. Here’s one we really like: Brother ADS-2000e).

If you’d like to discuss incorporating this module into your software, please let me know.

Looking for Candid Feedback

Would You Find This Helpful?

Over the years, we’ve written hundreds of custom software applications for customers in the United States and UK.

Lately, several customers have asked whether we offer a standard, pre-packaged document scanning/management solution which we could ‘bolt on’ to their existing software. But the development required to do this for a single client has always made this cost-prohibitive.

What do you think…

So I’d like to ask for your feedback. Would your company find this useful:

  • From inside your custom software, you navigate to one of your customers (or vendors, or products) and click on a new Launch Documents Form¬†button.
  • In the form that launches, that customer’s subfolders appear. Clicking on a subfolder shows all the documents, e-mails, etc that you’ve saved to the subfolder.
  • When you click a¬†Launch Scanner Dialog button on the form, the software will automatically scan the document in your scanner to a PDF, saving it into that subfolder.
  • The PDFs would be saved into regular Windows file folders, so they would be accessible from outside the application, and readily backed up whenever your backup software runs.

Of course, this would require a fair amount of programming. And we’d have to pay annual royalties to the company that wrote the scanner interface. But if several customers are interested, we could potentially divide up the cost of development by offering licenses for x number of users at your office.

(By the way, you’d also need to buy and set up at least one desktop scanner. Here’s one we really like: Brother ADS-2000e).

If this sounds like an enhancement you would find useful, please let me know, so I can get a feel for the level of overall interest.

Get 10% Off Custom Programming

A wonderful opportunity to hire US-based programmers for less.

When you need custom programming and tech support, are you getting your money’s worth?Get 10% off our custom programming rates

Many of our customers buy prepaid blocks of programming hours from us‚ÄĒdiscounted 10% off our standard rates.

With a prepaid block of time, you stay completely in the loop:  Whenever we log hours, we e-mail you a report.  This report describes exactly what we did, and how much time we spent.  Plus, it gives a running balance of time remaining in the block.

This isn’t for everyone.  But if you’d like to give it a try, just contact us.

Custom Desktop Software Example

How custom desktop software can save a lot of time.

If a picture is worth a thousand words, a video is worth even more.  So rather than reading a lengthy post on how to speed up data entry, today let’s look at a quick example.

Suppose your company receives Purchase Orders via e-mail.  Watch how you can drag and drop those e-mails from Outlook into a data entry form.  Instead of manually copying and pasting each field, you can import the whole PO into your order entry system with the flick of your mouse.

Does this still demand too much user interaction for you? Well, we could take it up a notch.  How about automatically scanning your inbox for e-mails from senders at  The logic could check whether each e-mail includes a purchase order.  Then it would import every PO in one fell swoop.  Next, it would move the emails to an archive folder (just in case you ever need to check the original e-mail).

What if you don‚Äôt deal with purchase orders, but you do receive shipping manifests via e-mail?¬† No problem: ¬† Same principle‚ÄĒdifferent database. We could even write code to reconcile manifests with matching orders, if that would be helpful to you.

Or maybe you have a different need altogether? That’s the beauty of custom desktop software development. We can tailor the logic to meet your specific business needs.

Contact us to discuss your project.¬† There’s never a charge for the initial consultation.

Scope Creep–And How To Avoid It.


“How much longer ’til we get there?”¬† It’s not just a question our kids ask on the way to grandma’s house.¬† It’s one we might also ask when the¬† software project we’re waiting for doesn’t show up as soon as we expected.

Sometimes there’s no excuse for project delays.¬† We’ve heard of cases where developers (working for our competitors, of course!) didn’t even start working on a project until the deadline passed.¬† ¬†But more often, another culprit lurks in the shadows.¬† It’s called scope creep.

What is Scope Creep?

¬†You’ll know you’re looking at scope creep when your software development project extends beyond the time or money you planned for.

¬†“How did we get here?” a frustrated client might ask.¬† “After all, we’re intelligent people who know exactly what we wanted and where we wanted to go–right?”¬† Maybe so.¬† But there’s a reason for the word¬†creep¬†in scope creep.¬† Often, a number of incremental changes and improvements take over.¬† These little changes add up–pushing the delivery date much farther out than anyone planned.

Why does this happen?  The most typical cause has to do with the project plan. 

Project Specification Makes All the Difference

I guarantee it:¬† there will be scope creep 100% of the time when nobody documents what the final product should look like.¬† ¬†Sometimes there’s a vast difference between what a client truly wants, versus what the developer¬†thinks¬†the client wants.¬† ¬†The problem arises when nobody spells out the project requirements in black and white.¬† Here are a few ways this will become apparent:

  1. Vague statements of work.¬† ¬†Consider this requirement:¬† “Develop a screen to track all vendor communication.”¬† ¬†What’s wrong with it?¬† Nothing, as long as it’s the first sentence of a lengthy paragraph describing how the screen should behave.¬† But what if this is the entire screen definition?¬† Do you see how much room for misunderstanding it brings?¬† ¬†A good statement of work will go¬†much¬†farther.¬† It will describe every field the form will contain.¬† It will explain how users can access the screen.¬† And it will spell out how every control on the screen will function.¬† Vague statements in the project definition often result in disappointment when the project is delivered.
  2. Failure to document the criteria for completion.¬† When it comes to software development, “We’ll know we’re done when everybody’s happy” just won’t cut it.¬† Without a set of completion guidelines, programmers and users will often find themselves in an endless cycle of adding “just one more feature” or making “just one more change”.
  3. Forgotten project components.¬† We also affectionately refer to this as the “Where’s the feature we never told you about?” conundrum.¬† A good systems analyst should be able to map out the scope of software project up front.¬† But sometimes clients fail to mention that they want to include the functionality of an entirely separate application.¬†¬† Only after we reach the beta testing phase do end users complain that something’s missing.
  4. Changing requirements mid-stream, without updating the project definition.¬† For example, “What we said we wanted two months ago no longer applies, because we’ve started a new product line.¬† And we don’t need the widget feature because we stopped making widgets.”¬† Changing requirements can have a significant impact on the project scope.

Additions, changes, and enhancements can increase the cost of any project.  As the size of a project grows, managers may expect software developers to do more than what they expected.  When the cost or  time frame increases, it can also lead to increased stress on both sides.

What can we do to prevent scope creep?

When it comes to software development, prevention is the best medicine.¬† Authors have written numerous books on how to manage software development.¬†¬†Here are three of the best methods we’ve found to prevent scope creep from delaying a successful rollout:

  1. Start small–especially when you’re working with a new software developer.¬† This will help to protect your investment of time and money.¬† If the first project goes well, then later enhancements will cause less concern.
  2. Document expectations thoroughly.¬† What¬†exactly¬†should the finished product look like?¬† How should it work?¬† The more documentation you can put together in the initial stages, the less likelihood of surprises and unmet expectations. ¬†Some folks think they’re too busy to take the time to do this.¬† If that’s your situation, consider hiring a systems analyst to do the documentation for you.¬† Failure to do so will likely result in undocumented failure.
  3. Expect change orders.¬†¬†Even the most detailed statement of work can’t predict changes in a company’s environment, such as a new service offering, mergers or changes in management.¬† And once users start working with the new software, it’s not unusual for light bulb moments.¬† For example, a sales manager exclaims, “Hey!¬† If the software can automate invoicing, why can’t it help us create proposals too?”¬† ¬†But it’s important that customers and developers agree that the enhancement is just that–an enhancement.¬† In that case, change orders can help improve the development process.¬† A well-written change order will also set the priority of the additional functionality.¬† Should a new feature be included in the project before the live date, or should it be included in a future release?

Scope creep is nobody’s friend–not the clients, and not the developer.¬† Clients will likely become frustrated by delays and cost overruns.¬† The developer will be disappointed when his or her creation doesn’t fully meet the client’s expectations.¬† So before you embark on your next project, consider taking the time to document your needs.¬† Talk with your software developer about how to make sure everyone is on the same page.¬† Agree on detailed software development plan before a single line of code is written.¬† You’ll be pleasantly surprised with the results.