CUSTOM APPLICATIONS
We can design and develop stand-alone and web-based applications using the Microsoft
Windows/.NET platform from the ground up, working independently, with 3rd
parties and as
part of your development team.
Our basic development toolkit includes:
- Visual Studio 2010
- Microsoft Expression Web/Design
- C#.NET
- VB.NET
- ASP.NET
- Microsoft Office Automation including Microsoft Access
- Microsoft SQL SERVER
- SQL Server Reporting Services
- Crystal Reports
- ...other
Over the years we've also worked with a number of different development and
database tools including Visual Basic, Microsoft Access and FileNet Document
Management.
We're also moving deeper into web and mobile development
and have plans to incorporate more open source
development tools and plans to begin
application development in the Android environment later
this year.
Custom Applications:
The size and scope of a new application is all important.
In a perfect world whenever your company runs into a new need that an
application can solve, you'd be able to point to a reasonably priced existing
online application and download it on the spot. OK, we're not in a
perfect world.
Assuming that this is not the type of application that can be completed
in a few days, it goes back to the issues of size and scope.
There a lots of questions that need to be asked in developing a new piece of
software. Here are some that might be worth of consideration:
- Is this an internal application? Will you clients have
access to it?
- Stand-alone or web based? Maybe even time for the cloud?
- Is it for commercial distribution?
- How will it be supported when it is completed?
- Are you committed to having the application developed correctly?
- Are you committed to having the application developed correctly?
- Are you committed to having the application developed correctly?
That isn't a browser hiccup but the reality that if an application is
going to be integral part of your company's operation it needs to developed in
such a way so that it can be reliable, modified as needs change, straightforward
to use and an absolute joy to support.
Focused - Simple - Reliable - Secure:
Developing a new application can be a very expensive proposition, not
only in dollar costs, but also in the time of all those involved in the
development process and in the lost opportunities if the application
does not solve the problems it was written to solve. Add to that,
the additional maintenance headaches down the road and the time and
effort to rework the code.
Especially for a first release it's important to stay focused.
Make sure that you target the features that you absolutely need.
Make it rock solid and if security is an issue may sure that its baked
throughout the project. It's much easier to add those features
that didn't make it into Version 1.0 if the foundation is strong and can
easily support future growth.
Sturdy Foundation:
In developing a custom application, it's a given that the specifications
should be clearly spelled out - if done right you get a three-fer as the specs
will not only define the blueprint of the application, but they will also be the
mechanism where the application is tested and documented.
Maybe you can even get a four-fer if you consider that the specifications could
also define the error handling that's integrated into the application - and yes,
do not skimp on the error handling. Some estimates for
application development define 40% as being involved in error handling.
Will you need that much? Probably not, but again, that goes back to the
size and scope of the project. You have to weigh the cost of the application
finding an error opposed to having the application in production and running
into incorrect results and undescriptive system error messages - not to mention
the time needed in tracking something down.
If the application will be distributed to clients, error handling
obviously becomes even more important. Graceful exits are always
better than obscure messages.
Having an error log file, also provides some insight into how the
application is running since it could also contain messages that are more
informational. The other nice thing about having some sort of
error logging system is that it is something that can be shared by several programs.
Ownership:
The users of the final application should have an ongoing vested interest
in the application from the first specs through testing, implementation and
production. There's a cost in time which may not be readily
available - everyone's always busy doing something else, but its time worth spending. Like much in
developing a new application, the time spent up front can be more than accounted
for when an application goes into production - and the changes that will likely
be made throughout its life cycle.
Post Production:
Make sure that you've also planned for the care and feeding of a new
application. It's important to have a systematic way to have
errors reported and how those errors are handled through resolution.
Have a regimented system of incorporating new changes, testing procedures
and how new versions are implemented. Also, keep both the
internal and external documentation up to date.
It's also worthwhile to have a stand-alone play environment for the
application where new users can get the hang of using the system with dummy
data. That stand-alone environment can also be used to flesh
out new UI, new logic - basically becoming a very dynamic whiteboard.