Issuu on Google+

PoPPy

Project Report

Project: Bugged 2.0 Theme: Playfull Interactions Januari 2014 By: Charlotte van der Sommen Semester: B2.1 Personal Numbers: s109229 - 0743683 Coach: Iris Douma Assessor: Carl Megens


Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683


Table of Content PoPPy abstract Introduction Bugged Bugged Constraints Research Out of the box First Ideas Toilet-paper input Culture in the toilet How to print on toilet paper? The process Evaluation Future steps References Reflection appendix

A. Presure Cooker report B. Semester Planning C. Inspirational Toilets D. Input Mid-term Demo-day E. Arduino code for the printer

Page 2 Page 3 Page 4 Page 5 Page 6-7 Page 8 Page 9 Page 10 Page 11 Page 12-14 Page 15 Page 16 Page 17 Page 19 Page 20-21 Page 23-38 Page 23-31 Page 32 Page 33-36 Page 37 Page 38

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683

Page 1


abstract

PoPPy

PoPPy is a toilet paper dispenser that prints a local news article in your own language and in the language of the country you visited or you will visit. You can find Poppy in toilet cubicles at airports. Before you enter the cubicle you will communicate your nationality by scanning your boarding pass. Once you closed the door PoPPy will start printing an articles of your national paper and a linked article in the style of the paper of the country you visit or visited. The articles will be from the same paper category for instance “ sport�. This way you will be able to know what is going on in your home country and in the country you visit. You will be able to learn more about the culture of the country your visit and you can link the happenings in the two different countries which helps you to see the differences and similarities in the cultures. After the paper is printed you are able to use PoPPy as a normal toilet paper dispenser.

Page 2

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683


Introduction This report describes PoPPy, a surprising toilet experience whit an emphasis on getting people out of their daily routine and cultural awarenss. PoPPy stands for Pot Paper Printer. PoPPy is a concept for the Bugged 2.0 project in the theme Playfull Interactions. The challenge was to design a product for a public space that is bugged. This means that it is exciting enough to invite people to interact with this object. Also the object should have certain behaviour and is able to facilitate twoway interaction with the user. Finally the object should be exciting, intelligent, surprising, inviting and it should get people out of their daily routine. In this report you can read about the steps and decisions that where made to come to the final concept of PoPPy.

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683

Page 3


Bugged Bugged 2.0 The project bugged is a project within the theme Playful interactions. Bugged focuses on objects within the public space, which are exciting enough to invite people to interact with them. The objects have certain behaviour and are able to facilitate two-way interaction with the user. The objects should be exciting, intelligent, surprising, inviting and get people out of their daily routine. In the appendix A you can read more about the pressure cooker that was done and in which this project description was established. Playful approach The playful interaction theme focuses on approaching ordinary problems in daily life in a playful way. This means that their aim for their projects to be: fun, creative, offer escape form daily life, fundamentally exciting, without a purpose, have social interaction and have an intrinsic motivation. The theme playful interactions especially stimulates the use of

Page 4

open-ended-play within projects. In openended-play, no (game)rules are predefined; instead, the meaning of the objects and interactions are defined while they are being used. (see: Reference 1) Project interpretation for PoPPy The project brief didn’t mention the value the project should have within the society. One purpose for PoPPy is that it should add something positive to the society in a way that it helps people to become happier, whether it is by change someone’s mindset or by help people with certain limitations. Within the PoPPy project there was chosen to use a public toilet. A public toilet is not always comfortable or pleasant to go to but everyone visits a public toilet so now and then. People that come there are most of the time very focused and have a clear purpose. It would be very interesting to see how to get people out of their daily routine.

Charlotte the creater of PoPPy travelled a lot in her life so she has seen a lot of different public toilets, it struck her that they can be very cultural based. It would be very interesting to use that cultural aspect within the concept. “Toilet is culture; we visit the toilet several times a day. To enjoy our lives, we need to develop good toilet culture.” (see: Reference 4 - r. 5,6. p. 7) Finally a toilet is not the first public space you would thing about and some people get uncomfortable talking about things like toilets. There is no need to get uncomfortable around toilets. It only makes it harder to communicate. One purpose of this project is to get people out of their comfort zone and to break taboos like this one.

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683


Bugged Constraints From the Project brief the design constraints could be formulated. Chosen was that the project had to be:

EXCITING

PLAYFUL

IN A PUBLIC TOILET

TWO-WAY INTERACTION

SURPRIZING

INVITING

BUGGED

INSPIRING INTELLIGENT

IT HAS BEHAVIOUR

GET PEOPLE OUT OF THEIR DAILY ROUTINE

ADDED SOCIAL VALUE A CULTURAL FOCUS BREAK TABOOS Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683

Page 5


Research There are three different methods used to do the research. The first method was to search on the Internet for examples of bugged objects. This helped to understand what bugged means and it made it possible to write the project brief. (see: Bugged). There exist several websites with great examples of bugged objects (see: References 5 to 12.) This research was also used to during the pressure cooker (see: Appendix A) The second method was to search the Internet for bugged toilets in order to create some inspiration. On the left you can find some examples that where found. In Appendix C you can find the other input. You can find the information on what inspiration it this research resulted in in Idea Selection. The Third method that was used was to read some articles that where given together with the project description. You can find the articles that where read in the References 1 and 2.

Page 6

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683


These are the articles that where read: Designing for playful experiences in open-ended intelligent play environments: It was about playful persuasion, it aims at changing people’s attitude in a playful manner while appealing to their intrinsic motivations. This is a vision that will definitely be used as guidance in this project. “Within play, a temporary world can be created with dynamic boundaries and rules. When designing for open-ended play, we actually design for an experience.”

Understanding playful user experience through digital games Fullerton, Swain & Hoffman: “play is recognized as a way of achieving innovation and creativity because it helps us see things differently or achieve unexpected results. A playful

approach can be applied to even the most serious or difficult subjects because playfulness is a state of mind rather than an action” Because the concept has to provide a social value it is easy to tent toward a very serious result but the final concept has to stay playful. This text is very inspiring. “In this paper, an initial framework of playful experiences which are derived from studies in interactive art and videogames is presented. Focusing on effectiveness and efficiency of the user is often considered to be an adequate design goal for the success of a product or a service. Positive emotions are essential for the sake of curiosity.” This is very interesting. To create a playful product it has to have a positive approach to the user in order to create a positive emotion which stimulates the curiosity.

