Android vs. iOS from a Developer’s Perspective – Part 2

Language and Framework Features

This is the second post of our five-part series on Android vs. iOS development from our microProduct Lead, Mark Oldytowski.

Android vs. iOS, the debate that stirs the same emotions as the RedSox vs. the Yankees, Ali vs. Frazier, and South Park vs. Family Guy. Everyone has a side, and everyone will defend it until the bitter end.

Now that your environment is setup and ready to go, it’s time to start coding! For the purpose of this blog, we’re going to focus on the native language for each platform: Java for Android and Objective-C for iOS. In reality, you could choose from a myriad of other languages for each; some officially supported and many others maintained by third party companies or open source. We’ll ignore those for now and just stick with the core languages since they offer the most complete and up-to-date access to the device framework features.

We’ll start with Android, which uses the Java language syntax, but is not built on top of the Sun JVM / Java SDK. This is important because it means that while you are writing code in the Java syntax, many features available in the Java SDK may not be available within the Android SDK, and vice versa.

Using the more modern and universally taught Java language gives Android some distinct advantages from Objective-C. For one, the number of open source libraries written in Java is enormous, and many of these can be leverages for Android development either directly or with some slight tweaking. Java also includes a few language features missing from Objective-C, such as generics, anonymous classes, and package declarations (you’ll miss them when you don’t have them). And of course, Java removes the concept of pointers in favor of using references, simplifying things for everybody involved.

Objective-C development for iOS, on the other hand, has slightly more archaic roots. It’s a superset of the C language, mixed with Smalltalk syntax, so it’s unlike anything you have likely experienced (unless you were a Smalltalk developer in a past life). Ramp up time for a new developer on an iOS project is going to be significantly higher due to the learning curve associated with the syntax and style conventions.

In addition to some core language features missing from Objective-C, there are a few other oddities. In the past, developers had to manually release every object that was allocated in memory or else suffer from dreaded memory leaks. It is a good thing for developers that Automatic Reference Counting (ARC for short) was introduced in iOS 5. The problem is that there is a mix of ARC and non-ARC libraries and documentation out in the world, so the developer has to take care when mixing the two. Also, the dynamic nature of the Objective-C language can provide a large amount of versatility for an experienced developer, but one who is not as familiar with it can get into trouble quickly and become very confused while reading the code from another developer (what object type is inside this array??).

As far as frameworks are concerned, both the Android and iOS SDKs have similar core and device features. You will have support for notifications, maps, camera, geolocation, contact list, calendar, web service interaction, some type of data storage, and support for different states of the app (background, foreground, call received). A big advantage that iOS has is a uniform nature: every device runs the same OS (sans version) with a very defined set of hardware. Android, on the other hand, is a very open hardware and software platform. Hardware vendors can skin the OS with their own flavors and change default programs, potentially causing chaos at times when you try to access something that the vendor changed (custom calendar, camera, etc).

IOS development also has a big “gotcha” that I have run into many times myself: Apple has a tendency to deprecate core framework methods and kill the previous functionality between OS revisions with little forewarning. Recently, this occurred on the iOS7 to iOS8 upgrade where they changed the way that a user subscribes to device notifications and asks for permission for the location services. It didn’t matter which version of the OS you targeted during development, all a user had to do was upgrade the OS on their device and the functionality would break for your app. This is one of the big reasons there is a huge rush of app updates released whenever a new OS version is updated. Be diligent and stay on top of the releases before they hit the devices to make sure your app is still functioning properly


+ Java – easy ramp up time for most devs + Core framework features
+ Core framework features + Uniform device and OS cause fewer mystery bugs
+ Third party libraries-a-plenty

– Deprecate functionality at will

– Vendor changes can cause issues with the framework

– Objective-C syntax and missing features… enough said

Download LMK
Download PubRally
Download Quack-a-pult

Stay tuned for Part 3, UI Design Tools and Controls

Read Part 1: Development Environment and Project Setup

LMK: What does it even mean? (those crazy developers …)

What is LMK? When we first started developing LMK App, we wanted to come up with a clever, simple name that would be recognizable. Naming the app turned into a grueling two month long process Recommended Reading. Everything we wanted was either already taken or a name none of us could come to an agreement on. Finally, we all settled on LMK App because “LMK” is something we use all the time in the office. It was a “no duh” moment for us – why hadn’t we thought of it sooner?

Turns out, a lot of people don’t know what LMK means. Sigh, oops. So, just for fun, I Googled “what does LMK mean?” and YAHOO! Answers gave me a few interesting results:

  • LMK = Let’s Milk Cows
  • LMK = Luigi in Mushroom Kingdom
  • LMK = Lost My Kinkajou (BTW a kinkajou is a rainforest mammal)
  • LMK = Lol My Ko

