127 Hours with Android

If you lived under a rock (pun intended) and you have no idea what 127 Hours with James Franco is all about, it is enough to know that Franco ends up accidentally trapped while hiking. This is followed by a lot of pain, struggle and frustration in his attempt to survive — you go ahead and mark this as seen on Facebook now.

This pretty much sums up my first real interaction with the Android platform, but in all honesty, it was more like 27 hours of pain, struggle and frustration. Then again, I did not end up cutting my hand at the end, so you should not take this analogy too seriously. Also, I don’t get out in the nature or anywhere else for that mater.

Waiting for the emulator to load. I’m a bit less muscular now. (Photo: Fox Searchlight Pictures)

I am what people pretentiously call a full stack developer. This means that I am smart, and I know a lot of stuff even if I don’t usually show it. Just to clarify, by people I mean full stack developers.

In all seriousness — because Java is not a joke — I’m using Java on the back-end* for quite a while now, and I had some 101 introductory courses in Android — you got it, I’m not playing around.

(*back-end = a magical place where everything is saved and cherished and where a lot of good things happen for your benefit, just like the Cloud… or the church)

I am also in love with the JavaScript world, but things started to get complicated after a while just like in any other relationship — we are at that point where monotony kicked in and I am too afraid of rejection to start something new. My main issue is the never-ending diversity and variety of new stuff solving the same stuff, all the conflicting opinions in the community, all the new terms that are coined weekly and all the new paradigm shifts. It’s like we are in the mind of a guy with multiple personalities. This made me long for the order and silence of a well established stack such as Java’s.

Just around this time, the Cloud hears my JavaScript doubts and a wild need for an Android app falls into my lap. Both the expectations and the requirements were acceptable — here is a first for you all — and I decide to take a stab at it. Coursera’s Android 101 will sure come in handy now! In all fairness, I should also mention that when it comes to solving most of the coding problems, I gave up on being smart and innovative a long time ago in favor of the comfort of laziness and Google code assist (which is a term I just coined and an opportunity I just identified, me being such a versatile and innovative person). Bill Gates said that he’d choose a lazy person to solve a hard job, but I’m still waiting to hear from him. What’s up with that, Bill?

Next follows my programming journal which I could easily type since I didn’t have a hand stuck under a boulder:

Still waiting, Bill! By the way, the Thing Explainer is not that great… (Photo: www.gatesnotes.com)

Hour 2: Thanks god they have a nice text editor for this. They also suggested installing the Intel accelerated emulator which sure as hell sounds cool and fast. I have a pretty decent setup (it’s not a Mac so down goes my programming street cred) but I’ll take all the acceleration that I can get. With no seat belt! This is how crazy I am, ladies!

Hour 4: I have access to all this example apps directly from the editor. Take that, you JavaScript with your Yeoman and npm and module loaders (smoothly integrated JavaScript jargon — that’s a smart full stack developer for you)! This emulator is really slow though, and I also get a delay in typing, which is a bit annoying. Is this how things are supposed to work? I should investigate.

Hour 11: Everything is slowly moving forward, slowly. Slowly, I’m getting slightly annoyed by this slow moving environment. Surely, it’s something on my machine (another first for you guys, since usually it’s your machine that has problems running my code). I’ll restart Windows — make Bill proud — and close some of my Chrome tabs. They have such a great documentation on android developers!

Hour 12: For the first time in years, I’ve been programming* without the YouTube tab playing music in the background. It’s weird. Things are moving along in a laid back, summer holiday like fashion. Emulator restarts help me since I wanted to try these five-minute meditation sessions for quite a while now. A few guys are not that happy with some of the default solutions provided in the Android documentation. I never realized how quiet it is in here.

(*programming = the act of Google searching, copying, pasting and slightly modifying small beats of text while looking intense. Also known as hacking, but you’ll need a Mac for that)

Hour 16: It turns out that those guys are right. My code is much more cleaner using their approach. I can go through roughly twenty 9gag posts while waiting for a new version of my app to be accelerated in the emulator. I’m lying — I cannot tell the actual number since I usually forget about the emulator, and five minutes fly by. It’s so damn quiet in this room. Also, I’m lying again — it’s more like fifteen minutes.

Headphones I’m not able to use since drastic measures were taken to improve the emulator experience (Photo:vzwmidwestarea.com)

Hour 20: Who knew that setting up a secure connection would be this hard. I am on the second Google result page, and I am too lazy for this. The silence was killing me, so I started narrating to myself the search quests in the land of security certificates.

Hour 22: This tutorial from 2010 explains a security solution I did not tried yet. I have a good feeling about this one — words also said by my father in regards to his third marriage.

Hour 22: Never mind! I think I’ll start using Bing — words never said by anyone, ever. Like seriously.

Hour 25: The app works as a charm on my phone! I’m done! I finally escaped from this soul-crushing commitment !— some other words also said by my father in regards to his third marriage. In other news, it looks like my mom is really concerned about me talking to myself for the last couple of hours. She has no interest in my quest nor in anything else I say lately. I should finally move out… I am 25 and she still treats me like a child.

Hour 27: All in all this was a nice experience. Now that this welcoming screen is mostly functional, I should start working on the other views. I don’t want to leave home so I guess I’ll start YouTube again.

When you get the chance, please go to my LinkedIn account and vote up my Android skill. With this one week experience under my belt, I can safely start throwing expert opinion and advice on the topic — this is something we developers tend to do quite a lot. However, I’m keeping my tips and tricks for an Android workshop I’m planning to start sometime next month. Tickets available soon!

The bottom line is that I enjoy working on this small project, but seriously now, is that latency to be expected, or all the Android developers have a different time reference system?

Stay tuned for the next week article in which I’m describing why creating iOS apps with Swift is the best solution going forward, but make sure to buy those online class tickets, so I can get a Mac, and start hacking!

Oh, and you should see the movie. I’m sorry for the hand thing spoiler though.