Understanding Experience in Interactive Systems: “When designing interactive systems, it is critical to understand the social and collaborative aspects of interaction and experience.” This can be done by following how an experience unfolds and by asking a lot of questions like: What product stories are mentioned as memorable or important? What critical incidents come to light? What language is used to discuss changes in users and contexts of use? Etc.

“Playful experiences emerge from interactive products that allow users to have a playful approach while using them.“

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683

Page 7


Out of the Box There was chosen for an instinctive brainstorm method that Charlotte came up without any reference. The method: Step 1: Write down the main subject in the middle of your piece of paper (Toilet in this case) Step 2: Write down the elements your subject exists of on post-its (in this case: the toilet pot, the toilet paper dispenser, a mirror, a crane, the wall etc. It also helps to do a photo-safari in the place of the context) Step 3: Spread the post-its on the piece of paper Step 4: Write down a few design solutions for every element around that post-it. Step 5: Change the post-its and look what solutions are still possible. Step 6: You have a lot of unexpected and out of the box ideas. This method helped to come up with two ideas for the Mid-term Demo-Days.

Page 8

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683


First ideas As the project asked for a bugged space instead of a bugged product there was chosen put the emphasis on the bugged experience instead of the product itself. This is why the concept on itself will not be an very important addition to the toilet, but the experience it supports will be the important addition to the toilet. In the examples of the bugged toilets that where found with the research there are a lot of problems as not flushing the toilet or not washing hands after a toilet visit. These are problems that could be attacked by concept since it would help the society to become more hygienic.

is enough paper? And, one more piece and we have to fell a new tree. By printing on the paper you surprise people and get them out of their daily routine. But by printing negative text you don’t approach people in a positive way so that part has to be redefined. Idea 2: A toilet that weighs how much poo or pee you leave in the toilet, and that gives you compliments one the quantity in a way of: Well done! or, you just fertilized 6 square meters. This way you make people aware of the value of their excrements for the environment.

Two ideas where the result of the brainstorm: Idea 1: A toilet-paper dispenser that prints texts on the toilet paper. The idea was that the texts would encourage the user to use less toilet paper by saying things like: Don’t you think this Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683

Page 9


Toilet-paper input For the mid-term demo-day there was decided to do a little user-test in order for the visitors to give input on the concept and input for what could be printed on the toilet paper on a low limit base. The idea was to let people write their comments and input on a piece of toilet paper. This resulted in a wide range of interesting input (See Appendix D).

There where many joke-like comments, that would surprise people and get them out of their daily routine, but would not put that extra social value to the concept. There was a comment to focus on the sex of the visitor. This could be important, but there was decided to come up with a concept for all public toilet users to not exclude some people. Also one person mentioned that it could be scary if something tries to interact with you very actively when you expect to have a calm toilet visit. This is a valuable comment and for the final concept it is important to have a subtle interaction. Finally there was given the tip to look at little printer what is great input for the prototyping phase.

Page 10

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683


Culture in the toilet There was many interesting input given during the mid-term demo-day. This resulted in a new brainstorm session. The focus was still on the toilet as public space and the Toilet paper printer as concept. Now there was looked with a more critical eye to the design constraints. The social value of the concept, the cultural aspect ect. had to come more forward in the final concept. The method that was used for the last brainstorm method was to write down many new ideas with in input of the first brainstorm and the research in the back of the mind. This brainstorm resulted in a few new ideas of which one became the main context for the final concept. First was chosen for an environment of public toilets in airports. This makes it very interesting to add the cultural part of the concept. As you walk into the toilet cubicle you will get asked for your nationality. As soon as the toilet door closes the printer will start printing welcome in your own language. Once you sit for a minute. It will start printing the last news article from your country in

your own language. You are able to sit calmly on the toilet and read the article, or just used it to wipe your but. After the news is printed you’re still able to use the dispenser normally. The cultural part wasn’t still convincing enough and the way the nationality of the visitor was asked wasn’t clean yet. After some good conversations with fellow designers who pointed on the fact that the cultural aspect still wasn’t very strong, it became clear that the concept only focused on the culture of the person itself. It would me much more interesting to combine cultures and make people aware of it. Asking for the nationality isn’t a very difficult thing at an airport. Everyone has a boarding pass. By scanning that boarding pass you easily know what their culture is or what their destination is. This is how the final concept arose. You can read the concept itself in the chapter: “ abstract PoPPy” on page 2.

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683

Page 11


How to print on toilet paper? First prototype First there has been made prototype for the mid the mid-term exhibition. This prototype was just to simulate the idea of a printing toilet-paper dispenser. With help of a stamp pad there was made a round stamp that would roll over the toilet paper, and that would print the word hello on the toilet paper.

Page 12

Printer research Once it was clear what the final concept was it became important to know what kind of printer to use. There has been done research to: Laser-printers, Inkjet-printers, Thermal printers and engrave the toilet-paper with a laser (see References 15 to 21 and 27 to29). - Inkjet-printer: expensive – toxic ink – cartridge needs to be changed relatively often. - Thermal printer: relatively cheap - it not easy (maybe even impossible) to make toilet paper thermal – the substances that make the paper thermal are very toxic – is easy to make on normal thermal paper. - Engraving the toilet paper: very expensive – not toxic at all – makes the paper very porous what also makes it harder to read the texts. - Laser printer: not very expensive– not toxic – cartridge last very long So the conclusion is that the laser printer would be the most ideal case.

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683


Material research Before building a real PoPPy, it had to be clear that it was possible to print on toilet paper, so there have been done some material tests. The tests have been performed with two different kinds of toilet paper. One was very thin and had no structure. The second was very thick and had a lot of structure. For both toilet papers there has been tested what happened when putting them through the laser printer, inkjet-printer, engrave them with a laser and write on it with a felt-tip pin. And what happened when making it wed? Here are the results: Laser printer: Looks very clear and works fine on both the paper. When making it wed it there changed nothing, the ink doesn’t come off. Inkjet printer: Printer had some problems getting the thin paper through, but it looked fine. When making wed it still looked fine and the ink doesn’t come off.

Felt-tip pin: The ink flows over the paper when putting the pin on paper, and when making it wed the ink comes off a bit. Engrave with a laser: The letters where clear but the paper became very porous. When making it wed it even became more porous but there was no ink that could come off. Again the laser printer was the biggest success.

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683

Page 13


