Four Weeks @HackerSchool

Reflections on my fourth week participating in Hacker School.

Kyle Beyer
Hacker School

--

For context, read about my first, second, and third weeks at Hacker School.

Wow. It’s hard to believe that a third of the Summer ‘14 Hacker School batch is over. This past weekend, I took some time to reflect on my experiences and re-evaluate how best to use the remaining 8 weeks. At the end of the post, I’ll share some adjustments I plan to make in the coming week.

Last week I made good progress on instrumenting and understanding the Discovery phase of iOS Multipeer API. My focus this week shifted from the connection process to data exchange within a peer-peer session. Since I had already implemented message based communication for the Time Synchronization process I decided to evaluate use of streams next.

Streaming Audio

One of the features I thought would be really cool to implement with Multipeer streaming was a collaborative Jukebox. The idea is that anyone in the network could pick a song and it would be queued to play on everyone’s device. A makeshift suround sound system, if you will.

For this reason, I started by experimenting with streaming an audio file. This was tricky but turned out to be not as hard as I had expected due to the Audio File Stream services which are part of the iOS Audio Toolbox. A key lesson I learned while implementing is that both DRM and file format are important to keep in mind.

As a next step, I began experimenting with taking the audio input from the mic on one device and streaming to the speaker on a peer device. This was much more challenging. I am still working on this and plan to take a step back to reconsider implementation options.

Thursday Presentations

Each week on Thursday, there is an opportunity for any Hacker Schooler to give a short presentation. This has been a great time to learn more about projects and technologies being explored at Hacker School.

Below are some embedded tweets with excerpts and links for some of the presentations this past week.

https://twitter.com/hackerschool/statuses/484844695622004738
https://twitter.com/hackerschool/status/484844770460991488
https://twitter.com/hackerschool/status/484844829038608385
https://twitter.com/hackerschool/status/484845007988592642
https://twitter.com/hackerschool/status/484845138045566976
https://twitter.com/hackerschool/status/484845272577482752

What’s Next

I have really been enjoying collaborating with others on projects they started. Up until this week, I have spent the majority of my time on projects I started and technologies in which I am particularly interested based on prior experiences. This week I plan to flip that and spend most of my time contributing to other projects.

The time I do spend on personal projects will be focused on fundamentals of audio programming. As I ran into some challenges with streaming audio this week, I realized how little I understood the details of how audio is read from an input and then packaged up to be played through a speaker. Once I feel more comfortable with audio programming, I plan to return to research on the iOS Multipeer API and apply what I’ve learned.

--

--