Documentation‎ > ‎Development‎ > ‎

Design Philosophy

Design Philosophy

Who cares about design philosophy?

If you are one of the lucky people that just happen to check out OctoMY™for your project then you can blissfully move along. Nothing to see for you here :)

However if you are planning on becoming a contributor, this page is like totally super important.

The nature of open source.

Developers all know that a day job in IT often means working for a pointy haired boss. If you are lucky, you work for an organization with strong technical leadership, and observe less of this reality. But in the end any for-profit organization will have some constraints that affect you.
  • You don't get to decide what features to make
  • You don't get to decide what tools to use.
  • You don't get to pick your team mates.
  • You don't get to decide the amount of time and resources needed to make it "properly".
  • etc.
To any company, IT and software development is just a tool to meet the current business goals, and that means that developers are tools to be used as well. It is expected that you as a developer do what your boss asks of you in return for a pay check.

What most developers also know is that when they get home from work, there is a small window of opportunity awaiting them, between the family and house chores and bedtime. Glimmering like a forgotten gemstone in the dirt, it allures many developers into the mystery of the night...

In this window all the restraints of the business world all but dissipate and suddenly you are in full control. With the whole internet at your finger tips, and the infinite sea of time ahead (albeit chopped up in annoyingly small chunks), you now suddenly command the mission.

Now you can make anything!

Yes, you can set yourself a goal, a timeline, and other restraints. You can even work towards becoming the boss of your very own company. But the beauty is that you can also decide to  just pour all of your midnight energy into perfecting 10 lines of meaningless but poetic code. You can dedicate yourself to coding as an art form or coding as pure entertainment.

My midnight energy

I have decided to dedicate my midnight energy on what I hope will be the project of my life, namely OctoMY™. The main goals are more fundamental:
  • I want to decide what features to make.
  • I want to decide how to make it.
  • I want to decide what tools to use.
  • I want to pick my team mates.
  • I want to decide the amount of time and resources to spend on OctoMY™for it to be done properly.

If you want to join me in my effort and become a successful contributor for this project I welcome you!

Core Values

To make collaboration possible it is important to communicate the core values of the project effectively to all involved.


  • Complete: The solution should stand on it's own and provide a complete feature set that gives more value to most hobby class robot projects.
  • Nimble: Provide the important bits but avoid pulling in unnecessary dependencies and adding only nimble and useful features. Reap benefits of code reuse and simplicity by sticking to one platform. Qt can be deployed to Android/iOS devices, Windows / OS X and Linux desktops.
  • Cutting edge: Harness the power of modern concepts in robotics like deep learning.
  • Robust:Always provide a stable version. Follow good practices for maintaining the software in a stable state.
  • Social: Provide a vessel for learning about all these advanced topics for anyone involved.
Subpages (1): Core Values