Laser printer There has been tried to demount an old laser printer in order to understand how it works and to make it print the newsfeeds that will be sent to the printer on the toilet paper. Unfortunately goal was put too high. With more expertise and more time it would be possible to make it work with a laser printer.

Page 14

Build considerations Because the plan was to eventually test the experience, there was chosen to find an alternative to get the concept working. With a little research there was found a way. By help of a little thermal printer it would be possible to simulate the whole concept. The only negative point was that the printing would be on thermal paper instead of toilet paper. Because the thermal paper was also a small strip of paper there was assumed that the first impression of the toilet-paper-printer would be the same as when it would be with real toilet paper. And that was the goal.

Thermal printer On the Internet there was found a tutorial (see Ref. 5) that could help to build this little printer. With this printer it was possible to connect it to an arduino and program it in such a way that it would send the input for the printer via Internet to the printer. So it would be possible to sent a news article to the printer and let be printed. In Appendix E you can find the code that was used for the printer.

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683


The Process On the left you can see the process that was followed this semester. The reason to choose for this kind of process is because it is a clear and basic design process, which Charlotte needed for her development.

In this semester there was made use of the design round two times. The first time was the period before the Mid-term Demo-day and the second time was after the Mid-term Demo-Days.

These are the design steps that where used for the process:

From these steps a project planning was created for the semester, which you can find in Appendix B.

Planning Analyze (the user, the task, constraints, data) Idea generation/concept development Implementation Evaluation And then back to “ Analyze� to start the circle again if necessary.

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683

Page 15


Evalutation PoPPy is a playful and intelligent concept for creating a way out of the daily rut for a couple of minutes, in a very simple, subtle and positive way. It makes traveling people aware of the culture they visit and the similarities between that culture and their own culture, which hopefully results in a better understanding of the culture and a more valuable visit. The concept does not have a clear two-way interaction or a clear behaviour. PoPPy reacts on the boarding pass and the persons will react on the printing paper but there will be no reaction back. This could be improved (see future steps).

The process that has been used in this project worked out very well, except from the last part. The creating part should have been managed a little more tightly. That way I would have been possible to build a simulation for the experience so it could be tested. There are not that many scientific researched or projects done on bugged toilets, but with the input found on the Internet and the scientific papers about playfulness, experience design and toilets. There was enough input found for this project.

Next to a couple of open minded people that said they would really like it if they run into PoPPy, there is not yet a clear prove that PoPPy will cause the positive experience that is expected (see future steps).

Page 16

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683


Future Steps There are a few things that could be improved in the future, if someone would go one with this project or there would be more time to work on it. The first thing that would be a good step to go one with is the making of the actual experience and test it. It would be interesting to really test the experience at an airport. The step that would come after that would be to write a paper about this particular toilet experience. Since one of the design on constraints was to have both way interaction a good next step could also be to use the research and input that is gathered in this report to have a new brainstorm on how to subtly change the concept in a way that PoPPy does have both way interaction and a clear behaviour.

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683

Page 17


Page 18

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683


References 1. 2. 3.

L. de Valk, P. Rijnbout, T. Bekker, B. Eggen, M. de Graaf and B. Schouten (2012) “IADIS International Conference Game and Entertainment Technologies”,” Designing for playful ecperiences in open-ended intelligen play environments” H. Korhonen, M. Montola and J. Arrasvuori (2009) “ International conference on designing preasurable products and interfaces, DPPI09”, “Understanding playful user experience through digital games” J. Forlizzi and K. Battarbee (2004) “Human-Computer Interaction Institute”, “Understanding Experience in Interactive Systems”

4.

C. Greed (2003), In: Linacre House, Jordan Hill, Oxford OX2 8DP, “Inclusive Urban Design: Public Toilets”, Architectural Press

Examples of bugged toilets: 13. http://www.thefuntheory.com/searching?keys=toilet 14. http://www.designbuzz.com/guitar-urinal-guys-make-music-as-pee/ Technology: 15. https://github.com/exciting-io/printer/wiki/Making-your-own-printer 16. http://www.instructables.com/id/Homemade-arduino-printer/?ALLSTEPS 17. http://www.howtogeek.com/169679/how-to-add-a-printer-to-your-raspberry-pi-or-other- linux-computer/ 18. http://littleprinteremailbridge.com/ 19. http://exciting.io/printer/ 20. http://www.sentex.net/~mwandel/tech/plotter.html 21. http://jamesjefferies.com/2012/08/14/before-you-buy-a-berg-little-printer-dot-dot-dot/

News sites: 22. http://www.usatoday.com/story/news/nation/2013/10/01/obamacare-health-exchange- Research Bugged: websites-down-glitches/2901595/ 5. http://www.thefuntheory.com/ 23. http://abcnews.go.com/international 6. http://vimeo.com/68841788 24. http://www.nu.nl/ 7. http://www.youtube.com/watch?v=lX6JcybgDFo&feature=youtu.be 25. http://www.bloomberg.com/popular/ 8. http://9gag.com/gag/aBKxDXD 26. http://www.dailymail.co.uk/sciencetech/article-2471475/Whats-YOUR-country-famous- 9. http://www.negpoz.com/futuristic-table-surface/ Map-reveals-UK-leads-world-fascist-movements-U-S-Nobel-laureates-lawnmower- 10. http://elitedaily.com/humor/genius-moscow-subway-ticket-machine-accepts-30- deaths.html squats-as-payment-video/?utm_source=EDFBTraffic&utm_medium=Page1&utm_ campaign=CMfacebook Printer research: 11. http://marketingology.nl/top-50-guerrilla-marketing-voorbeelden/ 12. https://www.google.nl/search?q=guerilla+marketing&espv=210&es_sm=119&tbm=isch&t 27. http://smallbusiness.chron.com/printer-ink-toxic-58156.html http://ask.metafilter.com/37643/Is-laser-printer-toner-dangerous bo=u&source=univ&sa=X&ei=lMTOUsj0BcOwywPTmoLoBg&ved=0CFUQsAQ&biw=1422 28. 29. http://smallbusiness.chron.com/toxic-broken-ink-toner-cartridge-65436.html &bih=783 Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683

Page 19


