Our Farewell to an Eventful 2015

Our Farewell to an Eventful 2015 The beginning of the year is always a good moment to look back and get a new, fresh perspective on things past. 2015 was truly a great year for designers and developers, and with widespread adoption of collaborative software like InVision and Slack, more amazing products got shipped faster and in a more effective manner. Looking forward to all the things that 2016 has in store for us, we prepared a short list of events that had the most profound impact on the industry in 2015:

Continue Reading

Automate Testing & Build Delivery with fastlane and Travis CI

Cover Image

Continuous Integration (CI) and Continuous Delivery (CD) are both relatively fresh practices in our, iOS developers’ that is, toolkits. This is mostly because we didn’t really have good tools to facilitate their proper deployment until recently. Gone are the days of breaking the build or tests without even noticing. Forget about archiving and sending builds manually to your testers or clients. Build servers are here to save us from the mundane toil.

The process of setting up our build server will consist of two steps:

  1. Continuous Integration: First, we’ll set up Travis CI to run our test suite on each pull request. This will allow us to be sure that neither a build nor tests will break after merging with the main branch (develop in our case). One cool thing here: Travis CI doesn’t actually use the branch a pull request is based on. Instead, it merges it with develop first and then uses this temporary branch.
  2. Continuous Delivery: Then, we’ll set up Travis CI to build, archive, and push a build to HockeyApp after each commit is pushed to (or merged to) develop. This will allow all interested parties to always be able to get the latest build of the app. We’ll also show how to set up the same capability on our local machine.

The knowledge collected and presented in this article is derived from other sources available online. Given some of the most common reactions 👏 in our team after one of us manages to set up CI & CD, I came to the conclusion that there’s real value in getting every little detail about their deployment covered in a single piece.

We’re going to use GitHub, fastlane, Travis CI, and HockeyApp, as that’s what we use in most cases here at Macoscope. A sample project with the history (mostly) matching the one described in this article is available on GitHub: ContinuousIntegrationExample.

Continue Reading

Dear Santa, aka All I Want For Christmas is an Apple Watch

Dear Santa,

My name is Matt Chomsky, I am seven years old and I have a younger brother and Mommy, and Daddy. We live in Ohio, and I like it here a lot, I have many friends here.

I’ve been a very good this year. I help Mommy with the dishes and I keep my room clean, and I sometimes help Daddy wash the car. I am also very nice to my brother, and it is really hard, because he’s annoying.

Thank you for all the presents last year, I had a fun playing with the remote controlled car, I especially liked the small drummer set, but now Mommy says it doesn’t work anymore and she gave it to our neighbours, though I really asked her not to.

This year I am not going to ask for a lot, I just want one thing: an Apple Watch. This will be perfect for me and will help me to marry Jo-Anne.

Continue Reading

7 Things Matt Damon Taught Me About Digital Disruption


Journeying through the galaxy (my childhood dream) turned out to be unfeasible as a profession, so today I’m a UX designer at Macoscope. I consumed Andy Weir’s The Martian almost in one sitting and it nearly ruined last Christmas for me as I received the final warning from Santa for being antisocial. But it was worth it, as the book seemed mesmerizingly real. Being a huge fan of SF, when I first heard about the casting decisions for the upcoming movie adaptation of the book I was very skeptical, to say the least.

Continue Reading

Cross-Platform Libraries

Programmers are lazy. They really are, but in a good way. According to Larry Wall (you know, the Perl guy), laziness is one of the virtues of great programmers. Programmers do not like to repeat themselves, implement the same stuff over and over again, or waste time solving the same problems. But above all, they hate fixing the same bugs.

In theory, all that can be avoided by creating reusable code, and programmers do that a lot.

Continue Reading