Tag Archives: homework

Service Design Boot Camp at GA

On Saturday 20 August I attended the Service Design Boot Camp workshop at General Assembly in Melbourne, which was pretty cool. I’ve been interested in the discipline for some time, exploring aspects of design process, prototyping, testing and iterating with Coursera’s Design: Creation of Artifacts in Society open online course online course, but I’ve never had the chance to embrace it fully face-to-face, until now. Awesome.

On the promotional page for the workshop they said “This course is for anyone that has an interest in applying the design process to solve complex problems. It’s likely you’ll have many transferable skills or experiences that will be put to use through the course of the day.” Cool. That’s exactly what I want to be able to do.

What did we do?

In the workshop we worked through the components that make up the practise of service design:

  • Discovery: gaining empathy and understanding the needs and pain points of users.
  • Ideation: Developing a range of ideas on how to develop a solution to meet the needs of all users.
  • Prototyping: Testing and iterating, including the customer experience, “front of house” interactions, and back of house dependencies.
  • Communication: Articulating the many facets of your offering in a concise way.

Discovery

Define

define_2016-08-20-12.39.32

define_2016-08-20-13.28.26

define_2016-08-20-13.24.42

define-2016-08-20-13.28.17

define_2016-08-20-13.28.22

define_reframe_2016-08-20-14.38.51
“How might we..” “for…” “so that…”

design_storyb_2016-08-20-14.50.02


Deliver – Service blueprinting and role play

Completed service blueprint for our solution.
Completed service blueprint for our solution.
communication
We use role play to articulate the customer journey and services we designed.

Leading practitioners

Build failed (Error from inside the Android tools)

I’m not alone. There are others who’ve experienced the same failed build as an Error from inside the Android tools, check the console with Processing 2.1? or an Android java issue. Some have solved the issue. I haven’t. Even the working through the processing android instructions and getting busy in the terminal to make it easier to examine the file system hasn’t resulted in a successful build.

Screen-Shot-2015-07-20-at-7.30.40-pm
It’s terminal.

Screen-Shot-2015-07-22-at-6.16.52-am

Loading text files

Making my way through the Loading text files from the hard drive recipe from the Processing 2 Creative programming cookbook source code on GitHub.

In this recipe, I learned how to use the loadStrings() function to load a text file from my hard drive into the String array. I also learned how to loop through the array in the draw() function and then use the number of characters in each line of text to calculate the diameter for the ellipse to be drawn.

Screen-Shot-2014-12-14-at-6.06.55-pm

I’m having trouble with the surfaceTouchEvent

I’m having trouble with the surfaceTouchEvent in the Responding to touch interaction recipe from the Processing 2 Creative programming cookbook source code on GitHub.

I’ve worked through the Troubleshooting,  Discussion and Known issues, Common problems, Understanding changes to processing.core sections of the Android page of the Processing Wiki, but still no success.

Unsurprisingly, someone else posted a similar issue with Android Multitouch on Processing 2.0.X on the Android Processing Forum. Unfortunately their solution (import. android.view.motionEvent) doesn’t seem to resolve my issue.

Screen-Shot-2014-05-16-at-6.25.08-PMScreen-Shot-2014-05-16-at-6.25.27-PM

Time to sort this one out.

Accessing screen size and density

Making my way through the Accessing screen size and density recipe from the Processing 2 Creative programming cookbook source code on GitHub.

In this recipe I learned how to use the Android DisplayMetrics class to determine general information about the display of the device used to run the sketch.  While this is more of a diagnostic recipe than a creative one, I think it’s pretty useful way for finding out more about the capabilities of your device which could then inform the way you code your sketch. Nice.

Screenshot_2014-05-15-21-04-21

Screen-Shot-2014-05-15-at-9.01.26-PM

I don’t always require an affirmation, but when I do, I prefer the Bene Gesserit’s litany against fear

Inspired by Tom Woodwards’s Dune-themed tweet on 24 April 2014, Rhys Fulber and Bill Leeb’s production on Fear Factory’s Fear Is the Mindkiller EP and the Bene Gesserit’s litany against fear and based on Jan Vantomme’s Drawing text and Running your sketch on an Android device  Processing recipes on Github, I created this portable litany against fear as a fun exercise in combining , expanding and learning further from the recipes I’ve worked through so far.

