blog-banner

Spread the Love: Kickstarters We’re Backing

March 10th, 2017 | Brian Tol | Kickstarter

SpinDance has always been a firm believer in collaboration of technology, knowledge and resources. After all, what is IoT if not the manifestation of collaboration? (That’s a mouthful.) So it should come as no surprise to learn that SpinDance is an active participant in funding start-ups through collaborative platforms, including the mother of them all: Kickstarter.

Since its launch in 2009, Kickstarter has attracted nearly $3 billion in funding from 12 million people, with nearly 120,000 projects successfully funded.

We’re on both the giving and receiving side of the start-up equation; several Kickstarter projects have engaged SpinDance to assist with IoT technology development. You might say that good karma comes when you practice what you preach.

It’s exciting and rewarding to be able to lend our skillset to these projects, and we intend to keep the pipeline flowing. Here are a few of the projects we’ve backed over the last few months.

Read more

Get To Know SpinDance

March 6th, 2017 | Brian Tol | SpinDance

SpinDance was recently featured in a short video produced by Grand Rapids Tech List, an organization that highlights local technology businesses by sharing their stories through video. We’re in good company, and SpinDance CEO Mike Ellis tells the 10,000-foot story of what we’re all about.

Take a look:…

Read more

Thoughts on CES 2017: Wireless Power, Real-time Vision, and More

February 10th, 2017 | Brian Tol | Opinion

Late in January, some SpinDance engineers sat down to discuss the products and technologies that were announced at this year’s Consumer Electronic Show, also known as CES. Every year, there are literally thousands of products demoed and/or announced at CES, many of which never make it to market.

We’ve found the best way to process CES is by first looking at the overall trends, and then discerning the real value of the newly-announced products. Below is an edited transcript of the first part of our conversation. We’ll post the second half later in March.

The engineers around the table included Sean Hamstra, Karl Jager, Chris Samuelson, Brian Tol, and Ty Zoerner.

Real-time Vision & Molecular Scanning

Brian: I was really intrigued by some of the vision products announced at CES. There are some companies doing some really cool things, like the Aipoly AI product, and Consumer Physics’ molecular scanner. It’s basically a tricorder that identifies the chemical composition of things.

Karl: I agree. I see the application for that technology a lot more than some of the other products I’ve looked at.

Ty: Yeah, The AI product was neat. Imagine being a blind person, and you’re at the store. You point your phone at the shelving, and it tells you “here’s Pepsi”, or “here’s Coke,” etc. Really helpful.

Sean: And I was surprised how quickly it could identify things….

Read more

IoT Notes: Smart Bricks, Open Standards, and IoT for Cows

January 17th, 2017 | Brian Tol | IoT Notes

With the holidays firmly in the rearview mirror, SpinDance is looking forward to an exciting 2017. The IoT space continues to rapidly evolve, so we thought we’d try something new this year: in addition to long form blog posts, we’re going to start highlighting interesting news and technology in a series we’re calling IoT Notes.

SpinDance operates at the intersection of technology, business, and user experience. Those are the lenses we’ll be using to comment on the state of IoT. We’d love to hear from you; and if you have an idea for a topic or a reaction, please drop us a note at hello@spindance.com or tweet us at @SpinDanceInc.

IoT Bricks… The Good Kind

Sometimes software can “brick” your devices, but this time around, that’s a good thing. SpinDance engineer Chris Samuelson, and Pete Hoffswell, Broadband manager at the Holland Board of Public Works, are working to develop LoRa-enabled brick pavers to help monitor Holland’s snow melt system, the largest in the country. They both recently presented at the annual StartUp Weekend sponsored by Start Garden in Grand Rapids, MI.

New to LoRa? Chris wrote up an excellent tutorial on Hackster.io describing how to make a low-cost, single channel LoRa gateway using a $10 module and a Raspberry Pi….

Read more

Alexa Integration

Whirlpool Introduces Alexa Integration and More At CES 2017

January 10th, 2017 | Brian Tol | Engineering,News

The Consumer Electronics Show just wrapped up, and, as usual, there is a massive amount of IoT news to sift through. There were thousands of products announced, and miles of press coverage to read. We’ve been closely watching CES back at SpinDance HQ, and in the next couple of weeks, we’ll be sharing our thoughts on the winners and losers, and what CES says about where IoT is heading.

But today, we wanted to focus on one of our favorite clients, Whirlpool, and highlight some of the announcements they made last week. We’ve been working hard to support their IoT initiatives, and we wanted to discuss some of the technology behind the announcements.

Alexa Integration

Amazon’s voice assistant Alexa was huge presence at CES this year, and Whirlpool announced they are integrating 20 appliances with the service in 2017. It is a well-architected system: Amazon does the heavy lifting of voice UI and provides a clean API to developers. We’ll be blogging about Alexa later this month, and our approach to integrating major appliances, IoT platforms and voice services. We’ve been testing this in house for a while, and we think consumers are going to love it.

Dash Replenishment For the All-One Washer Dryer Combo

An all-in-one washer/dryer combo? Sign us up! Beyond the obvious labor saving benefits, this appliance includes integration with Amazon’s Dash Replenishment service….

Read more

Patching the Internet of Things: IoT Software Update Workshop 2016

