carini 2012

74
Finding a Needle in a Haystack: New Ways to Search and Browse on Scratch by Gaia Carini Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degree of Master of Engineering in Electrical Engineering and Computer Science at the ACA, MASSACHUSETTS INSTITUTE OF TECHNOLOGY 0 September 2012 @ Massachusetts Institute of Technology 2012. All rights reserved. HU ETTS INSTITUTE FTE CH' N0L 0GY CT 2 9 2013 P RARIES A uthor ........ ... --....... - .. ... nd.C o.p.t.... ........ Department of lectrical eering and Computer Science July 27, 2012 Certified by ......................... ................. Mitchel Resnick LEGO Papert Professor of Learning Research, MIT Media Lab Thesis Supervisor Accepted by......... ................ ...... ......... Prof. Dennis M. Freeman Chairman, Department Committee on Graduate Theses

Upload: aaabbb121

Post on 22-Jul-2016

221 views

Category:

Documents


1 download

DESCRIPTION

Carini, Gaia. Finding a needle in a haystack: New ways to search and browse on Scratch, Master’s Thesis, Department of Electrical Engineering and Computer Science. Massachusetts Institute of Technology. 2012

TRANSCRIPT

Page 1: Carini 2012

Finding a Needle in a Haystack: New Ways to

Search and Browse on Scratch

by

Gaia Carini

Submitted to the Department of Electrical Engineering and ComputerScience

in partial fulfillment of the requirements for the degree of

Master of Engineering in Electrical Engineering and Computer Science

at the ACA,

MASSACHUSETTS INSTITUTE OF TECHNOLOGY0

September 2012

@ Massachusetts Institute of Technology 2012. All rights reserved.

HU ETTS INSTITUTEFTE CH' N0L 0GY

CT 2 9 2013

P RARIES

A uthor ........ ... --....... - .. ... nd.C o.p.t.... ........Department of lectrical eering and Computer Science

July 27, 2012

Certified by ......................... .................Mitchel Resnick

LEGO Papert Professor of Learning Research, MIT Media LabThesis Supervisor

Accepted by......... ................ ...... .........Prof. Dennis M. Freeman

Chairman, Department Committee on Graduate Theses

Page 2: Carini 2012

2

Page 3: Carini 2012

Finding a Needle in a Haystack: New Ways to Search and

Browse on Scratch

by

Gaia Carini

Submitted to the Department of Electrical Engineering and Computer Scienceon July 27, 2012, in partial fulfillment of the

requirements for the degree ofMaster of Engineering in Electrical Engineering and Computer Science

Abstract

With Scratch, young people can program their own interactive stories, games, ani-mations, and simulations - and share their creations with one another. Since thelaunch of Scratch five years ago, over 2.5 million projects have been shared on thewebsite and it is has become increasingly difficult for Scratchers to find projects thatconnect to their interests. This thesis discusses the design and implementation ofthe Searching and Browsing toolkit, which will enable project discovery on the newScratch 2.0 website. Scratchers will be able to find projects through the new Searchpage, the Explore page and the Related Projects strip. The Searching and Browsingtoolkit was designed with the goal of helping users find projects that are more mean-ingful, serendipitous and inspirational, while also making projects more discoverableoverall.

Thesis Supervisor: Mitchel ResnickTitle: LEGO Papert Professor of Learning Research, MIT Media Lab

3

Page 4: Carini 2012

4

Page 5: Carini 2012

Acknowledgments

First of all, I would like to thank Mitchel Resnick for being an incredible advisor,mentor and a source of inspiration. Thank you for giving me the opportunity tojoin the Lifelong Kindergarten group and to work on Scratch-the most meaningful,inspirational, and rewarding project I have worked on. I have learned so much andgained invaluable experience from this year in LLK.

Also, I would like to thank John Maloney, for being a great mentor and teachingme so much about Scratch. Thank you to Paula Bonta for the great design discussionsand for being an inspiration with her design sensibility and ability to think outsidethe box. Also, I would like to thank Natalie Rusk and Amos Blanton for helping meunderstand the different facets of the Scratch community and always being availableto provide their insight and feedback on my work.

Thanks to Champika Fernando, Ricarose Roque, and Sayamindu Dasgupta for be-ing mentors and friends, and for helping me out in so many different ways throughoutthe year. Thank you to Champika for always being available to brainstorm ideas andfor providing valuable feedback on my designs. Thanks to Ricarose for helping megain a deeper understanding of the Scratch community and for guiding me throughmy year as an MEng student. Also, thank you to Sayamindu for his endless patienceand for always being ready to help me when I had a problem with my code.

Special thanks to the other LLK grads: Abdulrahman Idlbi, Amon Millner, EricRosenbaum, Karen Brennan, Jay Silver, Tiffany Tseng, and Tony Hwang. Theywelcomed me into the LLK family and made this a truly amazing year. Also, thankyou to the other members of the Lifelong Kindergarten Group: Chris Garrity, MichelleChung and Stephanie Gayle, for being so helpful and caring.

Finally I would like to thank my friends and family for giving me the supportthat has helped me get through MIT. I wouldnt have made it without all of them.I would especially like to thank my mom and dad, and my brother Francesco, foralways being supportive and giving me the opportunity to come to MIT to do whatI love.

5

Page 6: Carini 2012

6

Page 7: Carini 2012

Contents

1 Introduction 15

1.1 Introduction to Scratch . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.3 New ways to Search and Browse on Scratch . . . . . . . . . . . . . . 18

1.4 Thesis Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 Background: Searching and Browsing 21

2.1 Searching and Browsing . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.2 Recent Trends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.2.1 Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.2.2 Explore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.2.3 Related Content . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.2.4 Recommender Systems . . . . . . . . . . . . . . . . . . . . . . 24

3 Background: Scratch Website 29

3.1 Current Scratch Website . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.1.1 Homepage . . . . . . . . . . . . . . . ... . . . . . . . . . . . . 29

3.1.2 My Stuff Page . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.1.3 Project Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.1.4 Gallery Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.2 Finding Projects on the Current Scratch Website . . . . . . . . . . . 32

3.2.1 Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.2.2 Homepage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

7

Page 8: Carini 2012

3.2.3 Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.2.4 Friends. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.2.5 Forums. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.2.6 Galleries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.3 New Features of Scratch 2.0 . . . . . . . . . . . . . . . . . . . . . . . 37

4 Design 39

4.1 Goals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.1.1 More Meaningful . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.1.2 More Serendipitous . . . . . . . . . . . . . . . . . . . . . . . . 40

4.1.3 More Inspirational . . . . . . . . . . . . . . . . . . . . . . . . 41

4.1.4 More Discoverable . . . . . . . . . . . . . . . . . . . . . . . . 41

4.2 Design Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.2.1 Low Floor and High Ceiling . . . . . . . . . . . . . . . . . . . 43

4.2.2 Interactive and Playful . . . . . . . . . . . . . . . . . . . . . . 43

4.2.3 Fit Naturally into Scratch 2.0 . . . . . . . . . . . . . . . . . . 43

5 Search 45

5.1 Google Custom Search . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.2 New Search Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.2.1 Initial Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.2.2 Feedback from the Scratch Team . . . . . . . . . . . . . . . . 49

5.2.3 Pre-Alpha Prototype . . . . . . . . . . . . . . . . . . . . . . . 50

5.2.4 Feedback from an Experienced Scratcher . . . . . . . . . . . . 51

5.2.5 Alpha Prototype . . . . . . . . . . . . . . . . . . . . . . . . . 52

5.2.6 Feedback from the Scratch Community . . . . . . . . . . . . . 53

5.3 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

6 Browse 57

6.1 Explore Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

6.1.1 Initial Prototype . . . . . . . . . . . . . . . . . . . . . . . . . 57

8

Page 9: Carini 2012

6.1.2 Feedback from the Scratch

6.1.3 New Directions . . . . . .

6.1.4 Alpha Prototype.....

6.1.5 Feedback from the Scratch

6.2 Related Projects Strip . . . . . .

6.2.1 Initial Prototype . . . . .

6.2.2 Feedback from the Scratch

6.2.3 Alpha Prototype . . . . .

6.2.4 Feedback from the Scratch

Team . . .

Community

Team . . .

Community

7 Conclusion

7.1 Introduction to Scratch . . . .

7.2 Future Work . . . . . . . . . .

7.2.1 Search Page . . . . . .

7.2.2 Explore Page.....

7.2.3 Related Projects Strip

7.3 Final Words . . . . . . . . . .

9

60

61

62

63

65

65

65

66

67

69

69

70

70

70

71

72

Page 10: Carini 2012

10

Page 11: Carini 2012

List of Figures

1-1 Project thumbnails displaying the diversity of Scratch projects

2-1 Faceted search on Amazon . . . . . . . . . .

2-2 Previewing pages from Google search results

2-3 Explore page on Flickr . . . . . . . . . . . .

2-4 Related videos interface on YouTube . . . .

2-5 Recommendations on Amazon . . . . . . . .

2-6 User-based collaborative filtering . . . . . .

2-7 Item-based collaborative filtering . . . . . .

3-1

3-2

3-3

Screenshot of the Scratch Homepage

Screenshot of a Project page . . . . .

Graph displaying the number of times

response to the question "How do you

. . . . 23

. . . . 24

. . . . 25

. . . . 26

. . . . 26

. . . . 27

. . . . 27

. . . . 30

. . . . 31

each method was mentioned in

find project that you like?" . .

3-4 Fifteen most popular search queries on the Scratch website

3-5 Example of a project tagged with many irrelevant tags

5-1 Screenshot of search results on current Scratch website

5-2 Project displaying a Scratcher's idea for a new search bar

5-3 Thumbnail view in initial mockup of the Search page . . .

5-4 Player view in initial mockup of the Search page . . . . . .

5-5 Initial prototype of Search page . . . . . . . . . . . . . . .

5-6 Pre-Alpha prototype of Search page . . . . . . . . . . . . .

5-7 Alpha prototype of Search page . . . . . . . . . . . . . . .

33

34

35

. . . 46

. . . 47

. . . 49

. . . 50

. . . 51

. . . 52

. . . 53

11

17

Page 12: Carini 2012

6-1 Early prototype of the Profile page . . . . . . . . . . . . . . . . . . . 58

6-2 Initial prototype of the Explore page . . . . . . . . . . . . . . . . . . 60

6-3 Alpha prototype of the Explore page . . . . . . . . . . . . . . . . . . 63

6-4 Initial prototype of the Related Projects strip . . . . . . . . . . . . . 66

6-5 Alpha prototype of the Related Projects strip . . . . . . . . . . . . . 67

12

Page 13: Carini 2012

List of Tables

5.1 Data indexed for each type of document . . . . . . . . . . . . . . . . 55

13

Page 14: Carini 2012

14

Page 15: Carini 2012

Chapter 1

Introduction

1.1 Introduction to Scratch

Scratch is a visual programming language that allows users of all ages and back-

grounds to easily create their own interactive stories, animations, games and more,

