The Name/Design Philosophy

What's in a Name?

The name begs the question: "So what's the KIS stand for? Keep It Simple?"

In a word, yes: our name is a stated goal of simplicity in design and implementation.

Sounds good, but large, interactive applications can get "unsimple" fairly quickly. And the more "simple" we make things for the user, the more "unsimple" the internal implementation becomes. And, although the simpler solution is often the better performer, that's not always the case.

All of this is true enough, but under these recognized already complex circumstances, what we don't want to do is add complexity.

This is critical, and is the central issue underlying the KIS software design philosophy. Sure we have object oriented languages and they help a lot, but you can "class" yourself into a pretty big mess, if you're not attentive.

The Approach

KIS' design approach can be addressed in the following major arenas:

  • User Interface -
    Consistent presentation of information. Constantly "pulling back" to determine if the system is doing what we would want it to do if we were a user, and if it does it as naturally as possible. Is the information organized compactly and does it facilite the user, or does it just get in the way?
  • Architecture -
    Delineating lines of functionality and defining effective interfaces. Looking for ways to parameterize like functionality to use smaller codebase, or keep rarely used subsystems out of the load until needed. Further examination to expose parameterized functionality in the UI, leveraging technology that is already in place.
  • Coding -
    Formatting and blocking code cleanly, leaving ample "bread-crumbs" in the commenting. Reducing algorithms to essentials.
  • Documentation -
    Documenting at a minimum areas of complexity and interaction. Leave "bread-crumbs" for the next person who has to follow in our footsteps.

Of course, time and scheduling have an unhappy habit of attenuating everything, but those are the goals. With over twenty years in software design of small and large end-user systems and products, KIS Systems can help get you through the process of a creating a successful project.