Final Reflection I can say this semester was very instructive for me. I was never as aware of my process before as during this semester. This resulted in a bigger awareness of my development during the semester. At the start of the semester I realised I had to become more aware of my design process. In past projects I wasn’t very aware of the process which resulted in weak projects where the decisions where not always consciously made. Analysing the design process and making a clear planning out of it was a very good step. It resulted in a relaxed working attitude and I had the feeling I had a lot of control because I was aware of every step and decision. For my future projects I will definitely start making a process planning at the start of the semester with the goals I want to reach. The project brief that was provided was in my eyes a little too superficial. This is why I added an extra layer by adding a social value and a cultural aspect to my design constraints. This way the project brief fitted more to my vision and it made me much

Page 20

more secure and enthusiast about the project. Adjusting the project brief more toward my vision was a good step. I realise that by personalise the project, I can be much more proud and confident about what I’m doing. Because it comes from me, I can defend the steps and decisions that where made against all kind of critics. The awareness that it’s very important for me to personalize the project brief will provide that I will keep doing this for my future projects. This was the first project in which I used the information I gained for the scientific papers. It made me clear that for a good and layered project it is very important that there is scientific research that explains some design steps or decisions that where made. There has been done already a lot of research. It would be a shame to not use that information to strengthen my projects. The last two/three weeks of the project where planned for making the prototype. Unfortunately this didn’t work out the way I planed. The main

problem was that the goals that where put together where not realistic. Electronics is not my strongest side. In my planning I was too ambitious that I thought I could get all of it working in such a short time. Unfortunately I even had less time since I ordered the needed components too late. It would also be interesting to start building much sooner in the design process, this way there will be more time to develop the prototype to a much higher standard. For my future projects I’m going to plan in more time for building the prototype and I want the goals that I set to be more realistic. Also I plan on starting much sooner with building my ideas. In my past semesters I was a very naïve designer and not critical enough to myself. Unfortunately my past coaches did not point me to this fact which resulted in assessments that where a big surprise for me in which the assessors where very negative about my work and attitude. This made me very insecure about my work. This semester I became very critical towards my work and very studious in order

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683


to understand what I did wrong. In my opinion this new attitude is the attitude that is needed to be a designer. I plan on maintaining this attitude en even evolve it further. The idea generation phase went not bad. I came up with my own brainstorm method that worked very well and provided view good ideas, but I realised that I can be very enthusiastic about the ideas of other people but not so easily about my own ideas. This realisation made me aware that I’m more a developer that a creator. I can see why some products don’t work and I would love to help make them work. Building a concept from the start is not my strongest point. I plan on researching this realisation more next semester by experimenting with a project that has already a lot of input and a wide starting point on which I can build on.

Overall I grew a lot towards being a real designer this semester. For my next project I want to do a project for which I have to build a lot and I plan on starting building already in the early design phases. I also would like to work further on a project that already has some input.

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683

Page 21


Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683


Appendix A - Presure Cooker report Bugged 2.0 Presure by: Charlotte van der Sommen s109229 coach: Iris Douma semester: B2.1 worked together with: Rik van Dam Marieke Mertens MariĂŤtte Klunder

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683

Page 23


A - Presure Cooker report

Appendix

Index Introduction

page 3

Project interpretation

page 4

Concept development

page 6

Concept 1

page 9

Usertest

page 10

Concept 2

page 13

Conclusion

page 14

Final Reflection

page 15

Page 1

Page 24

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683


Appendix A - Presure Cooker report

Introduction In this report you can read about the pressure cooker I did during my first week in the project Bugged 2.0. I worked together with MariĂŤtte Klunder, Rik van Dam and Marieke Mertens. In this report I write about the design process we went through and the two concepts we came up with. At the end of the report I write a conclusion and a reflection on how I wish to go further with the Bugged 2.0 project and how this pressure cooker helped me to gain information about the project.

Page 3

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683

Page 25


A - Presure Cooker report

Appendix

Project interpretation At the first presentation on the Monday morning the theme and the project where explained by the team champ. He made clear that we have to create a product within the public space which interacts with the people around it. From the examples they gave it seemed to me that the product should be bugged in a way that it had emotions and looked like it lived. That was not a requirement. The product required two sided interaction.

An object within the public space that is exciting enough to invite people to interact with this object.

exciting get people out of their daily life

The object has a certain behavior and is able to facilitate two way interaction with the user. The object should be exciting, intelligent, surprising, inviting and get people out of their daily routine.

public space both way interaction object in the public space

With the group we brainstormed about what was important for a bugged product by making a word-map with all the requirements (this word-map is visible on the next page). After creating the word-map we used the MoSCoW-method in order to rate the importance of the requirements we just set.

Bugged 2.0

Must: Object in the public space, whit a certain behavior Should: Both way interaction Could: Exciting & surprising Would: Get out of the daily life & intelligent product Out of these ideations we created our project-brief:

Page 4

intelligent

surprise people (amaze/inspire)

invite people (seduce/lure) behaviour

MUST – Object in the public space, with a certain behavior SHOULD – both way interaction

Page 5

COULD – exciting & surprising WOULD – get out of the daily life & intelligent product

Page 26

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683


Appendix A - Presure Cooker report

Concept development In order to ideate on the project Bugged 2.0 we used several word-maps. The biggest variable is the public space, as there are countless different contexts. So for a second mind map we came up with concrete examples of public spaces, which we then categorized in lists. The public spaces were divided on their purpose. We did that to choose a certain environment in which people have a main goal.

waiting room

airport

café /pub amusement park

park

town hall /city hall

public toilet

swimming pool

museum

Public spaces

shopping center

school /university

train station festival

music center

The category “in transit” really lends itself to be used within the boundaries of this project, because the people walking in these public spaces are not expecting anything to happen. The space just provides them the ability to go from A to B. This strengthens the surprising factor that we are going for.

clock

Looking back at the first map, we have found a theme of public spaces but now have to find a certain object to bug within this context. The next step was naming items and object to be found in public spaces under the category “in transit”. The selection was narrowed down to five objects, which were

tree

street

territorial hungry tail wagging dog

manhole

drama queen trait enforcing megalomania trait weakening inviting

bench

crying baby stalker meditation

busstop cubical

going crazy

busstop cubical

library

church

fearful

clock manhole

fountain /statue

lamppost

escalator OV-check machine

In transit

stair

ticket machine

garbage bin

secret admirer

personal preferences within the design group. The objects were linked to human characteristics it would match with. This method was used in order to decide whether or not the object had any opportunities within the pressure cooker.

escelator tree

Page 6

flowerpot

advertisement board / billboard

travel information signs

Page 7

bench

busstop cubica clock manhole lamppost

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683