simply by snapping together puzzle-shaped blocks [16]. After creating a project, users

can upload their creation to the Scratch website (http://scratch.mit.edu), where they

can give each other feedback, remix each other's projects and form collaborations [14].

Developed by the Lifelong Kindergarten group at the MIT Media Lab, Scratch aims

to engage young people with designing and creating interactive media. As children

create and share programs with Scratch, they learn to express themselves creatively,

solve problems systematically and work together collaboratively, while also learning

important computational concepts [16].

The creation of Scratch was inspired by a tradition of programming languages

for children, which originated from Seymour Papert's constructionism theory and his

work with the Logo programming language. Papert advocated the importance of

teaching children how to program as a way to teach them about problem solving

and computational concepts, such as debugging and abstraction [15]. Papert also

expressed the importance of designing programming languages with a low floor, so

that novices can easily get started, and a high ceiling, so that expert users can develop

complex programs [16].

15

Page 16: Carini 2012

While Scratch inherits many key ideas from Logo, it is also different in several

ways. First, in addition to a low floor and a high ceiling, Scratch has wide walls-

allowing users to create many different types of projects from interactive greeting

cards to physics simulations. In addition, Scratch allows users to create projects

that are more personally meaningful by integrating their own images, backgrounds

and sounds. Finally, sharing is a fundamental part of the Scratch experience and

the website provides a place where young creators can find inspiration, learn new

techniques and collaborate with each other [16].

1.2 Motivation

Scratch was officially released in May 2007 and less than a year later over 100,000

projects had been shared on the website by approximately 20,000 community mem-

bers. When Scratch was first launched, the community was small and many users

knew each other by their username. By 2010 however, over 1 million projects had

been shared by 500,000 users [10].

Today, over 2.5 million projects have been shared on the Scratch website. This

is both good and bad news. On one hand, it is great news because it indicates

that so many young people around the world have been creating and sharing using

Scratch, with thousands of projects uploaded every day. In addition to the high

number of uploads, the website exhibits a wide ranging diversity of projects, including

replicas of popular video games, interactive art, music videos, stories, holiday greeting

cards, physics simulations, news reports, virtual instruments, petitions and much

more (Figure 1-1). On the other hand, the community has grown to the point where

it is becoming increasingly difficult for Scratchers to find projects that connect with

their interests. So many different types of creations have been shared on the website,

yet there is no effective way to search and browse them.

As the Lifelong Kindergarten group works to design and develop the new version

of Scratch, known as Scratch 2.0, it is necessary to explore new ways for users to

find and browse projects. In fact, enabling project discovery is very important for

16

Page 17: Carini 2012

CDEFGABCDEF GABC -uism ea.s.us

Figure 1-1: Project thumbnails displaying the diversity of Scratch projects

several reasons both from the perspective of a creator and that of a user browsing

the website. First, finding projects that connect to their interests can help Scratchers

feel more connected to the online community and encourage them to continue sharing

their creations. If a user cannot relate to the content seen on the website, he or she

may feel alienated and decide to stop participating in the community.

Second, putting up projects in front of an audience and getting feedback from

others is a strong motivation for many Scratch users. While projects on the Homepage

or those made by famous Scratchers have thousands of views, the majority of projects

on the website remains undiscovered. New ways to explore the website will make

projects more discoverable and thus allow creators to get more visibility and feedback

from the community.

Third, by exploring projects on the website, Scratchers learn about new program-

ming techniques and get inspiration for their creations. The projects that have been

shared on the website represent a valuable literature of examples for the Scratch pro-

17

Page 18: Carini 2012

gramming language. However, there needs to be an easy way to browse the examples

in order to be an effective resource for creators.

Finally, some of the most successful forms of collaboration on the website have de-

rived from Scratch users discovering each other's projects and then working together.

Facilitating project discovery could thus be a way to encourage more collaboration

between users who share similar interests.

1.3 New ways to Search and Browse on Scratch

This thesis discusses the design and implementation of some new ways in which

Scratch 2.0 will enable project discovery through searching and browsing. Scratchers

will now be able to find and browse projects through the new Search page, the Explore

page and the Related Projects strip.

The new Search page allows users to find the projects they are looking for in a

more intuitive and flexible way. Results can be sorted and filtered based on the date,

project type and social metadata associated with projects. The search results are

also highly interactive as users can preview projects directly in the results, without

having to navigate away from the page. In addition to projects, the Search page can

be used to find galleries, users, forum posts and support material.

The Explore page aims to present Scratchers with serendipitous content that might

interest them. After several iterations, the current version of the Explore page displays

a project player surrounded by eight project thumbnails. The seed project is initially

loaded in the player, while the other thumbnails display related projects. Clicking on

a thumbnail, loads the corresponding project in the player, resulting in a playful and

interactive experience. Users also have the option of loading more projects related to

the seed or changing to a completely new project in the network.

The Related Projects strip is an expandable bar at the bottom of the Project

page that allows Scratchers to explore projects related to the one they are viewing.

Users can select from four different relationships to the current project: creator,

remixes, location or galleries. Selecting a thumbnail from the strip loads the page

18

Page 19: Carini 2012

associated with that project, so that users can easily move between related content

in the network.

Overall, these tools were designed with the goal of helping users find projects that

are more meaningful, serendipitous and inspirational, while also making projects more

discoverable.

1.4 Thesis Overview

This thesis presents new ways to search and browse the Scratch website. Particularly,

the thesis is organized in the following way. Chapter 2 presents background informa-

tion on browsing and searching, and an overview of some related trends in content

discovery. Chapter 3 presents some background on the Scratch website and discusses

the current ways of discovering new projects. Chapter 4 presents the goals and design

principles that influenced the new searching and browsing tools. Chapters 5 and 6

describe the iterative design process of creating the Searching and Browsing toolkit,

as well as feedback from the Scratch Team and the community. Finally, Chapter 7

presents some conclusions and offers recommendations for future work.

19

Page 20: Carini 2012

20

Page 21: Carini 2012

Chapter 2

Background: Searching and

Browsing

This chapter presents some background information on searching and browsing, as

well as recent trends in content discovery.

2.1 Searching and Browsing

Searching and browsing are the two major paradigms for information discovery. Users

generally search for content when they are looking for something in specific, while

they browse when they are interested in seeing what is available and discovering new

content. In the past, the two paradigms were mostly thought of as separate and users

had to choose between searching or browsing [20]. Recently however, there has been

a shift towards integrating these two ways of finding information, by making search

results easier to browse and adding search functionality to browsing interfaces[3].

2.2 Recent Trends

Over the past several years, many important trends in the field of content discovery

have emerged, especially as a result of the increasing number of websites that provide

users with millions of items to choose from, including user-generated content websites

21

Page 22: Carini 2012

and e-commerce platforms. This section provides an overview of the landscape of

content discovery tools that are being commonly used by web applications, in order

to give context for the design of the Searching and Browsing toolkit.

2.2.1 Search

As outlined by Marchionini, search activities can be broken down into three major

categories-lookup, learning and investigating. Lookup, which has been the focus of

search systems in the past, can be thought of as fact retrieval or question answering.

On the other hand, learning and investigating involve a more continuous and iterative

process of browsing and refining results. Recently, there has been a shift from thinking

about search as a lookup task to more of an exploratory process that requires active

engagement from the user [13].

Search tools on today's websites support exploratory search by helping users it-

eratively refine their results. For example, many search interfaces present users with

many sorting and filtering options. Faceted search has also become popular way

of supporting this exploratory process, by allowing users to interactively refine and

browse through results. Unlike traditional categories, facets allow documents to exist

in multiple overlapping groups and allow users to progressively narrow down choices

without having to perform complex queries [11]. One popular example of faceted

search is Amazon's interface for browsing products (Figure 2-1) [1].

Search results have also become increasingly interactive through the integration

of multimedia elements such as images and videos. Some search engines let users

preview pages or documents, allowing them to compare results without having to

load the corresponding pages. For example, with Google Instant Preview (Figure

2-2) users can open a preview of the page next to the results so that they can visually

compare the pages before choosing which one to load [8].

Finally many search engines have recently started making their search results more

personalized by integrating information from users' social network. For example,

Google now displays social results, which are mixed in with regular results and are

annotated with their relationship to the user [9]. Bing also recently integrated social

22

Page 23: Carini 2012

8 4M YeeuAMMGM~ ToDOdS0 ONCOma PW*

=~~i 3ho 1100106 .* a~ eovvmlS -*weW-I~m ~ 1~T~us vb.1 S~

so" I 1 -4 a nks Sa ndS &meh Sf oeswanaeaiac*nssTof dOB

nownasem600o euaftoN I 'cth CoLal 0 " (1)

-"soe " 3Co" ft (

AM io"n "Poo1141110Se'g Ppm *.bou Fe aniowTsw~gIb

8*4" ~ ~ **V & o"£ )UKIN w"PO OtTM(WTosM *A )b

940 Uh. ON 21 a

-" -- *pp"10*~We00 I ie

wu.muu-e mA *aSI~s~u.aWw

FREE " RII Tn.OsyU 1qtmO

E Y-O~ , w

Jeay Lee Ford (Jn 25.20W)

Y 15.0

Skawo hkmaede~o

