Secure uploading of files from an iOS or Android app to S3

Most of the mobile applications these days require some form of a backend. Usually it is used for something trivial, like maintaining user profiles, settings and scores etc. However, most often than not, the application needs to upload some files to your server. The following tutorial will show how to do it securely and efficiently using AWS S3. Why spawn powerful servers that can handle huge amounts of traffic when all they do is get the files and store them on S3 anyway? Files can be uploaded to S3 directly, and S3 infrastructure can scale with our application and adjust to the amounts of traffic required. All we need to do is implement a simple lightweight API endpoint that will instruct the client where to upload the heavy things and let S3 do the heavy lifting.

Read more

iOS Crash Symbolication for dummies Part 2

In the previous post, we’ve learned what is symbolication process and why it is needed. In this post we will dive deeper and learn how to make sure a dSYM file is generated and see how we can manually use it to symbolicate crash reports.

How do I make sure dSYM is actually being generated?

XCode has several settings that may affect dSYM generation, let’s review them one by one.

First of all, let’s make sure that debug information is being generated:

Read more

iOS Crash Symbolication for dummies Part 1

Many developers use Bugsee for its great crash reporting capabilities. In fact, Bugsee crash reporting has recently been ranked the highest among all iOS crash reporting services when it comes to accuracy and the amount of details in the report. Bugsee doesn’t stop there, however, it also presents video of user actions, console logs and network traffic that preceded the crash.

In the following series of posts we are actually going to focus on the crash log itself, explain the magic behind it and show how to properly set it up.

Read more

Bugsee is on Product Hunt Today

I’m thrilled to announce that Bugsee is on Product Hunt today. Can’t wait for the Product Hunt community’s feedback and thoughts.

Why Today?

Last year we won the #1 crash reporter award by CrashProbe — the ultimate benchmark for mobile crash reporters. And that’s before our video, network and logs leading up to the crashes. And therefore, we’ve decided — it’s time!

Read more

Best iOS crash reporting tool. Yes, we are!

Bugsee can officially be called The Best Crash Reporting tool for iOS. Bugsee marks higher than the competition in Crashprobe, the ultimate crash reporter benchmark.

Crashprobe benchmark was developed and is maintained by HockeyApp (now owned by Microsoft), it is open source and available on Github. The test suite consists of 44 tests (22 different crash types that have to be tested both on armv7 and arm64 platforms). The results of each test are judged by completeness and accuracy of the produced report. Crashprobe also has a straightforward submission process for other reporters to submit their results. That we did. And after a quick validation of our results by the Crashprobe team, we made it to the first place!

Read more

How we settled on Bugsee paid plans

We’ve achieved an important milestone last month — Bugsee joined the One Comma Club, as more than 1,000 companies had signed up for Bugsee since our start just this April. Coincidentally, we believe we’re ready to graduate from a free product to a paid service.

When we’ve started, our goal was always to make the service as frictionless as possible. It manifests itself in the vast feature set Bugsee delivers to our customers by adding just one line of code. You don’t need to think ahead of time what info you might need when you debug the next bug or crash.

Read more

What happened after Bugsee sponsored Core Intuition Podcast

Back a few months ago, we’ve sponsored a couple of Core Intuition podcasts to both support the fine work Manton Reece and Daniel Jalkut do for the developer community and to get the Bugsee word out.

Since we’re new to the sponsorship game, we didn’t really know what to expect.

At first, both Manton and Daniel signed up to Bugsee to try out the product before the first sponsorship aired. So we got two super cool customers right on the spot (that was before we announced our pricing, so both of them got special early adopter deals).

Then the episode aired with a super positive conversational narrative about our service. This is unique, as most other sponsorships will just read your message as is, which usually doesn’t sound as nearly as appealing as what Manton and Daniel do.

Read more

App development, bug reporting, and more in this GeekSpeak podcast with Bugsee

Back in early September, Lyle Troxell from GeekSpeak invited Dmitry and myself to his ad-hoc studio at Netflix in Los Gatos to record an episode for his podcast.

Interestingly enough, we didn’t realize we were actually going to do the recording then. We thought we were just meeting Lyle to discuss a future interview. Imagine our surprise, when we walked into a regular Netflix conference room and saw Lyle setting up his recording equipment.

We had a fantastic time chatting with Lyle. We covered a wide variety of topics. We started with the importance of titles in a startup, then went to talk about our early days working in embedded space with cameras, DVDs and phones. Then talked through our previous adventure and how it eventually, with a bit of help from Goldman Sachs, led us to the birth of Bugsee.

Read more

Managing iOS build configurations

Applications today are rarely being built without 3rd party libraries and SDKs. There are libraries for integrating remote backends into your app. Libraries for effective image caching and loading. Libraries for gathering analytics and libraries for pushing messages. Libraries that help your users report issues, help you debug and analyze crashes. (Yes, that last one is Bugsee)

It is also a common practice for developers to maintain more than flavor of the application during active development. A debug version of the application may require a new version of the backend server which also might be under development still, it might send analytics data to a different service or it may need to include a helper library that is not necessary in the release version.

This following tutorial describes several options for maintaining different build configurations.

Read more

iOS Ad-hoc distribution using Amazon S3

Every iOS developer at some point in their life is challenged with a task to distribute their awesome app to a group of loyal beta testers. Apple does not make it easy. The reasons for this are clear. We all care about security and greatly appreciate the fact that iOS platform is much more secure than its main competitor, but it is still a problem that needs to be solved. There are services out there that try to automate the ad-hoc distribution process, but sometimes it is not desirable or even possible to use them. Thus, there is a need to bake an in-house distribution system.

Read more