stair

In transit Page 27


A - Presure Cooker report

Appendix

Concept 1 During the making of this mind map we also immediately wrote down small examples, which would link the object to a human trait. And we came up with several ideas for every trait.

clocks would pick someone waiting in the station and stare at that person. Once the person feels uncomfortable and starts walking away the clocks’ eyes will follow.

Eventually we chose one direction which leaded to our first concept, which was the stalking clock. The reason we choose the stalking clock was to get people out of their daily life and to surprise them which was the “Could” and “Would” in our MoSCoW analysis. You can read about the first concept in the next chapter.

To enrich the experience of stalking the clock also makes a sound of ticking every second. As the person that’s being stalked starts walking, the rhythm of the ticking will adjust to the pace of walking. This way the person feels even more followed and being watched. needs to be corrected

unpredictable

going crazy you have to get to know the clock reacts to busy crowds

reacts to other clocks

evil laugh

megalomania

you have to act in order to see the correct time

territorial

prominent

reacts to other clocks

loud ticking

does not want to be ignored

Clock

prominent stress

drama queen

trait enforcing people need to slow down in order to read the time

growing

shouting/yelling

reacts on delayed actions bothers you

After a process of concept development we chose to go on with the “Stalking Clock”. The stalking clock gets you out of your daily life and surprises you.

make a scene

flamboyant

chase you everywhere

stalker

There are many clocks at a train station. We thought of a way to make people feeling stalked is by giving the clocks eyes. The

let them know they’re running late

comes closer and closer

Page 8

needs to be corrected

unpredictable

going crazy you have to get to know the clock reacts to busy crowds

you have to act in order to see the correct time

Page 9 evil laugh

reacts to other clocks

megalomania

territorial

prominent

reacts to other clocks prominent

Page 28

loud ticking

stress

Clock

drama queen

trait enforcing reacts on delayed actions bothers you

does not want to be ignored make a scene

shouting/yelling chase you everywhere

growing

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683 flamboyant


Appendix A - Presure Cooker report

Usertest In order to test whether the eyes and the ticking of the clock really gave the station visitors the feeling of being stalked, we did a usertest.

The usertest excited out of nine couples of emotions. In every couple were two contrary emotions for which the user could rate a number between 1 and 5. At the end of the form there was a asked for the users to tell a bit more about the experience the just had.

A clock was hanging in a quiet room. On the clock where two big blue eyes attached. Behind a black curtain two group members where hiding. One was fixing the movement of the eyes while the other was simulating the ticking of the clock. Making it

At the right you can see the usertest that was taken. The bold numbers are the average numbers that are chosen by the participants of the usertest

faster when the user started walking.

The user was let into the room for 90 second after they were explained that they were waiting for a train to come. The group expected that 90 seconds would be enough experience the waiting. After 90 seconds they had to fill in a question form.

Page 10

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683

Questionnaire

Please fill in how you felt during this experiment. Circle the numbers according to how you felt. Frightening 1 2 3 4 5 At ease Paranoid 1 2 3 4 5 Calm Intimidating 1 2 3 4 5 Inviting Alarming 1 2 3 4 5 Safe Intense 1 2 3 4 5 Mild Secure 1 2 3 4 5 Unsecure Discouraging 1 2 3 4 5 Motivating Oppressive 1 2 3 4 5 Free Chased 1 2 3 4 5 Left in peace Experience: Please tell us some more about your experience.

Page 11

Page 29


A - Presure Cooker report

Appendix

Concept 2 Evaluation Usertest Several conclusions could be made after processing the usertest: User test questionnaire could use some improvement, perhaps the set of words and emotions weren’t accurate enough to describe the stalking feeling. The ticking was found to be annoying because it didn’t relate to the clock for most of the users. The clock was not stalking enough, to subtle Getting the attention to the clock was hard Eyes where too friendly How to improve: Add question in user test “what do we want to achieve with this test?”

Page 12

Page 30

The ticking was not precise enough -> use a computer and change the volume Eyes not intimidating enough -> cameras at the train station are intimidating although their meant to be friendly. Use camera lenses with a clock instead. Getting the attention of the user -> Make the user look at it

After the usertest the group was convinced the eyes and the ticking didn’t add enough to the feeling of being stalked so they had to come up with a new concept.

the lenses/clocks work together. So if one clock is focusing on a person and that person walks away the next clock will take it over. This way the user will feel stalked.

They thought of a situation in which they would feel uncomfortable ore stalked. One came up whit the camera’s on the station of Eindhoven which are meant to be friendly but actually are quit intimidating. Then the concept arose to put the clock into a big camera

Below you see a picture of transparent sheets on which we draw the time and that we could add to our camera lens in order to test whether people would feel stalked.

Situation was not realistic enough -> the situation emulate a train station, normally you are not alone on a train station. Next time use a space with more people to test it. Conclusion: eyes had the desired effect, the sound much less. Big brother is watching you Mechanical eyes. Lenses which focus on you and keep following you. Focusing makes sound and

lens which is making the sounds of zooming in and focusing on people. This way people have to look in the lens to see the time while the lens looks like its filming or making pictures. All

Page 13

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683


Appendix A - Presure Cooker report

Conclusion During the presentation we tried out our second concept on one of the other group members. We gave her the assignment to tell us what the time was which she had to see in the camera lens while we were acting like we were filming her. She experienced that while she was focusing on the time she was distracted from the lens and didn’t felt stalked anymore.

Final Reflection The idea of a stalking clock did met the MoSCoW analysis we made in the beginning. It is an object in the public space and it has a certain behaviour. The interaction would be in both ways even though I think there should be more action from the users side. It definitely is a surprising object. If the clock picks you to stalk, you definitely get out of your daily life. And eventually the clock makes its own decisions which makes it a smart product.

I think that sound of a zooming and focussing camera would add to the experience. The next step would be to do an usertest that is in a real context. Overall the usertest we did were not close enough to the reality. In order to really know what effect of our concept has on people we have to put a more real prototype in the station or a station like environment.

Page 14

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683

