Parse CTO, Kevin Lacker, Interviewed on Stage at GigaOm Mobilize 2012

Parse’s Kevin Lacker was recently interviewed on stage at GigaOm Mobilize by GigaOm senior writer, Stacey Higginbotham. Kevin and Stacey chatted about the future of the full-stack platform and how Parse is changing the mobile app industry.

To view A Full-Stack Platform Approach for a Fragmented Mobile Landscape with Kevin Lacker and Stacey Higginbotham in full, click here.

Ashley Smith
September 25, 2012

DrawChat Uses Parse to Power an Addictive and Interactive Drawing App

DrawChatTeam

Earlier this month, DrawChat hit the iTunes App Store, generating an addiction to interactive drawing for many of their new users. DrawChat allows anyone to draw on an uploaded photo or on an array of pre-loaded photos while sharing and chatting with friends directly in the app. The Parse-powered app was created by a dynamic trio consisting of Jeremy Orlow, Gabor Cselle, and Chloe Bregman in only 6 short weeks.

Each team member was crucial to the development of DrawChat and the creation of a wonderful user experience for the DrawChat fanbase. Jeremy was previously a software engineer on Google Chrome where he was a tech lead of IndexedDB, the new storage standard in browsers. He has also worked on Google’s data center software and at mobile security startup 3LM. Gabor was a Product Manager on Gmail and Android after selling his previous startup, reMail, to Google. With Jeremy’s extensive knowledge of APIs and data storage and Gabor’s love for product, they decided to collaborate on a project they could complete in a 5 week sprint. Together with their talented UI designer, Chloe Bregman, DrawChat was created and launched to great reviews.

DrawChat uses Parse for all data storage, push notifications, user logins, and the team was able to create a powerful and beautiful app in a very short amount of time with the time saved using Parse as their mobile backend.

The DrawChat office was buzzing on the day of their launch as we sat down with Jeremy Orlow to chat about their latest project and how DrawChat uses Parse for their mobile backend. Read the interview with Jeremy below.

How did you find Parse?

Gabor met Tikhon [Parse Co-Founder] while he was a co-founder at Scribd and Gabor was the VP of Engineering at Xobni. Both companies were in the same building, one floor apart, and they’ve kept in touch since. When Parse was first announced, Gabor tried it out and fell in love.

When the two of us started on DrawChat, there really wasn’t much of a decision; we were going to use Parse!

What were the key benefits you have found while working with Parse?

For an application like DrawChat, one would typically spend a week or two (minimum) building a backend before starting on the app. Or one would build the app with a bunch of test data hacked in until the server side of things was ready. With Parse, we were able to dive right in and had basic phone to phone chatting working on day one.

Parse is perfect for people who don’t have experience writing their own backends.  But it’s also great for people who do, like me. I’ve implemented push notifications, RESTful APIs, etc. myself. I could have done it for this project, but I’m glad I didn’t have to. We saved so much time and were able to jump straight into things by using Parse.

How much time would you estimate was saved by using Parse?

We developed this app in 5 weeks with a super aggressive schedule and a very small team. The development time could have easily been twice as long, had we decided to write our own backend. And then we’d be stuck with all the ongoing maintenance and support associated with running your own backend. Services like Heroku do help, but they don’t remove the burden to the same extent that Parse does.

What Parse features do you find most useful?

We can’t wait to start using Cloud Code. Most of what we need to do can be done directly from the client, but it’s pretty hard to completely avoid a little bit of server side logic; for example, when aggregating data across multiple users. Doing that work directly on parse servers will be a big win for us.

We also love the push notification feature. I’ve worked on custom push notification code before, and Parse definitely abstracts a lot of the pain away.

How does DrawChat use push notifications?

Whenever a user sends a message to another user, we use push notifications to alert them.

What do you love most about Parse?

By far, the most amazing thing about Parse is the time it saves you in development.

If someone asked you, “Should I use Parse for my mobile backend” how would you answer?

Any app developer would be crazy to not check out Parse before developing their own backend. Even if only a few of the features apply to you, using it will probably be a win.

Download DrawChat in the iTunes App Store here.

Ashley Smith
September 24, 2012

Pushing from the JavaScript SDK and Cloud Code

The launch of Cloud Code allows developers to perform sensitive operations in a trusted environment. One such operation is sending push notifications, which you can now do with the JavaScript SDK, using the Parse.Push.send function. Let’s say that you want to send a push a Mr. T saying to Mr. T fans using your app. You can do that with this code:

