A Feeling of Accomplishment

by Dhruti Shah, Moringa School Student

It’s week 7 and we are halfway through the program. It has definitely been a roller coaster ride. Ruby on Rails, Android, Java, making application frameworks using Adobe InDesign and Photoshop, ideation, HTML/CSS. All I can say is that I have learnt A LOT in the last 7 weeks!

From not knowing what Ruby on Rails was to building a clone of Twitter, from always wondering how apps are made to making an android application, I still can’t believe I am able to create all these cool things now. It is such a good feeling, a feeling of accomplishment, when you see the application you spent hours working on actually function they way you intended it to.

It definitely has not been an easy journey, but I can tell you that all the sleepless nights, frustration, tiredness, is all worth it at the end.

Moringa School has completely transformed me. I love technology. I love building new applications be it on Android or a website.

Advertisements

It’s Getting Steeper

By Wilhelm Uschtrin, Moringa School Student

Week 4 is coming to a close. Although it is Friday night, the week is not quite over yet though. There are a few Android assignments due this weekend, as we quickly moved to Android after briefly exploring Java per se. Rails (our other major track) is kind of on hold over the weekend – we do have to do some reading and finish an app, but that’s negligible compared to what Alvin usually has in store for us.

Anyways, I decided to finish this evening by actually sitting down and writing another blog post.

One thing that’s been on my mind lately corresponds with a blog post Audrey shared with us the other day (Why learning to code is so damn hard). The author, Erik Trautman, describes the different phases everyone, according to him, goes through while learning to code: the (I) Handholding Honeymoon, passing the (II) Cliff of Confusion, crossing the (III) Desert of Despair and last but not least reaching the (IV) Upswing of Awesomeness. It’s actually very much worth a read, if you’re learning to code, contemplating learning to code, or learned to code at some point in your life. 😉

But what I am getting at is this: I have the feeling I am rapidly approaching that Cliff of Confusion. It’s not that Moringa School is doing a bad job, it’s just that we’re still moving very very fast and stuff is getting more and more complex. While with Ruby on Rails we’re following a tutorial, constantly debugging the stuff we’ve just implemented and getting input rom Alvin in between, with Java the move to Android Studio was absolutely overwhelming. It felt like moving from drawing houses with pen and paper to designing buildings with Adobe Illustrator.

But even with Rails I am wondering what it would be like to have no teacher, nobody to just drop a mail and get a hint or solution latest the next day. Not having the luxury of following a tutorial and just being required to solve the micro-challenges deliberately built-in by its creators. What it must be like to design something by yourself from the ground up.

Personally, I really have the feeling that I’ll be copy and pasting code snippets for a long time to come, still kind of orienting myself along tutorials, even if what I am building will be only remotely similar to what the tutorials are about. Knowing what a certain code snippet does, but maybe not really understanding why or how it does what it does, and most probably not being able to rewrite it from memory myself at all.

I guess that’s all right though, because that’s seems to be how you learn to code. Nevertheless I am kind of scared of the moment the tutorials end and I’ll be required to build something non-trivial from scratch. I mean, I already signed up for Stack Overflow, but maybe I should already book a room with them, since I’ll be moving in anyways.

Now, seriously: it’s all good, but lately I’ve been wondering how I will do after finishing MS and having to go on by myself. It’s kind of a scary thought – luckily we still have 8 weeks in front of us. I’ll let you know how I do.

Android Activity Lifecycle

by Diana Wanjuhi, Moringa School Student

If you are new to Android Programming, you may have heard the term Activity tossed around. Now, before you freak out since there was nothing in your Object Oriented Programming tutorial about Activities, hear me out.

Ever notice how every time you start up an application, say YouTube:

  1. There is some sort of Welcome Screen
  2. There is a variety of actions you can take: search for videos, swipe et al
  3. You can temporarily exit the app and return to it
  4. On doing so, you can resume your video where you left off
  5. On closing the app, that particular session is over
  6. Each of these actions has an associated view or screen

All this is a series of Activities within the application. Think of Activities as all the different things that your user can do within your app.

Here are two flowcharts showing all the important states of an activity:

State diagram for an Android Activity Lifecycle.

This is a simplified version:

You need to get this right as a way to make sure your user:

-can switch between your app and other apps

-can save their progress

-can do lots of other cool things with your app

To read more, visit:

http://developer.android.com/reference/android/app/Activity.html

http://developer.android.com/training/basics/activity-lifecycle/index.html

These are great resources for any Android developer.

It might also be helpful to understand the MVC model for implementing user interfaces.

Live long and prosper.

PS: Pen and Paper will always be your most powerful weapon when thinking through the logic of your app.