About CodeDragon Software

Our Guiding Philosophy Regarding Software Development and the User Experience

Long before its inception, Chris Donalds, one of the co-founders of CodeDragon Software has always been concerned with creating software for the public that is ergonomic to use, elementally powerful, and improves the system in which it is installed.  These three principles have driven his pursuit of what he calls “human” software architecture.  And these principles form the backbone of CodeDragon’s software development philosophy.

“From desktop applications to a fully-realized website content management system, my focus has consistently been to provide feature-rich productivity software with a clean UX model.  My users should be able to touch them and know how to use them.  No cluttered techo-babble or long-winded process flows.”

Easy-to-useFor software to be ergonomic to use it must be well suited to how people think, and how we solve problems.  After all, software that cannot be an extension of our thinking is an impediment to our ability to work.  Our software is built from the ground-up to honor certain software design policies:

  1. Anything you need to do should be accessible within three clicks.  This means that functions are properly grouped into sections that make logical sense.  It is also important to conveniently cross-link functions that are related from multiple points.  A function may be handled in a specific place, the route one takes to get to it varies from user to user.
  2. Use common language as much as possible to describe tasks, functions, features, and notices.  While some of our software may involve more technical concepts, we endeavor to further explain those functions in a way that the average user can understand.  When people better understand what the software is asking of them and doing for them, there is less chance of mistakes or misinterpretations.
  3. Do not overwhelm users with too many requirements in order to use the software.  So, all of our products are built to anticipate common needs, access the environment in which it is installed, and then take appropriate initial action.  Notwithstanding, whatever our software does as convenience for you is easily adjusted by you.  You have full control of its operation.

Elementally powerfulBeing “elementally powerful” is more than just being able to do a lot of cool things.  It’s underlying premise is to do cool things “elementally”; those cool things need to be part of the core wiring of the software.  Let’s explain:  it’s nice if a software product can optimize image sizes, but it is elementally powerful if it does so without requiring the user to do anything beyond the initial setup, and do so no matter where, when, or how the content was originated.  This way the cool factor seems almost magical.  Our software includes a lot of elementally powerful features such as on-the-fly optimization, intrinsic debugger output, multi-modal add-ons, granular controls, and intelligent adaptation.

Our products are designed to work well with othersLastly, for our software to be able to improve the system in which it is installed, it must minimize it’s footprint and negative impact.  While this is a laborious process during testing, we take this principle seriously.  Albeit systems such as WordPress have tens of thousands of plugins and thousands of themes, and it would be exponentially difficult to be compatible with each one, certain requirements hold true.  First, we make sure our code is compliant with the coding guidelines set out by the environment for which our software is built — the software system, database engine, and server.  Second, we strive to balance our adherence to WordPress and Drupal coding guidelines while meeting the current PSR-3 and PSR-4 standards.  Being standards-compliant benefits our users with products that aim to work well with other software, and shortens our implementation-development-testing-deployment timelines.

All of this culminates with software that is both easy to use and effective.  Ultimately we want our users to have a rewarding experience with our products, products that we would be excited to use ourselves.