It’s halfway through 2019 and wow its hot in the UK. I have been going through disks and disks full of old source code and projects going back to 1998. I also found the source code to an old Ftp Server project that appeared on the PC Pro cover disk in December 2000. Half of the Ftp Server application was written in VB6 and the core server engine was written in C++. I remember the frustrations in debugging the C++ as there were a lot of memory pointers which kept overflowing and causing crashes. At that time, I wished it would have been written in 6502 assembly like the old C64 days. I did try writing assembly on the PC but thought it did not have the elegance of 6502 or 68000 (Amiga) and was soon abandoned.
My next project?
For the last few months I have been thinking of what to write next. A big part of me wants to write something in VB6 as it’s such a simple yet powerful language. I still feel it’s a lot faster than the bloat of .net and exe sizes are small. Two things which have me on pause with VB6, (1) Virus software reports almost all VB6 apps as viruses and it’s a pain to keep reporting false positives and (2) Unicode support. I have the source code for EscControlsActiveX which is an enhancement of OsenXPSuite which EscSoft purchased all rights to a few years back. This is a powerful set of Unicode controls which are skinned for XP, Vista and Windows 7. They are not DPI-aware and would require a lot of time to modernise with new skins and to enable DPI-awareness. Perfect for VB6 but not future proof.
With the success of iDump in 2005 with millions of downloads, appearance on magazines all over the world, I created the iDumpPro media player which could read and play the media directly from the iPod itself. It could read/write to CD’s, export and convert to different audio formats and even stream music from the iPod like shoutcast/icecast. After 12 months of solid work on it, I was burnt out. It sold quite well and the money was used to pay for the website, software licenses and hardware upgrades. bcPodTunes was written in .net and is similar to iDumpPro in the way it needs an iPod connected to run and will read/write to the device any changes.
Supporting versions of Windows?
I love Windows 2000 followed by Windows XP. I hate with a passion Windows 10, with its boring UI and security prompts which viruses mostly get around anyway. If I could run Windows 2000 on modern hardware, I would. People say, “install it in a VM”. A couple of times, I built my development environments in VM’s only to have something corrupt the installations or disks and cause no end of frustration. So the last time I built a dev VM (This year) was installing XP and VB6 etc on VMWARE Work Station. Because of past issues, I created a shared folder and ran bvckup (a small fast copy utility) to copy the source from the XP to the PC. After a day of usage, the VM crashed and corrupted. F*****g great, not again!!!!. So now I have several laptops each configured with a different OS/development environment. I do test my apps on VMware for Win XP/7/10 but no longer for development. I have tried other VM software but found all sorts of issues connecting USB devices and VMWARE had the best stability in this area. The best VM software I have ever used is Parallels Desktop on the MAC. I have a 5K iMac that I use when I develop games but its limited in storage and slow when running VM’s from external disks.
I suppose I just want to live in the old days when things were simple and operating systems were designed for productivity. OSX has kept the same style for as long as I can remember while Windows at version 8 tried to change the world and pissed everyone off. All I can say if thank God for the Classic Shell app which gives you back the old style of start bar.
Looking at the world usage of Windows (http://gs.statcounter.com/windows-version-market-share/desktop/worldwide/2019) it looks like Windows 7 is still doing well and will be a few years before people will be forced to upgrade to Windows 10 when they buy new PC’s. Is it worth getting my apps to support Windows XP and Vista? Is there enough users out there that may part with some cash to purchase new software I write? Or should I focus on writing new applications which would be useful to banks and other large institutions? With the recent re-release of my apps, I have done testing on Windows XP SP3 and all seems ok so far.
So my thinking on a new project based on work I have done before….
- Write an SFTP/SSH Server with a build in scripting engine and script scheduler which accepts custom commands like I did with B4FtpServer (another app used all over the world). Maybe have it function like ConnectDirect and provide client agents for multiple operating systems (Linux/Solaris/AIX/Windows). This would take 8-12 months of spare time. Again I would have to consider VB.net or VB6. I just do not like CSharp but do code in it when I am forced. I think I will do some testing in VB6 to handle Unicode strings and then make a decision. If I do go down the road of creating clients for other operating systems then they will be command line efforts written in C.
- Media Player like the old iDumpPro (pictured above). Maybe because this project from 2006-2007 caused me burn out that I want to revisit it again. This old project was not Unicode aware and it really does need to support this if it’s going to be made available in multiple languages. The old code could not handle unicode characters in music tracks or playlists and would crash. Anyone with common sense would say to do it a language like .net or XOJO. I did license XOJO for a year and really tried to love the development system but as it has focus across multiple operating systems, it does not have the enhanced features that a language developed for Windows will have. No surprise there.
- WebSphere MQ focused tools. For many years I have been working with IBM WebSphere MQ. This middleware product is used by most financial organisations along with IBM Integration Bus or IIB. I am thinking about having some kind of dashboard on Windows or a web application which gives the status graphically of the entire WebSphere MQ installation base within an organisation. I have written various tools at companies I have worked which are still in use today. This sort of software would need to be sold through a business as its not the sort of thing that would be made available as shareware so the use base would be small but the price of the product would be high. I am talking with other techies/developers about doing this to create a business but I tend to like working on my own at my own pace. Watch this space.
- Media Library .Net DLL – Having looked about for a library where you could manage playlists, tracks, images, album art, lyrics etc so it would take care of the database side of things and allow the programmer to build the gui around it, I created such a library in 2017 while Binary Computing was still a business but it was never finished. If I were to write a new media player, I would use this. Maybe I will finish it and release it here on FitzSoft. If I were to write a media player in VB then I would need to write the equivalent library for VB6.
- New Game? The game market is saturated now especially on mobile that is not worth the time. Even one of my fav game developers LlamaSoft stopped writing for iOS and Android as there is no money to be made. I have a couple of ideas for a large 3D world any mythical creatures so may come back to that in future.
So what to do?
I really don’t know. If I picked something for fun for myself then would probably go for the media player in VB6. I would have to skip cover flow as this is only doable these days in .net. If I wanted to do collapsible panels like in bcPodTunes then again .net as its lots more work in an older language. I could of course opt for the CodeJock activex suite but its more cost. The images on the left (2,3,4) are from media players written in .net that were never fully finished.
The Ftp Server software I enjoyed creating and it had full printed documentation and it felt like a good professional job. i have a half finished project where it all runs in a web server and you connect from various clients. Maybe web based is the way forward but then you have to consider all the bolt on bits like web server instead of a Windows Service etc. Slower but more flexable.
I have decided to commit to a new project beginning September 2019. It gives me a few weeks to add more old projects to this web site.