byeenSnd n C1e ud (90.05

Figure 2-1: Faceted search on Amazon

results into their search

[2].

interface, although they are separated from the main results

2.2.2 Explore

Many user-generated content websites are characterized by an "Explore" page, alter-

natively referred to as "Browse" or "Discover". This page generally provides access

to a broad range of content, serving as a starting point for users who want to browse

the website without having a specific interest in mind. In many cases, the page will

display content from different categories or visualized in different ways so that users

are exposed to the diversity present on the website.

The Explore page on Flickr (Figure 2-3) provides different ways for users to explore

the diverse collection of shared photos. For example, users can choose to browse

images visualized on a map, "interesting" photos from the past week, or those taken

with a certain camera model [5]. These methods provide users with different entry

points to begin the process of exploring.

23

...... ...... _ ...... _ _ .. -- - - ___ _ ----- .................. .... ...... .........

Page 24: Carini 2012

Googke w-en '9 S9

Search AtoxA 271OOOOOO0m (O13sowods)

t ScreafI Hom I Im.9Ina mw. sam Ss'bsf I om Is00n, ePuPE. SUm X*vrstoh.ffA.*" I I) rn s" -du Oahd - 9kmiAr

Mm Wd Ut. and giwe owin W"

VkidMs srpa , Scsh ~ inatOer F*@Med n -seaes MN._w toFor Ma. 08 X Compaile uith... Said7 . - amism.

Ninesnei

Seawah ise pwgpumung Insage Usaich: a epMsinii ipaqa 1fW

Mom "W h 6--k"Y ... e-ayss a e W usave..d

Ejl Pnetafgiw r~ca Video TgsdWS lean satwCmabddoe. MA .A6USS.. --

WM rnf frM miade -

Isaih la ppu not s"e lnin wbomnunet h! boomw loe

Figure 2-2: Previewing pages from Google search results

2.2.3 Related Content

"Related Content" interfaces are another common feature of websites providing users

with millions of options to choose from. These tools allow users to find new and

interesting content based on a video they recently watched, a song they recently

listened to, or a product they recently bought. For example, YouTube's related videos

interface (Figure 2-4) is one of the most common ways of discovering new content on

the popular video sharing website [21, 19].

This type of tool is also present on Amazon product pages, which display similar

items based on which products were purchased by other buyers of the current prod-

uct [1]. Overall, related content interfaces are a valuable way of broadening users'

discovery of the network based on a starting point chosen by them.

2.2.4 Recommender Systems

Finally, another key method for content discovery is recommender systems, which give

users suggestions about content or products they might be interested in. Amazon,

for example, displays recommendations based a user's recent purchases. In Figure

2-5 the user is receiving recommendations for books on user interfaces and algorithms

24

............ ................

Page 25: Carini 2012

f 0 Y"u wrnagrado &VSIAn HGOf lickr-. ________

Ho"n The ToW Sign Up Iplore -Upload Samo

ExploreE kieraalk" PhONeon FIW Wb

dIoebR "a saoin MWtu...

Select a month

Mrs pieces Ia explore:

" Intarealing phOlos *om the It 7 days" Calender view of this month* Amapoffthworld* Camera FWider

Ma Murecent Upload. Weo on Fkkr

* The App Garden* The Flikr log

aahaidgftamalgten 143*hby:: agut aalsevso. :: * FUkk for naoble

A yer ago today Sets GroupsTsa sop b e sendeef Vmost A owofourvofb um I1des asld. Thereem eM eofgmuen PUdr. A I*ft

Igeapm Am4~23. 2011. # aeemdewlopd.jw*isrndad..- bebnaw dei YM WW gs.M

ate alf tees ddes me aewy mai 'b=Ouw22)

Figure 2-3: Explore page on Flickr

due to previous purchases of computer science books [1].

One of the most common techniques used in building recommender systems is

collaborative filtering, which uses information about users' previous activity and rat-

ings to create a set of suggestions. The user-based approach to collaborative filtering

generates recommendations by finding users with similar rating profiles and recom-

mending items they rated positively. On the other hand, item-based collaborative

filtering makes recommendations by computing the similarity between items and then

suggesting items similar to those rated positively by the current user. Overall, both

approaches are effective and generate high-quality recommendations. However, web-

sites like YouTube and Amazon, with millions of users and items, have taken the

user-based approach due to its scalability and prediction speed [4, 12]. Figures 2-6

and 2-7 display how these two collaborative filtering techniques work in the context

of Scratch.

25

..........

Page 26: Carini 2012

You

Scratch 20 Proview

q "9-. C""t*Ac*""" SPini

msi

1h .Anenn and

Vis

P~ubdmanJun 4 212 by escbhq

Cwlw abotA emalh a k M uick ut special pavlo de aWowthnew hobjes #* will be' ch 4@ 4Intnwln ,, esenrof SOMM

Figure 2-4: Related videos interface on YouTube

Your Amazon.com

FeaturedRecommendations

Books

s Toy & en Amazon InstantVideo

Home & Kitchen Video Games Industrial &Scientific

See AllRecommendations

S.,.5,~um

warn Saw

Introduction to Algor...Thomas H. Cormen*** (46)

Hardcovers92aeo $66.67Why recommended?

See all recommendations in Books

Designing with the ML..Jeff Johnson PhD**** (46)

Paperbacks494e $30.40Why recommended?

Data Stnictures and A.Narasimha Karumanchi

***** (S)Paperback0999 $31.57

Why recommended?

AgoihmsRobert Sedgewick***** (16)Hardcoversn499 $60.44Why recommended?

Designing the User In...Ben Shneiderman***** (23)Hardcover4+a4.o0 $97.65Why recommended?

Figure 2-5: Recommendations on Amazon

26

Vii.. Ison" to put

VR"1us

Page 27: Carini 2012

similar users

S fractal / wA user a Pyramid IFSI

recommendproject

Fractie Shape Maker 1...

Figure 2-6: User-based collaborative filtering

loved

recommend\project

r7y wu tuir rnautal

similarprojects

Fractile Shape Maki

Figure 2-7: Item-based collaborative filtering

27

Nana

Page 28: Carini 2012

28

Page 29: Carini 2012

Chapter 3

Background: Scratch Website

This chapter outlines some of the main components of the Scratch website, necessary

to understand the design of the Searching and Browsing toolkit. The chapter also

examines the different ways of finding projects on the current website and introduces

some of the new features of Scratch 2.0.

3.1 Current Scratch Website

One of the core design principles guiding the development of Scratch was to make

it "more social" than other programming environments [161. As a result, the design

of the website has been tightly coupled with the development of the programming

language, and sharing projects was encouraged since the beginning. Today, the web-

site has become "a vibrant online community, with people sharing, discussing, and

remixing one another's projects" [16]. The following sections describe some of the

major features of the current Scratch website including: the Homepage, the My Stuff

page, Project pages and Gallery pages.

3.1.1 Homepage

The Homepage displays several rows of project thumbnails, providing a snapshot of

the Scratch community. When users are logged in, they can view eight different rows

29

Page 30: Carini 2012

displaying: the most recent projects, featured projects selected by the Scratch Team

and a guest curator, the latest projects shared by their friends, and the community's

top loved, viewed and remixed projects (Figure 3-1).

imsa.. pro.ram , shar*Welme, £a ' I

You ho" 35

Newest Projects

10 0 DC

I yo O Doby Suwt~eoi I

Featured Projects

CAOU DAY,0R Wng e Towby TeddaCIWz by eithIW314

My Friends' Latest Projects

by iWftg byAtM947

Projects Selected by Yoshlboy

smnwt No

Dy YGOO

is a

- - -

W. tofti

am Scratchuse ts.Minus Take our brief

tlern Scratd? JoinScretcI~d, our newanine mmtyor educators.

celaectn af fIntro

Lvkrn borlatsoom No.

Sergbdc Tsr

Tale a tar to seevAat Sracws we

T4r* an r

r conkcin andScama%Ma a proj

taarn mcrntered a~LAW" 11 cirle and

- $qUerm.s5

oct

are 0

Figure 3-1: Screenshot of the Scratch Homepage

3.1.2 My Stuff Page

Registered members have a My Stuff page that acts as their profile and portfolio, es-

tablishing their identity within the community. This page displays members' projects

30

project% gallertes upporr fOrLIMS at)OLA My

s" lop,

I EW1 by dwt

Page 31: Carini 2012

and galleries, some information about them, projects they have marked as favorites

and some of their most recent friends.

3.1.3 Project Pages

Every project shared on the website has an associated page, where users can play the

project and download its code (Figure 3-2). The Project page displays information

about the project, including the notes written by the creator, its social statistics, tags

and comments. This page also provides a way for logged in users to take actions on

the project such as "loving it" or adding a comment.

analtchai&.. shared It I week, 6 days ago D- Some riahts resered

1190 vIews, 10ljrj 213 people lowm It, 10 mixn by I people, 269downloada, In 20tgak

gp LOW it Add to my famrItas? Fin as inapria?Add to a men

J Comments

Download the 16 sprites and 97scripts of "liobsu&I" and open it in

Try the new playerYou can play this project (and allothers) using our new Flash-basedplayer. Try it out nowl

Project NotesAfter months of being broken, IFINALLY found out how to makemy first published game workill

Vocals edited in AudacityMusic made In Acid

Thank you all for your lovelysuggestions for increasing thedifficultyl

1m getting a lot of duplicatesuggestions, so here are somethings Im thinking of adding:

-A slower growth rate whenblobs are consumed

-Blobs traveling vertically alongthe screen as well as thehorizontal ones

Figure 3-2: Screenshot of a Project page

3.1.4 Gallery Pages

Galleries are spaces where users can gather collections of projects. Every gallery has

a dedicated page that displays its projects and comments. While initially conceived

31

Page 32: Carini 2012

as a way to group related content, Scratchers have used galleries for many diverse

purposes, for example as a place to form sub-communities.

3.2 Finding Projects on the Current Scratch Web-

site

As part of the design process for Scratch 2.0, the Scratch Team released a survey

in May 2011 with the goal of better understanding Scratchers' use of the website.

During the three days when the survey was open, over 2100 Scratchers responded.

Out of these users, 53% of them reported using the website a few times a day, 35% a

few times a week, 8% a few times a month and the remaining 2% said they used the

site less than once a month. The questions asked community members about their

favorite pages, how they generally found interesting projects, and how often each row

on the Homepage helped them find projects they liked [18].

From the responses to the question "How do you find projects that you like?" sev-

eral different methods of discovering projects emerged. These different ways include:

the search box, the Homepage, tags, friends, forums and galleries. Figure 3-3 displays

the number of answers referring to each way of finding projects. Searching was by

far the most popular method, followed by the Homepage and friend-related methods.

The following sections describe these different ways of finding projects.

3.2.1 Search

The Search page is the most common way of finding new projects on the Scratch

website. The current functionality is being powered by the Google Custom Search

Engine (CSE), and based on data analytics, the page receives approximately one

million queries per month. Among these queries, the fifteen most common ones

are related to popular video games such as "mario" and "pacman" (Figure 3-4) [6].

Despite being frequently used, the current Search is far from perfect. Results do not

feel well integrated with the design of the Scratch website, since they are displayed

32

Page 33: Carini 2012

How do you find projects that you like?

Friends Tags

800

700

600

Soo

400

300

200

100

0

Figure 3-3:response to

Graph displaying the numberthe question "How do you find

of times each methodproject that you like?"

was mentioned in

with the look and feel of Google results. In addition, users cannot sort or filter the

results based on Scratch-specific metadata, such as the number of remixes or love-its.

As a result, many community members have expressed the need for a better search

engine that is more tailored to their needs.

In the survey, many users reported searching for topics related to their interests

and passions. For example, one user wrote, "I usually search for things that I like

such as soccer and other hobbies of mine," while another Scratcher said, "I just search

keywords from my favorite stuff' [18]. Many users mentioned searching for the topic

or type of project they were in the mood for at the moment, while only a few reported

searching for specific content they intended to look up. Based on these responses, it

thus seems like most Scratchers are using the Search page for exploratory rather than

targeted search. For example, one user wrote, "I just browse, searching for things I

like on the search-bar" [18].

33

ForumsSearch Homepage Galleries

F_

Page 34: Carini 2012

Popultr web queries all timeOuely Instances

mrIQ 213895

ok&Mo 123125-aM 113605

291k 86M8

-9QMn 79434

56176mkacraft 56147

cube IOrd 4240

RM 42843

SAdM 41138

can of duy 40867

WVM smusic 36494

Figure 3-4: Fifteen most popular search queries on the Scratch website

3.2.2 Homepage

The Homepage represents the main entry point into the Scratch community. This

page has become an important location where Scratchers look to discover new content,

find inspiration and see what is happening in the community. Because each row only

displays three projects, however, the diversity of the Scratch community is not always

well represented. Depending on the user and what projects are being displayed, the

Homepage can attract community members or alienate them if they cannot relate to

anything being shown. The space on the Homepage has also been fairly contentious

due to the high visibility it provides and small number of available spaces for projects.

The survey provides some insight into which rows of the Homepage are most useful

to discover new projects. Based on the responses, users frequently find interesting

projects in the rows displaying their friends' latest projects, as well as the top loved

and top viewed projects by the community. On the other hand, users reported rarely

finding projects they liked in the newest projects, the Scratch Design Studio, and the

top remixed projects by the community [18].

34

.......... ............. .......... I- I - .. - .......... .. .. .. -

Page 35: Carini 2012

3.2.3 Tags

When uploading projects to the website, users can tag their creations with any of

the six default tags-animation, story, game, simulation, art and music-as well as

any other tag of their choice. Once it has been shared on the website, other users

can add additional free-form tags to the project. While this tagging approach is very

flexible, it has proven to be relatively ineffective as shown by the high frequency of

irrelevant or misleading tags. For example, the community started a trend of tagging

projects as "waffles", although the projects were completely unrelated to the concept

of waffles. In addition to being irrelevant, tags have also been used differently from

their intended purpose, by acting as another form of project comment. For example,

the game shown in Figure 3-5 has 47 different tags including "total epicness," "this

project rules," "awesome" and "way too many tags."

ar mshWd It 4 years, 6 months ago

Band on ardnWg's wo~

12202 views, 4ZAsop. 376 people lava It, 136 remixs by 92 peopie.24" downloads, In 144 adl.

Tap

madeoawUomeakscrolling

super mariowmfffs

henmin

amtuar prMets

wikndosp

supfr ffrio wortd

kmmpmgoa ly

-hat Meg-"Wa too many lawsfor real too much tag mathhs projec rulnsnot many UMg but some

towaekewindow=x 211Che

this han lots of &Wgslame Jk

ice crem= asm10M0 iwagoghfhthstow stow Alomeaa

Figure 3-5: Example of a project tagged with many irrelevant tags

Despite the noisiness of the current tagging system, Scratchers have been fre-

quently using tags as a way to find new projects. Many users in the survey reported

searching for particular tags such as "3D" or "platformer", while other said they

35

Page 36: Carini 2012

clicked on tag links shown on the Homepage or project pages. Clicking on a tag

brings users to a corresponding page that can be sorted by date, love-its, views and

remixes. Data analytics from the website show that tag pages are very popular, get-

ting nearly 300,000 page views per month [6]. While tags are often being used as a

way to discover new projects, this does not necessarily mean that they are effective

for this purpose, but rather could indicate the need for better sorting and filtering

options on the Search page.

3.2.4 Friends

Another common method of finding new projects is through friends. Based on the

survey, users frequently find interesting project in the row displaying their friends' lat-

est projects on the Homepage. Many Scratchers also mentioned going to their friends'

My Stuff pages to see their favorites and explore the projects of their friends' friends.

Some users mentioned receiving specific project recommendations from Scratchers

they know [18].

3.2.5 Forums

Another place on the website to discover new projects is in the forums, where Scratch-

ers connect, collaborate, and help each other. In particular, many users regularly visit

the Show & Tell forum, where Scratchers post advertisements for their new projects.

However, it is important to note that the users who participate in the forums tend to

be a sub-community of mostly male, highly technical programmers.

3.2.6 Galleries

Finally, the last major way of finding projects is through galleries. Scratchers can

discover new content by looking through galleries dedicated to the genres of projects

they are interested in. However, although there are nearly 150,000 galleries, there is

no effective way to browse through their projects.

36

Page 37: Carini 2012

3.3 New Features of Scratch 2.0

Over the past few years, the Scratch Team has been working to design and implement

a new version of Scratch, Scratch 2.0. The most important feature of Scratch 2.0 is

that it will be "in the cloud", meaning that users will be able to create projects directly

on the website instead of having to download the application. Since the programming

environment will be integrated with the website, users will no longer need to download

project files to see their code. Instead, clicking on the "See Inside" button on any

Project page will open the programming editor where users can immediately start

tinkering with the code or remixing the project.

In addition to changes to the design of the website, Scratch 2.0 will be character-

ized by several new features in the programming language. First, there will be some

new camera programming blocks that will allow kids to create projects that react to

movements in the physical world through the use of a webcam. Users will also be

able to create their own procedure blocks, store persistent data in "cloud variables,"

and clone objects programmatically. In addition to facilitating the process of sharing

projects, Scratch 2.0 will enable users to share scripts, images, and sounds through

the use of the "backpack".

The design and implementation of Scratch 2.0 has given the Scratch Team an

opportunity to rethink and redesign some of the major features of the website based

on the development of the community over the past five years. As described in this

chapter, there are several ways to find projects on the current website, however,

none of these methods are entirely effective. The Searching and Browsing toolkit has

the opportunity to fill the need of providing better ways to discover projects on the

Scratch 2.0 website.

37

Page 38: Carini 2012

38

Page 39: Carini 2012

Chapter 4

Design

This chapter discusses the underlying goals and design principles that influenced the

creation of the Searching and Browsing toolkit. These aspects are aligned with some

of the major goals and core design principles that guided the development of Scratch.

4.1 Goals

Several major goals influenced the interface design and choice of features for the

Searching and Browsing toolkit. These goals emerged from the motivations described

in Chapter 1, and the current ways of finding projects discussed in Chapter 3. In

particular, the goals of the toolkit are to enable the discovery of projects that are

more meaningful, serendipitous, and inspirational, while also making projects more

discoverable overall.

4.1.1 More Meaningful

Scratch was designed to support the creation of more meaningful projects, by allowing

users of diverse backgrounds to create many different types of projects based on

their own personal interests [16]. Similarly, the Searching and Browsing toolkit was

designed to support the discovery of more meaningful projects, by enabling users to

find content that connects to their interests and passions. If users cannot find any

39

Page 40: Carini 2012

projects that are interesting or relevant, they may feel alienated and distanced from

the community. Instead, by helping them find projects that are more meaningful to

them, the Searching and Browsing toolkit allows Scratchers to feel more connected

to other community members so that they are more likely to continue participating

and sharing their projects on the website. Finding projects that are more meaningful

may also help Scratchers form sub-communities of interest or establish collaborations

with other users sharing their same passions.

For example, suppose Lauren is a fourteen-year-old girl, who has recently joined

the Scratch online community. Lauren enjoys role-playing games (RPGs), but as she

looks through the Homepage she only sees examples of animations, interactive art

projects, and videogames. She continues to browse through the website but does not

find any projects or users that connect to her passion for RPGs. If Lauren had an

effective way to search and browse projects, she could have discovered the hundreds

of galleries dedicated to RPGs, allowing her to find other users sharing her interests

as well as projects to inspire new ideas for her own creations.

4.1.2 More Serendipitous

Another goal of the Searching and Browsing toolkit is to allow Scratchers to discover

more serendipitous projects-ones they never would have thought to look for. Certain

Scratchers only create and search for a certain genre of project. Exposing them to

diverse content that is unexpected, while still interesting, can be an effective way

to broaden the range of projects users interact with and give them ideas for new

creations to work on. While the toolkit aims to enable users to find projects based

on their interests, it also aims to surprise them with more serendipitous content so

that they do not miss opportunities to discover projects outside of their immediate

network. In addition, users may be interested in browsing projects without knowing

exactly what they are looking for. Integrating serendipity into the Searching and

Browsing toolkit can be an effective way to address this scenario.

For example, consider Brian, a thirteen-year-old boy who has only been interested

in side-scrolling games so far. His friends in the Scratch community are also focused on

40

Page 41: Carini 2012

this type of game. As a result, Brians experience on the website has been restricted

to one narrow genre, because of his personal interests and friend network. If the

Searching and Browsing toolkit suggested content that was more serendipitous and

unexpected, Brian might discover different types of projects he did not know existed,

exposing him to new ideas and forms of creative expression.

4.1.3 More Inspirational

The Searching and Browsing toolkit aims to help users find projects that are more

inspirational. In fact, the website displays a large collection of diverse projects, which

represents a valuable literature of examples for the Scratch programming language.

Shared projects are useful resources to learn about new programming techniques or

how to use a specific block of code. Projects are a source of new ideas for creations

users might want to work on, while others may inspire users to create remixes. An

important goal of the Searching and Browsing toolkit is thus to support the discovery

of more inspirational projects that might encourage users to learn something new or

inspire them with ideas for their next creation.

For example, suppose Katelyn is a middle-school girl who loves creating digital

art and particularly enjoys working on fantasy characters. Recently she discovered

Scratch and started sharing some of her artwork by making interactive slideshows.

Katelyn would love to animate her characters and use them to create an interactive

story; however, she does not have any programming experience. The Searching and

Browsing toolkit could enable her to easily browse other animated stories so that she

could look at the code as an example and learn how to bring her artwork to life.

4.1.4 More Discoverable

Projects that are displayed on the Homepage or are made by famous Scratchers often

get hundreds or thousands of views. Some of the most popular projects that were

shared over the past five years have even been viewed by tens of thousands of users.

However, the cases mentioned above represent a very small percentage of all Scratch

41

Page 42: Carini 2012

projects. The average project receives only a few views in total. One of the major

goals of the Searching and Browsing toolkit is thus to give greater visibility to the

average Scratch user. In fact, putting up projects in front of an audience is a strong

motivation for many Scratchers. Greater visibility also means a greater number of

opportunities for receiving feedback from others users. Helping project creators get

their projects discovered may be an effective way encourage them to share additional

projects and participate more actively in the community. In addition, many examples

of collaboration have begun with users discovering each others projects and then

starting to work together. Making projects more discoverable could thus increase the

opportunities for users to begin collaborating with each other.

For example, suppose John is a 10th grader at an urban school in Los Angeles.

He has just finished working on a school project, for which he was asked to create a

representation of a social issue present in his community. John chose to use Scratch

to create a game to portray some of the income inequality issues seen in his neighbor-

hood. After spending many hours perfecting the game, he shared it on the website,

hoping to get a conversation started with other Scratchers about the topic. A month

later, his project had only 5 views and did not have any comments. If there was a way

to make projects more discoverable, a greater number of Scratchers might have seen

his creation and could have given him feedback or reflected on the broader issue. This

might have given John the opportunity to meet other teenagers who are experiencing

similar issues both in Los Angeles and other cities around the world.

4.2 Design Principles

The design of the Searching and Browsing toolkit was guided by three major design

principles. First, the new tools were designed to have a low floor and a high ceiling.

Second, the interfaces were designed to be interactive and playful, in order to promote

exploration. Finally, they were designed to fit naturally with Scratch 2.0.

42

Page 43: Carini 2012

4.2.1 Low Floor and High Ceiling

The Scratch programming language was designed to have a low floor so that novices

can easily get started, and a high ceiling so that expert users can develop complex

programs. Similarly, the new Searching and Browsing toolkit was designed to incor-

porate both of these ideas.

On one hand, the new Searching and Browsing tools have a high ceiling, as they

give the user a high degree of control and flexibility. In fact, the interfaces enable

users to iteratively refine the content being shown, through different methods of

sorting and filtering. The tools are also very powerful in that they allow users to

explore the network of projects in multiple different ways. On the other hand, the

tools have a low floor, as shown by their clean and simple interfaces that are intuitive

to use for novice users. The language used in the toolkit also contributes to lowering

the floor, seeing as the terms used are simple enough for young users to understand.

4.2.2 Interactive and Playful

Another important design principle was to make the tools interactive and playful in

order to encourage exploration. In the spirit of tinkering, which is key to the Scratch

programming language, the Searching and Browsing toolkit was designed to provide

a playful and compelling interface for finding projects. Playing projects without have

to leave the page and being able to easily jump between related projects is a fun and

engaging way to browse through creations on the website.

4.2.3 Fit Naturally into Scratch 2.0

Finally, the Searching and Browsing toolkit was designed to fit naturally within the

new Scratch 2.0 website. This design principle influenced the layout of different

pages, as well as the overall aesthetics of project thumbnails and the project player.

While the Searching and Browsing tools are well integrated with the overall design

of Scratch 2.0, their interfaces are fairly distinct seeing as they serve very different

purposes compared to the other pages on the website.

43

Page 44: Carini 2012

44

Page 45: Carini 2012

Chapter 5

Search

This chapter discusses the design and implementation of the new Scratch 2.0 Search

page, which allows for greater customization, sorting, and previewing of results. The

design of the page was guided by the principles discussed in Chapter 4, with the aim

of helping Scratchers find projects they are interested in.

5.1 Google Custom Search

Search on the current website is powered by Google's Custom Search Engine (CSE),

which allows developers to add search functionality to their web applications using

Google's core search technology [7]. CSE has several advantages, for example, being

able to rely on Google's servers to index all the documents and getting access to the

data analytics about queries made to the search engine. While these are significant

benefits, the CSE approach also has many disadvantages from the point of view of

both the user interface and the functionality.

First, relying on CSE causes search results to be displayed with the look and feel

of Google results (Figure 5-1), such that they do not feel well integrated with the

Scratch website. In addition, Google does not have access to project metadata such

as statistics about how many users have viewed, loved, or remixed a project. Users

thus cannot sort or filter results based on these Scratch-specific metrics, and until

recently, no thumbnails were shown next to project results. Finally, when the "All

45

Page 46: Carini 2012

results" filter is selected, Google's PageRank algorithm tends to prioritize forum posts

due to the many links pointing to them, while users are more frequently searching for

projects.

home cprcjects galenles supprt forums about Language

,n f p r a - -h ' Lau i o r S i p =t fo r a n a ccou n t o [ sme rd I

ReAsus 1 -10 for dogs wtih Seeiniemah on.M esonde)