Parse.Push.send({
  channels: [ "Mr.T" ],
  data: {
     alert: "Quit Your Jibba Jabba"
  }
});

For more information on how to send pushes from the JavaScript SDK take a look at the Push Notifications section of the JavaScript Guide

Shyam Jayaraman
September 19, 2012

Advanced Push Targeting on Android and iOS

Parse is the easiest way to send push notifications on Android and iOS. Android push requires almost no setup to create an app that pushes to broad audiences. Today we released tools that help Android developers to target their pushes for a more personalized message.

Let’s explore this feature through the fictional game World of SpaceCraft. In this game, each player is a member of one of three teams: Terrestrian, Xerg, and Protion, which are at war with each other. When a team base is under attack, World of SpaceCraft sends a push notification to all players on that team:

ParsePush push = new ParsePush();
push.setChannel("protion");
push.setMessage("Your base is under attack!");
push.sendInBackground();

Use advanced targeting for parse push notifications

Players loved the immersive experience and SpaceCraft was an overnight success. In its second version, World of SpaceCraft supports multiple battles with many bases. Push notifications needed to be more targeted: if a nuclear launch was detected, only one base needed to be notified; and if a building is under attack, only combatants should be notified. Parse’s advanced targeting makes this task easy.

The ParseInstallation class (or PFInstallation in iOS) lets developers add any information they need to target pushes. For example, when a player signs up as a Xerg drone, World of SpaceCraft registers the player with:

ParseInstallation installation = ParseInstallation.getCurrentInstallation();
installation.put("unitType", "drone");
installation.put("team", "xerg");
installation.saveInBackground();

When a Terrestian player launches a nuclear attack on the Xerg’s main base, World of SpaceCraft can warn players with:

ParseQuery query = ParseIntallation.query();
query.whereEqualTo("team", "xerg");
query.whereEqualTo("base", "main");
ParsePush.sendMessageInBackground("Nuclear launch detected!", query);

Advanced push targeting makes it easy for applications to provide complex user engagement.

Thomas Bouldin
September 18, 2012

Get Your Apps Ready for iOS 6 and the New iPhone 5

Anypic

The new iPhone 5 will be available on Friday, and soon millions of users will be running iOS 6. To get your Parse-powered apps ready for iOS 6, download Xcode 4.5 and update your apps with the latest version of the Parse iOS SDK.

If you are using our pre-built UI controls, they will automatically expand to use the additional screen real estate. You might want to launch the iPhone 5 Simulator and check the rest of your app’s screens for Retina 4″ compatibility.

With Anypic, our photo-sharing app powered by Parse, we added support for the new Retina 4″ screen by including a 1,136px by 640px launch image called Default-568h@2x.png. We also included a taller background in our PFLoginViewController subclass. That’s it! The rest of the app is built with PFQueryTableViewController and didn’t require any modification. I personally can’t wait to use Anypic on my iPhone 5 on Friday!

Héctor Ramos
September 18, 2012

Amazon’s Provisioned IOPS on Parse Backend

A little over a month ago Amazon released a new storage type called Provisioned IOPS. PIOPS are an Elastic Block Storage unit that gives you a guaranteed number of IOPS at least 99% of the time. You can also bring up your EC2 instance with a dedicated ethernet throughput to your PIOPS volume, instead of running disk traffic over the same ethernet device as your production query traffic.

PIOPS is very exciting to us here at Parse. We run a number of high-throughput, I/O intensive database clusters behind the scenes, and we were thrilled to be able to move to proper database-class hardware. We were already looking for more improvements to our MongoDB cluster scalability and speed, so PIOPS was a natural fit. We decided to upgrade from RAID-10 EBS volumes to striped 1000-IOPS EBS volumes.

We’ve been running on PIOPS for nearly a week now.  A few of the metrics and changes we’ve observed are:

  • Average end-to-end latency from the time a request hits the Elastic Load Balancer has dropped in half, to less than 100 milliseconds.
  • Latency in our stack is almost completely flat. There are no more periodic latency spikes due to MongoDB write locks or EBS events. On the old disk volumes we would see latency and disk I/O spike on occasion due to resource contention on one or more of our EBS volumes.
  • Memory warmup time has been cut by over 80%, and added latency time during warmup is miniscule. We have scripts to warm up our databases by reading the most active collections into memory, but we don’t even really need to use them with the PIOPS volumes. Switching to a “cold” PIOPS secondary adds only about 100 ms to latency for a few minutes.

Before PIOPS (y-axis from 0.0 to 2.5 seconds):

