Spacebrew MADness [workshop presentation]

June 14th, 2013

Following up to the Spacebrew workshop that we held at MAD on June 1st, here is the presentation that we used to guide our session. It walks through the process of setting up your own local instance of a Spacebrew server. In related news, checkout the new features that are baked into the latest version of Spacebrew.




Spacebrew MADness [setting up a local server]

May 28th, 2013

header_3

I am excited to announce that I will be leading a Spacebrew workshop at the Museum of Art and Design (MAD) on this coming Saturday, June 1st. This session is the third and last installment of the LAB’s workshop series, which is part of the After the Museum exhibit.

This time around, we’ll take you through how to set-up a local Spacebrew sever on your computer. Anyone is welcome to join – familiarity with Spacebrew and attendance to previous workshops from this series is not required. That said, some experience with coding and using a computer terminal or console application will be helpful.

Just like our previous sessions, everyone who signs up will get complimentary entrance to the museum. We’re looking forward to seeing you there.​ Spots are limited so sign-up today. To learn more about Spacebrew, check out the Spacebrew website and blog.

 

 


Spacebrew Goes Totally MAD [workshop]

April 30th, 2013

header_2

I am excited to announce that I’ll be leading another Spacebrew workshop at the Museum of Art and Design (MAD) on May 11th. This is the second installment of a workshop series that is part of the After the Museum exhibit.

Join me if you are interested in learning how to use Spacebrew to connect interactive stuff. Space is limited so make sure to sign-up for the event on meet-up as soon as possible. The workshop will take place on the 6th floor, in a room with beautiful views of central park. You will also get free access to the entire museum.

Here is a quick overview of the day’s activities:

  • We will begin with a 30-minute overview of Spacebrew, which will cover why it was created and how it works, followed by a few live demos.
  • Then we’ll dive into an hour long hands-on workshop where we will take participants through our a tutorial for connecting an LED strip to Spacebrew using Arduino and Processing.
  • After the workshop we will hang out for a few hours to help people who are interested in learning about more advanced uses of Spacebrew, and who want to integrate Spacebrew into their personal projects.

You don’t need to have any previous experience with Processing or Arduino to take part in the workshop. The workshop will be a little challenging for you, if you’ve never written any code before. However, if you are up for the challenge we’ll help you through it.

About MAD: The Museum of Art and Design explores the blur zone between art, design, and craft today. Accredited by the American Association of Museums since 1991, MAD focuses on contemporary creativity and the ways in which artists and designers from around the world transform materials through processes ranging from the artisanal to the digital.


Spacebrew at the #ArtsTech Unconference

April 17th, 2013

On April 27th I’ll be leading a Spacebrew workshop at the #ArtsTech Unconference in NYC. This session will be a streamlined version of the workshop that I’ve lead at our monthly meet-ups.  There will be a lot of other interesting presenters, workshops and performances at this event, so I hope to see you there.

Here is a brief description of the workshop that I’ll be leading:

Spacebrew is an open, dynamically re-routable software toolkit for choreographing interactive spaces. Or, in other words, a simple way to connect interactive things to one another. In this hands-on workshop you will use ArduinoProcessing and Spacebrew to dynamically connect a light sensor to various apps and objects. Bring your computer and we’ll bring a handful or Arduino boards and sensors that you can share with other participants. No previous experience with Arduino and Processing are required.

 

ArtsTech_Unconference_Flyer_4-14-1_small

 


Experiencing Self vs. Remembering Self

April 8th, 2013

Two years ago, while finishing up my studies at ITP I was working on a thesis project called Emote [link to video | link to paper]. The intended goal of this project was to develop a prototype for a system or platform that would support “my practices for nurturing emotional attentiveness… [a platform that could help me] bring awareness to my emotional processes, identify my emotional triggers and scripts, distinguish constructive and harmful emotions, and nurture constructive emotions.” Ultimately, I wanted to create a system that would help live a more fulfilling life. A tall order I know.

Thinking_Fast_SlowOver the last few days I have been reading the last section of Daniel Kahneman’s book Thinking Fast and Slow. In this part of the book, Daniel focuses on exploring our “Two Selves”, or the two different ways that we experience the world. The perspective that he puts forward here has given me whole new perspective on my thesis project and has helped me identify the faulty assumptions which clouded my thinking. Though I have not continued working on Emote, I have not lost my passion for exploring ideas related to pursuits for meaning, awareness and consciousness, nor my interesting in exploring how technology (digital or other) can help us achieve this goal.

