I started writing a Smart Home Application

The Problem I am trying to solve

       Every morning I . . .

 

Wake up. . .

 

Take a shower. . .

Drink my coffee half dead . . .

Get dressed. . . (you're welcome girls)

Look at my clock and run to work completely late.

Last Summer I started a project called Routine Home Automation on Phone. It runs your phone like a stop watch and will eventually trigger smart home scenes in a sequence.

Iphone Gif.gif

With the knowledge learned in ICM I started the programming aspect of this over by creating an early prototype of the logic that would be used to run the workflow.

GOALS:

1. Design a Basic Interface

2. Allowing the user to create a basic concept of a "scene"

3. Allow for scenes to be arrangeable by the user

4. Allow for the scrubber to pass each scene

5. As the scrubber passes allow it to trigger accommodating attributes.

The project uses:

  • Global Variables
  • Objects
  • Constructor Objects
  • Functions embedded in constructor objects
  • if / else statements to determine the variables

At the end...

I was successful in getting 4/5 of my goals to work. Source Code Here

1. Design a basic interface

Screen Shot 2017-12-11 at 2.50.06 PM.png

I designed something super basic for myself. I was focused on the idea of making the objects that are generated playable by an order. Because I am taking a UX design class next semester and knowing that this would all have to be redesigned to meet Apple's iPhone style guides, I knew I could get better benefit out of that class only if I focused solely on the functionality I would need for the app as a whole.

2. Making Scenes Draggable

I started by working off some code made by Nloger on a Processing forum whom essentially created draggable constructor functions.

Then I came up with a way to have them populate in the sequence inviting the user to play with them. Reference Code can be seen in action here.

Our system has encountered an error. This exception has been automatically logged and reported. MTXKNP6A7K2ZZ9AAE45E

3. Allow for scenes to be added, random and re-arrangable by the user.

Sb-ZfT.gif

The "scenes" generated are of random colors to signify their uniqueness. In the app version I hope to eventually allow the individual attributes within the scenes to be programmable as well. I also will work toward making the scrubber circle not re-color with the newest scene.

4. Allow for the scrubber to pass each screen.

play pause.gif

This is done using If / Else Statements.

 

5. As the scrubber passes allow it to trigger accommodating attributes.

This is the part that I have yet to complete.

Screen Shot 2017-12-11 at 6.18.12 PM.png

Where I think the secret lies... 

Conclusion

Overall with 4/5 goals completed for this project, I am pretty happy with where I am. I would like to continue to research and eventually add a time delay variable option as well as further design the ability of defining what a scene is.