Monday, January 31, 2011

App Development in Review

I got a blog double feature today. This one is about my recently finished Android app and the next is about my Mirrodin Besieged prerelease. Second one is of course quite skippable for non magic players.

The Background: For my mobile phone programming class we had an app due at the end of the first three weeks of class. It’s an interesting class because the professor doesn’t teach anything (causing me to question why the hell I have to pay for this) and you just learn iphone/android/windows phone 7 app development on your own. Today we presented what we had along with each other group

The App: So often when you’re in the buildings on north you may have wifi connectivity but the phone service usually doesn’t come through. So if you use something like Google Voice you don’t need your phone constantly searching for phone service. It’s just wasting your battery. So our app notices when you’ve connected to wifi networks of your choice and puts your phone into airplane mode with wifi enabled. It’s a good little niche app and it’s pretty close to done, so we may put it up on the marketplace soon.

The Tales:

TALE THE FIRST

After announcing our ideas for mobile apps to the class we were sent off to go form groups. I pair up with a guy who has a decent idea about a battery saving app, mostly just to get into a group quickly. Groups can be two or three people so we consider adding a third. One of the members of a group I was in last semester is milling about us staring into space.

“Hey Dan, do you want to join our group.”

“Yeah ok I guess. You found my weakness, being asked to join a group.”

Uhhh… I’m doing you a favor here. You don’t have to be in my group if you don’t want to be. I don’t really care either way.

Teacher – “has everyone found a group?”

Dan whispering to us – “ehhhhhhhhh” as he wobbles his hand back and forth

Me – “If you don’t want to be in our group now’s your chance.”

He either doesn’t hear me or ignores it. This guys a pretty good programmer so he’ll be good on the team but I just don’t get it. If you don’t want to be in the group then don’t be. I swear my feelings won’t be hurt. Notice, I didn’t seek you out immediately either.

TALE THE SECOND

2 weeks in into app development we had to present what we had so far. Of course being seniors we hadn’t done anything besides set up our programming environment. Here I took matters into my own hands and got to work making a nice little user interface for us to show to the class.


Not too bad for a mock-up if I do so say so myself.

Then our team fell into what I like to think of as “The Dark Week.” No one in the group did anything in our final week due to our senioritis. So it was the last day and the project was so far from completion that I basically had to pull an all-nighter to finish it up. I had good help from the guy who came up with the app (Travis) and zero help from errant group member Dan. Dan has actually contributed no code to our project even now at the end.

For those interested, some of the tech talk. I designed this initial UI and Travis fixed it up as well as figured two big problems. 1. How do we send information from our UI screen to our service running in the background? 2. How do we populate a list of checkboxes from your phones previously saved networks? My code on this final part was basically implementing all the functionality. I made it do all the things it was supposed to do and solved the problems 1. How do we use the info sent from the UI in the backend? 2. How do we switch the phone into airplane mode? 3. How do we implement a service that runs in the background and checks for updates at given intervals of time? It was a good challenge and despite the hell of staying up all night, I enjoyed making it.

TALE THE LAST

So today came and we had to present our final app. It had all the functionality and was ready to go. As team member Dan had done no part of the development we decided he should at least do the talking for our presentation. We got up to the front of the class, Dan was ready to talk, Travis was manning operating the app while Dan spoke and I was just standing there looking like death. Dan began talking

“Hey guys, we’re team Signalz and this is our app.

This is our splash screen. Press start and we move to the main screen of our application. See here you see a list of networks and you can check or uncheck them and then our app will connect to them. From there you can click the button at the bottom to turn on the service and phone will go into airplane mode. When you become unconnected to the internet the phone will turn airplane mode on”

Can you figure out what our app does from that? I sure can’t. After this I had my doubts that Dan even knew what our application does. He made it seem like the main functionality was connecting to wifi networks. I’m still pissed. After I put in all that effort into making the app look good and function well, Dan completely misses the point in the presentation. He didn’t even mention you don’t have to have the app open for it to function. Sweet dude.

In conclusion:

Despite being a decent team member last semester Dan has taken a turn for the abso-fucking-lutely useless. Next project I'm either going to have to make him work or keep him from doing anything, awesome. The app is finished and we may release it to the market soon depending on how much clean-up is actually left to do and how hard it is to upload it. I had fun though and I'm excited for the next app. If you have any suggestions I'm all ears too.

3 comments:

  1. Kick Dan's ass imo. Also, definitely let me know where I can get the app on the marketplace thing if you release it there, whenever I get my new phone.

    ReplyDelete
  2. Dude I will download the shit out of that app. It is actually useful to me as I rarely have a phone connection in my building but I like to, you know, connect to the outside world still.

    Also as long as your prof isn't doing anything else you might as well let him know Dan's a douche-bag.

    ...BTW chrome spellcheck wants that hyphen to be there.

    ReplyDelete
  3. I want a chart of the nuclides app, please.

    ReplyDelete