Saturday, 4 February 2012

Building up more complex pachube arduino apps

Experimenting with executing more complex code with pachube, arduino and processing.

New: additional 'if' loop which draws a small circle when 'myValue' is over 149.


The LED is still not working : i think that some new code has to be written when the arduino firmata sketch is uploaded to then send data back to the processing code. This is an example: http://makesomecode.com/2008/09/06/rgb-led-processing-firmata-and-arduino/

Friday, 3 February 2012

Wireless Connections vs. Cabled Connections

Further reading of 'Building Wireless Sensor Networks' has lead to some implementation decision making.

xBee wireless modules have a range of upto 1 mile, and the concept needs to be scalable. Wifi is an option using ConnectPort gateways, but they are very expensive and less stable than wired connections. Ethernet is likely going to be the best and most stable option. Early prototyping will probably be done using one arduino device, possibly extending later on to two arduino modules connected over the internet via ethernet. One will act as the web server, and the other the web client.

Two way connectivity  is possible using two ethernet connected arduinos, but only one can act as the communication initiator. It is possible to run an entire system from one arduino board, but over long distances the internet is the most widespread. effective and inexpensive gateway that could be used. The system will probably have to be run without a computer: installing a computer into the finished system is inappropriate, expensive and would take up too much space.

To start prototyping and experimenting, i will need to purchase an ethernet shield for testing, and eventually possibly another arduino uno and shield. This is a good option: http://proto-pic.co.uk/arduino-ethernet-shield-rev3-without-poe-module/ as it incoporates an SD card slot that could allow the transmission of media and files. This is the documentation for it: http://arduino.cc/en/Main/ArduinoEthernetShield

Thursday, 2 February 2012

Interfacing with hardware & Shrinkify arduino projects

http://arduino.cc/playground/Main/InterfacingWithHardware

So far there I have only experimented with a narrow range of electronic sensors and output methods. The link above is a set of libraries and instructions on how to interface with various hardware for example how to output NSTC or PAL composite to a TV http://arduino.cc/playground/Main/TVout and http://code.google.com/p/arduino-tvout/



This library interests me: http://liudr.wordpress.com/libraries/phi_morse/

Not only does it output morse code, but it also recognises morse code input.



It was intended to help people learn morse code.

This is a really great tutorial on how to 'shrinkify' arduino projects: once the code is uploaded to the chip (which costs under £2), it will run the code without the arduino board. This is further official documentation on it: http://www.arduino.cc/playground/Learning/AtmegaStandalone



This is a page with discussion on wireless microcontroller communication http://www.edaboard.com/thread198441.html

arduino beat detector

http://learning-arduino.tumblr.com/post/2579172342/arduino-led-bar-with-rhythm-detection



xbee communication between two arduinos:

an option provided by 'building wireless sensor networks', but with a limited range.

http://www.youtube.com/watch?v=0cPbfYInAhc

User research preparation: focus group

Early interaction with a focus group could allow me to gage initial responses to the concept and understand what they'd use it for.

I would use the participatory design method where designers and users would be able to communicate and design together using paper/video scenarios.