In my previous project I had a hard time keeping track of my design-process. My goal for this semester is to be very aware of the steps and decisions I make. During this pressure cooker it worked out already very good. Led by me we started making a week schedule in which we decided for each half day what we would do and made a deadline. It gave a lot of ease, because we knew what we had to finish after a few ours we worked very efficient and finished before the deadline. In my individual part of this project I plan on making this kind of schedules for myself. Even though this theme asks for playfulness, also in your time management I think it really helps me to make an overall planning of my semester. I can always decide to go into another direction than I planned. The project description we created with the group (see project interpretation) looks a lot like my personal project-brief. There is one important thing for me that I want to add to this description and that is that my design should not only be for fun but should also have a social aspect. For me it is important the I inspire people or make them aware or learn something.

I realised that while working in a group I can be very dominant. My group members gave a lot of value to my opinion and many time asked me whether it was good before doing something. This kind of made me the group leader which I don’t want to be. I prefer a teamwork that is in balance. Because we are all learning and there is not one person that knows it all. I really look forward to continue individual project and see if I can do all design steps by myself. For my individual project I would love to do something with public toilets. It is a space which is not always comfortable or pleasant to go to, but everyone comes there. I’ve travelled a lot in my life so I’ve seen a lot of different public toilets which can be very cultural based. I think it is very interesting to see what happened when you bug a space like that.

Page 15

Page 31


B - Semester Planning

Page 32

Appendix

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683


Appendix Funtastic Toilet Time 2009-12-07 15:51 Public washrooms are not generally places known for being pleasant or hygienic. Part of the problem is people neglecting to flush the toilet after they have finished their business. This device will encourage toilet flushing with prompts and a prize (of the non-tangible variety). When a person enters the stall, a screen above the toilet will pose a question. These can range from riddles to true or false questions. The answer to the question will only appear once the toilet has been flushed (triggered by a cord, attached to the device). Accompanying the answer will be a dazzling array of light and sound, a true reward for discarding refuse. Now people can be cleaner, more considerate and learn something new, too. Submitted by Team Algebraic.

C - Inspirational Toilets

encourage men to lift the toilet seat I propose writing a joke of the day on the top of the seat. When men enter the toilet stall, they read the joke, and must lift the seat to get the answer. Did you hear about the two peanuts in the park? (…lift the seat and I’ll tell you what happened…) They got a-salted! Submitted by Kalvis Jaunarajs. Paper Toilet 2009-12-16 10:47 In the city, metro, conventions , It is very common to find magazines, flyers and newspapers mixed in the garbage if not in the floor... when there are the first paper wew could easily recycle!!! The PAPER TOILET serves to recuperate in a funny way all these papers by sitting on this special toilet like in a regular one, putting the papers in the middle of the “p” hole, and just flushing.... it’s flawless!!!! - It´s very simple, based in a daily symbol with a strong significa- tion - The ‘P’ for paper adapted as a sign in the ergonometric shape of the chair, to be seen from far away

The Friendly Toilet 2009-11-24 15:53 One of the greatest problems in a house is the toilet. Men tend to leave the toilet seat up, and some don’t even bother to take it up, with hygenic consequences. This toilet seat talks to the man, when he takes it up it shows interest in what he is doing ( “how was your day?” “have to go again?”) and when the seat goes down again, the seat gives a compliment (“that was a good one” “you are really amazing”) . The exact messages depend upon the users. Some would probably like some more daring messages while others would be offended by them, and probably prefer more gallant messages.

Humor Toilet Seat 2009-12-15 21:57 There is an obvious trend in public restrooms around the world: clean bathrooms stay clean, and dirty bathrooms get dirtier. Imagine throwing a paper towel and missing the wastebasket. How likely are you to pick up the towel if the bathroom floor is filthy? Let’s apply the same logic to a public toilet stall. How likely are men to lift the seat – to avoid dripping during a standing #1 – if the seat is already wet? Not very likely. So the question becomes: How do we get men to lift the toilet seat, consistently? The answer should be obvious: By making it fun! To Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683

Page 33


C - Inspirational Toilets

Kitty-Cat Toilet Brush 2009-12-15 18:27 In public places or company buildings the toilet brush to clean the lavatory pan is a rarely used device. Of course it is! Because it is everything else but fun to use the tb. My idea is to make it more fun to use the brush by making it respond to use. The physical feedback of the brush should produce positive emotions and be fun to a certain extent. So I decided to make the brush purr like a cat when used. A purring brush is unexpected and quite funny on one hand, on the other hand cat purring is a charming and lovely

Toilet Humor 2009-11-30 12:19 Encourage dog owners to use the dog waste bins by playing a variety of comedy fart noises every time they put a poo in the bin. Submitted by Adam Aiken

Page 34

Pong Dryer 2009-12-15 21:04 In public toilets, where hand dryers are available, most people use toilet paper to dry their hands because it is faster. We are wasting paper using it in the wrong way; this also means we are cutting trees because we can’t wait one minute using the hand dryer. Other consequence is more expenses buying more quantities of toilet paper in every place where a public toilet is located.

I bet you can’t 2009-11-30 16:05 A “I bet you can’t “ campaign to spread over the most different issues, such as doing more exercise but also taking care of the environment. Fun is game, game is challenge. People are much more intrigued and motivated if they are ‘teased’. Messages can be displayed on car hangers, stickers, sidewalk signs, public toilets, etc.

Appendix Detect Dirty Hands 2009-12-16 09:51 How can we make people wash their hands after using public toilets? A new doorknob could be the solution for this problem: After using the toilet, you have to touch the doorknob in order to unlock and open the door. So a doorknob with a stamp on its backside could put some colour or a funny message on your hand. The ink can easily be washed off with some water and soap - but of course, it will remain for a while if you do not wash your hands. So everybody can see that your hands are still dirty.

Flushing for Fun 2009-12-16 15:09 People often forget to flush after using the public toilet, then left bad impression to the next user. Instead of normal flushing handle, it’s a slot machine. When you pull it down, it will start rolling and with the sound of coins falling. And see how luck you are this time. Submitted by City Yeast.

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683


Appendix Hand Washing Art 2009-10-27 15:00 What problem to solve? It’s a problem that people don’t wash their hands. After meeting friends, after a toilet visit or just after a day in the city. Unwashed hands can make you or the people you know sick, but that’s easy to change. If we make washing hands fun, at hospitals or in public toilets, hopefully more people will start doing it. My idea is that we put a camera in the wash sink, faced towards you. When you start washing your hands, blur colours will appear in the mirror, following your hands move and you will be able to make art. That’s my way of having fun.

