Fog Creek Software
Discussion Board

Small software biz at crossroads – VB6 or what?

A partner and I started a software business almost 3 years ago. Our product is doing ok but not nearly good enough.


- Approx 2000 users.
- Developed in VB6 with quite a lot (about 6)  3rd components (not helping the download)
- Some of the controls we use are IP*Works, ActiveReports & Sharpgrid (from Data Dynamics) and a few others.
- XML based database.
- Interact with few servers via internet
- Download is about 8MB
- Must run on Win95 to Win XP PC’s (so no.NET yet)
- Use Installshield Express 4 to build the install


- Improve the look and feel of application a lot – very dull and gray
- Speed it up
- Make download smaller
- Build in multi language support  (screens and menus)
- Bring in Windows XP look and feel
- Add user based scripts to assist users to automate some functions
- more reports
- and many more …..


Do we have other options but development in VB6?
We can’t go to .NET (yet) due to client base (for at least another year or two).
My partner knows VC++, I don’t – so major learning curve there. He is not to keen either.
Should we just plough ahead with VB6 and try to squeeze everything out of it? We are not nearly VB gurus yet !
What about Delphi? I played a bit with it in the last week and liked the user interface of applications and some of the features.

Any other options?
Comments would be appreciated.

Thursday, November 20, 2003

Have you looked in to HTML Applications? That might be an option.

Interaction Architect
Thursday, November 20, 2003

My first question would be "What do you need to do that VB 6.0 can't do for you?"

With the exception of a smaller download, all of the things you said that you needed can be done with your current language.

Mark Hoffman
Thursday, November 20, 2003

I'd be somewhat wary of building anything which is too dependent on IE -- at least until the lawsuit with Eolas is more resolved. MS might have to begin pulling IE features to become compliant with patent law. Will HTML applications be around in the future? Only MS knows right now.

The more traditional way to improve VB apps is to leave the body of the App in VB, and apply VC++/COM in places where performance is problematic. If one of you is sufficiently competent in VC++, this may be an option.

Rewriting in Delphi? As Joel would say, you have an established, debugged code base in VB. Are you really willing to incur the time penalty to rewrite and re-debug your app?

Thursday, November 20, 2003

There are ways to get the XP visual style with some VB6 components by using a manifest and other tricks.  (Only works when installed on an XP machine, of course.)  This link might help, otherwise try Google:

It sounds like VB.Net is the best long-term plan for you -- since your app is already coded in VB6, and both of you are reasonably proficient with VB, porting would be much less difficult than rewriting it in an entirely different language.  (Porting from VB6 to VB.Net isn't trivial.) 

The obvious downsides of VB.Net are (1) it's not compatible with Windows 95, and (2) it requires installation of the .Net Framework, which is a 20MB download if the client doesn't already have it installed.  (However, the size of the Framework is really only an issue if the app is being downloaded over a modem -- if it's over broadband, or being distributed on a CD, it's not a big deal.)

Out of curiosity, do you know how many customers are still using Windows 95?  I can't imagine that it's a significant proportion in 2003.

One possible plan would be to give your VB6 app a fresh layer of paint for now, with the goal of porting it to VB.Net in a year or two.

Robert Jacobson
Thursday, November 20, 2003

Originally, PowerBasic was known as PB/DLL, and was marketed as an add-on to VB, to let you build DLLs in BASIC for number-crunching.

Run a profiler to investigate what parts of your program are slow, and check if the speed issue is due to some parts in VB (in which case, try PowerBasic or PureBasic, if the latter is able to generated DLLs), or in the OCXs you use (in which case... tough :-)).

Frederic Faure
Thursday, November 20, 2003

A large number of the customers of my legal software still run Windows95, and suggesting they upgrade is like pulling teeth.

On another note, there is a large financial services company that has something to do with stagecoaches. Their standard desktop runs Windows95 with Office97.

Have fun getting them to run your fancy .NET applications!

Thursday, November 20, 2003

Thanks for comments (so far) & yes the XP themes is looking good -- I tested it quickly and see we do need to change some screens on our app, but it already looking better!

