The tech behind our design process
“Product design” can mean so many things that it's at risk of meaning nothing at all. However, for us it means a very concrete set of technologies, which fall loosely within the three broad categories of software, interface design, and electronics.
For areas that we don't cover ourselves, such as mechanical design, we have companies we work with or can recommend, and we can work comfortably with you or other teams.
Read on for the good stuff.
UI design & user experience
Human interaction is an integral part of our full-package software design service. We work hard—with you—to strike the perfect balance between a lot of amazing features and clarity of the interface. Our in-house designer understands the complex needs of the software experience, and brings it together with beautiful, modern visuals.
Visual balance
Complexity made simple
Comfortable with 3rd-party designs
Work with existing branding
Or create new branding
Knowledge of user interface principles
Electronics
No disrespect intended to software engineers, but without our backbone of electronic design and the ability to create complex circuit boards from scratch, we'd just be one more competent software company. Our electronic design engineers give us our all-important ability to interface to the physical world.
PCB layout
USB connectivity
Satellite, 4G, LoRa, etc.
WiFi & Bluetooth connectivity
UL, FCC, CE, EMC, RoHS compliance
ARM/MSP430/AVR
End-to-end production management
Software development
We craft our software carefully, with a strong emphasis on good communication between our customers and our developers. We write well-organised code, with an emphasis on simplicity and elegance, and we have solid development practices with automated testing, version control, and regular code reviews.
C, C++
Python
Subversion, Git
Full-stack web software: HTML+CSS+JavaScript
SQL database programming
Linux and Windows
Technical documentation
Lots else. Just ask!
Embedded software
The embedded world, with its power, memory, and speed limitations, and the paradigm-shift involved in dealing directly with bitwise logic, gpio pins, analog-to-digital conversion, and much else, poses a variety of unique challenges which we're well equipped to deal with.
We also have extensive Linux experience. A wide variety of internet-of-things and semi-embedded devices are powered by Linux under the hood. For products that don't need to be so close to the “bare metal”, basing your product on Linux can be an excellent way to avoid reinventing the wheel (and using up your budget) on solving already-solved problems.
Embedded graphical interfaces
Embedded Linux
Protocol encoding/decoding
Remote device upgrades
Ultra low-power design
Module drivers
Web and cloud apps
We wouldn't be who we are if our software wasn't connected. These days, business software that only lives on your desktop often just collects dust. We work to keep software living by proactively designing for the cloud first. (But we leave both feet on the ground.)
HTML5+CSS+JavaScript
SQL databases
Charts and interactive widgets
HTTP APIs, REST, JSON, XML
PHP, Python+Flask
Cloud hosting and backup
Smartphone and tablet apps
Measuring interesting things is great, but there's a big gap between having data somewhere in a database, and actually using it to drive decisions. What makes the difference is often just convenient access. That's where the gadget in your pocket becomes really useful.
SMS and push alerts
Charts and heads-up information
Mobile-friendly design
Android
iPhone
Bluetooth and other connectivity