Hand Wash Through Distorted Mirror 2009-12-15 18:29 I chose the problem that some people don’t wash their hands after using the toilet. It’s unnecessary to say, that this is unhealthy, distgusting and can cause many diseases. So I asked myself “Can we get more people to wash their hands by making it fun to do?!” I tried this by installing a motion detector inside the washbasin which recognizes the movements of your hands and sends the information to the camera of the distorting mirror. So your movements were realised in severel distortions, which you can see in the mirror.

Proep

Wee-wee Challenge 2009-12-16 18:20 Lots of people love going out, drinking and having fun! After a while they feel the need of looking for a toilet but most of the times they provide to do their business somewhere else. In order to avoid bad smells and dirty environment in the city, the idea we propose is about making the public urinals a funny place to interact with.

Flush Your Cash 2009-11-17 13:25 Inspired by the increase of irresponsible gambling in Mauritius (but still relevant across the globe) this ‘Flush your cash’ casino machine links gambling to flushing your money down the toilet. Submitted by Jean-Lou

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683

Bullseye Bathroom 2009-12-15 19:28 Could it be that men are not concentrating enough that is the reason behind disgusting men’s rooms all over the world? Hopefully, the placement of a target in the toilet bowl can speak to men’s competitive side and make aiming carefully a little bit more fun! Submitted by Jessica Olsson.

Who is it? 2009-12-15 19:55 How can we get children to wash their hands after using the toilet? We involve them into a quiz: When they push the soap dispenser they hear the question “Who is it?” Then, when they turn on the water for washing their hands they will here the typically sound of an animal. (The animal sound changes each time, so that they do not automatically know the answer) After washing the hands for 30 seconds they will get the answer (the name of the animal). If they wash their hands too short they do not get the answer.

Page 35


C - Inspirational Toilets

Gold Mine 2009-11-19 13:24 GOLD MINE is a proposal to propagate the use of dry toilets and replace the current Water Closets (WC) in an intriguing kind of way. For The Fun Theory we call the wooden toilet houses GOLD MINE and place them on several public and semi-public places around town. The idea is to engage not only volunteers in building and maintain them but also to connect different parts of the community through the GOLD MINES. What people produce in the GOLD MINES is later utilized to enrich the soil of the community while leaving glittering traces outside of the dry toilets. Submitted by Markuz Wernli Saito

Page 36

Appendix Guitar Urinal for guys who want to make music as they pee Men like to hum or whistle or even sing when they pee and it is a natural phenomenon that has never been quite understood by either scientists or women. However, the fact was just the inspiration Sao Paulo, Brazil-based advertising agency AlmapBBDO needed to create a urinal that would allow even the most musically unblessed of men to make sweet music as they pee. Following in the footsteps of urinal designs that allow men to let out their creativity using the flow of their bodily fluids like Toink-The Urinal, the Guitar Pee allows men to create unique electric guitar solos as they empty their bladders. Created for a Billboard Magazine competition, Guitar Pee uploads each musical piece in the Guitar Pee Gallery, which allows men to download their unique “mpee3” on their mobile phones. The Guitar Pee has been installed in several pubs and bars in the city of São Paulo with the Guitar Pee Gallery registering over 1,500 individual guitar solos from toilet users. Whether the Guitar Pee Urinal would catch on as the trendiest way to empty one’s bladder in a public restroom is anybody’s guess now. However, we are sure the design would certainly pop in the private bathrooms of famed musicians and eccentric millionaires, though we hope record label do not resort to releasing “pee solos” from these artists to the public.

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683


Appendix Things for on the toilet paper: - Joke (If you want a cold surprise – Flush the toilet before you….) - Joke (Kill me!) - Use toilet paper at a party, every time someone was saying something fun or joke, we would write it down on the roll of toilet paper. That way, we read it after the party and laugh again at the jokes that where made (instead of pictures) - You can leave messages for the next person - Sent messaged to the other toilet cubicles (use telephone) - Analyse the poo, print what you eat - Joke (FF de drolmedaris water geven) - Joke (Throw me away! Flush me please!) - Joke (Better now? Well done!) - Print the butt imprint - Here! Sit on me! - Communicating between toilets - Make a picture of people as they walk inside and print that on the toilet paper - Leave a message for the person next to you - Joke (I’m clean! Please use me!) - A story (once upon a time….) - Joke (Did you know that …..) - Communicate with the people in the toilet

D - Input Mid-term Demo-day

cubicles next to you. (I see you) - Social events taking place in that area at that time or that day. - Someone “ expresses” themselves, send this to the printer, next toilet visitor can read the first expresses - Joke (How are you doing? – Don’t do that! - Help me, I’m Stuck) - Joke of the day - Graphical information - Text about keeping the toilet clean - Joke (Are your hands clean?) - Print something for the next user - Print dirt on the toilet paper - Something that tells me something new that could never been print on forehand - Adjust to the season – Halloween – Christmas – Easter - The phone number of a random other person - Subtlety (little facts, not too striking, about the weather)

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683

Other comments: - Combine the two ideas, weight excrements and print the results on the toilet paper. - There is a difference between man and woman, focus on one sex - Scary because you used to be alone in a toilet and now there’s something interacting or trying to communicate with you. - Do something with toilets on festivals - Some game on the wall then something with the paper - Look at “ Little printer”

Page 37


E - Arduino code for the printer

#include <SPI.h> #include <Ethernet.h> #include <SD.h> #include <EEPROM.h> #include <SoftwareSerial.h> #include <Bounce.h> // -- Settings for YOU to change if you want byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0x1E, 0x1B }; // physical mac address // The printerType controls the format of the data sent from the server // If you’re using a completely different kind of printer, change this // to correspond to your printer’s PrintProcessor implementation in the // server. // // If you want to control the darkness of your printouts, append a dot and // a number, e.g. A2-raw.240 (up to a maximum of 255). // // If you want to flip the vertical orientation of your printouts, append // a number and then .flipped, e.g. A2raw.240.flipped const char printerType[] = “A2-raw”; const char host[] = “printer.exciting.io”; // the host of the backend server const unsigned int port = 80; const unsigned long pollingDelay = 10000; // delay between polling requests (milliseconds) const byte printer_TX_Pin = 9; // this is the yellow wire const byte printer_RX_Pin = 8; // this is the green wire const byte errorLED = 5; // the red LED const byte downloadLED = 6; // the amber LED const byte readyLED = 7; // the green LED const byte buttonPin = 3; // the print button const byte SD_Pin = 4; // the SD Card SPI pin // #define DEBUG // When debug is

Page 38

