We all know that technology changes quickly. Few people use MS-DOS anymore. Or floppy disks. Or Windows 95. Or the Apple Newton or the Palm Pilot. Even the mighty Blackberry fell. Despite all that change, the principles of good software design don't change all that much. Like any business, there are always fads and trends. Good new ideas do emerge regularly, but a lot of bad ones pop up as well. Software development is often driven by creative youth, and that is generally a good thing. But software professionals who fail to study history are doomed to repeat its mistakes. And the mistakes of history are circulating again.
As the PC revolution occurred, it took a couple decades for the related software business to settle down and learn to develop large reliable systems without risk of major project failure. As we now navigate the expanding world of mobile devices, cloud computing, and the "Internet of Everything", the software business is again struggling to develop coherent strategies to support all of these systems cost-effectively. As different hardware and software constituencies battle for market share, and different software technologies enjoy their 15 minutes of fame, it is vital for consumers and businesses to make rational choices -- and understand the mistakes of the past.
Organizations once again face significant risk, as the number of mainstream hardware platforms continues to increase. Nobody really knows which will survive for the long term and which will go the way of the Palm Pilot. It was not long ago that the mighty Blackberry seemed destined to rule for decades.
Organizations should approach these challenges with facts, not the tech party line of the moment. For example, many organizations turn to the web browser as a universal hedge against risk, and convince themselves that it comes without cost. However, web browser interfaces bring their own issues and serious trade-offs, which often go unstated. The major web browsers themselves behave differently, not to mention the differences on mobile devices. Other organizations seek out seemingly unsinkable ships for refuge, such as that company in Redmond, and that other one in Cupertino, and commit to a specific development methodology. But all eggs in a single basket is not serious risk management.
The takeaway is this: There is no magic bullet or universally safe strategy when navigating the tech landscape. To make the correct choices for your situation, you need a solid, sober perspective on the past, present and future of various technologies.
At XMS, we lean toward technologies that have the "Switzerland factor", meaning that they support all the major vendors' platforms without bias, and have the flexibility to adapt as the major vendors make course corrections. As a result of this approach, some of our systems have been in use for over 15 years, as they adapt to changing times. That is an eternity in the technology world, and a remarkable record that very few software organizations can claim. XMS has the maturity and track record to help you achieve similar results. After all, you didn't get into business to invest in dead ends. And we're here to help you avoid them.
These days, everyone seems to want an iPhone/iPad or Android app. And that’s great. But here’s the catch: iOS and Android use totally different development platforms. Traditionally, this means that you either build your app twice (often hiring two different developers) or resort to gimmicky, limited workarounds. Fortunately, that’s not necessary anymore. With XMS, you will never pay twice for the same app. Multiple apps, one set of highly optimized code, zero compromises.
The world of connected devices is exploding. We have the technology to make all your hardware work together, from older Windows desktops to the latest wearable gadget. All using one code base, compiled and optimized to the native operating system for each device, not some cheesy HTML-based workaround.
Mobile apps are great, but very often a mobile app is part of a bigger system that involves desktop applications, server software and databases. Sometimes you want a mobile app to talk directly to your desktop, without a server. XMS solutions address all of these requirements with a single, uniform code base, which reduces costs and eliminates incompatibilities.
XMS is more than code. Today's software projects can become multimedia affairs, and sometimes require other skills. To meet these and other needs, XMS can provide audio production and mastering, video editing and transfer, graphic design, 3D drawing, photo editing, and a variety of related services.
Effective communication and documentation can make or break a project. We demand excellence in these areas. If you need a presentation to make the case, we can create one and deliver it effectively. When the project is underway, we expect to be in continuous contact with you from the earliest stages, so that any issues can be resolved before they morph into more costly problems.
Companies often find themselves saddled with older database technology that limits the growth of other systems. We have worked with databases from mainframes to the early days of dBASE through today's modern relational systems. We understand the issues and challenges in transitioning to more modern database systems. If you have systems that operate on legacy database architectures, we have the expertise and lessons learned to ensure a smooth transition.
If you have older systems that were developed in Delphi, you don’t have to throw them away! Delphi is alive and well. Like many systems developed in other languages like Visual Basic, older Delphi applications can suffer from poor design and architectural choices. But these issues are correctable. Unlike many older platforms, Delphi has evolved through the years, and is state of the art. Which means that your legacy Delphi apps have a new lease on life, if you prefer to update them rather than incur the far greater cost & risk of starting over with the trendy platform du jour. Click here for more information.
We want to build relationships. You will never be subject to sales pressure, dogmatic thinking, or to narrowly technical personnel who cannot communicate with you clearly. We exist to help you meet software challenges, but recognize that businesses are human enterprises. We will give you our best advice, and explain recommendations and options in detail. And we will never trivialize your concerns. In short, this is NOT us.