Regarding the user base.  We have detail stats of every user.  The industry we are in (tools/hardware stores) is not very hi-tech. Allmost 10% still on Win95 and about 15% have 64MB or less memory.

Our application can run on:
- Win 95
- 32MB RAM
- No Internet Explored / MDAC / ODBC installed
- Dial-up internet

So we had to include a html / web browser control to view web pages.  We probably will drop the IE requirement as it is holding us back.

I agree:
- we need to stick to VB6 & just do it better
- optimise application using more components

Many thanks for the feedback

Thursday, November 20, 2003

Hire a professional graphic designer to spruce up the UI.  They cost far less than you imagine, and they do things you could never imagine ; )

I think that is a big mistake programmers make when they start their own companies.  They think "we're smart guys, we can do everything."  Certain things, including graphic design, are best left to the specialisits.

Are you sure the performance problems aren't due to some I/O bottleneck rather than VB performance?  You said you are using IP*Works. 

Now a days computers are fast enough that unless the app is blocking on I/O then performance of the language is rarely a problem....

christopher baus (
Thursday, November 20, 2003

>On another note, there is a large financial services company that has something to do with stagecoaches. Their standard desktop runs Windows95 with Office97.

The place I work is exactly the same (the 'if it aint broke dont fix it' mentality)

Aussie Chick
Thursday, November 20, 2003

Are you planning on getting your current clients to pay for an upgrade?

What effort will actually increase your profits?

Probably, the best approach is to do small changes to the current app.

If you are not making much money with the current version, rewriting it may effectively kill any profits.

Thursday, November 20, 2003

But Windows 95 is broken!

Almost Anonymous
Thursday, November 20, 2003

Remember, your software is just ONE part of your business.

Have you determined what your top goal is and what the #1 constraint is in reaching that goal?

I.e., the goal is likely PROFIT.

If so, what is the ONE thing that is holding you back?

(I.e., perhaps you could sell to MORE CUSTOMERS, or sell more to the existing customers( upgrades, higher price) or sell an additional program/feature to existing customers).

You MAY find that your SOFTWARE is *not* your #1 constraint right now.

And read:

Great articles on running a software company.

Thursday, November 20, 2003

Also, how are you going to sell a foreign language version of your product?

Will you need to actually MARKET that version in a foreign language? Do you have that capability/resources?

Thursday, November 20, 2003

I am busy working through the Dexterity notes. Very inspiring and scary -- but very helpfull. 

Re. graphic designer person -- very true.
Again -- thanks for all the good points

Friday, November 21, 2003

I don't know enough about delphi to comment on it - but if you decide to go that route there is a convertor available (it's even been mentioned here before):

A cynic writes
Friday, November 21, 2003

I'd definitely recommend you have a good hard look at Delphi. It's by far not as daunting and challenging as C++ would be, it uses a lot of the same basic principles (designing forms etc.), it has a very large and thriving third-party component market, it can make use of COM with no problems at all, and it still compiles very nicely into a single EXE, if you want to (no runtimes and VBRUN*.dll and stuff like that needed).

It's like VB on stereoids - easy stuff is just as easy as in VB6, but the hard stuff is feasible in Delphi - no need to resort to C++ or other means. You can write services, COM objects, you name it.

We've had very great success with converting a team of 12 developers from VB to Delphi, and after overcoming their initial scepticism, they're all absolutely positive and enthusiastic about the new possibilities Delphi gives them.

And there's Delphi 8 (for .NET) out, too, so once you want to move to .NET, you're all set - just recompile and off you go (in an ideal situation)......


Marc Scheuner
Friday, November 21, 2003

I agree with Christpher Baus. Get someone to design whatever graphical bits you need, maybe even get someone to look at the UI and come up with something better. Hey, maybe you could do something really revolutionary and ask your customers :)

Friday, November 21, 2003

By the way, there are several scipting possibilities. Personally I like s-lang but I've no idea whether it would work in a VB environment.

Friday, November 21, 2003

*  Recent Topics

*  Fog Creek Home