Have you ever felt like Google Play is discriminating your app by rating in a long run? You are not alone. What is the real problem here? Google Play was re-branded from Google Market a few years back after it reached its full model capacity. Many features have been redone, removed ...

Read post

We, SKOUMAL Studio, develop mobile apps. We are strong believers in freedom, yet reliability, flat hierarchy yet careful attitude, and no rigidity, yet without anarchy. Our own product - language app Vocabulary Miner - needs to speak more languages to our students. That will be your job ...

Read post

All things considering you are probably using git to version your changes, if not here is a quick-start guide. You see I am a bit punctual towards my code and documenting its changes, I write extensive commit messages however I\'m extremely reluctant to write changelogs for clients or users ...

Read post

We\'ve all been there,… reducing the number of overdraws or customizing image with little to none external libraries. This modern twist to this (and this) age-old article will surely help you with that. I\'ve managed to rewrite the example code in Kotlin so it\'s far more readable than ...

Read post

The Czech vocabulary-building app Vocabulary Miner created by studio SKOUMAL is based on the popular Flashcard System enriched with interactive elements. Currently, it provides an open database of more than 2000 miscellaneous packages for hundreds of customers and ...

Read post

A company is a complex, living organism where everyone has something to contribute with. Big companies, on one hand, typically divide tasks in rigid patterns. Each employee has a predefined day-to-day list of duties. If they cannot find joy in their occupation, there is no other chance ...

Read post

You have finally managed to earn money with your app published in Google Play. Payout money is already in your account… Yet, if you are from Europe, you probably (should) struggle to get it right bureaucratically. Most of the European legal systems require to issue an invoice ...

Read post

Everyone knows that feeling when you get a \"raw\" crash and you don\'t know what to do — there is nothing more than a lot of addresses. It can happen either because of a crash service fail (e.g. Fabric) or you can get a raw crash from testers, clients or customers’ devices ...

Read post

The majority of internships tend to follow a similar design: join a company, have your expectations shattered (negatively for the most part), bring some coffee here and there, print a document or two, and go home. This was not one of them. This internship was an eye-opening experience in the ...

Read post

Ever since Google started developing their own IDE, we, as an Android community, were thrilled with that idea. The idea that ditches Eclipse as a main Android Development tool and actually uses the best IDE base out there, IntelliJ Idea. Although the progress of developing Android Studio is ...

Read post

Maybe you wouldn’t say so, but we often talk customers out of wanting an app for their business. Sure, it is not in our economic interests, yet our mission is to help customers not to just take their money. Find below the reasons why your business actually might not need an app ...

Read post

This article is certainly not our last one on exploring user-research and the involvement of the end user in the development of mobile applications. In this first one, we will look at our own reasons why we invest time and money in user testing of prototypes. There is no guide to tell you how a ...

Read post

Wanna make your next software project successful? It is not enough to hire skilled developers, designers, and UX gurus. Someone has to manage it properly –  make individuals into a team, coordinate their efforts and ensure the expected outcome. Who? The project manager .. ...

Read post

I am sure you are familiar with the following situation, too. You have updated a new version of an app and ... damn! – your favourite feature is suddenly not working. However, software does not have to stop working only because of an update. Sometimes it just happens ...

Read post

Ready-to-use vocabulary packages already in the app During its first year, the vocabulary-building app Vocabulary Miner created by SKOUMAL studio has helped many students broaden their vocabulary in multiple languages. The new version provides an opportunity to download ...

Read post

Right from the beginning, we have to be totally honest and clear. The jobs at us are not fitting for everyone. We are looking for people keen to take the world further with technology. We are strong believers in freedom, yet reliability, flat hierarchy yet careful attitude, and no rigidity, yet ...

Read post

We put together reasons we joined this team for. If it rings a bell with you, maybe we’ll be off (with you on board) to develop something phenomenal. Total freedom of when, where, how and why It is our mission to deliver the app to the customer without lame excuses. We are not a company where ...

Read post

Integromat, BudgetBackers, TheTouch, and many more startups trusted us with their mobile apps. What will be your job? Now we are looking for a new colleague to our iOS team that will help us to take as much care of mobile apps as they were his/her very own.   If you feel tempted by startup ...

Read post

This article describes how our FragmentBack works under the hood. If you are looking for ready to use solution than it is much better to use this tiny (1.5 kB) library instead of doing it yourself. In addition to the functionality described here, in FragmentBack library, you can also define a ...

Read post

In many situations you need to read from SQLite database and write to it simultaneously. For example, you want to sync data in background with transaction opened and allow user to browse data in UI at the same time. This article show you how to have one writing thread and many reading threads at ...

Read post

