August 22, 2024

Choosing the right platform for your application

You know that you want to make better use of technology to improve a business process.  Congratulations!  Recognizing that a short term investment will improve your long term profits is a great step forward.  But how do you know what platform is right for your application?  When I put the question into ChatGPT I got a 10 step process which although not incorrect, is probably more effort than you as a business owner can/should put into your decision.

The first thing you may ask is What are the different application platform choices?  The most common platforms currently, are Web, Mobile, and Desktop.  So let’s start by explaining a bit more about their characteristics and pros and cons.

Platform Characteristic PROs CONs
Web Run in web browsers Accessible from any device regardless of OS

Installation not required

Updates immediately available

Less access to hardware like camera, GPS

Requires internet connection

May be slower

Cross browser compatibility issues

Mobile Run on mobile devices More access to hardware like camera, GPS

Some functionality possible w/o internet

Can be faster than web

Cross platform development can be more costly

App store has a review & compliance process

Installation required

Updating generally manual

Desktop Run on desktop/laptops High performing

Access to extensive system resources & capabilities

Can run offline (depending on data source)

Can be platform dependent

Installation required

Updating generally manual

 

 

Web platform applications, if they are the designed in the right way can be run from any type of device – a desktop/laptop or a mobile device like a phone or tablet. They can also be run regardless of the Operating System – like Windows, Mac, Android or IOS.  This makes them a very popular choice for applications.  However since the application is served from a web browser, you have to have an internet connection to be able to use the application.

Mobile applications can be designed to have at least some functionality without an internet connection.  For example, if your application was to record the results of a home inspection, it could be designed to allow entry of all the pertinent data and save that locally to the phone or tablet.  However, to do a task like submit the report to the home office, the application would need to be at least temporarily connected to a cellular or Wi-Fi signal.

Desktop applications have the advantage of being able to make use of more resources, especially the screen real-estate of a large monitor or monitors.  Speed especially of local processing can also be much higher.  Like mobile applications they can be designed to have functionality without an internet connection, however it is becoming more and more common to actually store much of your application data in the cloud.  This can operate like the mobile application example where data can be entered on a local store and then later synched to the cloud, or it can simply require internet to pull or store data.  If appropriate, especially if it is a one user application, the data can be stored locally which should be very fast.

Choosing the right platform for your application involves quite a few considerations. The first two steps you should take are:

  1. Define Your Requirements
  • Functional Requirements: What features and functionalities does your application need?
  • Non-Functional Requirements: What are your performance, scalability, security, and usability needs?
  1. Consider Your Audience
  • Target Users: What platforms are most commonly used by your target audience? (e.g., web, iOS, Android, Windows)
  • Geographic Location: Are there regional preferences or restrictions that affect platform choice?

What will a good IT consultant help with?

Once you have answered the questions in the above two steps, you are ready to seek the advice of an experienced IT Consultant to help with the platform and technology selection.  They should be able to help you evaluate your desired starting platform(s) and then assist with the rest of the considerations (below) to choose the best technology for your application development.

Most internal business applications for small to medium size businesses use either Web or Desktop platforms.  There is a place for Mobile platform applications as internal business applications for use cases such as a sales or service rep, or a factory floor worker.  The majority of internal business applications, however, are used by those sitting in front of a laptop either in an office or remote.  For those users the valuable real estate of a full monitor warrants a Web or Desktop application.

Recent widespread adoption of the cloud as a data storage location, see our March blog post “Should you move your data to the Cloud?”, has further blurred some of the lines between platforms.  For example, Desktop applications which tend to be better performing than Web applications, loose some performance when they need to go to the cloud to get their data.  The push to keep applications secure through applying frequent security updates has also influenced more businesses to choose platforms like Web where updates are immediately available.

Other considerations

  1. Evaluate Technical Constraints
  • Compatibility: Does the platform support the technologies and programming languages you plan to use?
  • Integration: How well does the platform integrate with other systems or services you need?
  1. Assess Development Resources
  • Skill Set: Do you or your team have experience with the platform’s technologies?
  • Development Tools: Does the platform offer the tools and libraries that you need?
  1. Analyze Cost
  • Development Costs: What are the costs associated with developing on this platform?
  • Maintenance Costs: Consider ongoing expenses related to hosting, updates, and support.
  1. Consider Deployment and Hosting
  • Deployment Ease: How straightforward is it to deploy your application on the platform?
  • Hosting Options: What are the available hosting solutions, and do they fit your budget and performance needs?
  1. Evaluate Performance and Scalability
  • Performance: Does the platform meet your application’s performance requirements?
  • Scalability: Can the platform handle growth in users and data?
  1. Security and Compliance
  • Security Features: Does the platform provide the security measures you need?
  • Compliance: Does it meet any regulatory requirements relevant to your application?
  1. Community and Support
  • Community: Is there an active community for the platform that can provide support and resources?
  • Support: What kind of official support does the platform offer?
  1. Future-Proofing
  • Updates: How often is the platform updated and improved?
  • Longevity: Is the platform likely to remain relevant and supported in the long term?

Conclusion

The right platform is one that aligns with your application’s requirements, your development team’s expertise, and your budget while offering scalability and future growth potential. Balancing these factors will help you make the best choice for your specific needs.

Facebook
Twitter
LinkedIn
Pinterest