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