
Android Development
by Scott Rindlisbacher
For my EDGE project, I decided to pursue my interest in computer programming. I wanted something simple to get me started, so I decided to design and build an app that allows someone to clock in and out. However, the question remains, what all does that entail? Can you choose a category when you clock in? Do you just click a button and it grabs the current time and clocks you in? Or can you change the time because you forgot to clock in when you actually got to work and now that it’s 9:45am you need to say you actually got there at 7:30am?
I decided to keep it simple. I made it so that you can choose a category when you clock in (i.e. shop time versus training time versus office time), but when you click the clock in (or out) button, it grabs the current time and that’s when you “clocked in”. Maybe you really did get there two hours ago and forgot to clock in. Sorry, you’re out of luck. Essentially I made a choice that if being paid for the time you’re really there is important to you, you’ll remember to clock in once you get there. Right or wrong, that’s the decision I made in building the app.
Now, why did I choose this project? The answer is pretty simple. Computers have interested me for a while. The problem was, where do I find time to learn how to program? The EDGE project created an excuse to set aside some time and finally sit down and do it. The inspiration to design and build an app that does time keeping came because I got sick of keeping track of my time at my job that way that I am doing it. All things considered, the idea was not too difficult to come up with or settle on because I already wanted to try to learn to program and it was a possible solution to the problem I faced with my frustration in how I keep track of my time at my current job.
However, it wasn’t all that easy. Once I started working on the app, I ran into a few snags. For example, designing an app (or any type of computer program for that matter) is not as easy it sounds. I was fortunate enough to know several programmers who helped me walk through my design process. I kept wanting to jump from A to C and they helped me see that I needed to not only go from A to B to get to C but there were a lot of little steps in between (i.e. A.1, A.2, A.3, etc. just to get to step B!).
The two other big hurtles I had to overcome were interrelated. I had to learn how to code and then I spent hours upon hours debugging my attempts to program. Looking back, most, but not all, of my bugs came because I wasn’t familiar with how to do a particular task through the code. For instance, once I was able to figure out how to set text on the screen that the user sees through the code, several bugs I was running into just disappeared because I wasn’t making the same mistakes anymore. It was a really good learning experience.
I still have some work to do, such as figuring out how to display a report of the hours the user spent on the clock. However, once I am able to do that, I think this app could really help not only myself, but anyone else that clocks in and out to keep track of their time. It’s a very simple interface, and from what others who have tested it for me have said, extremely user friendly. Not only that, but people always have their phones on them and so it’s a great way to make sure that people are able to keep track of their time as well as have instant reports (once I get there) of their time throughout the week or month.
In conclusion, I feel like I was able to benefit a lot from this project. It allowed me an excuse to delve into something I’ve been interested in for a while. Not only that, but I was able to come up with a working app. It’s given me a lot of confidence going forward that I can figure things out. I no longer shrink into the corner because I don’t know how to do something. Rather, I say, “Okay, let’s figure this out.” I’m excited to see where I can keep taking this app now that I’ve gotten started.