Two years at Tonbo Imaging

This year, compared to last year has been a lot more of software development and making the cameras a finished product - a device that can be sold with the highest quality standards. If you've worked on taking a proof-of-concept stage demo unit to a high-grade production ready, you'd know how time-consuming this is.
  • Media Libray for Android - Lib Graf
    This is probably the company's first Media Library. A lot of the older systems use the same code copy-pasted from one git repository to another for media streaming or creating viewer applications with minor changes for different products. This a step towards stopping that and is specifically for Android devices. Works on Android Handheld and Wear devices.
    Read more at rish.space/projects/lib-graf
  • Camera SDK & Camera-Client Architecture
    Tonbo has made over 50 different camera devices ranging from 80-pixel tiny cameras to handheld units to ones that go on helicopters. There's a lot of similar code over dozens of repositories for each camera variant, and equivalently, that many different repositories for compatible client applications on platforms like Windows and Linux.
    Read more on what specifically the challenge was and how I solved it.
  • Thermal Scope UX 
    Our first large order is for thermal scopes - cameras that help hunters shoot pigs, hogs, and rabbits. I spent a good month on designing the camera UX and UI, understanding the shooting domain and making the camera UX easy for hunters. I'll put up a video soon.
  • Regular deliveries
    This was probably the most painful bit of the entire year - and it lasted the entire year until around October. Now, there are two types of problems: 
    • one is the path of novel discovery, figuring out something that hasn't been done before leaving you with a feeling of accomplishment and satisfaction. 
    • The other is one that leads you to be able to do the first - the irritating and frustrating issues of fixing things that are expected to work out of the box so that you can later work on interesting problems.
    Unfortunately, our hardware put us against the latter. What's worse is I didn't really learn anything from all of it. The fixes we learned over time were much like the generic medicines handed out by the doctor at my college clinic based on an if-else symptoms list.
  • Managing an iOS Freelancer
    We're currently in the process of getting an iOS client app made externally and I'm the point of contact to ensure this happens smoothly. It was pretty fun finding a freelancer, and understanding the iOS world. For him, it's a pretty smooth ride because of the well-written Camera SDK ;)
  • Month-long travel
    I traveled all over North India, skied for a week in Auli, and spent another two weeks in Bhutan - just being. I didn't have my laptop this entire time.
    I'm really fortunate my boss allowed this. What this break helped me understand is practically no one is irreplaceable, and work will go on whether you're there or not. Just that when I came back I had a lot of unreviewed code to work with.
All in all, this was a good-ish year at work, but a far better year on the personal front. I had a month off, I took a couple work from homes every month, visited home a lot more, spent less time with friends, and worked on several personal projects. I also finally designed my personal corner of the great www and I'm really happy with it. Visit rish.space!

I hope to work on media, imaging and computer vision problems next year, and take a break from pure software engineering. Having written a stable camera code and documented the architecture, I want to spend a month or so working on my video stabilization code and integrating it with my graphics library. I've also identified a two MOOCs in camera design, photography, and vision I want to take up.

Comments

Popular posts from this blog

[Breaking News] AI takes over universe to calculate Pi

Firebase Auth | The Debug vs Release Signature Problem

Cold Showers