18 9 / 2014
Learn from the Pros: Challenge of the Fire Bunny, a New Game from Hopscotch
Hey there, Hopscotchers!
Since we get to play Hopscotch all day, we learn some pretty cool stuff. In this new video series, Learn from the Pros, we’re going to teach you how to make these awesome projects, too. In our first episode, we’re going to teach you how to make a game where a rocket ship evades a fire-breathing bunny that lives in outer space!
Disclaimer: This game is kind of addicting.
You, too, can build this game and others like it (wouldn’t it be fun to help a kitten avoid falling rain?).
Watch this step-by-step video to learn how to build your own game, or keep reading.
11 9 / 2014
Hopscotchers, the day has finally come:
Hopscotch is a Turing Complete language, which means it is computationally universal, which is a Really. Big. Deal.
What does this mean?
You can use Hopscotch to program a computer to solve any computer problem in the world.
You could even recreate the whole internet!!!
(well, if you had enough time and storage space).
Whoa. What changed?
1. We’ve added conditional statements. This means that you can tell the computer to do one thing “if” a certain condition is true. Conditional “if” statements are also known as branching logic, because you can start in one place and, depending on which branch you follow, you could end up in a lot of different places. Kind of like a choose-your-own-adventure game. In real life, we use branching logic in many ways, like in this example:
Friend: “Should I eat this ice cream?”
You: “Have you eaten dinner yet?”
You: “If you haven’t eaten your dinner yet, then don’t eat the ice cream.**”
Your friend’s decision to eat the ice cream, in this example, is based on whether she’s had dinner. She had to check her memory of prior meals to determine her condition (not eaten dinner) to know whether she should have dessert.** Without the ability to check her condition, she wouldn’t be able to make a good decision.
In fact, we made a Hopscotch project for this very (important!) decision. You can illustrate this same conditional statement:
The code behind this project uses our new conditional block: “check once if”. This is what the code looks like:
The code in red brackets means: If Cupcake’s y position is less than 360, then set text’s invisibility to 0 and set text to “yes”.
You may notice that this code uses two new blocks: “Check once if”and “Repeat forever”.
“Check once if” tells your program to check and see if the condition is true. In this case, the condition is that cupcake’s y position is less than 360. If this condition is met, meaning that cupcake’s y position is in fact less than 360, the program will do whatever is inside the “check once if” code block. In this case, the program will set text’s invisibility to 0 and set the text to “yes”.
This only happens once. If the condition is not true, the program moves on. “Repeat forever” changes this.
“Repeat forever” tells the computer to do whatever is in the code block until the program ends. In this case, the program will continue to check cupcake’s y position until the program ends.
But wait…what does Cupcake’s y position have to do with how text is displayed?
2. We’ve assigned traits to characters:
Your program can now run based on information about, or traits of, your characters (or text objects). These include your character’s position on the stage, invisibility, speed, and more.
With traits, you can build a game in which a hungry dino is trying to chase a helicopter. You can now program the helicopter so that its speed is determined by the speed of the dino that’s chasing it (speed is a trait!).
And that’s just the beginning.
3. The stage, or the background grid on which your program happens, now has traits, too!
The stage, like your characters, can affect the execution of functions. Your program can reference the stage’s tilt, height, and width.
We can make the above helicopter game even cooler by changing Dino’s speed based on the stage’s tilt.
4. And, is that symbol what I think it is? Yep—Hopscotch now has math operators like division, addition, subtraction and multiplication that you can use when programming. Above, we use division to change the degree to which the stage’s tilt affects Dino’s speed.
What other cool things could you do with these new variables?
5. A lot, you say! We knew you’d have some good ideas, and now it’s easier than ever to share them. Hopscotch video tutorials, fun programming activities, and email support are included directly within the app.
If you learn something cool about creating a variable based on a character’s trait (or anything else!) you can create a video about it, share it on Hopscotch’s YouTube channel, and someone else will be able to find and use it while Hopscotching.
These are big changes, and there are a few more coming that are even cooler. We love to hear what you think of these updates, so email us (using the new help menu in Hopscotch!) and tell us what you think.
Your friends at Hopscotch
**For the record: Hopscotch advises that you always eat the ice cream, regardless of whether you’ve had your dinner yet.
PS: Thanks to Funky63 Greenland for building the awesome theater project in this post!
Permalink 2 notes
04 9 / 2014
Hopscotch School Edition—
Here at Hopscotch HQ in New York City, it’s the first day of a new school year. To join in the excitement outside, we’re releasing Hopscotch School Edition, a new version of Hopscotch designed specifically by and for educators!
And, as Apple Distinguished Educator Mark Shillitoe says, it’s pretty exciting: "Hopscotch School Edition makes it easier to facilitate the sharing and inquiry processes. I can’t believe what my students are making!"
1. Hopscotch School Edition removes in-app purchases and unlocks all fun characters. Yipee!
2. Private communities allow you to share projects with and learn from your class, group, or team. Crews are fun both for classroom and community use!
3. Included with the app: Hopscotch’s official curriculum and helpful YouTube videos!
We’ve been listening carefully to teachers’ feedback from Saint Louis to Singapore, and have incorporated their great ideas, as well as a few of our own, in this new version of Hopscotch. We believe strongly in learning from all of the people who have played with and used Hopscotch in their classrooms and homes.
One thing we heard repeatedly was that in-app purchases don’t work at schools. This feedback opened a conversation about fair pricing and sustainability, and prompted us to create this app. We surveyed educators and learned:
49% prefer Hopscotch as it currently exists, free with in-app purchases
51% prefer a paid version of Hopscotch with additional features and no in-app purchases
Based on these responses, we are offering Hopscotch School Edition for $9.99 in the App Store. With Apple’s Volume Purchasing Program, the price is only $4.99 if 25+ copies are purchased. Of course, you can still download and use the free Hopscotch app in your classroom and elsewhere!
Download it today, try it in your classroom or neighborhood, and share this email with your family, friends and colleagues!
Thank you so much for your support. We want to keep making great products for years to come, and every purchase goes towards our sustainability. Please let us know what you think of Hopscotch School Edition by emailing us at firstname.lastname@example.org
—Jocelyn Leavitt, CEO & Co-Founder
PS: The first 50 people who tweet about #HopscotchSchoolEdition will get a promo code to download it for free!
29 8 / 2014
Building a Tool for Other Builders - What Matters to Hopscotch and Why
We’re building a tool that is used by other people in their own creative processes.
Let’s say you’re building a house for your family. This house comes with pre-made parts that you assemble with the help of an assembly guide. Do the values of the folks building the parts and writing the assembly guide matter? What if they cared most about cost and speed of production? What if they prized durability? Or aesthetics? Would this house withstand the whims of nature or the trials of rambunctious families? Would it put on a smile on your face when you walked by it?
Hopscotch is building a language, and languages are the foundation of ideas. Just as it’s important to understand the values held by those responsible for the construction of your house, it’s good to understand the values behind a means with which you express yourself.
Team Hopscotch sat down recently on a dock along Greenwood Lake in Western New York. Over gooey s’mores, we talked about what’s important to us as people and to the company we’re building together. These are the values that inform how we make decisions, how we prioritize product development and how we build Hopscotch:
- Our end goal is to help kids understand and be inspired by the potential of technology. When push comes to shove, we build for kids above all other parties.
- Each member of our team has the room, agency and support to do the best work of their life. Our tool fosters agency in those who use it.
- We’re thoughtful and intentional about what we introduce into the world and we think about the long-term consequences of our work. Above all, we aim to foster positive, collaborative, responsible, citizens.
- Complex, ambitious problems require persistence, grit and continuous improvement to solve. We understand failure is part of the process. Our work is never done and we’re always improving.
- We say “no” ten times more than we say “yes” and we work on those things we think will have the largest impact for the least effort. For larger, long-term projects we scale back to prove MVP before investing further.
- We respect each others’ work, time and differences. We prize inclusiveness and equality. We’re humble and egoless.
- We work on the most important things to keep our company alive. We share important new insights and ideas with the general public so our ideas can live on and be remixed by others.
07 8 / 2014
Build Responsibly: Why We Removed the “Popular” Tab From Our Community
Last week we removed the “Popular” tab from our community page, and since you are all builders too, we’d like to share our thinking with you.
A “Popular” tab is common on user-generated-content platforms like Hopscotch. Initially, it seemed like an effective and simple way to showcase high quality projects. Members would like projects and the most liked projects would rise to the top.
But by designing a system that prized high “like” counts, what naturally followed were projects aimed at purely gaining “likes”.
- "If you give me 500 likes, I will make Minecraft" (a false promise)
- "If I don’t get to the top of popular, my parents will take my iPad away"
- "If you don’t give me "likes", I’ll report your project"
These projects had minimal content and programming, and our system design choices occasionally brought out meanness.
Most importantly, competition reduced collaboration, one of the most effective and fun ways to learn.
As builders of something that other people will use, it’s important to think about the short and long-term impact of our work. What long-term lessons will our users take away from our tool? What behaviors are we encouraging? What behaviors are we discouraging?
Thinking through these questions, we decided to replace “Popular” with a tab called “Most Branched” (“branching” is when someone takes your code and adds to it).
We did this for two reasons:
- Branching is a generative action for the community. With branching, the end of one person’s project is the beginning for someone else, so this cycle of creation and play can continue to build on itself indefinitely. Liking, while a positive reinforcement for the author, doesn’t have the same rich and productive benefit for the community. Further, taken to extremes, competition for “likes” can be degenerative and negative for the community.
- Branching is actually a better indicator of quality than liking because it typically requires more effort on the part of the brancher. If you’re branching a project, it’s likely you want to look “under the hood” and learn from the code or you want to share your ideas and add to the project.
So what happened after we made the change?
For starters, “Most Branched” has surfaced an actual version of Minecraft :), but more generally, it has encouraged inventive, fun and more productive interactions among members.
Now we are seeing:
- "Here’s a webpage template. Free for anyone to use"
- "How to make a wave. Yours to copy"
- A template to create a platform game
We at Hopscotch have been amazed and thrilled with the creativity and collaboration that is happening.
And importantly, we’ve learned the importance of thinking through the potential consequences of our decisions. Before we introduce new things we ask ourselves:
- What behaviors are we encouraging?
- Taken to an extreme, how will these changes impact our community?
- Most importantly, what lessons will our users take away?
So as you’re Hopscotching or building anything that others will use, take time to think through the side-effects of your decisions, especially those decisions that seem small because they are easy to implement or seem like no-brainers because they have been done many times before.
#BuildResponsibly and Happy Hopscotching!
Permalink 3 notes
31 7 / 2014
Building a Learning Community
One of our goals at Hopscotch is to create a learning community where Hopscotchers can learn from, and be inspired by, others. Platforms like GitHub, Wikipedia, Twitter and YouTube have shown us how powerful it is to enable members to learn from each other.
Our release today (featured in the App Store!) is a step towards building a positive, nurturing and strong community with 4 big new features:
1. You can now create an account!
You can see all the projects you’ve started or published, as well as projects you’ve favorited. Other people can see the projects you’ve published and favorited, too.
2. You can follow other users
You can follow other users in the Hopscotch community to see and learn from their latest projects! Tap the “Stream” tab to see the latest from those that you follow.
3. We’ve placed new emphasis on Branching
You’ll also notice a new icon for remixing—a branch!
Branching is when someone takes a community member’s Hopscotch project and adds something to it. Let’s be clear, branching is very different than copying (and this is why we moved away from the “download” icon).
You’ll also notice that we’ve replaced “Popular” with “Most Branched”. We think someone liking your project is cool, but someone branching your project to add to it or learn from it is the ultimate compliment. We always show the original author as well as the brancher.
See what happens to your creations when you put them out into the world!
And if you want, add challenges at the end of your project to encourage others to branch your work.
4. We’ve added a How-Tos section
Some of you have been on Hopscotch for a while and have learned some great tricks. You can now share those with others by creating “How-To” projects. We’ll feature “How-tos” that we think are especially helpful.
Tell us what you think of the updates—we love hearing from you!
Happy learning, sharing and Hopscotching!
<3 The Hopscotch Team
Permalink 3 notes
25 7 / 2014
Thanks to all of you who have written to us about the Hopscotch 2.0 Update. We got a huge amount of feedback, including awesome projects you’ve built, ideas for future versions, and suggestions for improvement. Your input has been enormously helpful, and we’ve made some changes based on your ideas that we think make the app even more intuitive.
We’ll be releasing our next update soon, likely sometime next week. In advance of that, we’d like to give you a sneak peak of some of the changes.
With this update, you can choose whether or not your code becomes an ability. In the past, when you added code, Hopscotch made all scripts an ability by default. This is great if you’re re-using code, but not necessary if you aren’t re-using code. Now, we’ve left the decision to create a new ability up to you. Another nice side-effect of this will be fewer unruly lists of “Untitled Abilities”. :p
You’ll be able to use the same event more than once for a character (yay! Many of you requested this).
It’s easier to select and edit an event and change its script. You no longer have to delete a rule if you want to change the event.
As always, please keep the feedback coming —our job is never done :)
<3 Jocelyn, Sam, Jason, Asha, Liza, Luis, Marlon, and Shreeya!
23 7 / 2014