Customer relations
We are a customer-focused company. We listen thoroughly to our customers, assess each project
idea carefully, and design a solution that provides the functionality and quality that you require.
We know our success depends on your success.
While maintaining the best engineering practices,
there are many ways to solve any problem. We don't force our ideas on the customer - we craft
software that meets your goals and philosophy. And we won't promise more than we can deliver.
If the project plans would produce unreliable or poorly performing results, we will let you
know up front.
We take pride in producing high quality software.
Code elegance
With all the advancements in programming tools, it still takes an artist to write good
software. Well-written software is beautiful - from its architecture down to its coding style.
Certainly, the computer doesn't care if the source code is readable or has a consistent style.
But the next programmer to look at the code does care - many hours are
saved if the code is clean and elegant. More importantly,
elegant source code goes hand-in-hand with elegant algorithms, elegant architecture and
stunning results.
Transparency
A well-designed system shouldn't have a lot of magic going on inside of it.
The software design should mirror the problem to be solved, so that an end-user would
have no surprises if he or she looked at the code structure. The structures and
algorithms should be obvious and simple on a conceptual level. And the names
of structures, classes and variables should be carefully chosen to better mirror
the problem to be solved.
Transparent software takes more time and skill to develop, but is vastly more valuable.
It is more robust. It is more extensible.
And it is more understandable, especially to non-technical people.
Rapid Application Development
Being the first to market with a new technology can make or break a project.
This often results in software that is rushed to the point that design flaws or bugs
find their way into release code. While this can be an unavoidable risk we see it
as an opportunity. We don't hire entry-level programmers. We don't use rapid application
development tools. We don't paste together widgets or code snippets from various sources.
Instead, we give each project the analysis and planning it deserves. Our experienced and
expert engineers put the effort into creating a relevant, robust and extensible architecture
for each project. Our effort into the initial design phases results in reduced effort in
later development stages and a better - and quicker - end result.
Code bloat
Bloated software is the result of poor design. We take extra effort to avoid repeated
code or excessively complex code. A smaller solution is usually a better solution in
speed, complexity, and maintainability.
We don't add libraries or widgets that have a lot of dead wood. Instead we select software
with an eye for compactness. While end users may not notice an extra megabyte in
their code, we find that bloat diminishes performance - and is easy to avoid.
Software tools
Powerful new technologies are being invented constantly.
How do we choose which tools to adopt?
Lacking a reliable crystal ball, we follow these guidelines: Select tools that are
standards based - avoiding the monopoly trap. Choose mature tools with broad acceptance.
Choose fewer technologies and use them to their fullest extent.
|