Tired of conditionals? State pattern could help

When writing code, our classes often go through a series of transformations. What starts out as a simple class will grow as behavior is added. And if you didn’t take the necessary precautions, your code will become difficult to understand and maintain. Too often, the state of an object is kept by creating multiple boolean attributes and deciding how to behave based on the values. This can become cumbersome and difficult to maintain when the complexity of your class starts to increase.

A Pairing Model For UX Designers

In agile software development pairing is a technique that engineers use to maximize efficiency and quality. It helps engineers deepen their practice and relationships. It adds a level of fun to their work and gives them more confidence that they are proceeding down the right path.

Is Swift production ready?

I began working on an iOS app called Healthy Baby at the end of 2014. At the time Swift 1.0 was already released and Apple was iterating on it rapidly, adding features and also changing the syntax of the language with each release of the SDK. It looked like the perfect time to start a new Swift project.

Announcing AT&T M2X: An Industrial Grade IoT Platform for Everyone

We believe in the not-too-distant future your home will know if it should save power by turning off the lights and lowering the heat because you are away on a business trip. We believe that your cars engine will start to warm up for you as soon as your thumb touches the handle on your front door. We believe you and your family will be protected from danger with smarter smoke detectors powering a more responsive fire department and providing a wealth of air quality data to more informed parents. But most importantly: we believe our ideas about what might happen pale in comparison to the explosion of creativity and genius that the product design and development community will unleash.

Motion detection with Raspberry PI

Motion detection is a tricky problem to solve, the key is to balance sensitivity so that it doesn’t catch light changes but still catches movements in the frame. In this article I will describe 2 methods to achieve motion detection: calculating frame differences manually and harnessing the power of the H.264 encoder. Finally, we’ll store the results online using using a connected devices (Internet-of-Things) platform from AT&T.

KP.org: A case study in user experience disaster.

A friend recently sent me an email with screenshots describing KP.org’s workflows for sending a message to a doctor. He was telling me how painful the process is. Of course in my head I thought “it’s 2014…how bad can it be.” After reviewing his screenshots, I wasn’t entirely sure it could get much worse.