Refine results for dogs:

documrntaMIJ Vkh

Scrach Proects taggd with 'dog' GmOne of my iWends end i wei mixing up y=u dogs end made t *ope people ike your cmw Golden spanial ... Deacrlpllon: 7Ve is Pep the dog. Hsve fui ...9cratch.mIt.eduLtaggedshwreddogLabeled gmhsb u fumms gWde

Scrakh I POlecIs taoaed with'dogs'Desoupton: This is Pep the dog. Have funi ... You must color in the boher end sister dogs.Irs aot of wok. bt the pdzes make It woth It ...scratch.mit.edultaggedlshadldogsLabeled forum walwft gu a d

Scralch Forurms /Dag Owner Fact15 posts - 13 authorsAN oners of dogs It* thd .vsryone must love dogs theyM evay weng in ... I emagainst dogs tool The bft and wad end they go to the batuom.acratch.mit.edu/fonrms/vewtoplc.php?pld-815S00Labeled fornms gdadm ui Rmis

Scrakch Foruns Dog Owner Fad22 poste - 13 aihors - Last post: 15 hours agoImplying dogs end cas us the sams Look at thu guy1 ... And dogs wen't? Anyy, thsargusment Is impossIble to win. If nn waongs, yaw wong ....scratch.mit.oe&lonmviestoplc.phipld16G3Labed fwmmn anisM 1 g def