Screenshot_2014-05-13-23-29-11

Extending the functionality

I’d like to extend the portable litany against fear by creating functionality that allows for use of:

  • sound by including pre-loaded audio samples that play as each line of the litany is displayed
  • custom text and audio affirmations to be entered by users
  • events such as display of text and playing of audio or other events to be triggered by touching and swiping of screen by the user.

Screen-Shot-2014-05-13-at-11.37.44-PM

Drawing triangle and quad strips

Making my way through the Drawing triangle and quad strips recipe from the Processing 2 Creative programming cookbook source code on GitHub.

In this recipe I learned how to use the QUAD_STRIP and TRIANGLE_STRIP parameters inside the beginShape function to draw triangle or quad 3D geometry to screen. With some work, QUAD_STRIP and TRIANGLE_STRIP could be used to draw 3D grass and lawn geometry on screen for Sew, Grow and Mow as an alternative to pre-modelled geometry. Maybe.

Screen-Shot-2014-05-10-at-6.40.00-AM

This code draws the QUAD_STRIP and then rotates it around the centre of the screen. I particularly like how vertex (x1, y1, 0) and vertex(x2, y2, 50 + i) are used to add two vertices to the shapes with each iteration of the for loop.

Screen-Shot-2014-05-10-at-6.40.38-AM

Mixing 2D and 3D objects

Making my way through the Mixing 2D and 3D objects recipe from the Processing 2 Creative programming cookbook source code on GitHub.

In this recipe I learned how to use the ENABLE_DEPTH_TEST and the DISABLE_DEPTH_TEST parameter inside the hint function at the beginning and end of the draw function to to enable and disable the z buffer. This means the first black square intersects the coloured 3D cubes, while the second white square is drawn on top of the coloured 3D cubes. The DISABLE_DEPTH_TEST parameter would be useful if you wanted to display user interface elements such as buttons, banners or instructional text on top of the 3D environment.

Screen-Shot-2014-05-08-at-9.03.30-PM

Screen-Shot-2014-05-08-at-8.49.07-PM

 

Making polygon soup

Making my way through the Making polygon soup recipe from the Processing 2 Creative programming cookbook source code on GitHub.

In this recipe I learned how to create a 3D cylinder with a flexible function that allows for the top, bottom and sides of the cylinder to be customised. In this recipe, the QUAD_STRIP parameter (draws a series of connected quads) is introduced in the beginShape function.

Once again, the frameCount system variable is used to rotate each 3D object by one degree per frame as the value of the variable is increased by one in each frame.

Screen-Shot-2014-04-29-at-9.30.34-PM
Removing the code responsible for drawing the bottom and sides of the each cylinder to learn more about how the function draws the cylinder to the screen.
Screen-Shot-2014-04-29-at-9.31.04-PM
Removing the code responsible for drawing the top and bottom of the each cylinder to learn more about how the function draws the cylinder to the screen.
Screen-Shot-2014-04-29-at-9.31.46-PM
Removing the code responsible for drawing the top and sides of the each cylinder to learn more about how the function draws the cylinder to the screen.
Screen-Shot-2014-04-29-at-9.32.29-PM

Using lights

Making my way through the Using lights recipe from the Processing 2 Creative programming cookbook source code on GitHub. In this recipe, I learned how to declare the lightMode and lightDirection integers to allow for different lighting modes to be activated. Inside the setUp function they’re assigned a value of 0 and then referenced again in the if test. In this recipe, I also learned how to use the lights, directionalLight, ambientLight, pointLight and spotLight functions for the different lighting modes, even the noLights function for a no lighting mode.

This recipe contains code for generating and animating 3D primitives (first demonstrated in Drawing 3D primitives recipe) used to demonstrate the lighting setup. This recipe also contains code for a keyboard interface (first demonstrated in the Keyboard interaction recipe) to activate different lighting modes. For this keyboard interface, N = no lights, L = lights, D = directional light, A = ambient light, P = point light, S = spot light. The Up, Right, Down and Left arrow keys also change the direction of the light when the directional light is activated.

Screen-Shot-2014-04-28-at-8.36.26-PM