November 26th, 2013

Queuing Work Items at Buddy

Workitem Queuing At Buddy Work item queuing is an essential part to any scalable system. A well designed queue allows easy capacity scale-out and allows work to be done asynchronously and reliably. Why Queue? In case you’re not familiar with why queues are such an important part of a scalable system, consider the following scenario: Imagine a service that allows users to upload photos. When the user uploads a photo, [...]

Category: Buddy Engineering
October 31st, 2013

How to build the .NET SDK, including for non-Microsoft platforms

One of the great things about the Buddy .NET client libraries is the breadth of functionality across nearly all of the supported .NET platforms.  That said, sometimes developers want to add additional functionality, or make changes to the default functionality to support app-scenarios not included in the default Buddy libraries.  To help these developers, we provide the full source code to our .NET client libraries in our .NET SDK at [...]

Category: Buddy Engineering
September 16th, 2013

Automatic Device Information Recording

Hi, my name is Brad, and I am a developer here at Buddy.  One of my tasks is to help manage our SDKs for all of the platforms we currently support:  Android, iOS, Windows Phone, WinRT, .NET, and Mono.  The primary goal of the SDKs is to make developers’ lives easier when using Buddy.  One of the ways we strive to meet this goal is to have a great deal of [...]

Category: Buddy Engineering
September 6th, 2013

Building functionality into apps and web sites with Buddy

An important benefit of Buddy’s design is that our APIs can be used from both web pages and from mobile apps.  This opens up a number of different scenarios which app developers may consider valuable for implementation:    You can create a private web site that you can use to administer your app. Example use case:  There may be a user who wants all of their information deleted. If you [...]

Category: Buddy News
August 19th, 2013

Great article on custom hardware

I recently ran across a post from CloudFare on their customer servers and the new G4 generation:     At Buddy we also do our own hardware for the main production API runtime. Currently we are mostly a Dell shop running a combo of R710, R320, and a few other models. It’s very interesting to see other company’s such as CloudFlare design their own hardware for their datacenters rather then [...]

Category: Buddy News
August 12th, 2013

Storing data in Buddy

Every once in a while we get a question about how best to store this or that data in Buddy. If your data falls into one of our existing categories it’s easy, games scores should be stored using Game_Score_Add, user-to-user relationships are store-able as Friends, and so on. But what if the information you need to store doesn’t fit neatly into a specific API set like that? Supposing  you need to store [...]

Category: Buddy Engineering
August 2nd, 2013

Password Reset

Just like anything else that has user accounts, people will forget their password for your Buddy app. But that’s OK! You can set up your Buddy app to send customized password reset emails, appearing to come from your support email. All it takes is a little set up in the Developer Dashboard. Log in to the Developer Dashboard and select the App you want to set up. On the lefthand [...]

Category: Buddy News
July 19th, 2013

Using Crash Analytics

One aspect of your app back-end which is easy to forget about but can be invaluable to providing a quality app experience is crash reporting. Bugs happen, but if your app is out in the wild without some form of crash reporting the only way you’ll know when your users run into them is if they email you to complain or worse, write a bad review. Clearly it’s preferable to [...]

Category: Buddy News
July 9th, 2013

It’s all about the location

At Buddy we do a lot of stuff with Location’s in our API, the curated datasets, the analytics, and understanding where the team should go to lunch   Buddy side user location fuzzing We feel locations are very important to modern experiences , either for user focused features or for developer analytics used to make the app better and understand your userbase. However we feel even stronger about user privacy [...]

Category: Buddy News
July 3rd, 2013

Buddy API Performance

At buddy the basic atomic unit of performance is how fast our API’s execute end to end. We track the total time of the API from when the packets enter our data centers to when they exit. We can’t ensure performance all the way to the client (phone app, web app, different countries) but we can control the cloud segment. Our stated performance bar for every Buddy API is to [...]

Category: Buddy News