The first decision you have to make about the system you'd like us to build for you is this:- how will you use it, and on what technology will it be based?
By this we mean do you want the app to run within Windows like any other(like say Microsoft Word)?. This offers the widest posible functionality and speed, but it assumes everyone who needs to use it is inside your office or can access your office LAN or WAN. It also makes assumptions about everyone's PC - if they all have a Windows PC, then this is still a workable approach, but if some staff have MACs, or need to use the software on their tablet, or Phone or over the internet then this isn't the best solution.
If the users of this application will be scattered around the country or the globe, and use a variety of technology platforms then ais probably best. However this can place limitations on certain functions, particularly if you need to access equipment or other software on your network.
Is it important that the application run on a phone or tablet, or perhaps only on those devices. A native iOS or Android application may be appropriate here. In these cases its vital to discuss the range of devices that must be supported - sometimes a website crafted to operated on Phone sized screens may be simpler.
Do you need a windows application for in-house use, or to deploy as commercial software? Will it be used on the local PC, or run via Windows Terminal Server/Citrix? Do you have a preference for WinForms or WPF (PRISM) based development? Is the database going to be local, Microsoft Access, SQL Server or some other toolkit?
Our experience allows us to build for any combination of these requirements. More importantly, we can walk you through the decision tree that will establish the best technological approach for you.
We typically build new system using C# and .NET in Visual Studio 2013 or 2017, producing applications that can be installed directly or ones compliant with the Microsoft App Store.
Does your application need to be used by people around the world, around Australia, or perhaps just accessible from any browser within your company network? Will it be used by PCs, MACs, Tablets or Phones, or all of the above? Tell us what your required platform is and we will design a browser-based internet application to suit.
Do you need SSL security? We can build a system that is just as secure as the ones used by your bank.
Do you require an end-to-end solution including local Hosting, or Cloud providers like Azure or AWS? We can help you choose a host that will meet your financial and operational needs.
Creating the parts of an application that lie behind the scenes is just as complex as the interface that is presented to the end-user, whether in a browser, or running in Windows. And just as critical when it comes to meeting performance targets. Terms such as Client-Server, N-tier design, Web Services, REST, WCF, Cloud services and others all describe ways and technologies for designing how data is moved between the database, the server and the client device and back again.
They are also important because a system designed for a few dozen users simply won’t scale up to several thousand unless significant changes are made. This is why an online shopping site may work fine until a special sale begins, and then it promptly crashes - it wasn’t designed or planned for that kind of peak usage.
There are questions that we will discuss with you when planning your system that will allow us to avoid such problems.
Designing and building applications that must be secure and/or contain data that has to be kept private is straightforward so long as these expectations are stated up front.
But its important to discuss exactly what is being protected:
Answering the above questions leads us to discuss how your system will be administered:- how will new users be granted access? Who manages and authorises this? What degree of automation is expected here? Are there Government or legislative requirements which have to be adhered to? Are we talking just Australia or do we have to keep in mind requirements of other countries as well?
Working on secure systems usually requires our team to sign non-disclosure agreements. We are happy to discuss any such requirements with you.
Please note that security places an additional burden on your Acceptance Testing Team - to ensure that not only is the application working as expected, but that all security measures are operating exactly as expected.
Microsoft has been steadily downplaying Access in recent years, but it remains a powerful tool for small database application development, and its reporting engine is second to none, especially if you need your reports to be highly customised.
Remember than an Access Application can use local data, or data from SQL server, so the typical scaling problems with Access don't have to apply if the system is designed correctly form the outset. Having said that, it remains a toolkit best used with small teams.
If Access is included in your Microsoft Office license then its worthwhile considering it when deciding on the type of application you need.
Tell us what you currently do manually in Microsoft Office and we can help you automate it.
More importantly, would you like your Staff to just open say Word, select a template and have the new document populated by live data from an existing (or new) system? Perhaps have Visio draw you a new diagram from scratch based on a database and your selections? Or, have Excel link to a third party API to process information (eg: validate a list of postal addresses using an AMAS certified product). Or do it all, in every Office product?
Integrating Word, Excel, Access, Powerpoint and Visio with your own systems by writing templates, dedicated add-ins, wizards and various other techniques is a specialty of ours. We can produce these and provide full instructions for your IT dept on deployment, how to manage Office's security constraints, using code certificates, and even deploying add-ins commercially to the public. We can also ensure that your templates and add-ins work across a wide range of Office versions, from Office 97 to the latest Office release.
Would you like your Windows or Web Application application to output (report) data into Word, Excel, Powerpoint or Visio formats?
Most people think of Visio as a tool that you work with manually to build diagrams, but it has the same sophisticated VBA backend as Excel and Word. This means you can automate anything, create templates, read and write database information, and display forms to the user to gather data (about a diagram).
If you have systems that need to produce highlighly graphical output, especially large format output that programs like Word or Excel might baulk at printing - writing a template in Visio is a powerful alternative solution.