Video from the August South Bay Meetup

written by Madeleine Douglas

Thanks to all of you who came out to our first meetup in the South Bay, at at Nokia HQ in Sunnyvale! For those of you who couldn’t make it, don’t worry; as always, we made sure to record everything for you.

It was quite the night— we heard presentations from Majd Taby and Greg Moeck, followed by community Q&A. Majd started us off with a talk on how bindings help SproutCore make your application smaller, concluding with an impressive demo of his work on SproutCore Touch and TransformJS. Greg spoke about connecting SproutCore apps to your backend, and best-practice approaches based on your app’s structure.

Check out the videos below! Many thanks again to our friends at Nokia, who recorded the talks— note the improved video quality 😛 — and kept everyone happily fed with pizza, cookies, and refreshments for the night.

Hope to see everyone at the September meetup, back in San Francisco at Twitter!

Video from Our International Meetups!

written by Madeleine Douglas

For those of you who haven’t heard, SproutCore meetups are going international! In the past three weeks, we’ve had meetups in Malaysia, New Zealand, Canada, and Germany—and more are in the works!

As often as possible, we make a remote session for these talks available; for those of you who couldn’t make it, we have recordings of two of the talks available now.

Here, Greg Moeck talks to the Kuala Lumpur meetup group about SproutCore Views Best Practices:

Tom Dale also gave a talk to the Vancouver group about SproutCore UI. The sound is slightly less clear on this recording— our apologies!

The Q&As from these sessions are also available on the SproutCore Vimeo channel.

We always love hearing from the Core Team, but the community is also interested in demos and real-world applications using SproutCore. If you’d like to speak at a meetup, or just show some code and workshop it with other SproutCore devs, let us know!

We have lots to learn from each other, and want to hear from YOU!

Video from the July SF Meetup – SproutCore UI and Community Q&A

written by Madeleine Douglas

Thanks to everyone who came out for the SF SproutCore Meetup this past Tuesday! For those of you who couldn’t make it, Majd Taby gave a talk about what’s coming in SproutCore UI; afterward, we had a town hall meeting about SproutCore 2.0 and a variety of other questions from the community. We even had Yehuda Katz give an impromptu presentation!

We’ve included video from the talk and from the Q&A below. Thanks again to our friends at Yelp for providing us with pizza, beer, and a recording with audio so clear it sparkles!

Check out Majd’s talk on SproutCore UI:

You can follow along with his slides, available here.

Here’s the Q&A that followed:

One of our first community questions, about choosing which version of SproutCore to use:

There are more questions and answers from the evening’s town hall online on the SproutCore Vimeo account. Take a look—they might have answered your questions!

Other meetups this month:

  • Kuala Lumpur, July 23, featuring a remote talk by Greg Moeck!
  • Vancouver, July 26, featuring talks by Tom Dale and community member Luis Sala!

Get Up to Date with the SproutCore Meetups!

written by Madeleine Douglas

Have you been to a SproutCore Meetup yet? If you haven’t, now is the time!

Since February, we have grown from having 3 active meetups in the US to having 10 internationally– and several more in the works. We’re excited by the energetic response we’ve received from you, the SproutCore community, and hope many of you are able to come and share in the awesomeness (and swag!).

We’re always looking for ways to involve more community members in the user groups. If you’re interested in speaking at any of the existing meetups, or if you’re interested in starting a meetup in your neck of the woods, email us at– we’d love to have you!

In the meantime, we want to share some talks that have been given at recent meetups: The Future of SproutCore, by Tom Dale at the Chicago meetup on May 24, and Structuring Teams to Build Large-Scale SproutCore Apps, given by Peter Bergstrom to the San Francisco meetup on June 14th.

On the 14th, the SF group was also lucky enough to hear a great talk by Colin Campbell on the ABCs of Building a SproutCore App. Unfortunately, we had a bit of a hiccup recording Colin’s talk, but stay tuned for a blog post next week where he’ll take you through the code examples he showed.

Until then, you can find the code from his presentation here.

In this talk, The Future of SproutCore, Tom Dale explains some of the changes that are coming in SproutCore 2.0, and hopefully answers a few questions you may have about where SproutCore is headed.

Bear with us on the audio for the first portion; the echo goes away quickly 🙂

Watch here as Peter Bergstrom expands on his blog post about structuring teams and division of labor on large-scale SproutCore projects.

We hope you found these recordings helpful– and next time, we hope to see you in person!

Dispatch From The Edge: Contributing To Sproutcore

written by Greg Moeck

The recent release of 1.5 has brought many new people to SproutCore, and as our community grows, more and more people are asking how they can help. This week, instead of focusing on whats new, I’m going to focus on how you can contribute to the bleeding edge of SproutCore. I’ll start with my top three suggestions.