Kahneman posits that we experience the world in two different and conflicting ways – as the experiencing self and the remembering self. Here is a brief description about how each of these work:

The Experiencing Self
The experiencing self refers to the way in which we experience the world while the experience is taking place, in the moment itself. For example, the way we experience pain while undergoing a medical procedure, or pleasure while sharing an intimate sexual encounter. This part of ourselves experiences reality in a moment by moment basis – duration and time are central aspects of the experience. As such, from the standpoint of the experiencing self, to improve our well-being we should strive to extend the duration of pleasurable moments, while minimizing the moments of suffering.

The Remembering Self
The remembering self refers to the way in which we experience things after they have taken place, through the prism of our memories. For example, the way we experience a medical procedure or intimate sexual encounter through the stories we create about these events after they have taken place. Due to the characteristics of our memory, this mode of experience emphasizes moments of peak of intensity and end moments. For these reasons, our memories don’t properly reflect the time or duration of events. This means that from the standpoint of the remembering self, to improve our well-being we should strive to find experiences that feature positive high intensity moments and that end well, and avoid experiences that have negative high intensity moment and the end badly, with little regard to duration.

Who Guides Our Decisions
According to Daniel, the remembering self tends to influence our decisions much more strongly than the experiencing self. The characteristics of our remembering self creates a bias in favor of goods and experiences that are initially exciting, even if they eventually lose their appeal. Considerations of time and duration are neglected, causing experiences that will retain their value in the long term to be appreciated less than they deserve.

Back to Emote
Emote was largely an attempt to focus my attention on the world as experienced by my experiencing self. The tools and processes that I created centered around tuning-in to, and quantifying the duration of my emotional states. My efforts were based on the assumption that by uncovering insights regarding factors that contributed positively and negatively to my moment-by-moment experience I would be able to make a positive impact on my pursuit of fulfillment. Now I realize that this was a flawed approach because the pursuit of fulfillment is largely a concern of the remembering self – it is the pursuit that is based in personal stories and a search for meaning.

I am still interested in exploring ways to focus more attention on our moment-by-moment experiences of the world, and to loosen the grip that the stories from our remembering selves have on our assessments and decisions – though I have no ideas or designs at the moment for a project to explore this area of opportunity. I also agree with Kahneman’s point that we need to take into account both of our selves in our pursuit of wellness for ourselves and our society.

Caveats and Credits
Quick caveat, this is my understanding of Kahneman’s theory coupled with a bunch of my own murky thoughts. I am sure I am over simplifying and misconstruing several of the ideas that he make so eloquently in his book. So take this with a grain of salt and read his book.


jQuery Mobile vs. Bootstrap with FlatUI

March 31st, 2013

bootstrap_vs_jquery_mobile_1

Over the past couple of weeks I’ve developed new versions of several of the spacebrew.js applications and in the process I played around a bit with jQuery Mobile and Twitter’s Bootstrap (with the flat UI theme). My goal was to develop a very simple web app that would work well from a purely functional perspective on desktop and mobile devices. That said, I was not trying to create an app that used responsive web design to look good on both platforms (I am ok with the app looking merely acceptable on any platform).

Here I will provide a brief comparison based on my experience developing with each one of these frameworks. This is definitely a beginner’s perspective – I am not very experienced with either of these frameworks. I suspect that many of the issues that I encountered can probably be overcome with enough time, effort and expertise. I will start with a brief overview of their stated mission, followed by a short analysis of the UI functionality, look and feel, and responsive design features provided by each one, and then I will finish with some brief thoughts about the process of integrating these frameworks into my project.

What’s Their Mission
To start off, let’s take a look at how both of these frameworks are described on their respective websites. Both offerings are user interface/front-end frameworks designed to support the development of web applications and they aim to provide tools that work well across desktop and mobile devices.

jQuery Mobile
A unified, HTML5-based user interface system for all popular mobile device platforms, built on the rock-solid jQuery and jQuery UI foundation. The jQuery mobile framework allows you to design a single highly-branded web site or application that will work on all popular smartphone, tablet, and desktop platforms.