Although those are some clever interpretations of the acronym, that’s not the usual definition of LMK. LMK actually stands for “Let Me Know”. It’s a fairly common text message acronym. Makes a little bit more sense now, huh? Despite popular belief, we didn’t blindly choose strange letters and put them together, we did it on purpose!

Download LMK App today and start inviting your friends to get together. LMK App is available for Phone and Android users.


The 10 Worst Things About Being Alone on Valentine’s Day

Don’t spend this Valentine’s Day alone – Download LMK App today for iPhone and Android to find this year’s Valentine!

1. Everyone knows you’re single.

And everything today is going to remind you of that.

 2. All your friends with significant others have plans.

You’re convinced you’re going to become the crazy cat lady.

3. It’s the worst day to be a third, fifth, seventh … wheel.

On any normal day, you’re okay being the odd man out – but not today. Definitely not today

4. Oh, and reservations? You can’t get them, anywhere.

Seriously? You have to eat, too! Forget it, just order takeout.

5. While everyone’s professing their love to one another, you’re at home professing your love to ice cream.

The entire carton of ice cream, gone.

6. The Valentine’s Day haters. They’re the worst.

The non-single people that hate on Valentine’s Day. For real? You really just want to sock ‘em in the face, but instead you smile and nod.

 7. Everywhere.

Come on! This is just a cruel joke. You’ve spent the last 6 weeks doing everything you can to burn off the holiday weight, and now there’s an entire day devoted to chocolate? Perfect.

 8. The annoying sappy love songs surrounding you.

Someone, make it stop!

 9. Trying to overcome the need to drunk dial your ex sildenafil tablets 100mg.

You don’t miss your ex, really. You swear, not even a little bit. It was the wine talking.

 10. Everyone’s getting flowers delivered to the office. Everyone but you, that is.

Your coworker across from you had the world’s largest, most dramatic bouquet delivered and you have to stare at it all. day. long. It’s not even that pretty.

Don’t be alone this Valentine’s Day! Find your Valentine this year using LMK App.


Like what you see? Read more on BuzzFeed.


LMK if Santa is Coming!

Ever wonder where you sit on Santa’s Naughty and Nice List?  Managing an interactive list of 3 billion children in real time has become a daunting task, and now there is a mobile app to the rescue.

LMK (Let Me Know) App developed by Santa’s Senior Elf of Product Design provides up to date status of the Naughty and Nice List so Santa knows which chimneys to climb down on Christmas Eve.   Nice are (IN), Naughty are (OUT).

You too can use the LMK App to see whether your name is on the Naughty (OUT) or Nice (IN) List.  We know there are plenty of girls and boys out there who are straddling the line and it’s going to be a close call.   There is nothing more sad on Christmas morning than no presents under the tree, empty stockings on the fireplace, or a table with stale cookies and warm milk.  Don’t let this be you!

The good news is that for those on the Naughty List (OUT) – you know who are….there is still time to make amends.  Santa sees all acts of good deeds or service, so be sure you give Santa a reason to put you on the Nice List (IN) before midnight Christmas Eve and check back with LMK App.   He knows when you’ve been bad or good so be good for goodness sake and you will be certain to find a gift (IN) Santa’s sleigh.

After downloading the LMK App, check your name on the Naughty and Nice list by sending an LMK request.   (Instructions for contacting Santa through LMK App are below). Ages 13 and older should send the LMK request to 1-555-LMK-SANTA (1-555-565-7268). Ages under 13 should send the LMK request to 1-560-LMK-SANTA (1-560-565-7268).  If Santa replies (IN), he confirms your name on the Nice List and you can expect a gift from the jolly old elf.    If Santa sends an (OUT), all is not lost.   Just go help your neighbor shovel their walk, or carry their groceries.  You get the idea.   Remember, he sees you when you’re sleeping and knows when you’re awake.   So be good for goodness sake and check back with LMK App!

1. First, ask Santa to check the list.


2. Add the subject of your request. Hey Santa, am I on the Nice List? Or am I on the Naughty List?


3. Let Santa know where you live or just leave this part blank (cause he knows).


4. If you would like to hear back from Santa as soon as possible, just choose Right Now. Definitely make sure to request an answer before it’s too late (Christmas Day!)


5. Your request is sent directly to Santa so he’s the only one you need to add to the request. Remember that Santa has set up two separate telephone numbers to be able to handle all of the requests so be careful to use the right telephone number.

If you are 13 and older:  1-555-LMK-SANTA (1-555-565-7268)

If you are under 13:  1-560-LMK-SANTA (1-560-565-7268)


6. It’ll show you a draft of your request so you can make sure everything’s right then hit Send.


7. Make sure to check your special message from Santa when he replies to your invitation by selecting “Who’s In”.



Download LMK App today to talk with Santa while there is still time!


<a href=" check my″>a smart way to organize informal social activities

LMK Invite App Apple Android


Merry Christmas and Happy New Year!


-LMK App Team