Python Extensions with C: Converting Proprietary Audio Formats Efficiently; Investigating the Co-Construction of Apple’s iPhone

Grieco, Kevin, School of Engineering and Applied Science, University of Virginia
Vrugtman, Rosanne, EN-Comp Science Dept, University of Virginia
Morrison, Briana, EN-Comp Science Dept, University of Virginia
Laugelli, Benjamin, EN-Engineering and Society, University of Virginia

Both my technical report and STS research paper examine the significance of usability and security in the design of software. Usability versus security is often a tradeoff in software development, similar to other obstacles encountered in the design of a system. Both my research paper and my technical report examine this topic from two different lenses – one examining the design choices of a large company and the other honing in on how I tackled this tradeoff in my own work as a software engineer. The stakes are different in the two environments, but the core issue is the same. As a software developer, it is critical to weigh both ends of the spectrum and determine the best avenue to achieve an ideal final product, considering factors on both sides of the coin.

My technical project reflects on an internship I held, where I completed a project designed to increase usability of a particular system. The specific case was to efficiently convert between audio formats, a proprietary format to a more accessible .WAV format that is readable by many modern audio players. An issue I analyzed in this report was the tradeoff that came with this conversion; allowing this audio to be converted, and therefore readable, reduces the inherent security of these files. However, keeping the proprietary format of these files would decrease accessibility and usability for system users. There is little room for versatility, allowing for users to utilize these files at their discretion and in flexible ways. I designed a system that tried to achieve the best of both worlds, converting these proprietary files on the fly efficiently, while still maintaining the original files on the server. In my report, I delve into the intricacies of this process, citing different software libraries and data structures I relied on to optimize this work and yield an accurate and efficient result.

In my STS research paper, I analyze Apple’s iPhone and its constraints on usability in the name of security. To aid in this analysis, I use the STS framework of User Configuration, which suggests that users of a technology aid in its creation, leading to a co-constructed device. My argument states that this concept applies to the iPhone, as Apple projected certain values of its user base into the phone, and subsequently, users added their own value to the device. I specifically mention the concept of jailbreaking, which is when a user bypasses the security mechanism built into the phone’s operating system to allow for flexibility in customizing the device. Taking all of this into account, my paper lays out how the iPhone came to be the device that consumers know today, and how this is the result of co-construction.

The work I did on my technical project later added valuable insight into my research of Apple’s iPhone. Having first-hand experience of this tradeoff in the day-to-day work of software development allowed me to more knowingly examine the benefits and disadvantages of the larger design choices Apple made with the iPhone. Considering the opposite perspective, doing the research for my STS paper also allowed me to reflect more wholly on my own internship experience, illuminating how the work I had done was a part of the larger issue present in the design of software. In conclusion, completing the work for both these projects enabled me to consider this issue of usability versus flexibility in a broader context, both small and large.

BS (Bachelor of Science)
iPhone, jailbreak, python, users, Apple

School of Engineering and Applied Science

Bachelor of Science in Computer Science

Technical Advisor: Rosanne Vrugtman

STS Advisor: Benjamin Laugelli

All rights reserved (no additional license for public reuse)
Issued Date: