Category Archives: microISV How-To’s

Definition: Hacker

Another software developer question:

I’m wondering if the term Hacker means different things to different people. When most people hear the word hacker what are the first things that come to mind?

Hacker, back in the early days of PCs, originally meant someone who climbed into the internals of technology to make it do more stuff. In hardware, we would take an IBM diskette drive, test what happened with every jumper setting, maybe add a DIPP switch to make testing easier, and then hook up the result to a Texas Instruments 99/4a computer, where it was never designed to go. Or read program files from diskettes in pure binary format and match up numbered commands with programming symbols to make programs that could modify programs, usually to add formatting and fix line numbering. Then, it was all positive, and “no reverse engineering allowed” statements hadn’t evolved yet.

NOW, hacker is used more in the negative sense, like cracker, which generally includes creation of cheat codes, bypassing sections of code for various reasons, and so on.

The way technology words enter the mainstream vocabulary is mostly through television and movies, and Hollywood is nearly as sloppy with tech words as the evening news, so ‘hacker’ is mostly used in the negative sense by most of the mainstream media. But a hacker isn’t inherently evil.

Jerry Stern
Chief Technology Officer, PC410.com

What are the major challenges you face as a micro-ISV?

Another question from a software developer:

As a one-person independent software developer, what are the major challenges you faced? How did you
overcome these challenges?

There was a time before the internet, yes, even before it was still ‘The Internet’, when being a one-person development company meant you worked alone. Wrote code, wrote letters to customers, on actual paper and snail mail, did your own artwork, everything. The result was a very real reluctance to allow ANY part of a project to be done elsewhere.

That’s over. Now, our programs & apps have to run alongside other programs, share data with other users of the same apps, check for updates, sell upgrades (and power-ups), and be visually stunning and immediately obvious to use without a bound instruction manual. It’s too much. You can’t do that alone; you can’t even visualize it without loads of feedback from experts in each area.

We can outsource graphics. Or web sites, animation, speech recording, writing, even blocks of code, if it gets the project done. Now, it’s a management job, rather than doing every little piece of the project in-house. You don’t need employees, but you do need trusted partners to do the tasks you will (reluctantly) admit that you can’t do yourself in a reasonable time. Or just don’t wanna.

So does that mean hire outsource help? You could. Or if you work with other programmers, or know programmers from the ASP, you can offer to trade technical expertise for help in other areas.

Jerry Stern
Chief Technology Officer, PC410.com

How to start a software company?

Another software developer question:

I have a good product in my mind and want to invest more time and money in it.
So far whatever small software I have created are for few people and with only me developing that software. Now I have some software in mind that will be for more users and big enough to include other people, and I will be the first customer of it (manufacturing is my prime business). How & where should I start ? ( people, office, location, software developing, release, sales ) ?
Any first hand experience is also welcome.

First, understand the difference between a program and a product. A program works for you. A product makes sense to other people. So you have to add error trapping, fix all possible input errors automatically and give a non-techie error message on anything else. That requires testers who don’t know anything about your product, and the best type are the ones who you can watch trying out the product. (While you don’t help, but do take notes.)

You have to make it look good. It has to be visually striking, while immediately understandable. You have to write documentation, and that, depending on the product, could be an old-fashioned instruction manual, or a video demo, or a set of slideshow tutorials.

People, office, location? There’s no short answer. Like any other business, your staff will have to be able to communicate skillfully with your potential customers. Being near those customers, or some of them, will give them a big advantage in learning what’s needed, and in beta testing, and perhaps give you leads for hiring sales staff.

Sales used to be all web downloads, and before that, mail order. Now, unless this product will be highly specialized within the manufacturing industry, your choices are web sales of a downloadable and installable product, or SAAS/software as a service/cloud. The difference will be the answer to this question: Where will it be used? On the manufacturing floor, where network access is likely to be internal only? Or in the manufacturer’s offices, which will have outside access? IOW, there’s a big difference in how you sell manufacturing control software, versus purchasing department software, because one needs tight security and the other needs access to outside product specifications and availability in real time.

Jerry Stern
Chief Technology Officer, PC410.com