Creating Strong, Successful IoT Products with Holistic Development

Internet of Things devices are valuable because they bring together physical objects, apps, and the cloud. That’s also why they’re extremely difficult to build successfully. All the different pieces of an IoT system have to work seamlessly together, and they have to provide a smooth, successful user experience.

Read more on Creating Strong, Successful IoT Products with Holistic Development…

A Simple Message Queue for C

Let’s face it, when you’re doing embedded development, you really don’t have a lot of great tools at your disposal. If you’re lucky, you might have a C99-compliant compiler and a microcontroller with floating-point hardware and DMA. If you’re unlucky you might have a microcontroller that doesn’t actually have a stack and a compiler that doesn’t support using structures as function arguments!

Read more on A Simple Message Queue for C…

Building an Alexa Skill as a Web Service on Heroku

I love playing around with new technologies; I am truly a tinkerer at heart. As a consultant and custom software developer, I frequently have to answer questions like, “What does this latest iOS update mean for our app? Can we leverage any new features?” or, “What benefits can we gain from this new Bluetooth standard?” Keeping up with the latest languages, platforms, IoT gadgets, etc., can be a daunting task, but it can also be really fun if you take it in small bites. Read more on Building an Alexa Skill as a Web Service on Heroku…

Five Crucial Steps For Writing a Mobile App For a Bluetooth Device

Writing an app that communicates with a Bluetooth device can be very challenging. These days, apps tend to do a lot of work behind the scenes, such as syncing data, updating firmware, etc., without the user knowing about it. When something goes wrong with a process that is not directly visible, it can be quite difficult to detect it and figure out what is causing it.

I have worked on a handful of such apps now, and along the way, I have picked up a few best practices that I believe make the process go much more smoothly.
Read more on Five Crucial Steps For Writing a Mobile App For a Bluetooth Device…

Elegant Form Validation Using React

Over the past few months, I’ve really been enjoying learning to use React for front-end web development. I love how React encourages you to write clean code by breaking your presentation components into small chunks that are easy to reuse.

Lately, I’ve been working on an approach to add form validation to React components, and I’d like to share what I came up with.
Read more on Elegant Form Validation Using React…

IoT Made Easy by Particle

I love the Internet of Things (IoT) uprising that is happening right now. I mostly spend my days writing software, but my degree is in electrical/computer engineering, so IoT technologies combine a lot of things that I am interested in.

When the Raspberry Pi first came out, I got very excited and immediately began building my first IoT device. It was a lot of fun, but I quickly discovered that making an IoT product is really hard and requires a lot more work that I had initially thought.

A few years later, I was delighted to find that a company called Particle is trying to make the lives of people like me much easier. Particle is revolutionizing the world of IoT by building infrastructure that supports taking a product from prototype to mass production with minimal time and effort.
Read more on IoT Made Easy by Particle…

A Design-First Approach to Mobile App Architecture for iOS

At one time or another, how many of you have thought, “I’m glad I get to do mobile development because that means I don’t have to deal with CSS”? I’m not going to lie. I’ve had that thought more than once. And, while it’s true that by working in the mobile space, we have escaped the misery of CSS, the reality is that we still suffer from many of the same problems that CSS was designed to resolve. We still have to decide: How do we separate aesthetics from behavior and function in our applications? Read more on A Design-First Approach to Mobile App Architecture for iOS…

Detecting Drag-Into Touch Events in UIViews

Recently, I was working on a iOS app where I had several UIViews arranged on a screen and wanted to detect when the user drags a finger into one of the views. Seems like a straightforward thing to do, right?

I know about the UIControl class, which is a subclass of UIView, and that you can register handlers for a wide range of events by using the addTarget:action:forControlEvents: method. I looked through the list of events and found one called UIControlEventTouchDragEnter which sounded like exactly what I was looking for. Read more on Detecting Drag-Into Touch Events in UIViews…

Improving on the Open Office Environment with Slack

At Atomic Object, we’ve always been big fans of the open office floor plan. Our offices consist of wide-open rooms with table groups where team members can easily work together. This environment allows spontaneous brainstorming sessions and problem-solving discussions to occur naturally throughout the day.

One thing that I really love about the open office setup is being able to hear bits and pieces of what other teams are doing throughout the day. When working on an application, it’s not at all uncommon to run across a problem that someone else has already addressed. If you know the right person to ask, sometimes you can save yourself a great deal of time and headaches just by having a discussion with a coworker. The open office environment helps make this possible. Read more on Improving on the Open Office Environment with Slack…