Scrach Forums/:).: Dogs XD :.:)13 post - 7 authors - Last post Nov 21. 2010I heve a Spnger Spnwis %6's the cmeet dog youd ver meet. .... I don't much fIe dogsor cats. tongue. But my frend hm a ca, ...cAtoh.mit.d alforum/vWlopic.php?pi03430

Scratch Forums /Is Raining Cab and Dogal17 posta - 12 aumhors - Last post: Sep 22, 200MDogs... They actually move overyone now and then. Thi oenhd me. I should check on mycat Its on the floor and Its been the sInce THIS.seanch.mIt.edLfoums/vwtopc.php?du2315

Scrakch Forums Dogs R Cuis & awesom2flNOTM?

Figure 5-1: Screenshot of search results on current Scratch website

Due to these various limitations, many members of the community have expressed

the need for a better search engine, in the forums and on the Scratch Suggestions

page. Many users asked for the ability to sort and filter results based on the date,

views, and love-its. For example, one user wrote, "I would love to have more powerful

search capabilities! I would like to be able to say, find all the projects that have

the word Easter in either the description or the title or in tags and present them in

reverse chronological order'" [17]. Many users also requested adding thumbnails next

46

Page 47: Carini 2012

to projects results, in order to "get a better idea of what [the project] is about" [17].

Some Scratchers suggested adding common features of popular search engines, such

as autosuggesting queries while the user is typing. One user even created a Scratch

project (Figure 5-2), displaying a mockup of his idea for a new search bar.

Figure 5-2: Project displaying a Scratcher's idea for a new search bar

Based on the feedback and suggestions from Scratchers, it was thus clear that

there was a significant opportunity to improve the Search page so that it was better

integrated with the website and more tailored to Scratchers' needs. In order to fully

accomplish these goals, we realized that it was necessary to design and implement our

own search engine. The next section of this chapter discusses how the Search page

design evolved based on feedback received from the Scratch Team and members of

the online community. Finally, the last section of this chapter describes some of the

key aspects of the search engine implementation.

5.2 New Search Page

Designing the new Search page was an iterative process of implementing prototypes

and receiving feedback on them. The following sections describe some of the major

phases of this process.

47

Page 48: Carini 2012

5.2.1 Initial Designs

The Search page is characterized by two major components: the sorting and filtering

tools, and the actual search results. The first step was to design the filtering and

sorting tools, which had to be sufficiently powerful to allow users to refine their

results, while being simple enough for young users to understand. In the context of

Scratch, the tools had to allow users to sort results based on social statistics, such

as love-its, views, and remixes. In addition, it was important for users to be able to

filter and sort results by date in order to give them access to fresh content and help

them discover recently shared projects. Finally, due to the wide-ranging variety of

creations, it seemed valuable to give users the option of restricting results to a certain

project type, such as games or animations.

Figure 5-3 displays an early mockup of the project search interface. We considered

several different layouts for the filtering and sorting tools based on examples from

popular search engines. Ultimately, we decided to have the tools in a sidebar on the

left side, as this design seemed to best satisfy the tension between achieving a low

floor and a high ceiling. In fact, the design's similarity to Google's new interface

meant that the Search page would seem familiar to users of different ages, while still

providing a high degree of flexibility and control over the results. Also, because each

filter allowed users to select only one option at a time, it seemed more intuitive than

using a more advanced faceted search approach.

Another major component of the design was the appearance of the search results.

In order to achieve a balance between showing many results and making them more

interactive, the initial design provided two ways of viewing results-a thumbnail view

and a player view. In the thumbnail view (Figure 5-3), results were shown as a

grid of thumbnails with their corresponding titles and creators. In contrast, the

player view (Figure 5-4) was composed of a project player, an area displaying detailed

information about the project, and a carousel of thumbnails to choose from. Clicking

on a thumbnail loaded that project into the player, thus providing a simple and playful

way to preview projects directly from the search results.

48

Page 49: Carini 2012