PREPARATION

  • Will need to explain concept quickly and easily
  • Could use system hierarchy diagrams and paper prototypes as visual aids
  • Will definitely use an interaction design paradigm or metaphor as illustrated in 'Designing Interactions; in the previous two posts.
    • SCRIPT: "My concept is titled 'Transient memory'. It is similar to the 'tin-can telephone' where there is a secret connection to share messages. You get a sense of presence because nothing happens if the person is not there. There is no answer machine. When you pick up the 'tin can telephone', you can tug on the string to let the other person know that you are there and are ready to communicate. The string goes taut when you are present and this is necessary to send messages. When you leave, the string goes slack and the second user knows you are gone."
  • Need to discover users usage scenarios and to whom this would be useful.
  • Need to determine what to transmit and the best way to transmit it: controls
  • Handles versus buttons: degree of user control
  • Explain [possible outcome types: this could be a hierarchy for other designers to design from, a tool-kit or a finished outcome
  • How to record the group? Audio is an option as it is naturalistic and users won't be as self-conscious as they might be with video recording. I would keep all written work for evaluation.
  • Degree of user involvement: short term at this point because not all of them are likely to be part of the eventual user group.
  • Outcome framework: have pre-printed storyboards to minimise barrier to entry. Explain that drawing skills aren't important.
  • Ethics: get signed permission forms and work out a way to protect anonymity
  • Time frame: Decide on this beforehand so that participants know what to expect.
My thesis:

Transient memory increases the value of memories transmitted between two people. It conveys a sense of presence and a feeling of being ‘connected’ to another person.

This needs to be tested.

Methodology ideas: controlled tests.
  1. Answer phone vs. Phone calls
  2. Picture messaging (MMS) vs. email messaging (without PUSH)
  3. Building a prototype which delivers both delayed and immediate transmissions
To do: Discuss this with project supervisor and continue reading 'Research methods in Human-Computer Interaction, Jonathan Lazar'

The Four Step Interaction Design Process: Bill Verplank

Page 130-133 in Designing interactions by Bill Moggridge

'Bill Verplank suggests a four-step process. First, the designers are motivated by an error or inspired by an idea and decide what the ideal goal for the design should be. Next they find a metaphor that connects t motivation to the end goal and develop scenarios to create meaning. Then they work our step-by-step what the tasks are and find a conceptual model that ties them all together and clarifies the modes. Finally they decide what kind of display is needed., what the controls are, and how to arrange them.'



1. Motivation - errors or ideas
2. Meaning-metaphors and scenarios
3. Modes-models and tasks
4. Mappings-displays and controls

Case Study: Stanford University student project. "A Haptic Pager"

1. Motivation: Celine is annoyed by pagers always going off. She wants to solve was how to make a silent pager that she could feel without having to listen to it.
2. Metaphor and scenario: She wants something that is more like holding hands-to hold hands at a distance and give them a squeeze. The scenario is that Fred is at home, and she wants to communicate that shopping is taking longer than expected. She wants to be able to communicate without interrupting whatever it is he is doing.
3. Model and task: She is connected to him and nobody else is, so that when she squeezes his hand he is the only one to feel it. Tasks: set up the connections, trigger the squeeze, both for sending and receiving.
4. Display and control: She could wear some kind of necklace that would vibrate, like the vibrating mode in pagers and cell phones to let her know someone is calling. The sending could be controlled by a squeeze. Celine works for a company that makes a handheld computer operated by a stylus so she uses this to set up the connection.



Using this framework with my project.

1. Error and idea
The ability to review messages and digital memories at any given time has detached users from a sense of human presence. Social media broadcasts memories indiscriminately, and i want this to be subverted where memories and messages are conveyed via a secret channel or 'active memory'. I want this sharing to be conducted both actively and passively. I want to to reintroduce the intimacy and presence to memory sharing over a distance. Transient memory are memories which don't exist very long, and therefore the idea is that this can convey presence and the short life-cycle could increase the value that the users have in the memories they are experiencing.

2. Metaphor and scenario
Like the 'tin can telephone'. There's no answer machine. If you are receiving a message, you know that the person on the other side is definitely there. It conveys presence and intimacy: nobody else can 'tap into' your secret channel.



3. Model and task

A conceptual model: the two users are connected directly to each-other so that when a message is sent the other person can receive it. Tasks: set up the framework for the type and formatting of memory sharing, set up the connections and protocols for sending and receiving. Can the interface send AND receive or is it a one-way system?

4. Display and control

The current display is a standalone, non-screen-based tactile interface with buttons and sensors. The idea is to have something static: non-wearable that is installed for transient memory sharing. It is possible that a wearable device could trigger the presence: i.e. a notification is sent when the person walks through their front door. This could prevent a system from registering interactions from unauthorised people i.e. if a friend sits in the communication chair. This is a possible diversification of the concept: perhaps in a family setting it would be appropriate for multiple family members to connect to one who is away.

The system would probably have multiple control inputs.

Designing interactions: Bill Verplank

Reading about the interaction design process.

Page 126-127 in Designing interactions by Bill Moggridge

Note: numbered paragraphs in 'quote marks' are copied directly from the book.

Bill Verplank: Says that the interaction designer has three questions to answer...

  1. "How do you do?" - 'How do you affect the world. A human, a person that we are designing for, does something, and we provide affordances. We either present handles that they can continuously control, or we give them buttons for discrete control, pressing the button and giving up control to the machine. When you are designing the way people act, there is a choice between handles and buttons. You can grab hold of a handle and manipulate it, keeping control as you do it. Alternatively you can push a button, or click on one, delegating control to the machine.'
How does this apply to my project: This links into my concept of active and passive interaction. Where the digital artefact requires user intention to do something and where it doesn't. However, the 'handles' and 'buttons' concept differentiates between the two types of control: where you initiate something and then release control, and where you continuously control something. I did not even consider these two types of interaction. In the current prototype, you push a button and it executes a single predetermined action. As there is only one action being executes, i'd class this as being a button. If there was the option to send different messages it would be more of a handle.

 Sitting down on the chair executes an action which is fully controlled by the user: where they get up, the chair stops glowing. This is a handle as you maintain control over the interaction throughout.

This distinction is important as it defines the level of control and type of control that users have over the interface, and how much control is relinquished to the user.

2. "How do you feel"? - 'How do you get feedback? McLuhan made the distinction between what he called 'fuzzy' or 'cool' media and 'distinct' or 'hot' media. Early TV was a cool medium, with its fuzzy images. Cool medium draws you in. A book with careful printing or a gravestone is hot, or immutable-you cannot touch or change it. We design the way that the machine, or the system, gives feedback to the user, or the sign communicates. That's where a lot of feelings come from; a lot of our emotion about the world come from the sensory qualities of those media that we present things with.'

How does this apply to my project: The type of feedback and mediums used affect the feelings of the users. It is very important that these are right, as the way that a message is conveyed can affect they way it is received. This is similar cognitive psychology theory about perception: the way that something is delivered can affect how it is perceived. 

3. "How do you know?" - As we design products with computers in them, it is very difficult for a usre to know exactly what they are going to do. A map gives the knowledge that you may need if you are designing complex systems. A path offers the kind of understanding that is more about skill an doing the right thing at the right moment. It is the responsibility of the designer to help people understand what is happening by showing them a map or a path. The map shows the user an overview of how everything works, and the path shows them what to do, what they know moment by moment.

How this applies to my project: INSTRUCTIONS!

Whatever the outcome (architecture, toolkit or built system example), users will need to know exactly what to do. The designer may not always be present to explain it, so some kind of instructions will be needed. Feedback is also important.


Schneiderman’s eight golden rules
1.       Strive for consistency; show consistent commands & terminology in similar situations
2.       Enable frequent users to use shortcuts
3.       Offer informative feedback; for every operator action
4.       Design dialogue to yield closure – grouping actions and then feedback at stage completion
5.       Offer simple error handling – avoid ability to make errors  & offer simple error handling
6.       Permit easy reversal of actions
7.       Support internal locus of control; users should be in charge of the system, not vice versa
8.       Reduce short term memory load

These usability heuristics illustrate important aspects of user interface design, in particular the need to offer informative feedback. How will the user know what what they are trying to do has been done or if there has been a problem.


Wednesday, 1 February 2012

Building wireless sensor networks


Started reading 'Building wireless sensor networks' as an option for implementation.

The problem with xbee: the distance is limited-maximum range is a mile or two. The radio modules are very useful, but with every context of use i dont want distance to be a problem: it should be able to work anywhere in the world. Therefore pachube or another internet-based connectivity type rather than radio may possibly be more appropriate.

The housing does need to be thought about: time needs to be put aside for the physical build which may be wood or plastic.