Introducing PMJSON, a Swift library for JSON encoding/decoding

Today we're releasing PMJSON, a new Swift library for JSON encoding/decoding. It features an encoder and decoder written in Swift with no Foundation dependencies, a whole suite of accessors for working with the resulting JSON type, and some convenience methods for converting to/from plist-compatible objects. We're already using it internally, and we're releasing it publicly today because we think it's ready to be used by other people.

Read More

Introducing Postmates Push: Create Deliveries From Your Dashboard

We’re excited to announce a new tool that enables developers and merchants to create deliveries from their Partner Dashboard.

Postmates Push is a web client built on the Postmates API, so it allows you to simply move physical goods between two locations within our delivery zones. For more information about how our API works, check out our Docs.

To start using Push, sign up for a partner account and navigate to the "Create Delivery" page. To simulate a delivery without dispatching a Postmate, click "Test" at the top.

Delivery tool

Read More

New Endpoint: Get Delivery Zones

A few of our partners have requested the geometries of our zones so they can show their users where our Postmates deliver. Today we launched an endpoint that does just that.

GET /v1/delivery_zones

You can see the documentation here.

Each zone is returned as a GeoJSON FeatureCollection with a Point for the map center and a Multipolygon for the geometry of the zone.

We also created a sample Node.js app that shows you how to the zones on a map:

PMZones

You can try it out on Github.

Read More

Why Spinlocks Are Bad On iOS

Spinlocks are a pretty simple synchronization construct, right? In this post we'll explain what spinlocks are, how they work, and why they're fundamentally unsafe on iOS.

But first, we're also announcing the release of a new open-source Swift/Obj-C library that provides a more modern API on top of KVO called PMKVObserver. This library is MIT licensed, supports iOS, OS X, watchOS, and tvOS, is fully thread-safe (including canceling concurrently from several threads at once), automatically unregisters itself when the observed object deallocates, and uses strong typing in the Swift API. If you write Swift or Obj-C apps and use KVO, I encourage you to check out the library, see the sample code, and maybe even use it in your app.

You may be wondering what this announcement has to do with spinlocks. Well, two days before releasing the library, I rewrote it to not use spinlocks after learning the very things I'm going to be talking about.

Read More

Wildhacks 2015 Recap

Last weekend, we participated in one of the largest collegiate hackathons in the Midwest: Wildhacks 2015. The wonderful student organizers invited us, along with 500 students from all over the country to the frosty Northwestern University campus to build, hack, and learn together.

Read More

Estimating Delivery Times: A Case Study In Practical Machine Learning

Machine Learning is rapidly becoming a required and critical component of engineering organizations across the tech industry. From movie recommendation algorithms to self-driving cars, it is clearly an exciting and compelling field. Companies are hiring armies of Machine Learning researchers to solve difficult problems like voice and object recognition.

What does this all mean to the average software engineer? In many cases, extremely specialized knowledge is necessary to outperform existing state-of-the-art systems. It should not be expected that just anyone can easily build a seven-layer neural network to solve any old problem.

Read More

Making Postmates Even More Efficient

image

When we think of delivering items, we usually think of going from point A to point B.

It’s a simple concept and is familiar to anyone taking a taxi or a Lyft or Uber. The driver goes to point A, then proceeds to point B. Two legs in the route.

Read More

Postmates at Pennapps XI

Last weekend, a group of engineers from Postmates traveled to Philadelphia where we sponsored PennApps, a three-day hackathon for college students across the country. The event gives young developers a chance to try out new technologies and build awesome apps in the process.

Read More

A Technical Perspective on the Postmates API

Today, we’re releasing the first version of our Postmates Delivery API. Using our API, you can connect your software to the real world in a way that simply hasn’t been possible before. With a few simple HTTP requests our on-demand fleet of couriers will move your items around your city.

Read More