At the heart of our niche software development business is an engine of continuously expanded and refined expertise in software solutions architecture, successful project implementation and reliable long-term support. Dedication to process and technique is as vital to our success as it is for any elite craftsman. It allows us to listen closely to customers' wants and needs, then choose from a broad set of powerful, flexible tools to turn vision into reality.
More than 20 years ago, before we rolled out our first database-driven information management system for a client in the healthcare industry, we chose to dedicate our energies to mastery of the Microsoft suite of software tools and technologies. That has proven a key factor in our longevity—and is still an underlying driver behind the loyalty of our clients.
We develop in the "Microsoft stack", using the .NET Framework and the C# programming language, with Microsoft-based servers running Internet Information Services (IIS) for Web sites and Web applicatioins or new-generation Microsoft "core" applications that don't require IIS. Where it makes sense, we leverage other frameworks (like jQuery and Bootstrap) because they're tested and proven, and they speed the development process. We've also provided solutions using largely code-free tools like SquareSpace™, GoDaddy's Website Builder and the DotNetNuke (now DNN) CMS.
The internet has never been more powerful or pervasive than it is right this minute. Like the universe itself, it is seemingly expanding in all directions at once:
If you have a project in mind, consider reaching out to us. We specialize in secure, database-driven distributed Web applications, although we've implemented a broad range of solutions for our clients over the years.
We help customers get from where they are to where they want to be using technology. The personal computer was invented 40 years ago—but few people actually had one early on, and fewer still had one they could tote around.
Now most people have a computer at home and one at work. Virtually everyone carries one in their pocket, and it has more computing power than the Apollo spacecraft that landed on the moon—not to mention a high-resolution digital camera (or two), the ability to synchronize with their other computers, and a link to other people and computers all around the world.
The question is: What are you doing to help your SMB (Small-to-Medium-sized Business) capitalize on this amazing thing that most of us take for granted, to gain a leg up on the competition, to run more efficiently, effectively and cooperatively?
Sometimes all it takes is to step back from the crises of the moment for a short time, do some really untethered thinking, and come up with a list of ideas that might make a difference in your organization. If you do that, then engage us and let's work together to determine if the development scope of your ideas fits our development capacity, and we'll go together from there.
The Information Technology space is filled with stories about projects that swallowed giant sums of money, vast amounts of management and development time, and in the end collapsed, producing nothing.
The reasons for failure are usually clear, even if not everyone involved agrees. Sometimes there's nobody to blame; it's just a case of trying to "stretch too far", or being unable to foresee developments that will torpedo the project before it can be built completely enough to offer benefits.
After vetting a project with reasonable care—a process that includes communication with the client, research and solid a big-picture understanding of key objectives and nice-to-haves, we enter a phase of iterative development.
In this phase, we build portions of the solution and review them periodically—sometimes as frequently as every week or two—with the client in a "hands-on" environment. We rarely work from detailed written documents like technical or functional specifications, partly because we're careful to limit project scope up front. And, we'd rather spend that time in client dialogue, thinking the project through, rather than writing specs that are often outdated as soon as they're finished.
We welcome requirements documents as part of the vetting process; these may literally be back-of-the-envelope sketches. This process continues throughout development and past initial roll-out. One of the fundamental benefits is that it makes it virtually impossible to arrive at the final testing phase and discover that what's being provided isn't what the client wanted—or even close to it.
The client knows more or less exactly what is coming—because they've been a welcome partner, guiding and observing its development all along.
Sometimes, even for seemingly small projects, it's like we're building a big ship. It's complex, it has a lot of moving parts, and there are many subsystems that must work together to achieve the desired result. That's the challenge—and it has its rewards.
What we—and the client—don't want is to take the ship out for sea trials only to discover we've built a cruise ship when what was really needed was an aircraft carrier. Iterative development is an approach that helps avoid such major misfires.
Building data-driven applications—or even straightforward Web sites—is only part of what we do. Once the product is live, we're actively engaged in monitoring performance, tracking usage, tweaking functionality, enhancing the user interface and planning for future enhancements.
We depend on a robust hosting platform with redundant architecture, trustworthy backup-and-restore technologies and direct on-site hardware support. For this reason, we use a hosting service that allows us to run all our applications, Web sites and Web services on virtual dedicated servers.
We connect to and manage most of the characteristics of these servers—including all the solutions we develop—ourselves. We rely on the hosting services provider to keep the servers up to date with hardware and software updates, and backed up on a nightly basis. It's an approach that has served us well for 20 years.