Color Trigger


Our client approached us with the need to develop a software to manage a lighting system for a shop window.

Their concept is for selling paint and showcasing how the rooms look like in different colors prior to the user buying the product.

Now they can add interactivity to their displays by changing the color of the rooms.


3 months


Development

We developed this app using Ruby on Rails and integrated it with CueServer and Javascript.

require 'socket'

class CueServerCaller
  def initializer
  end

  def call_macro(macro_name)
    execute_command "Macro #{macro_name}"
  end

  private
    def execute_command(command)
      config = CueServerConfig.last

      puts "*"*60
      puts "  === Executing command '#{command}' on #{config.ip}:#{config.port} ==="
      puts "*"*60

      # Create a new UDPSocket object
      s = UDPSocket.new
      s = UDPSocket.open

      # Connect socket to the CueServer multicast address and CueScript port number
      s.connect(config.ip, config.port)

      # Send the first argument of the command line (after the script name)
      s.send(command, 0)
    end
end
require './lib/cue_server_caller.rb'

class Device < ActiveRecord::Base
  belongs_to :color
  validates_presence_of :x_pos, :y_pos, :width, :height, :color_id, :name
  scope :active_devices, -> { where( active: true) }

  def self.permited_params
    [:name, :x_pos, :y_pos, :width, :height, :color_id, :active]
  end

  def send_cssend_command
    CueServerCaller.new.call_macro(macro)
  end

  private
    def macro
      Macro.find_device_by_color(self.name, self.color.name).first.macro_number
    end
end

Our Process

Meetings

We have weekly calls where we discuss progress. We use Skype, Google Hangouts or GotoMeeting.

We agreed on a day and time that worked for everyone.

Planning

In the beginning we send a timeline specifying the planning and tasks for that week.

These tasks are the same cards we have planned in Trello.

Trello

We translate all requirements into stories in Trello Cards.

Trello is the place to add any specification, ask questions or comments to the team.

Deliveries

Once the tasks are done they go through a testing process and we pass them for your approval.

Every week we will pass cards onto the client list for you to give us feedback.

Quality Assurance

Once the functionality is completed one of our functional testers will try to break the feature.

We either move it to Needs Improvement or pass it to you for feedback.

Feedback

We need the support from you to review the cards and Approve them or tell us how to improve it.

This is key to meet goals and being on time in the development of the application.