X

Software Development

Software

More than twenty years of experience defining requirements and writing code to improve customer experience and provide business intelligence.

We have a deep understanding of modern software and information technology systems. Our mission is to help small business owners take advantage of information technology in order to transform their business. We facilitate this by delivering an integrated information technology solution that’s built using many of the individual features explained below.

Software and the Average Business Owner

Accumulation of data is at the heart of modern business. Extraction and intelligent interpretation of data are key business differentiators but, without a database correctly structured and developed to contain the data, it’s not possible to extract the value.

Most business owners don’t have a good understanding of which technology and software components are required to get down a path from “accumulated data” to “business intelligence”. Conversely, those with the technical expertise to get down this path, are less likely to have the business expertise to understand the value of the information that could be extracted.

Without having a good understanding of what’s involved to travel this path in either direction, significant expense can be incurred building databases and developing applications that may or may not be effective, timely, or even achieve an owner’s stated objectives or customer needs.

This problem frequently leads to wasted expense on software development and lost opportunity to use data that could have benefited a business operator and its customers. Businesses cannot afford the wasted capital or time associated with failed software projects, nor can they afford not to deploy technology to ensure their business is able to operate efficiently while optimizing their customers experience.

The essential components of the software required to operate a business with an integrated software platform in the 21st century are identified and briefly explained below.

Database

SQL stands for Structured Query Language and is the standard language used for relational database management systems.  A database is a collection of data, and specialized database software such as Oracle or Microsoft SQL Server, are just programs that allow data to be stored and retrieved as efficiently as possible.  Over the last decade, there has been a massive increase in the amount of data generated, largely as a result of the increase in the use of the Internet and, more recently, custom applications have been designed for intelligent use and interpretation of that data. These applications are largely dependent on SQL databases and more recently, non-relational No-SQL databases for retrieval and interpretation.

For the majority of small and medium businesses, there is no need to learn SQL or how to write custom database software. Mostly, small businesses utilize hosted software – for example, WordPress may host a website and the service they provide includes a “behind-the-scenes” database to store such information as articles, web pages, comments from visitors and data gathered from input forms completed by site visitors. Almost all businesses want to somehow utilize the data that’s stored in their database for the purposes of running the business more effectively and efficiently. The old saying “knowledge is power” continues to hold true, but if the knowledge is buried and not retrievable within a massive database, then there’s no value or potential until the time it can be extracted and interpreted.

If an enterprise develops a requirement for a custom use of data from its database that cannot be provided by a third party that has already developed it, then it may be necessary to retain the services of an expert in the field of database software development in order to obtain what is needed.

Application Platform

We primarily use the Microsoft .NET platform for software development and ASP.NET MVC for web development. ASP.NET is an open-source server-side web application framework designed to produce dynamic web pages. It was developed by Microsoft to allow programmers to build dynamic websites, web applications, and web services. ASP.NET permits the use of fully featured programming languages, such as C# or VB.NET, to build web applications easily while processing all code on the server. HTML output from the server is combined with JavaScript to provide highly responsive and secure applications. Object Oriented Programming makes it possible to build large applications and, with ASP.NET it’s possible to do the same on the web.

MVC Programming Practice

Use of MVC programming practice to keep the data (Model), styling (View) and functionality (Control) completely separated and isolated. This means the Model and Control code can be developed independently of the styling in order only the View code needs to be changed when creating multiple distinct sites.

API (Application Programming Interface)

An interface is a common boundary shared by two applications or programs that allow both to communicate with one another.  For a small business that has chosen to subscribe to a suite of different software applications from different providers it is critically important that APIs can be utilized to allow the applications to “talk” to each other and establish a fully integrated technology platform.  In order to facilitate a small business to integrate its various software applications it is important that each software provider has open APIs to permit third-party developers to map and facilitate the transmission of data from one application to another.

Web Services

Web Services are websites without a user interface that are used to allow multiple programs to interact with each other. This allows an application to be composed of many different components running on multiple web servers. Web Services enable information from massive central databases to be displayed on thousands of different websites – usually in return for a subscription fee in order to compensate the owner of the data and providing the service. Use of Web Services for different applications is limited only by the imagination.

JavaScript

JavaScript is an object oriented programming language built into all the major web browsers and commonly used to create interactive web pages through interaction with the HTML source code.  Users of the Internet would not have the rich experience that occurs today without the broad deployment of JavaScript that has taken place.

Custom Software

Businesses may have a need at some point for custom software applications that require the services of programmers. Resulting programs perform customized functions and usually interface with forward facing web-sites and reverse-looking back-office systems. Custom applications need to be built with the requirement for integration with other systems through use of an API at the forefront of the plan.

Small and Medium Business Enterprises

Fortunately for small business, almost all of the technology they need to be using in the modern digital era can be provided seamlessly, usually via Software as a Service (SaaS) subscription services. In the old days, if you wanted access to systems you had to build them yourself. This is no longer the case with obvious advantages in terms of reduced implementation time frames, reduced risk, reduced cost, and dramatically improved results.