Bootstrap
Sleek, intuitive, and powerful front-end framework for faster and easier web development. Bootstrap was made to not only look and behave great in the latest desktop browsers (as well as IE7!), but in tablet and smartphone browsers via responsive CSS as well.

User Interface Functionality
This is an area where jQuery mobile definitely wins out, especially if you are using sliders and drop down menus. The sliders on bootstrap were not draggable on mobile devices. The drop down list did not work with the default list-selection UI on iOS or Android; and unfortunately, their custom list ui was not scrollable so you couldn’t access elements that were too far down on the list.

bootstrap_vs_jquery_mobile_2

Aesthetics, Look and Feel
From an aesthetic look and feel perspective the bootstrap framework wins. It is much easier to customize and third party themes like flatui are really awesome. jQuery mobile on the other hand is tough to customize, it takes a lot of work to create new themes, and the existing themes are quite boring.

Responsive Design
Bootstrap wins again from a responsive design standpoint. Their flexible grid system was really easy to learn and just seemed to work. After making some minor tweaks I was able to create a design that worked well on my desktop and mobile phone. jQuery on the other hand does not provide a built-in flexible grid system. I found my apps looked like they were made for mobile device, even when I loaded them on my computer.

Conclusions
I ended up using jQuery Mobile for the Spacebrew.js apps because the user interface functionality issues with bootstrap were a deal breaker for me. That said, I still wish that I could use it because I really do like the aesthetic and responsive design features that it provides.


Spacebrew.js Apps with Built-in Routing

March 27th, 2013

Now you can create spacebrew.js apps with built in routing capabilities. I developed these prototypes, along with the appropriate updates to the spacebrew.js library, primarily for mobile apps. The reason being, the current web-based admin tool does not render well on most mobile devices.

A few months ago, I started talking to James and Josh at the LAB about the idea of embedding routing directly into the Client apps. It took me a while, but over the past couple of weeks I finally carved out some weekend and weeknight time to develop these base prototypes:

All three of these examples use an updated version of the javascript library coupled with an admin mixin, which provides the admin functionality. This new library and the admin mixim are not  available in the spacebrew.js repo because they are not officially supported yet. However, you can get a sneak peak here.

From a broader perspective these apps demonstrate how anyone can create their own custom admin apps, or integrate admin functionality into their client apps.​


URL Launcher [spacebrew app]

March 20th, 2013

I just finished updating the URL Launcher Chrome Extension for Spacebrew. This app makes it possible to control a chrome browser remotely, using another Spacebrew app. It works by accepting string a message, checking that the message holds a valid URL ,then, if the URL is valid, it loads the website in the browser.

This app can also function as a Tab Manager. When run in this mode, the application makes sure that the chrome browser remains in fullscreen mode, it ensures that the active tab always remains in focus, and it closes all tabs that are in the background.

The last feature that I want to point out is the idle timer. When activated, the idle timer will refresh the website every time that the page is idle for a specified number of milliseconds. When the page is refreshed the app will also send a boolean value via the im_bored publish data feed.

Check the readme on the git hub repo to learn how to install and run this chrome extension.


Sign-up Today: Spacebrew Workshop at MAD

March 20th, 2013

2013-03-A

Earlier today we set-up the meet-up event for our first Spacebrew workshop at MAD. The first 15 people to sign-up get in free (and we are working to get comps for all 30 people who sign-up). So sign up today and we’ll see you in a week and a half.


Spacebrew Goes MAD [workshops series]

March 11th, 2013

header

Earlier today we announced the Spacebrew workshop series at the Museum of Art and Design in New York. I am excited about these workshops, which I have been coordinating over the past few weeks. I look forward to leading all three sessions with a lot of support from the crew at the LAB and James and Josh, who will be flying in from Seattle for a few of these.

This is a great opportunity to learn about Spacebrew in hands-on way. Also, as much as I like the LAB where we hold our usual meet-up sessions, the Museum of Art and Design is really awesome place.

If you are interested in joining, make sure to sign-up for the event on our meet-up page. The first people to sign-up will get into the museum for free. We will post the event on meet-up in the next couple of days, we are just working to confirm how many people we can accomodate.

I hope to see a lot of new faces there.