You can find a lot of tutorials on the Internet of shared code between platforms through Dynamic Frameworks, but some tutorials do not work anymore or they are unnecessarily complicated. So I decided to do tutorial with video. As I\'ve said, when we share code between iOS, tvOS, watchOS ...

Read post

The Studio SKOUMAL, a mobile application developer, have presented a simple tool to expand your vocabulary. The app Vocabulary Miner is suitable for iOS and Android and you can improve any foreign language. The principle of learning is similar to the manually written paper cards, but what is more ...

Read post

At the time when developers are done with their work, we start the process of polishing the product. In cooperation with customer and early adopters, the drawbacks are identified and solved. As the app flows through particular phases, the granularity of issues is getting finer and in the ...

Read post

This article could be reduced to only one sentence: Because it exactly matches our vision of sophisticated simplicity. But since Trello deserves a whole article, I’ll try to dig deeper. Pure simplicity The motivation behind Trello is to replace well-known stickers ...

Read post

In following text we describe basic principles every programmer should respect when developing mobile app. Use proper units Fonts in mobile apps are not defined in pixels. We need more abstract units to cover all displays with different densities where the text with size defined in pixels ...

Read post

We are hard to please. Each and every app has to turn into a masterpiece.  If thoroughness and accuracy are your second nature, you might be our missing part of the Android team.  What are we looking for in you? If experienced and skilled in Android development - GREAT ...

Read post

In following text we describe basic principles every graphic designer should respect when designing mobile app. Default fonts You should consider using one of the default fonts available in operating system. Here are some good reasons for it: Reducing app size - custom fonts have to be ...

Read post

Android reflection in general has been considered to be painfully slow. But it is actually not that bad at all! We needed to evaluate performance of Field.set() and Field.get() for your open source project joogar ORM and we were really surprised by the results. Without reflection are both read ...

Read post

Starting with the Android Lollipop mobile operating system,  PHONE_STATE  broadcast (aka ACTION_PHONE_STATE_CHANGED) is fired twice for incoming calls. Reasons are hidden in deep corners of the operating system and in brains of Google developers. Photo by Mong ...

Read post

ALERT: This article might be outdated and not fit for your needs. In order to enjoy its updated version, visit Android Guide To: Drawing Text Over Bitmap This improves method from my previous blog post to work with multiline text. The StaticLayout class does the trick ...

Read post

The most convenient way for distribution of internal apps for a particular organization is Apple Developer Enterprise Program, which allows installing apps directly from web. In pre-iOS 9 ages it was sufficient to confirm that you trust XYZ Ltd. developer and installation took place ...

Read post

Tired by incrementing app version with every release? This article shows how to set app version by git tag. Every release needs to be tagged, so it makes perfect sense to extract current app version from the last one. Tag version in git First lets define some standardized git tag name ...

Read post

For your mobile application you will need to prepare many specific graphical assets. This is a small guide which will show you what to prepare and how. I will primarily focus on our customers who want to prepare graphical design on their own. But it might be useful for any graphical designer who ...

Read post

Here in Europe most of the legal systems require to issue an invoice for every income we are paid into our bank account. Luckily, Apple knows it and it enables the invoicing via an iTunes Connect account. iTunes Connect and invoices Follow these steps in your iTunes Connect ...

Read post

For a long time I have been missing a tool that would measure pixels directly on the device screen; and check the size of button or text padding - Something what web designers and developers do every day. Unfortunately there was no such tool for iOS nor for Android, so I developed my oven app ...

Read post

Rating bar works well in ListView in Android 4 and higher. You can scroll the list by swiping along X axis and change the RatingBar value by swiping along Y axis. The problems comes on Android 2.X, here all touch events are consumed by RatingBar and it is not possible to scroll your list by ...

Read post

By default the Android x86 emulator is shipped only with English locale. This is very insufficient for multilanguage app debuging. Fortunately, the solution is very simple: Download CustomLocale.apk. Run \"adb remount rw\" in command line. Run \"adb push CustomLocale ...

Read post

Android has great support for server client synchronization. There is lot of thinks to implement and the documentation is not fully complete, but it worth. When you want to know more about SyncAdapters, ContentResolvers, ContentProviders and AccountAuthenticators you should read Sample ...

Read post

ALERT: This article might be outdated and not fit for your needs. In order to enjoy its updated version, visit Android Guide To: Drawing Text Over Bitmap This short article shows you how to draw text on bitmap loaded from resources. You can see also multiline version ...

Read post

Sometimes you need to export a table to the Excel and other spreadsheets. CSV file saved in UTF-8 seems to be sufficiently universal format. But there is problem with non-ASCII characters in Excel. Excel default encoding depends on the system. The workaround is to put three magical bytes to the ...

Read post