July 29th, 2016 | Bob Ensink | Development,Systems

“There’s a huge problem with the Internet of Things and we need to do something about it.” That was the invitation that brought participants to the Internet of Things Software Update Workshop (IoTSU) held at Trinity College, Dublin on June 13 and 14.

The Workshop was organized by the Internet Architecture Board (IAB), a standing committee of the Internet Engineering Task Force (IETF).  Based on our deep involvement in the IoT space spanning multiple industries, SpinDance was invited to submit a position paper to contribute to the workshop.  Our paper was one of several used to set the agenda for the workshop.  I was fortunate to attend as one of the SpinDance representatives along with Eric Smith, SpinDance’s VP of Engineering, and authored a blog post about the workshop for IETF.org.  You can read the full blog post here.

Read more

Reactive REST Services with Akka-HTTP

July 25th, 2016 | Greg Straw | Development

Overview

If you’ve heard of Reactive Application Development, or Reactive Programming, then you’ve likely heard of Akka. As described in our post: Introduction to Akka, it’s one of the most comprehensive tool sets available for developing highly concurrent, reactive applications. Akka comes from the authors of the Reactive Manifesto itself, and comes complete with a wide variety of capabilities. Akka’s actor based concurrency model simplifies the development of highly concurrent and parallel applications, and is one of the foundations of Akka itself. The Akka-HTTP modules provide tools for both providing and consuming HTTP services. This article shows how Akka-HTTP may be used to expose REST services for your reactive application.

Define the Route

For this example, we start with a very simple REST API, initially consisting of a single resource “health” that responds with a 200 response when the service is alive. Akka-HTTP defines a Domain Specific Language (DSL) for describing a set of HTTP routes and the handler for each route. The DSL provides a set of directives that may be used to compose a route’s structure and specify the handling logic. The code below shows an example of an Akka-HTTP route definition in Scala. The route defines a single resource “health”, and a single GET operation on that resource that elicits a response….

Read more

Connecting Electric Imp and SmartThings

June 8th, 2016 | Dave Meyer | Development

There are a myriad of Internet of Things (IoT) cloud and hardware providers out there, all competing to be the platform upon which you can build your next great gadget. Two of these providers are Electric Imp and SmartThings (now owned by Samsung). These IoT providers have two very different approaches to the world of IoT:

Electric Imp

  • Sells hardware targeted to developers($20)
  • Leverages the Squirrel programming language in an online development environment
  • Leverages Electric Imp hardware modules
  • Does not include tools to build a customer facing UI, but instead allows the developer to implement their own database and front end.
  • Has an offering to run an instance of their cloud on your equipment, protecting you in case they are bought out/go out of business etc.

SmartThings

  • Sells hardware targeted to consumers (the Arduino Shield retails for $35)
  • Leverages the Groovy programming language in an online development environment
  • Is set up to talk to any hardware, provided the customer has the SmartThings hub ($100)
  • Has a cloud solution that is largely geared towards developers, and has tools for designing a mobile UI that will be displayed in their mobile app
  • Privatized platform instances not available

Both systems have strengths and weaknesses,…

Read more

Introduction to Akka

June 7th, 2016 | Brian Ensink | Development

SpinDance has started using Akka to build microservices that add new features to existing cloud applications. Akka is a toolkit for building reactive, message driven distributed applications using the actor model. Our experience with Akka has been very positive so far and we plan to continue using it not just to add features to existing systems but also to build entire distributed, scalable and fault tolerant cloud applications. This is our first blog post about Akka and a brief overview of the topic. We will have more to say about Akka in the coming weeks.

Actor Model

Akka’s foundation is the actor model. An actor is a container for state and behavior. You can think of an actor as a small computing engine. Actors are fairly independent from each other and can only communicate by sending messages to other actors. An actor has a queue, or mailbox, of incoming messages which it will process in order.

An actor does not have its own dedicated thread but instead many actors are executed on a thread pool. Actors may be executed concurrently but an individual actor is only processing one message at a time. The actor views the world as a single thread which eliminates the need for expensive thread safety code within the actor. Actors are also executed in parallel in contrast to other event driven systems….

Read more

Living the Values – A Perspective on Receiving Advice

June 3rd, 2016 | Mike Stroud | Uncategorized

My son was practicing basketball last night. Every time an athlete made a move that led to an unfavorable result, the coach blew the whistle. She would explain the consequences of the move, give the athlete a couple of other options with predicted outcomes, and then let the athlete execute whichever move they chose without further interruption. It was a brief interrupt that occurred no more than once each time they crossed the court. She would praise their second effort by focusing on choice rather than outcome. As I watched, I was impressed with how she kept the advice brief and the players in control of their task (the basketball).

That’s when it occurred to me. When receiving advice anywhere and at any time, what most of us desire is an experience similar to what I saw at basketball practice where the ball remained in the athletes hands and encouragement followed the coaches interrupt. Sometimes this doesn’t happen and instead we receive advice from someone who takes over our task or tells us explicitly how to do the task. Now, I’m not talking about the person who does this infrequently. After all, we have each done it at one time or another and on occasion it is necessary. For those cases we need to put it behind us.  What I am talking about is when it is recurring and the next incident occurs before the prior incident is forgotten….

Read more