The Cloud: What is it?

August 27th, 2015 | David van Geest | Development

I used to think that the word cloud, when used in a software context, was a rather nebulous marketing buzzword. In many cases, it still is. But, I’ve come to regard specific usage of it as a useful addition to the software development lexicon. Why? What is the cloud, and why does it matter? In this first post of a series, I would like to address that first question.

At SpinDance, when we refer to the cloud, we are often talking about a software application running on one or more Internet-accessible computers. A very simple example of a cloud application might be a website implemented in Ruby on Rails and backed by a MySQL database.

But haven’t we had websites for decades? If the concept has existed for so long, why has this new usage of the word cloud increased in recent years? In my opinion, the cloud has connotations that go beyond traditional websites.

Many of our projects at SpinDance have a cloud component. But, many of these projects also have other components, typically mobile and embedded. The cloud component might receive data from a thermostat, process it, and provide it to an Android application. Together, the three components form a system. Historically, Internet-connected applications did not work together with phones and embedded devices nearly as much as they do today;…

Read more

Scala for Android

August 24th, 2015 | SpinDance | Development

I have been doing Android development for about five years now, using the traditional tools and language (Eclipse, and now Android Studio, Java). And though I’m comfortable and happy enough with Java as a language, I’ve always had an itch to explore other languages. So, when I encountered a post online a couple of years ago, about using Scala to develop Android apps, I was intrigued. I didn’t have the time then to look into it in more detail, but some brief digging seemed to indicate that it was possible, but not a widespread practice at the time.

Then, recently, I had the opportunity to do a presentation at a local conference (Google I/O Extended – Grand Rapids) and decided that would be a good time for me to finally investigate the topic of Android development using Scala.

What is Scala?

Before my presentation, I was only vaguely familiar with Scala (even though our cloud team uses Scala regularly). Scala stands for scalable language and it’s a JVM-based language, like JRuby and Clojure. The language was created by one of the key contributors to the Java language itself, Martin Odersky, and from my initial investigation, seems to be a well-liked language with some powerful features. One of the biggest features it provides is direct support for functional programming. The language does not force the user to do functional programming,…

Read more

Problems Solved: Fixing Ruby and OpenSSL on Mac OSX

August 21st, 2015 | Nathan Brinks | Development

Some time ago, Apple discontinued the use of OpenSSL; however, Ruby still uses OpenSSL to perform secure communications. One of the prerequisites for installing Ruby often is installing OpenSSL. In my case, this is done using Homebrew by issuing the command brew install openssl . Everything should be working correctly now, right? I am afraid not… In my case, Ruby failed to authenticate requests and was generally incapable of performing secure communication….

Read more

OAuth Explained through an Example

August 21st, 2015 | Conor Livingston | Development

I’ll start out by explaining the problem that OAuth solves. Before explaining how OAuth solves it, I explain a pre-OAuth solution and go through its weaknesses. Then I explain how OAuth works and how it addresses the weaknesses of the pre-OAuth solution. Note: This article attempts to introduce the general concept of the OAuth protocol and does not go into detail about the differences between OAuth 1.0 and OAuth 2.0. See the resources listed at the end for further reading.

The Problem

Meet Joe. He is an average internet user. His favorite place to get the news is a new startup called WorldNews (made up company, of course). This morning he was browsing WorldNews and came across a fascinating article. Naturally, he wanted to share this article with his friends. Joe and all of his friends are on a new social networking site called ChatDeck (also a made up company), so he wants to share the article via his ChatDeck account.

To his delight he notices that on WorldNews’ site, at the bottom of the fascinating article there is a Share via ChatDeck button. Joe clicks the button, and then the problem arises: WorldNews needs authorization from Joe’s ChatDeck account before it can share the article on his wall. At this point the question emerges: How should Joe authorize WorldNews to access to his ChatDeck wall?…

Read more

SpinDance to Sponsor Upcoming IChallengeUth Tech Education Program for Middle School Students

August 5th, 2015 | SpinDance | News

MICHIGAN, August 5, 2015 – SpinDance, Inc. of Holland, Michigan, will sponsor a one-week IChallengeUth session to provide hands-on technology experience to middle school aged youth in mid-August. SpinDance will host a group of students at their company headquarters in Holland, where the SpinDance team will support students as they tackle real-word technology business challenges.

IChallengeUth is a summer educational opportunity, where incoming 7th and 8th grade students develop solutions to real problems submitted by local businesses and community organizations. During the week of August 10-14, 2015, students will pair with master teachers from the Ottawa area, and a “coach” representing the sponsor organization. The students will then present their solutions back to a panel of leaders from the sponsor company and other professional judges.

IChallengeUth is part of the Ottawa Area Intermediate School District’s (OAISD) futurePREP’d program. A central goal for this program is to prepare all Ottawa area students with the skills necessary to be successful in achieving their personal life goals. Through the annual futurePREP’d program, OAISD offers innovative tools and experiences to help students make decisions that will positively impact their careers and quality of life for decades.

As part of sponsoring IChallengeUth, SpinDance will team with the OAISD to invite young students who have expressed interest in advanced education and career planning. According to Kyle Dannenberg, Development Coordinator for the OAISD,…

Read more