enabled, log a bunch of stuff to the hardware Serial // -- Everything below here can be left alone const char sketchVersion[] = “1.0.5”; // -- Debugging #ifdef DEBUG void debugTimeAndSeparator() { Serial.print(millis()); Serial.print(“: “); } void debug(const char *a) { debugTimeAndSeparator(); Serial. println(a); } #define debug2(a, b) debugTimeAndSeparator(); Serial.print(a); Serial. println(b); #else #define debug(a) #define debug2(a, b) #endif // -- Initialize the printer ID const byte idAddress = 0; char printerId[17]; // the unique ID for this printer. inline void initPrinterID() { if ((EEPROM.read(idAddress) == 255) || (EEPROM.read(idAddress+1) == 255)) { debug(“Generating new ID”); randomSeed(analogRead(0) * analogRead(5)); for(int i = 0; i < 16; i += 2) { printerId[i] = random(48, 57); // 0-9 printerId[i+1] = random(97, 122); // a-z EEPROM.write(idAddress + i, printerId[i]); EEPROM.write(idAddress + i+1, printerId[i+1]); } } else { for(int i = 0; i < 16; i++) { printerId[i] = (char)EEPROM. read(idAddress + i); } } printerId[16] = ‘\0’; debug2(“ID: “, printerId); }

// -- Initialize the LEDs inline void initDiagnosticLEDs() { pinMode(errorLED, OUTPUT); pinMode(downloadLED, OUTPUT); pinMode(readyLED, OUTPUT); digitalWrite(errorLED, HIGH); digitalWrite(downloadLED, HIGH); digitalWrite(readyLED, HIGH); delay(1000); digitalWrite(errorLED, LOW); digitalWrite(downloadLED, LOW); digitalWrite(readyLED, LOW); delay(500); } // -- Initialize the printer connection SoftwareSerial *printer; #define PRINTER_WRITE(b) printer>write(b) inline void initPrinter() { printer = new SoftwareSerial(printer_ RX_Pin, printer_TX_Pin); printer->begin(19200); } // -- Initialize the SD card inline void initSD() { pinMode(SD_Pin, OUTPUT); if (!SD.begin(SD_Pin)) { // SD Card failure. terminalError(2); } } // -- Initialize the Ethernet connection & DHCP EthernetClient client; inline void initNetwork() { // start the Ethernet connection: if (Ethernet.begin(mac) == 0) { // DHCP Failure terminalError(3); } delay(1000); // print your local IP address: debug2(“IP: “, Ethernet.localIP()); } // -- Setup; runs once on boot.

void setup(){ #ifdef DEBUG Serial.begin(9600); #endif initDiagnosticLEDs(); initPrinterID(); initSD(); initNetwork(); initPrinter(); } // -- Check for new data and download if found boolean downloadWaiting = false; char cacheFilename[] = “TMP”; unsigned long content_length = 0; boolean statusOk = false; void checkForDownload() { unsigned long length = 0; content_length = 0; statusOk = false; #ifdef DEBUG unsigned long start = millis(); #endif if (SD.exists(cacheFilename)) { if (!SD.remove(cacheFilename)) { // Failed to clear cache. terminalError(4); } } File cache = SD.open(cacheFilename, FILE_WRITE); debug2(“Attempting to connect to “, host); if (client.connect(host, port)) { digitalWrite(downloadLED, HIGH); client.print(“GET “); client.print(“/ printer/”); client.print(printerId); client. println(“ HTTP/1.0”); client.print(“Host: “); client. print(host); client.print(“:”); client. println(port); client.flush(); client.print(“Accept: application/vnd.exciting.printer.”); client. println(printerType); client.print(“X-Printer-Version: “); client.println(sketchVersion); client.println(); boolean parsingHeader = true; while(client.connected()) {

Appendix

while(client.available()) { if (parsingHeader) { client.find((char*)”HTTP/1.1 “); char statusCode[] = “xxx”; client.readBytes(statusCode, 3); statusOk = (strcmp(statusCode, “200”) == 0); client.find((char*)”ContentLength: “); char c; while (isdigit(c = client.read())) { content_length = content_ length*10 + (c - ‘0’); } debug2(“Content length: “, content_length); client.find((char*)”\n\r\n”); // the first \r may already have been read above parsingHeader = false; } else { cache.write(client.read()); length++; } } debug(“Waiting for data”); } debug(“Server disconnected”); digitalWrite(downloadLED, LOW); // Close the connection, and flush any unwritten bytes to the cache. client.stop(); cache.seek(0); if (statusOk) { if ((content_length == length) && (content_length == cache.size())) { if (content_length > 0) { downloadWaiting = true; digitalWrite(readyLED, HIGH); } } #ifdef DEBUG else { debug2(“Failure, content length: “, content_length); if (content_length != length) debug2(“length: “, length); if (content_length != cache.size()) debug2(“cache: “, cache.size()); digitalWrite(errorLED, HIGH); } #endif } else { debug(“Response code != 200”); recoverableError();

} } else { debug(“Couldn’t connect”); recoverableError(); } cache.close(); #ifdef DEBUG unsigned long duration = millis() - start; debug2(“Bytes: “, length); debug2(“Duration: “, duration); #endif } void flashErrorLEDs(unsigned int times, unsigned int pause) { while (times--) { digitalWrite(errorLED, HIGH); delay(pause); digitalWrite(errorLED, LOW); delay(pause); } }

Bounce bouncer = Bounce(buttonPin, 5); // 5 millisecond debounce void loop() { if (downloadWaiting) { bouncer.update(); if (bouncer.read() == HIGH) { printFromDownload(); } } else { checkForDownload(); if (!downloadWaiting) { delay(pollingDelay); } } }

inline void recoverableError() { flashErrorLEDs(5, 100); } inline void terminalError(unsigned int times) { flashErrorLEDs(times, 500); digitalWrite(errorLED, HIGH); // no point in carrying on, so do nothing forevermore: while(true); } // -- Print send any data from the cache to the printer inline void printFromDownload() { File cache = SD.open(cacheFilename); byte b; while (content_length--) { b = (byte)cache.read(); PRINTER_WRITE(b); } cache.close(); downloadWaiting = false; digitalWrite(readyLED, LOW); } // -- Check for new data, print if the button is pressed.

Project Report Bugged 2.0 - Charlotte van der Sommen - B2.1 - s109229 - 0743683


Final report poppy bugged 2 0 2