Statspad Baller
Adam Stephenson
Contents |
History
Basketball plays a big role in my life. Throughout my high school basketball career, my coach always had someone recording some basic statistics every game: where people were shooting from, who was shooting what percentage, etc.. Basically, I saw a need. Professional teams have highly specialized software that enables statisticians to record all the statistics of a game. Lower level teams do not utilize this software for numerous reasons including price and the need to use a laptop/computer. As a basketball player I felt I had great insight into how to bring a similar, simpler, product that everyone can use and afford. This product would be centered around the smartphone, a mostly untapped market for the basketball statistics recording market.
Inspire
I have always had ideas for programs I would like to make or see, but never had the motivation or knowledge to create the product which I imagined. After a year of taking introductory programming classes at the University of Washington, I knew I had the know-how to create one of my ideas. However, knowledge alone was not sufficient to get me to utilize my newly developed skills. This summer Edward Jiang challenged me to come over to StudentRND and lead a project. I now had both keys; I was inspired.
StudentRND provided an engaging environment which was always full of surprises. The many wonderful technologically-minded people who congregate there and the numerous projects which are being worked on at all hours of the day fostered an excitement in me, which I would have been unable to reach by myself. Having people to both converse with and challenge me on the many steps of development throughout the project produced vastly beneficial changes in my project from the somewhat simpler idea that I started with.
Create
After developing a few previous projects for the Iphone and Palm, I wanted to switch up platforms and develop a project for Windows Phone 7. I began the project by creating a few mock up slides for the different views. I had a home page, a couple pages for creating and choosing a team, a main statistic recording page, a replay page, and a shot chart. These slides implemented the key features which I deemed that this application would need to utilize for me to use it, such as: quick and easy touchscreen shot location recording , the ability to replay a recorded game and individual player statistics and most importantly general team statistics. Coming in to StudentRND for the first day of the project I had no code, but I had a plan and a Powerpoint.
I began by developing the key entities: Game, Tistic. Through this process I was quick to realize the limited kinds of statistics that I would have to limit my app to record. There is not much real estate to work with on a 480x800 pixel screen so every option that you give the user to choose and subsequent action from that choice has to be crisp and clear. Now having the barebones for most of the basic entities, I moved on to creating screens. I started with recording statistics quickly and withe ease. After developing some of the basic abilities to record stats I moved on to the interface for teams and players. One of the largest issues I struggled with is letting a Team and Player adjust their own statistics mid-way through a game. While this kind of change breaks from the flow of recording live statistics, mistakes are always made and people need to be able to readjust their game. After sufficiently working on these screens, I moved on to displaying all the information I was recording. This was the most enjoyable experience because all of the work that you did prior developing good entities and easy to use/understand screens pays off when you want to absorb all that information and spit it back out in a formatted way. Other than a few minor bumps in the road, these screens came together pretty easily. The penultimate step to the project was adding all the cool ideas that had been brought to my attention along the way, which I hadn't originally thought of. This reworking of the app brought in such prominent features as tapping and dragging for shot recording and easier access to indicating which player shot. Finally nearing the end of the project, I went through a massive clean-up of the whole project code wise. Every class was correctly formatted, every screen was cleared of unused junk. The app was really starting to shine.
Learn
From this project I learned the importance of coming into a job of this magnitude with a plan. If I didn't have an idea of what I wanted, things would not have turned out as positively as they have. Instead of having the ability to take the time and perfect the processes which I had already thought of, I would have spent the majority of time just trying to come up with some good ideas.
I also learned the importance of a good day's work. The process which I described in Create certainly did not happen over night. It took multiple months, of being committed every day to put a little work into the project and seeing marginal improvement. Day to day work was not characterized by shocking moments of everything coming together perfectly. Sometimes I would work on a specific part for a day, getting nowhere and have to leave that area for a day or two only to come back later and see the solution.
Details
StatsPad Baller Adam Stephenson