Posts

LMK App Introduces a Social Share Feature for iPhone Users

We get it! You don’t always have the phone numbers of everyone you’d like to invite to an event. The new iOS update for LMK App now allows users to share their event with friends to events using social media and email so no one has to miss out on the fun!

Want to know more? View the full press release for LMK App version 1.3.0 here.

Download LMK for iPhone and Android today! Because excuses are hard.

Lmk-Invite-lg

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

Android

iOS
+ 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

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

Development Environment and Project Setup

This is the first 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.

Whenever a coworker asks the question “Which platform do you prefer developing for: Android or iOS?” I pause for a few seconds, and then rattle off a few negative remarks about whatever is aggravating me about the OS I’m working with at that particular time. This never actually answers the question for anyone involved, just more of a way to push the decision off to a later point. That point has finally come, so it’s time to do some real soul-searching into the Android vs. iOS debate.

This blog is the first in a series that takes a look at the pros and cons when developing mobile apps for two major platforms – iOS and Android. When choosing between Apple’s iOS 8 with Google’s Android 5.0 “Lollipop” the most recent releases for both platforms, how does a developer choose between them? I’m not going to try to convince you about what type of phone you should buy or where you should release your app first (disclaimer: I have been a Windows Phone owner since release, the best OS that nobody will ever use), but I am going to tell you about the good, the bad, and the confusing things I’ve encountered while developing and releasing native apps for both platforms (check out PubRally and LMK App).

Development Environment and Project Setup

So you are all amped up to start coding up the great idea you have. The first thing to do is grab Xcode, Android Studio, or Eclipse. Oops, you don’t have a Mac? Better head to your local computer store / eBay, or else scratch the idea of working on a native iOS app (the only other option is to do it ‘hackintosh’ style on your PC). If you do have a Mac, you will be greeted by the pleasant experience of downloading Xcode from the app store. There are no headaches and no fuss, just grab Xcode and you are ready to start developing iPad, iPhone, and OS X apps for any version of the OS that is still supported.

With Android Studio (built on top of IntelliJ) / Eclipse, right off the bat you are presented with both the biggest advantage and shortfall of Android development: Options. Options for which OS to develop on, which IDE to use (Android Studio is the official choice at the moment, so from here onwards I will refer to that as the Android IDE), which versions of the Android framework and external tools to download / target and where to put them during development (locally, or with the project), and even which build tool to use for the project. The advantage is that a seasoned Java developer will be able to customize everything about the environment to feel familiar and maximize productivity, but someone new to the development world might be overwhelmed by the options, leading to difficulty in finding support for their particular setup if something becomes out-of-whack (and it eventually will).

Once you are up and running with your IDE for Android or iOS, both provide comparable features, such as built in version control integration, auto-complete, a WYSIWYG UI editor (more on this later), and a suite of testing, tuning, debugging, and deployment tools. One aspect they do differ greatly on is the state of the device emulators / simulators included with the IDEs. Xcode includes a suite of simulators representing every iOS device / screen size that is out in the world right now. They load reliably and accurately represent the hardware through the testing phases when physical devices are not available. Android device emulators, on the other hand, only cover a miniscule subset of devices currently on the market, and take eternity to load (if they ever do). The load times take so long that it’s easier to buy a device for every screen size that you want to support than it is to try to utilize the emulator.

New mobile developers will find getting started with iOS development to be a touch easier than Android sildenafil 100mg tablets. Since Xcode packages everything together, a new developer just needs to download it from the app store, enter the repository link in the open project screen, and they are ready to go. With Android, the process is more involved since the team may choose to use external tools, additional libraries, or custom build configurations that have to be setup before the project will build. It usually isn’t terribly complicated, but does add to the startup time for a new member.

This table summarizes the pros and cons for the development environment including what it will take to develop your first mobile app on iOS and Android.

 

Android iOS
+ IDEs for every OS + One click download, setup, and “getting started” process
+ Robust tools for every scenario + Easy for new members to join the team
– Complicated “getting started” process + Reliable device simulators
– More involved for new members to join – Locked to OS X
– Horrible, horrible device emulators

 

Stay tuned for Part 2, Language and Framework Features.

 

 

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.

 

Will You Be My Valentine? LMK App is now available on Android

We hope everyone had a great holiday and a very happy new year! We’re starting 2015 off with exciting news: LMK App is now available for download on <a href="https://play.google these details.com/store/apps/details?id=lmk.sphereoi.com.lmk”>Google Play.

Now Android and iPhone users alike can join in on the fun and invite friends to hang out using LMK App. Thinking of asking someone to be your Valentine this year? Send out a “Will You Be Mine?” request using LMK App! Find out if that special someone wants to be your Valentine next month.

It’s easy. Download, Create, Invite.

Happy get togethering!