Friday, 21 October 2016
Thursday, 20 October 2016
Recently, there's been released a very interesting tool for iOS Developers (and soon Android too). That is Realm. Realm is a mobile database that aims at replacing CoreData and SQLite. What really impressed me is that Realm is not only very well built, but also very fast. Surprisingly way faster than CoreData and SQLite! In this post I will share with you 5 reasons why you should already choose Realm over CoreData/SQLite for your next project.
1. Ease of use
I've never really been a fan of CoreData and i am sure many of you feel the same. Sure, it's a powerful tool, but it's not so easy to catch up and maintain. On the other side, Realm, couldn't be easier to use. Realm data models are defined using traditional NSObject-style classes with @properties. Simply subclass RLMObject to create your Realm data model objects.
Realm objects can be instantiated and used standalone just like regular objects. To share objects between threads or re-use them between app launches, you must add and retrieve them from a Realm. All changes to an object (addition, edition and deletion) have to be done through write transactions:
Easy as that! No more NSManagedObjects, NSPersistentStoreCoordinators, etc.
I was really surprised to see that Realm is actually faster than other popular mobile data storage solution. Especially the queries speed. Needless to say anything about it. Just check the benchmarks bellow.
3. Realm Browser
There are a few solution to explore your CoreData database independently, but many of those are either expensive or not working. A few of them: SQLite Professional, Core Data Editor, Core Data Pro, etc. The amazing engineers at Realm thought about this too. They provided an utility called Realm Browser. It allows you to easily explore your Realm databases and guess what? You can even edit them!
Soon, Realm will be available for Android too. I was told that you could use the same .realm databases across multiple platforms. Just imagine what you could develop with that huge advantage of sharing the same data models over iOS & Android. That's something you could very hardly achieve using CoreData/SQLite. Besides that, Realm is in continuous development, so we might see some more platforms support in the future.
5. Free, Well-documented, Other Features
Some of you might not be surprised that Realm is free, but just take a look at all the advantages you have compared to other similar solutions and you'll see that this is a pretty awesome. The guys at Realm worked really hard on their documentation and what i especially like is that is very straight forward. If you have a question on a related feature, you will easily find your answer. One more thing some developers might like is that Realm supports Objective-C as well as Swift, which suggests that this would be a long-term solution for iOS Developers.
I didn't went in much technical details about it, but Realm means way more than you've just read. Right now it's in very early stages but with the help of an amazing community, i am sure it will grow a lot. It supports relationships, migrations, background operations, notifications, etc. I highly recommend you to check it out on Realm.io and give it a chance for your next project. I promise you won't be disappointed.
Wednesday, 19 October 2016
If you are a long time Android user, you might have come across various applications asking for root access to function. The internet is full of articles on rooting and the whole process is different for different smartphones. There are tons of guides on online forums and there is no single guide that works for all smartphones. Well, in this article, I’ll try to tell you the meaning of rooting and some related aspects.
Is rooting an Android phone illegal?
We need to first know how App ranking is decided. Google has, indeed, adopted a very sophisticated system in determining the ranking of an App for a keyword. The criteria taken into account are listed as follows:
(1) Number of Installs
(2) Retention Rate (how many days an App stays installed on a device?)
(3) Rating (out of 5.0) and number of ratings and reviews).
(4) Number of backlinks to your App's Google Play page.
The most important criteria is (1), it weights about 60-70% in determining ranking, therefore, your main task is to get as many installs as possible in a short period of time.
The next question is, how to get installs. There are many ways:
(1) Improve your App's quality. It could be done by making your game bug-free, hiring an expert artist to improve your game's graphic quality, etc. With good game quality, you get higher ratings and players are more willing to download your App when they visit your App's page.
(2) Cost-per-install campaigns. You can purchase a large amount of installs to boost your App's ranking on Google Play. It is actually essential as there is no better ways to acquire visibility to your App (imagine if you choose to spend tens of thousands of dollars on billboard, TV or newspaper adverts, how many downloads do you think those methods can bring to you?)
Out of all providers, I genuinely recommendsince it provides install at the rate of 0.1 USD per install and it can deliver up to 15000-20000 installs in a single day. It also provides rating and review services at the rate of 0.2 USD per rating and 0.25 per review. All installs have 3 days retention guarantee, so criteria (2) and (3) listed above are boosted as well. Most importantly, App2top provides real device installs, so it is safe for you. The business owner is also a nice person who readily replies to enquires. More importantly, most installs are from European/USA countries - so the valuer of downloads are higher.
As a personal experiment, I have obtained 40 Australian installs for a game with app2top and it successfully got charted in Australia for 8 days! You may try with your App too! (but of course, if you aim for UK/US, you need much more installs to have the same effect)
(3) App Store Optimization. It can be done by making a good looking icon for your App, including good looking screenshots, and a good description with good keywords included. Good keywords can be found onIt is advised that you localize your game's name and keywords into different languages - even if you don't have a translator, Google Translate can help you, having localized keyboards can, according to a study, bring 30% more users to your App, so it is surely worth the effort (I guess localizing Apps will take less than 10% of your resources!).
(4) To increase the number of backlinks to your App's Google Play page, I suggest you to post your App onto as many forums as possible. Join a few facebook app developers group and share your link with other developers so earn a few more downloads.