Push Notifications in iOS8

There have been some great changes to iOS notifications with the iOS8 update. This means that now you can send a payload of upto 2KB instead of the 256 bytes earlier. iOS8 also separates the silent and UI push notifications. It means that you can send notifications without any UI…

Uniqueness constraints in Parse Database

Parse is a great service for quickly getting an app out without getting into too much backend/server/database details. Its really easy to quickly set up your database schema and start saving and querying data. However, one of the most important things that it currently misses is the ability…

Store image dimensions in Parse with Cloud Code

Say you have a large number of images of different sizes on Parse. You're downloading them for display in a table or any other type of view. Of course, you definitely need the size of each image, while you are waiting for the download of each image. Something like this…

Nested Sections in UITableView

Sometimes, there might be cases where you would like to display nested sections in a UITableView. For example, consider an app organizing groups taxonomically like so Sports Bat-and-ball Baseball Softball Cricket Hockey Field Hockey Ice Hockey Roller Hockey Engineering Computer Science Software Engineer Electrical Engineer A UITableView really isn't designed…

Streaming Youtube Videos and Loading Thumbnails in Android

The only "official" way of streaming videos from Youtube in a mobile app is to use an iframe. Since the WebViews on mobile devices aren't as good as their desktop counterparts, this is filled with bugs and isn't very easy to operate on. Fortunately, Google has a YouTube Android Player…

Eval JavaScript Code in Chrome Packaged App

Chrome packaged apps don't allow using eval or alternative expressions like new Function() to evaluate arbitrary JavaScript code at runtime. Chrome allows adding an unsafe-eval content security policy to its extensions to enable this, but for packaged apps, that is not an option. If you really need a way to…