~Rgm * 0(Da' I M

dogs 0

P, All resultsE] Projects(5 Galleries

L usersForums

Sort byMost recentMost lovedMQst viqwq0

Most commentedMost remixed

DateAny timePast 24 hoursFPgst w#APast mo~nthPast year

TypeAnimationGameSimulation

Sunny orders an Appwe Juice Sunny Orders an Annie Juiceby *12=rv1Mg by 4020m11111

Sunny Orders an Aple Juiceby Vy9Rn22Mf9

sunny Orders an Annie Juiceby VICtQYnAmff

Sunny Orders an Anple Juieby vkJorvLggjs

sunny Orders an Appie Juice Sunny Orders an Appie Juiceby YJytOrj9YflQ by XKWIMI91YUEI

""" son"""I

Bunny orders an Annie Juiceby ytg1qyients

Sunny Orders an Annie Juleaby Ykto1MQW

Figure 5-3: Thumbnail view in initial mockup of the Search page

5.2.2 Feedback from the Scratch Team

Discussions with the Scratch Team provided helpful feedback on the initial design.

First, we realized that while the thumbnail view was effective for the Gallery page

where users were interested in looking at many projects simultaneously, the layout was

not well suited for search results where users were interested in specific information

about each project. We thus decided to shift to a list view, with thumbnails shown on

the left and information about them shown on the right. Also, having two different

views for project results seemed unnecessarily complex, so we decided to combine the

thumbnails and player within a single view.

Figure 5-5 displays an initial attempt to integrate the list view of results with the

ability to preview projects. In this prototype, users could click on the magnifying

glass icon causing the thumbnail to be replaced by a project player. The area dis-

playing information also expanded to reveal the project's social statistics and its full

description. This prototype was a very preliminary version of the Search page, yet it

49

a G

Page 50: Carini 2012

~R~A Ib~TI 0 ~ 0

dogs 0

All results

o Projects Drawing Request (Fawn and Howl.)by angetwerTO

[ Galleries 5 1£Users 11st 5 4W 10

SUsersThis Is a drawing requesl Out I did kwr* Forums P4w. I dd the oginalst on paer,

Iter I scannd It and added daet using On ,scratch software. Sony thtthey arent to good.

Sort by Iln More used to drawing hoesft:3 PleaseMost recentMost lovedMost viewedMost commentedMost remixed

Date s j t paeAny timePast 24 hoursPast weekPast monthPast year

TypeAnimationGameSimulation

Figure 5-4: Player view in initial mockup of the Search page

captures some of the major features of the current design.

5.2.3 Pre-Alpha Prototype

After further feedback from members of the Scratch Team, the Search page prototype

was refined in several ways (Figure 5-6). First, the magnifying glass was changed to a

green flag icon, based on the feedback that the magnifying glass gave the impression

that users would see the project's code rather than a preview. Also, the social statis-

tics and project notes were moved to the right side of the project player, in order

to emphasize that they were associated with the project being previewed. Finally,

graphical elements such as the icons and interface colors were changed to match the

new Scratch 2.0 website design.

Discussions about the prototype also raised questions about whether users should

be able to "preview" gallery and user results in a similar way to how they could

preview project results. For example, a gallery preview might have consisted of

50

Page 51: Carini 2012

ANRets The Cat Ate the Burr#og- Proo. by 9ttte23

R ymtmlxIs OUT?! rei eais 1s23 for prety m vygn USGoienI th e wem ta. eW ENJOM

0ForumsWikd& Suppot

sort by

Ame y trPM~~ 2:1hPaw wink e ai fr eo skln .eADawing Reauest (Fown and Howl.)

T Amuhg1QA 95 @20

hige dr-g5e:es Inist i i prttyer Iofdth oSea c t paeerthmIotwe

a pta aadn artasu bng aie iatch softa.y theyre went so go it in am* ue tadtribdinC:) Pate 6.mn

Tho etAt IMMIMM'R

.24OUTI Credid ba akfrM for pret much *reyd rcoa______fl atItraw #e 04M t. am"Y

Figure 5-5: Initial prototype of Search page

a player and a carousel of thumbnails displaying the projects within that gallery.

Although this feature would have made the page more interactive, it seemed excessive

for the search results. Instead, this issue of providing a simple way to browse through

projects in a gallery or by a certain user, was addressed by the Related Projects strip

described in Chapter 6.

5.2.4 Feedback from an Experienced Scratcher

At this stage of the design process, the prototype was shown to Jack, an experienced

Scratcher who has been an active member of the community since 2007. His experi-

ence as a community member and moderator was a great source of insight into how

the new Search page would be received by other Scratchers. Overall, Jack thought

51

..........................................................................

Page 52: Carini 2012

flW *0 00,[

Figure 5-6: Pre-Alpha prototype of Search page

the page was a great improvement over the one on the current website. He liked

the appearance of search results and the ability of previewing projects directly on the

page. However, Jack was concerned that using a full-sized project player in the results

would discourage users from visiting Project pages, meaning that they would miss

the opportunity to provide feedback and tinker with the code. To address this issue,

Jack suggested significantly reducing the size of the player in order to make if feel

more like a "preview" rather than the full project experience. Finally, he mentioned

that the green flag icon was unclear so users might not realize their ability to preview

projects.

5.2.5 Alpha Prototype

Based on feedback from Jack and members of the Scratch Team, the Alpha version

of the Search page (Figure 5-6) has a significantly smaller project player, giving users

more of the sense that they are previewing projects. Additional projects statistics,

52

m.ift

M P*62. dMsM Wj ~~ yfA

I IVGd*M W

mario 4 (mgedo wwaton) musk Modo bI r*913la * its 4D OW

Pail 24 hous

Past V*r

A*#"*

7ac Vouro ovYl sup-mari v pogunis8MI MAA "I

....... ......... ............. . . ...... ..... ........ .... ... ..

Page 53: Carini 2012

such as the number of comments and remixes, were also added to the results. Dis-

playing the remix count was particularly important in order to provide feedback when

users sorted results based on the number of remixes. The green flag icon to open the

project preview was also changed, in order to match the rest of the website and better

indicate its functionality.

ANN------------

GN Reetift

d..

Urn

Soft by'

Most recent

MoeV Wed

Most vowed

Most rernixed

Past 24 hours

Past week

Past nth

Past year

Ay typ

Proscts

TuriiArt by tammy 0WO//20D7*11 4W18 103 0 39th p wojectwas aspired by Turt Art softmere, created by Brion Slwrwww and Pat* BSae at Ptaytui

nvegon Co"peny INSTRUCT01NS Clck the Green Flog eWt. HOW I MADE THIS The sprfe Lsts AS pen o

draw a series ol bins, each wv ...

TurtlArt by novit 120/200

6 4P 9 Q 77 #)0 24

Rrm d Twt art by Mree - INSTRUCIONS Ckck the Green Flag to ebt Try

dlteret values Or the elder HOW I MADE THiShe older coniroll how nuch sessae itimn betweeeach step. The pen cnge cabr betwen eech stw ep.MORE IDEAS Try changing how much te pen-cwbo changes between each step, or

how neh the amp4ai chlngee.

Twlt0At by mres 05/1&2007

*7 4P7 0943 50 Q17NSTRUCTIONS Ctck the Green Flg I atwrt. Try dilerent values fo elder. HOW I MADE THIS The elder

crow* how ntch the tale ituS been each step. The pen changes color between each %ae stp. MORE

IDEAS Try chenging how much.

TwtleArt remixed agsn2 by forest 10232009*0 4 4 0 16 * 0 *3

Anoter k renk of nevie proe h renee ree' prefoect. aaundveck Is caled 'popom' and is by Eon

and can be found on the newaunds webeb. creesvi comonis n ence t &Wr end condftne epply te musc.

11111

Figure 5-7: Alpha prototype of Search page

5.2.6 Feedback from the Scratch Community

In April 2012, the Scratch 2.0 prototype was released to a small set of Alpha testers,

composed of community moderators, educators and researchers. The testers were

asked to experiment with the prototype and provide their feedback and suggestions

in the forums. Additionally, the Alpha prototype was opened to the entire online

53

. ......... ................ .... . - - - - __- -- . .... ''I'll", .. ..............

Page 54: Carini 2012

community for five days, on the occasion of Scratch Day 2012. Users were given the

ability to test the prototype and were asked to provide feedback in the forums and

in an online survey. During these five days, over 1000 comments were posted in the

Scratch 2.0 feedback forum threads and approximately 630 users responded to the

survey. Although most comments focused on the new features of the programming

language, several users mentioned the new Search. In addition, the Alpha testers were

explicitly asked to provide feedback on the functionality and design of the Search page.

Overall, users enjoyed being able to preview projects because it was "helpful

for quickly going through search results without having to load a bunch of project

pages" [17]. One tester also mentioned that she liked the preview feature because

it was "useful to be able to look at projects without losing [her] spot on the list or

having to make a new tab" [17]. The testers thought the sorting options were helpful,

although one of them mentioned that it might be useful to sort in both ascending and

descending order. For example, in some situations it would be useful to see the oldest

projects, rather than just the newest ones [17]. While the current prototype uses

infinite scroll to load additional results, the Alpha testers mentioned that it would be

better to have paginated search results, as this would allow Scratchers to say "just

search card games' and you'll find [the project] on the second page" [17].

While testers generally liked the new design of the Search page, several responses

emphasized the need to improve the relevance of results and add advanced search

functionality. Currently, the "most relevant" sorting option searches for projects that

contain the searched keywords in the title, the description or the creator's username.

Since social data is not being used in the ranking, the top results often display projects

that match the query but are not particularly high quality. Giving some weight to

social data, such as views and love-its, as well as further experimenting with the

weighting function, might be effective ways to improve the relevance of project re-

sults. Several users also mentioned the need for more advanced search query func-

tionality such as the use of wildcards and excluding words or phrases from the results.

Integrating these advanced features will increase the power and flexibility of the new

Search page without adding to the complexity of the interface.

54

Page 55: Carini 2012

5.3 Implementation

The first major step in implementing the search engine was to index all the documents

being searched. To accomplish this task, we evaluated several potential open-source

indexing platforms including Sphinx, ElasticSearch, Xapian and Apache Solr. Ulti-

mately, we decided to use Solr due to its advanced functionality, extensive documen-

tation, and widespread use on other websites. Solr also had the advantage of being

supported by Haystack, a Django search framework that was easily integrated with

the backend of the Scratch 2.0 website.

Currently, the search index contains four different types of documents: projects,

galleries, users, and forum posts. Table 5.1 displays the fields indexed for each type

of document. The social statistics were particularly computationally expensive to

index, seeing as the counts are not being stored in the database; however, indexing

these fields was necessary in order to allow users to sort results based on them.

Table 5.1: Data indexed for each type of document

Project Gallery User Profile Forum Posttitle title username authordescription description user id topiccreator owner country categorymoderation status date created bio forumloves count permissions follower count date createdviews count projects count following countremixes count comments count favorites countfavorites count projects countcomments count comments count

Once the documents were indexed, the next step was to implement the search

functionality. Search requests are sent to the server in the form of GET requests so

that the query options are displayed in the URL. This was done explicitly in order

give users the ability to copy or bookmark links to particular sets of search results. In

addition, in order to improve the relevance of results, different weights were assigned

to specific fields. For example, in the current prototype, a project's title has the

55

Page 56: Carini 2012

most weight, followed by the description and the creator's username. Continuing to

experiment with the weighting function and integrating some social data into the

ranking will allow us to improve the quality of results.

56

Page 57: Carini 2012

Chapter 6

Browse

This chapter discusses the design and implementation of the new Scratch 2.0 browsing

tools-the Explore page and the Related Projects strip. These tools aim to provide

easier ways to browse projects on the website and accomplish the goals of the Search-

ing and Browsing toolkit.

6.1 Explore Page

Early in the design discussions for the Scratch 2.0 website, we realized it would be

valuable to provide users with a better way to browse through projects. Specifically,

there seemed to be a need for a page where users could browse through interesting

and unexpected content when they did not necessarily know what they were looking

for. Although the page had an overall goal, what the content of the page should be

and how it should be displayed were very unclear. Accordingly, the Explore page

has been the part of the Searching and Browsing toolkit that has evolved the most

throughout the design process and many questions still remain open.

6.1.1 Initial Prototype

The inspiration for the Explore page derived from an early prototype of the Scratch

2.0 Profile page (Figure 6-1), which facilitated browsing through a user's projects

57

Page 58: Carini 2012

and friends. Clicking on a project thumbnail caused the corresponding project to

be loaded in the player, while clicking on a user's thumbnail loaded that person's

profile. The result was a very interactive and playful way to browse through projects

and users in the network. In later versions of the Scratch 2.0 website, we decided

to abandon this idea as it led to confusion about the distinction between Profile and

Project pages. Nevertheless, the team remained intrigued by the possibility of having

a place where Scratchers could browse through a collection of projects by loading

them into the player, without having to leave the page.

b C lfmitg 1 i V~commoft. Awmk

Ibkw s IfSt b ftinn ua4FfpdMVaoapsftaIeu. 1wsedn g suup e b mwuux dA.gu 1.

ho to -- pa t W ftpMb

Figure 6-1: Early prototype of the Profile page

The first version of the Explore page (Figure 6-2), aimed to capture a similar

experience as the one provided by the Profile page prototype shown in Figure 6-1.

Another source of inspiration was YouTube's related videos interface, given that many

Scratchers had been requesting a related projects section similar to the one present

on the popular video sharing website. While the layout was similar to the one on

YouTube, we decided to give the user more control over the type of relationship

connecting the main project to its related content. For instance, instead of simply

58

Page 59: Carini 2012

seeing a collection of related projects chosen by the system, the user could specifically

choose to view other projects by the same creator. The decision to give users control

over the type of related content was guided by the desire to make the interface more

flexible and at the same time clearly indicate how the projects were related to each

other.

The initial prototype of the Explore page consisted of a player and information

about the "seed" project on the left side, and a list of related projects on the right.

A dropdown menu gave users the ability to select between five different relationships

to explore by:

" Creator: projects by the same creator

" Remixes: remixes of the project

* Galleries: projects in the same galleries as the seed project

* Loves: projects loved by the users who loved the seed project

" Location: projects created by users in the same country as the seed project

Clicking on the thumbnail of a related project loaded that project into the player

and updated the list of related content to reflect the new seed project. If none of

the related projects seemed interesting, users could click on the "Random Project"

button to change to a completely new project in the network.

A contextual approach was used to determine which project was initially loaded

in the player; that is, the seed project depended on the page users were coming

from. For instance, if a user was previously on a Project page, then that project

would be chosen as the seed. If instead the user came from a Profile page, then

one of the corresponding user's projects would be loaded in the player. Likewise,

if the user was coming from a Gallery page, a project from that gallery would be

displayed. Otherwise, if the user was coming from any other location on the website,

the seed project would be chosen from the Homepage. Although this behavior was

not explicitly clear from the interface, it seemed like a potential way of allowing users

to influence where they wanted to start exploring from.

59

Page 60: Carini 2012

ExploreV2 - lego model creator Random rojecti Explore by: crestor

by JSOJ

M4 9297 0 1676 0

by J90

* 164 162 0 3496 0

UD-pong 1.2by JSO*98 104 0 1142 * 0

E "bon (011e)by JSO

75 4 85 0 1367 g0

*M 656 5272 25 RC PW 3D v1.1by J90

Create your own simple lego models hn 30 tupired by lego's dital designer :A) * 70 9 78 0 704 * 0A: Red W: White B: Blue Y: Yellow : Dak Black Number keys: Set brIck lenth(1,2,4.6,S) Arrow Keys: Rotate BrIck X: Restart : Stop and watch your model

Figure 6-2: Initial prototype of the Explore page

6.1.2 Feedback from the Scratch Team

Once the initial prototype of the Explore page had been implemented, members of

the Scratch Team were given the opportunity to experiment with the interface and

provide feedback on the design. Overall, everyone enjoyed being able to continuously

load projects into the player without having to navigate away from the page. They

also liked being able to choose the type of related content being displayed, as it gave

them control over their browsing experience, although some of the terms used to

describe the relationships were relatively unclear.

An important issue discussed during this phase of the design process was the over-

all look and layout of the page. First, the vertical arrangement of thumbnails in the

related projects area seemed inconsistent with the rest of the Scratch 2.0 website,

where thumbnails were generally displayed in horizontal carousels. Second, we real-

ized that the Explore page significantly overlapped in appearance and functionality

with the Project page. This overlap was problematic because it had the potential of

60

Page 61: Carini 2012

creating confusion between the two pages and had the risk of reducing the need users

felt to visit the Project page. Although the Searching and Browsing toolkit aims

to provide better ways of browsing projects, Scratch's main goal remains to engage

users with designing and creating. It was thus important that the design of the Ex-

plore page did not reduce Scratchers' likelihood of visiting Project pages, where they

could tinker with the code and provide feedback to creators. It thus became clear

that the Explore page had to be more distinct, in order to avoid repeating the same

functionality and more importantly to encourage Scratchers to visit Project pages.

Another key issue was the question of how the Explore page should behave when

users clicked on a project thumbnail. Based on the discussions, there seemed to be

two different ways of thinking about browsing through projects-exploring a collec-

tion versus exploring the network. In the collection approach, users are interested

in looking at many projects related to the same seed; therefore, it makes sense to

maintain the list of related content until the user explicitly chooses to load another

project's related content. Conversely, in the network approach, users are interested

in moving through the network of projects. As a result, when considering the second

approach it makes sense to think of every selected project as a new seed, changing the

set of related content being displayed every time. Both ways of exploring are power-

ful and different people seemed to prefer one approach to the other. Ultimately, we

decided to enable both styles of exploring, as described later in this chapter.

6.1.3 New Directions

The following stage of the design process was marked by a significant shift in direction

for the Explore page. Based on the feedback discussed above, we understood that

giving users the ability to choose the type of related projects being displayed was

valuable. However, we realized that this content would be most useful on the Project

page, in order to avoid the confusion between the two pages and avoid the risk of

users staying only on the Explore page. This realization led to the decision to create

the Related Projects strip, described in Section 6.2.

Given that the previous functionality was moved to the Related Projects strip,

61

Page 62: Carini 2012

the question of what to display on the Explore page remained open. As described

in Chapter 2, on many popular websites, the equivalent of the Explore page displays

a diverse collection of content that users can use as a starting point when they are

looking for something interesting. In the context of Scratch however, the Homepage

already serves this purpose by displaying many rows of project thumbnails. As a

result, one option we considered was to completely remove the Explore page, since its

purpose was potentially being satisfied by a combination of the Homepage and the

Related Project strip. Although this option was considered, we preferred to keep the

Explore link in the main navigation bar, and the team was still intrigued by the idea

of having a page where users could continuously browse through projects.

6.1.4 Alpha Prototype

The final design of the Explore page for the Alpha prototype is shown in Figure

6-3. In this design, a project player is surrounded by eight thumbnails related to

the seed project. Clicking on a thumbnail loads the corresponding project into the

player without changing the eight thumbnails. Once a project has been loaded into

the player, users have the option of loading the selected project's related content by

clicking the "Shuffle" button. The interface thus supports both the collection and

network approaches to exploring. Additionally, users can change to a completely new

seed project in the network by clicking the "Jump" button.

The Alpha version of the Explore page reveals how it is possible to satisfy the

principles of both low floor and high ceiling. On one hand, the interface has a high

ceiling as it allows users to move through the network of related projects in several

different ways. On the other hand, the interface has a low floor, because it is sim-

ple enough for a novice user to start experimenting with. The choice of the words

"Shuffle" and "Jump" was an attempt to further lower the floor by referring to the

different movements in the network with playful and concrete terms, in order to make

them more understandable to young users.

Finally, another key aspect of the new design was the removal of unnecessary

features from the interface. The first element that was removed was the dropdown

62

Page 63: Carini 2012

that allowed users to select between different types of related content. Since this

functionality was moved to the Related Projects strip it seemed redundant to have it

on the Explore page as well. The social data about projects was also removed in order

to keep the interface simple and clean. Finally, the project player was significantly

reduced in size, in order to make it feel more like a preview and encourage users to

visit the Project page.

Explore

Fractals

by ~ ~ b n"eywtv

by ni by nwv

Figure 6-3: Alpha prototype of the Explore page

6.1.5 Feedback from the Scratch Community

The Explore page received positive feedback from the Alpha testers and members of

the online community during the Scratch day trial period. In particular, the Alpha

testers liked the new layout of the page, which was "rather slick and pretty intuitive

to use" [17]. They also enjoyed being able to play projects without leaving the page.

One tester wrote, "I'm enjoyi ri ring projects that I might not see

otherwise. Great idea in order to help people move beyond the front page" [17]. Based

63

. ........... .

Page 64: Carini 2012

on their feedback, the testers seemed to agree that the Explore page "will really make

Scratchers interested in each other's projects" [17].

One significant point of confusion among the testers was the difference between

"Shuffle" and "Jump". As mentioned previously, we chose these words in an effort

to make the interface more simple and playful, although we realized that they might

be "hard to decipher" [17], as one tester mentioned. One reason the Shuffle feature

may have confused testers is due to the algorithm used to generate the list of related

content-a mixture of projects by the same creator, in the same galleries, and loved

by the same users. For projects with little social data or not part of any galleries,

however, the related content was mainly by the same creator. In this scenario, clicking

on Shuffle meant that many of the same thumbnails were loaded, simply in different

positions. Improving the algorithm to select related projects could thus be an effective

way to increase the distinction between Shuffle and Jump. Despite the confusion

about the two functions, many Scratchers mentioned that they were fun to play with,

and in particular the Jump button got them "to see things [they] wouldn't necessarily

have picked out [themselves]" [17].

Some other issues mentioned by the testers revolved around the seed project. In

the design of the Alpha prototype, we explicitly decided not to allow users to take

any actions on the project, in order to encourage them to visit the Project page.

However, several testers mentioned that they were "disappointed that [they] couldn't

immediately click favorite' or love' on the projects [they] viewed from Explore" [17].

One Scratcher wrote that it would be nice to allow users to "respond immediately

to the projects in ways that leave traces. Otherwise there's all that feedback that

might not be left because one has to [...] go to the project page to do those things"

[17]. Several other Alpha testers shared this concern, and thought it was important

to be able to favorite or love the project directly from the Explore page. Regarding

the issue of which project was chosen as the seed, the testers agreed that it would be

valuable to have this be personalized based on their recent activity on the website, for

example, the projects they recently love or added to their favorites. For anonymous

users and new Scratchers, the testers agreed that the contextual approach would work

64

Page 65: Carini 2012

well.

6.2 Related Projects Strip

6.2.1 Initial Prototype

The Related Projects strip is an expandable bar at the bottom of the Project page

that allows users to explore projects related to the one currently being viewed. Users

can select from different types of related content, and clicking on a thumbnail in the

strip causes the corresponding Project page to load. As discussed in Section 6.1,

the strip originated from an effort to move the functionality of the initial Explore

prototype to the Project page, where it seemed to belong.

We decided to implement the Related Projects strip as an expandable bar that

overlays the Project page, inspired by YouTube's new playlist interface. In fact,

having the bar as an overlay meant that the related thumbnails would always be

visible when the strip was opened, such that users could move between projects

without having to scroll further down on the page. Instead of allowing users to

select the type of related content through a dropdown menu, the Related Projects

strip contains buttons that allow users to change between different relationships more

efficiently.

6.2.2 Feedback from the Scratch Team

When the prototype was shown to members of the Scratch Team, they agreed that the

Related Projects strip was much better suited for browsing through related content

compared to the initial Explore page. It also seemed well integrated with the overall

Scratch 2.0 design because it matched the other horizontal carousels of thumbnails

present on site. One issue that came up was the ambiguity of some relationships. For

example, the "Gallery" option did not display any information about which galleries

the project was in and it was unclear whether mixing projects from different galleries

would actually be useful.

65

Page 66: Carini 2012

Super Marlo World Movie 2vy041

31

fto JU-O Wat 1bs -A* Ill

*^*mosavo-w ,e,.*

wUSbNswom U~i

Siata*0

UMb pdOVOwpibawdu.mCu

t gib*a "No" PMV.Rbiaf* 0,.V-.me,.-

Figure 6-4: Initial prototype of the Related Projects strip

6.2.3 Alpha Prototype

The next step in the design process was to implement the Alpha version of the Related

Projects strip. Based on feedback from the Scratch Team, one of the major changes

was the ability to choose which gallery was being displayed through a dropdown menu

(Figure 6-5). For example, in Figure 6-5, the Gallery dropdown displays a list of the

galleries the current project is part of, while the strip contains thumbnails of other

projects in the "Best of Interactive Art" gallery. In addition to giving more flexibility,

being able to select which gallery is being shown, provides a fun and simple way to

browse through galleries.

Also, the "Loves" relationship was removed, as it did not seem to display any

relevant content and was difficult to accurately express with a single word. Finally,

we changed the top bar of the Related Projects strip be a darker color and to have

a gradient, based on feedback that it was not visible and did not give the impression

that it could be opened.

66

I

fuEN rO- I . P" V " LO" WwM O -~o o PMg-

Page 67: Carini 2012

PyramidIFS_ Frctaiby mwAtpbase on Swrpknki Pyraihd4sh tn

3CratCMAW&rCtor Moauk-CreaONW3byfiutO by 1.0v

w0sTRuCTKNSt00O ded t i. v~s wih am=*

Pm GO wim Ow rnw

OhwqpiV wu aidw pm GO for a ow

.me pCt yawh bI pewWN"es. Exupie:Eih M8 P2 CI:17 C24 C3:14

CREDI: Ode0 Wd PetmO.

by PaddW2S.. by lim

M "*"***b I 'Lo"~ I a.Mah Connrcans-1 34

momi ptisU

MBed d ;atWCu

Figure 6-5: Alpha prototype of the Related Projects strip

6.2.4 Feedback from the Scratch Community

During the Scratch Day trial, several Community members mentioned that the Re-

lated Projects strip was among their favorite features of the new website. The Alpha

testers echoed the positive feedback. For example, one tester wrote, "I think the

Related Projects section is *great*," while another user said she "love[d] the Related

Projects [because] it [was] fun and easy to use" [17]. Many of the Alpha testers rec-

ognized that the strip would be widely used by community members because it would

be "useful when there's something [they] can't figure out how to do on [their] own"

[17]. One user mentioned that the strip will allow users to discover new projects,

just as on YouTube the related videos section is one of the main ways of finding new

content. Another Alpha tester wrote that he liked being able to easily browse through

projects in the same gallery because it "could be a way to find projects in similar

67

K

Page 68: Carini 2012

genres or about similar topics" [17]. This user also suggested adding the ability to

browse projects with matching tags or similar titles. Finally, several of the testers

mentioned that the Location relationship would be useful to Scratchers outside the

United States, who wanted to find more projects from their own country.

68

Page 69: Carini 2012

Chapter 7

Conclusion

7.1 Introduction to Scratch

The new Searching and Browsing tools-the Search page, the Explore page, and the

Related Projects strip-have been integrated with the Alpha Prototype of the Scratch

2.0 website. Over the past few months, a group of testers, composed of experienced

Scratchers, educators, and researchers, has been experimenting with the website and

providing feedback on the new features. As described in Chapters 5 and 6, the new

components of the Searching and Browsing toolkit have been well received by the

testers and other members of the community.

In particular, the testers feel that the tools will be valuable to Scratchers who are

searching for projects based on their interests, browsing to discover new content, or

looking for help and inspiration. Furthermore, the testers mentioned that the tools

will make Scratchers more interested in discovering each other's projects. Overall,

these reactions are well aligned with the goals we set out to accomplish with the

toolkit, described in Chapter 4. However, although the Searching and Browsing

toolkit represents a step in the right direction, there are still many ways in which the

tools can be further developed and refined. The following section describes some of

the major potential changes and improvements.

69

Page 70: Carini 2012

7.2 Future Work

Based on feedback from the Alpha testers and the online community, there are several

potential ways of improving the design and functionality of the toolkit.

7.2.1 Search Page

The design of the new Search page was well received by testers; however, their feed-

back demonstrated the need to improve the quality of the search results. In particular,

one way to increase the relevancy of results would be to experiment with the weight-

ing function and integrate social statistics so that high quality projects are ranked

higher. Another way would be to add advanced query functionality and additional

filtering tools, to enable users to further refine their searches.

An additional area that could be explored in future versions of the Search page is

the integration of social network data in order to personalize results. For example,

when users are searching for projects, creations shared or loved by their friends might

receive a higher ranking in the results. Search could be further personalized by taking

into account users' past queries and recent activity on the website.

Finally, another potential improvement would be the addition of an Advanced

Search tool, which would most likely not be part of the main interface but would

allow advanced users to perform sophisticated queries. An important feature of this

tool might be the integration of a "code search" that allows users to search for projects

containing specific programming blocks. For instance, a user might search for "game

projects that use arrow key blocks" or "interactive art projects that use procedures".

This type of functionality would be useful to users looking for help as well as to

educators searching for project examples containing certain types of programming

blocks.

7.2.2 Explore Page

The Explore page also received positive feedback from the testers as it provided an

interactive and playful way of browsing through new projects. A major way of im-

70

Page 71: Carini 2012

proving the functionality of the page would be to make it more personalized to the

user, by implementing a recommender system that suggests projects to users based on

their recent activity on the website. An effective way to generate recommendations

might be to use an item-based collaborative filtering approach, as described in Chap-

ter 2. This approach would be particularly effective on the Scratch website due to its

scalability to millions of users and items. Greater personalization might encourage

Scratchers to frequently visit the Explore page, in addition to the Homepage, when

looking for new interesting projects.

The Explore page could also be personalized with more of a focus on presenting

users with projects that encourage them to learn something new. For example, if

there was an algorithm to measure project complexity, then the Explore page could

display projects that encourage Scratchers to improve their skills as creators and

designers. By taking into consideration their block usage and the complexity of

their creations, the Explore page might display projects that are slightly above users'

current programming level or that use a block they have not tried before.

7.2.3 Related Projects Strip

Based on feedback from the Alpha testers, the Related Projects strip is very promising

in terms of helping Scratchers find new and interesting content. As testers mentioned,

this feature has the potential of becoming a central way for users to discover projects

besides the Homepage. In order to further increase the value of the Related Projects

strip, several new types of relationships could be integrated. As the Alpha testers

suggested, adding an option to view related projects based on overlapping tags might

be useful, especially with the transition to a less noisy tagging system in Scratch 2.0.

In addition, to facilitate the discovery of low visibility projects, it is important to

integrate relationships that are independent of social data. An example of this might

be to display projects that are similar based on their title or description.

71

Page 72: Carini 2012

7.3 Final Words

This thesis presents the design and development of the Searching and Browsing

toolkit, which aims to help Scratchers find projects that are more meaningful, serendip-

itous, and inspirational, while also making projects more discoverable overall. The

design of the toolkit satisfies the principles of low floor and high ceiling, as demon-

strated by the simplicity of the interfaces and the advanced iterative refinement func-

tionality. In addition, the tools were designed to provide an interactive and playful

user experience, as shown by the integration of the project player in the search results

and the Explore page. Finally, the toolkit was designed to be well integrated with the

new Scratch 2.0 website. Overall, the components of the toolkit-the Search page,

the Explore page and the Related Projects strip-represent a promising step forward

in helping Scratchers find interesting projects that connect to their personal interests.

72

Page 73: Carini 2012

Bibliography

[1] Amazon. http: //www. amazon. com/.

[2] Social meets search with the latest version of bing. http: //www. bing. com/community/site-blogs/b/search/archive/2012/06/01/summer-of-doing.

aspx, 2012.

[3] Andrei Z. Broder, Yoelle S. Maarek, Krishna Bharat, Susan Dumais, Steve Papa,Jan Pedersen, and Prabhakar Raghavan. Current trends in the integration of

searching and browsing. In Special interest tracks and posters of the 14th inter-

national conference on World Wide Web, WWW '05, pages 793-793, New York,NY, USA, 2005. ACM.

[4] James Davidson, Benjamin Liebald, Junning Liu, Palash Nandy, Taylor VanVleet, Ullas Gargi, Sujoy Gupta, Yu He, Mike Lambert, Blake Livingston, andDasarathi Sampath. The youtube video recommendation system. In Proceedings

of the fourth ACM conference on Recommender systems, RecSys '10, pages 293-

296, New York, NY, USA, 2010. ACM.

[5] Flickr. http://www.flickr.com/.

[6] Google analytics. http://www.google. com/analytics/.

[7] Google custom search engine. http: //support. google. com/customsearch/

bin/answer .py?hl=en&answer=70308&topic=1717070&ctx=topic/.

[8] Google instant previews. http://www.google. com/instantpreviews.

[9] An update to google social search. http://googleblog.blogspot.com/2011/02/update-to-google-social-search.html, 2011.

[10] An un-brief history of scratch. http: //scratch.rmit. edu/f orums/viewtopic.

php?id=25084/, 2008.

[11] Jonathan Koren, Yi Zhang, and Xue Liu. Personalized interactive faceted search.

In Proceedings of the 17th international conference on World Wide Web, WWW

'08, pages 477-486, New York, NY, USA, 2008. ACM.

[12] Greg Linden, Brent Smith, and Jeremy York. Amazon.com recommendations:

Item-to-item collaborative filtering. IEEE Internet Computing, 7(1):76-80, Jan-uary 2003.

73

Page 74: Carini 2012

[13] Gary Marchionini. Exploratory search: from finding to understanding. Commun.ACM, 49(4):41-46, April 2006.

[14] Andres Monroy-Hernaindez. Scratchr: sharing user-generated programmable me-dia. In Proceedings of the 6th international conference on Interaction design andchildren, IDC '07, pages 167-168, New York, NY, USA, 2007. ACM.

[15] Seymour Papert. Mindstorms: children, computers, and powerful ideas. BasicBooks, Inc., New York, NY, USA, 1980.

[16] Mitchel Resnick, John Maloney, Andres Monroy-Hernaindez, Natalie Rusk, Eve-lyn Eastmond, Karen Brennan, Amon Millner, Eric Rosenbaum, Jay Silver,Brian Silverman, and Yasmin Kafai. Scratch: programming for all. Commun.ACM, 52(11):60-67, November 2009.

[17] Scratch forums. http: //scratch.mit. edu/f orums/.

[18] Scratch website use survey, May 2011.

[19] George Toderici, Hrishikesh Aradhye, Marius Pasca, Luciano Sbaiz, and Jay Yag-nik. Finding meaning on youtube: Tag recommendation and category discovery.In Computer Vision and Pattern Recognition, 2010.

[20] Ka-Ping Yee, Kirsten Swearingen, Kevin Li, and Marti Hearst. Faceted metadatafor image search and browsing. In Proceedings of the SIGCHI conference onHuman factors in computing systems, CHI '03, pages 401-408, New York, NY,USA, 2003. ACM.

[21] Youtube. http://www.youtube.com/.

74