After PIOPS (y-axis from 0.0 to 0.6 seconds):

We’re thrilled with the performance of our databases on Amazon PIOPS volumes. Thanks, Amazon!

Charity Majors
September 17, 2012

Fresh New Look for our Blog

When it became clear that a blog redesign was necessary, we wanted to create the same great user experience we’ve tried to achieve with the rest of the Parse website. We care a lot about our blog so we put the same amount of energy in its redesign as we did for our new homepage or for our new product pages.

As of today, the new blog design is fresher, nicer, and simpler. We worked hard to make sure it will offer the best reading experience possible, and we really hope you’ll love it as much as we do.

Christophe Tauziet
September 14, 2012

MeeGenius Uses Parse Push to Keep Their Users Engaged

Parse Push allows non-technical marketers to instantly increase user engagement via a mobile app using push notifications. If you can type a message and click send, you can create and schedule push notifications with an app built using Parse. One app, MeeGenius, is using push notifications to keep their millions of users engaged. We interviewed Chris O’Brien, Marketing Director at MeeGenius, about how the MeeGenius app uses Parse Push.

MeeGenius is a fun, free and easy-to-use library of e-books that parents trust and children love. The MeeGenius app works across iOS (iPad/iPhone/iPod Touch), Android (tablets and phones) and the web offering the largest selection of children’s stories anywhere. With millions of downloads, MeeGenius is loved and used by many. In order to keep their millions of users engaged, Chris and his team create and schedule notifications on a weekly basis without the help of a developer or IT person.

What were the key benefits you have found while working with Parse from a marketing standpoint?
We can speak directly to our users. As an app with little web presence this is paramount.

How did Parse help in the development of MeeGenius app and what Parse features are used in the MeeGenius app?
We use Parse for push notifications. We launch new content every week via push.

From the marketer’s point of view, what are the benefits of using push to increase user engagement?
Very simply – you speak directly to your user and prompt them to open the app. Direct effect on engagement.

What do you love most about Parse?
Insanely easy to use. I can reach more people than the Washington Post in under 30 seconds.

Download MeeGenius in the App Store or on Google Play.

Ashley Smith
September 13, 2012

We Loved How Much the Parse Community Loved Cloud Code

Yesterday morning, everyone in the Parse office was buzzing with excitement as we pushed Cloud Code out the door. Once the news hit TechCrunch, Venturebeat, Twitter, and other outlets, support started pouring in from the Parse community. It was really great to have so many people genuinely excited for something on which we have worked so hard. Like a lot of companies, we have an internal chat room where we share things from around the internet and, yesterday, it was filled with the tweets, pictures, and comments from the unbelievable Parse community. We thought we’d compile some of that awesome feedback for everyone to see. Thanks everyone for making yesterday a really fun day for the Parse team and if you’re in the Bay Area please join us for tonight’s Cloud Code celebration.

Ashley Smith
September 12, 2012

Welcoming Cloud Code to the Parse Family

We’re excited to take the platform to the next level by introducing a powerful new service called Cloud Code.

Cloud Code makes Parse a one-stop shop for mobile app development by pushing the boundaries of server code. You can now add custom validations and endpoints that are instantly and easily accessible by any client, whether it’s iOS, Android, HTML5, or via the REST API. You get all of the power of the Javascript SDK running on the Parse cloud.

For example, if you were building a restaurant review app, you’d probably want to display the average star rating for a venue. Instead of grabbing all the reviews and averaging them on the client, you could specify a custom endpoint:

Parse.Cloud.define("averageStars", function(request, response) {
  var query = new Parse.Query("Review");
  query.equalTo("restaurant", request.params.restaurant);
  query.find({
    success: function(results) {
      var sum = 0;
      for (var i = 0; i < results.length; ++i) {
        sum += results[i].get("stars");
      }
      response.success(sum / results.length);
    },
    error: function() {
      response.error("Restaurant lookup failed");
    }
  });
});

All your clients would immediately have this functionality available to them. Furthermore, if you wanted to use a more sophisticated averaging algorithm, you would be able to alter it without having to update any code in the client.

There are already over 35,000 Parse-powered mobile apps on tens of millions of mobile phones and we hope this addition helps our current and future users build even more apps.

We’ve put together a great screencast that shows you how to get up and running in minutes:

Take a look at our documentation and tutorial. And, as always, get in touch if you have any questions.

Shyam Jayaraman
September 11, 2012

Archives

Categories

RSS Feed Follow us Like us