All Posts in iOS

July 21, 2016 - No Comments!

Grand Central Dispatch in Swift 3

For years Grand Central Dispatch (or GCD for short) was one of the most unintuitive APIs throughout iOS SDK and yet it was the most essential set of APIs for a modern iOS application, that's about to change with the release of Swift 3.

Swift 3 brings the most fundamental changes to the core APIs and frameworks throughout macOS, iOS, watchOS and tvOS in general, with it most of the changes are being very appreciated throughout the community, with GCD being one of them.


One of the most notable changes in Swift 3 is the deprecation of dispatch_once, of course it was quite useful for code that were to be executed only once, but with most of Swift's constructs it can be easily replaced with either lazily initialized globals or static properties. We can write elegant extensions to DispatchQueue like the one below:

Its usage is quite simple:


How we were used to work with dispatch in the past was to first choose the dispatch method and then select which queue we wanted to dispatch to, with Swift 3 this order has been reversed.

How we used to dispatch a global queue asynchronously and get back to update UI in the main thread in Swift 2.2 was the following:

In Swift 3 we have to write the following code in order to execute a task in background and update UI in the main thread:

Queue attributes

As you have probably noticed that the quality of service is replacing the old priority attributes and it is a Swift option set and can include several options such as concurrent vs serial, memory management and quality of service (such as .qosDefault, .qosUserInteractive, .qosUserInitiated, .qosUtility and .qosBackground).

How it maps to the old priority attributes is the following:

Memory and activity management options are new for this year's OS release for which I will go in depth in a later post.

Dispatch preconditions

As with most Swift's APIs we have new additions and dispatch preconditions are one of them which are pretty useful to write safe code. Dispatch preconditions are a way to check the expected thread before executing code, in the past we have used dispatch_assert_queue(dispatch_queue_t queue); to verify that the current block is executing on our expected dispatch queue.

In Swift 3 we can proof-check the above-written code as follows:

To learn more about Swift 3 and Grand Central Dispatch, head out to Apple's WWDC 2016 talk on the matter:

February 8, 2016 - No Comments!


Here we come again - the rabbits rolling another cool music app, following the success and very positive reviews of Elly in 2015.

Leaving behind the year of the rabbit (2015) with lots of creative ideas flashing our team’s mind, we buckled up to utilize the end of last year’s energy and start 2016 fresh, with the launch of the best music streaming app for Albanian music - meneve.

Meneve is the newest and already most talked-about app among music lovers. It’s release has been much anticipated from both, the collaborating Albanian artists and their fans. Good news is, the beta tester for iOS has just been released for the first 2000 registered users on Friday, February 5th and we are excited to hear the first reviews, as we plan to officially launch the app this spring.

Meneve represents a great product experience for our customers, relying proudly on its sleek UI and well designed UX. Our designers & developers carefully crafted a visually elegant and very easy-to-use digital platform that will confidently provide a non-digital experience -the users’ satisfaction of listening to music their way.

Once you’ve created your account on the app, you can scroll down the artists list to go directly to your favorite one, check out their latest releases and their next gigs in your city with just few other scrolls, or you can simply explore the music genres on top of the screen, presented with cool covers to flow with your current vibes.
Alternatively, one of the best features that makes meneve unique among other music apps in the country, is that it offers its users a selection of playlists created to best suit their mood. That’s right, feeling like playing some mellow Albanian sounds - hit the relaxing playlist, or maybe you feel like keeping up your heart rate at the right pace while at the gym - just select the workout playlist, and so on.
Last but not least, meneve provides an easy access to your favorite radio channels as well, without having to download additional radio apps. All these features provided with great sound quality and streaming stability, when connected to a reliable data signal.
And hey, we haven’t forgotten the android users, their beta tester app is coming up soon as we prepare to complete both OS-s testing versions in time, in order to launch the app in March for a 2-month free trial! Until then we’ll be welcoming the beta users’ feedback to help us further improve the user experience in our platform.

With meneve you’re closer to your artists. And it’s simple…want to listen to Albanian music while you’re on the go and not bother re-synching your outdated phone music every time, or get grumpy when your favorite Albanian jam is not streaming good enough through a third-party platform? Download meneve and just play. Just. Play.

RR team

April 14, 2015 - No Comments!


A year ago our creative lead came in to the office with his racing bicycle as he sat down to his desk he paused for a moment and turned to one of the engineers and asked him: 'You know I am a big fan of iPod Shuffle?' (he had his iPod Shuffle already clipped to his trousers), the engineer as usually puzzled, nodded, the creative lead continued: 'You have only one button to shuffle music and you don't care what comes next, it just surprises you', and he went on to explain: 'The problem with it is that I know exactly what music I'm populating it with, it would be better to just have a shuffle music application that just plays music from online services such as 8Tracks and SoundCloud...' and the conversation ended with the engineer telling him that the idea is good and we'll see what we can do.

Later that day the engineer called the creative lead by his desk and he presented with a rough prototype of, what now became Elly, and he was extremely inspired so he put on his headphones and started wireframing the shuffling application, so this is how it all began.

Elly is a free, simple and intuitive online music application that uses services such as 8Tracks and SoundCloud. It's interface is composed of the central shuffle button, stunning ambiance that it's matched with the music that is currently playing and a gradient-style color that is set to match the background picture so it doesn't distract users.

We wanted to create an app that is clutter free, the maximum number screen taps is 2 (in case you want to change the genre), otherwise it's only 1 or no taps (if you select Shuffle on Start option on settings).

We went one step further and created an automatic genre detection based on your music artists' likes on Facebook, this is an optional feature and we do not collect anything (check our privacy policy , here we don't even use Google Analytics or similar services, we created Elly for you to enjoy shuffling online music.

As we are creating Elly just for you, we are releasing it as a public beta (without any request codes, just download it from the Apple App Store or Google Play Store and don't hesitate to send us suggestions as we love to get them from you and create it tailored for your needs.

Just one more thing... as you probably are looking at a new Apple Watch, we are supporting Elly for Apple Watch starting now, so when you receive your Apple Watch on April 24th, you will have one more app on your beautiful Apple Watch home screen 🙂

Anytime, Anywhere. Elly.