Friday, January 25, 2013

How many lives can VB6 have?

The “It Just Works” compatibility for Visual Basic 6 applications will guarantee VB6 lives at least through the full lifetime of Windows 8, 10/01/2023. Visual Basic 6 first shipped in 1998, so that will make it's applications at least 25 years old before they see the end of supported lifetime.  Compare that to applications written for the early version of iOS or the Microsoft .NET Framework 1.0 release in 2002, which is incompatible with Windows 7 release in 2009.    

This seems strange when you consider that all versions of the Visual Basic development environment from 1.0 to 6.0 have been retired and are now unsupported by Microsoft. In fact, it's difficult to find a copy to install in the event you need one.  The required runtime environments are unsupported too, with the exception of the Visual Basic 6 core runtime environment which as stated above is supported through the lifetime of Windows 8.  What's even stranger is that many third party components that developers used to make their applications richer and easier to use are no longer available or supported. 

The main reason Microsoft won't kill the unkillable is that there are too many business applications out in the market that have yet to be upgraded to a modern language and technology.  If they release an OS, like Windows 8, and didn't support the VB6 runtime, many businesses wouldn't and couldn't buy it, because their applications would break. 

Microsoft is shackled by the incredible success of VB6, having to make concessions in how far they can go in technology shifts for a particular OS update.  See the Windows 8 Desktop where all legacy applications run outside the new modern looking Metro Suite.  Microsoft has also made many missteps in handling the VB6.  Rather than bring the VB6 code base along with incremental changes and upgrades to support new versions of the operating system, like Apple does with both iOS and OSX, Microsoft waited and tried to force a complete rewrite with the introduction of .NET, in a different language to boot (VB.NET).  This just doesn't work for an obviously change resistant customer base.  

VB6 is going to be around for a while but it won't be around for ever, 25 years might just might be enough.  Any reasonable business or ISV should consider moving their business applications from VB6 to some other language and technology.  

Forget the VB6 cult perspective I would venture to bet that any application currently in VB6 is running into issues on several fronts.  First it is probably getting harder to find software engineers to work on the application.  Look at this graph roughly representing the popularity of VB6, it looks like the heart monitor of a dying patient.

Click here to visit page...

Second it is probably becoming more difficult to add meaningful features/ui to the application because of the lack of support 3rd party world, practically no one develops or maintains, much less creates new VB6 widgets or components.  Third, your application is not enjoying a favored nation status anymore in the current desktop OS Windows 8.  Sure you kind of blended in through Windows 7, even though the application looked different when it launched, now you launch in a separate  area provided specifically for the legacy applications like you.  Finally the gap between your application and current application technology is starting to look like the Grand Canyon, ie what is your mobile strategy with VB6?

If you are looking for an innovative way to transpose your VB6 applications check out GizMox, I am looking into them now will let you know what I find out.

No comments: