Jump to content.

IFX Group


Software Developer Tips For Our Competition

Here are a few tips for everyone that writes software for others. This includes writing software for personal or commercial use.

  • Always develop software in programming languages that create big executables. The bigger the better.
  • Always favor programming languages that require large run-time libraries (e.g. Visual-anything, .NET) at every opportunity.
  • Require all users to have a proprietary closed source web browser (e.g. Internet Explorer) or proprietary closed source media player (e.g. Windows Media Player) to use your program.
  • Never use system API calls for menus and navigation display when you can force your own colors, font sizes, look and feel on the user so it doesn't follow any of the operating system changes for the visually impared.
  • Always use the most animation and eye candy possible. This is even more important in smaller utility programs.
  • Require more RAM just for your program. Memory is cheap, force the user to buy more to use your software.
  • Design all programs to only work on screens with the highest resolution your personal monitor supports. Users with bad eyes or older displays are not important.
  • Always design your software to only run on the latest commercial operating system version even if it could otherwise run on older versions or through compatibility layers and emulators.
  • Use a complex backend engine or database (e.g. SQL) to store all program data and settings even when a simple INI or config file will do.
  • Test all new development exclusively on very high speed (e.g. multi-core, multi-Gigabyte, multi-Gigahertz) hardware devoted just to the developer. This is even more important if your customers are likely to have older hardware.

The more of these tips you use in your program, the less you will be in direct competition with our custom software. Please do your part and make it more difficult and expensive for your users.

IFX Group Programming Tips

Unfortunately very few software developers from the early days of computing are still writing software. These are the only people that appear to still understand how an operating system and their program could fit together in less than 64k bytes of memory and run at an acceptable speed on a single 8-bit or 16-bit CPU.

All IFX Group software is purposefully developed and tested on under powered hardware running older operating systems with below average or minimal resources. This ensures potential problems with performance and memory requirements are quickly identified and addressed very early in the development process. It also means the software is gracefully backwards compatible with a wider range of operating system versions including compatibility layers and emulation.

Whenever possible all IFX Group software is developed in programming languages that avoid run-time libraries and special environments. Except for special applications, all of the executable programs stand on their own without any external DLL or runtime library dependencies. The programs are always compiled to be very small and extremely fast.

The IFX Group writes a large part of our software for DOS and Windows using the amazingly high performance PowerBASIC line of compilers. We never force our software to run only on newer operating systems unless absolutely required by the customer.

All of our software naturally works with compatibility layers like the WINE project with no changes required.

It is very sad that so many otherwise smart software developers have spent so much time to learn to write software in a virtualized language that is not portable to customers outside of a single operating system vendor and version. If they had spent the same amount of time learning to develop software in a truly portable language or even with a portable virtual machine, their potential customer base and their potential income would be much larger.

First published 2007-06-15. The last major review or update of this information was on 2007-10-02. Your feedback using the form below helps us correct errors and omissions on this page.