Using the Zephyr Add-on in Quality Assurance

Zephyr is a test management add-on for Atlasssian. It allows project teams to add testing to agile creation processes (and to planning, coding, and collaborating on software releases). Using this tool, you will be able to create test cases that could be used in further stages of development process to demonstrate the progress made on a given piece of software. It also helps with organization of work and allows us to work better and more efficiently.


Continue Reading

Dealing with Localization of Plural Nouns in iOS

In order to fully take advantage of the fact that an application is available worldwide, one must first localize it properly. Depending on the application, the region, and a host of other factors, the process of localization itself may change and require different amounts of resources.

Apple provides iOS developers with a number of different tools and utilities that significantly reduce the burden cost of localization. Using the NSLocalizedString macro together with .strings files is (and rightly so) considered a standard nowadays, but relying solely on the two can sometimes lead to suboptimal solutions. In this post I would like to demonstrate a way to handling localized strings that have to deal with plural forms.

Plural nouns

Continue Reading

A Raspberry Pi-Based Smart Home Solution

Here at Macoscope, Community is inscribed among our Core Values. Seeing that we don’t have either a receptionist or a front desk, and our office is basically a big house, opening the front gate for visitors and deliveries quickly grew into a problem. To open it, we needed to press a button near the main doors, and the inconvenience of having to step away from our work to walk up to the door multiple times a day terribly annoyed us. What else could we have done but put our heads together, like a true Community would, and try to solve it with a little bit of technology that we’re so good at!


Continue Reading

Unit Testing RxJava: From Beginner to Competent User

RxJava and Reactive Programming is a very hot topic in the Java and Android worlds and we follow it very closely here at Macoscope. Unfortunately, there aren’t all that many materials available about testing reactive code. I would like to share with you our findings on the subject and guide you through the most reasonable ways of unit testing RxJava-related code. This article is aimed primarily at developers who already have a basic working knowledge of developing applications with the help of RxJava and unit testing in general. Code examples are written in Groovy and use Spock framework as a test runner.


Continue Reading

Applications as State Machines

Applications tend to have a set of states with various transitions between them. Modeling them as finite state machines can help disassemble the problem of building the whole application into several separate smaller parts. This separation can be further improved by maximizing the hermetization of the resulting components. One possible way to reduce coupling between the modules is to abstract out the transition logic into a separate entity, which I call the TransitionController.

Continue Reading