1. Contribute to the SproutCore Guides

Back in the beginning of January, we recognized that the biggest challenge to new users trying to learn SproutCore was the limited quality and quantity of documentation. To solve this problem the SproutCore Guides project was born. To date, 15 guides have been completed and made available to the community, drastically improving the help that is available for people. But there’s still more work that can be done.

How can you start helping?

To be able to contribute to the project, the first thing you need to do is build the guides on your own system. In order to do that, do the following:

  1. Download and install the guides package
  2. Clone the guides source from git:// (git clone git:// within the directory you want to work).
  3. cd into the cloned directory (sproutguides), and run “guides build” to generate an the output directory, where you can build the files locally.

Once you’ve set up the directory, you can modify any of the files within the source directory.

Next, run “guides generate” to see them reflected in the output. The following video illustrates a typical workflow:

If you’re interested in writing a new guide for a section of SproutCore that hasn’t yet been covered, contact Yehuda at with your idea.

2. Contribute to the Source Itself

There are two ways that you can contribute to improving the code of SproutCore itself.  Continue reading

Watch the Talks from Tuesday’s SF Meetup!

written by Madeleine Douglas

We had a great turnout at Tuesday’s San Francisco SproutCore Meetup, kindly hosted again by the folks at Twitter. Nothing like some pizza, beer, and talks about SproutCore to get the week going right 🙂

For those of you who couldn’t make it in person, we’re posting the recordings of the talks here on the blog! You’ll find the audio quality is better this time around 😛


Catch Up on the SF Meetup!

written by Madeleine Douglas

A big thanks to everyone who braved the rain and came out to last week’s San Francisco SproutCore Meetup! We had a great time chatting with all of you before and after; and hope you had your fill of pizza and learned a thing or two 🙂

If you missed the Meetup, fear not! Through some highly experimental webcamming, we’ve put together two talk recordings. It’s not quite as awesome as your very own neighborhood Meetup, but it’s a start.

Forgive the audio quality on Tom’s talk– it took us a little while to work out the kinks with our mic. We promise to be better next time 😛

Check out Tom’s talk on the View Layer:

The View Layer- Talk by Tom Dale from SproutCore on Vimeo.

There’s also Yehuda’s introduction to SproutCore/Updates for the 1.5 beta: 

SproutCore 1.5 – Talk by Yehuda Katz from SproutCore on Vimeo.

Lastly, save the date: our next meetup is happening on Tuesday, 4/26! Keep an eye on the Meetup group for specific details.

See you there!

Giving Back to jQuery

written by Yehuda Katz

For the first several years of SproutCore’s life, we shipped a fast, minimal jQuery clone that powered our view layer. As of SproutCore 1.4, we integrated jQuery proper into SproutCore’s view layer. I thought it might be worth taking a few minutes to explain why we made this change and what it means for our project.


In the past, we tried to stay relatively DOM library agnostic.  You could use Prototype, jQuery, MooTools, or whatever else you wanted.  SproutCore would do its best not to depend on any of these so you didn’t have to pay the cost of loading a library you didn’t own.

Since we made that decision, things have changed somewhat on the web.  jQuery adoption, in particular, has skyrocketed.  Not that these other libraries aren’t used, but today it’s common to find most sites using jQuery alongside them for one or two things.

In short, we believe jQuery has become a nearly standard library of the web. In many ways, it is no longer just about one project but really belongs to the web as a whole.

Because of its degree of use on the web, it is by far the best way to work with the APIs exposed by the web browser. And while it was once somewhat sluggish compared with hand-rolled code, jQuery is now usually *faster* than the code you wrote yourself. The jQuery team has spent years building features with and an expert-level understanding of the browser environment and API.

Here’s one example: did you know that when you use `$(“<div id=’test’></div>”)`, jQuery caches a document fragment that it reuses every time you use the same String value? (Did you know there was such a thing as a document fragment?). To avoid memory bloat, jQuery applies heuristics to the String based on real-world usage. The widespread use of jQuery and the team’s focus on real use cases has afforded the library a careful balance between all of the factors that go into using the browser efficiently.

Having spent almost half a decade pushing the limits of the browser, we’re familiar with a lot of these tradeoffs. In many cases, jQuery 1.4.3 will be faster and more efficient than our code. In some cases, because of the ways that SproutCore has been used, our techniques are more efficient. Starting with SproutCore 1.4, we’re going to be contributing time and resources to jQuery, which is crucial to our own success.

Continue reading

SproutCore on Twitter!

written by SproutCore

At long last, SproutCore finally has its own twitter account!  Follow us at @sproutcore for frequent updates. Also, if you’re a SproutCore developer, let us know and we’ll add you to the @sproutcore/developers list so others can find you too.