powerhour
A power hour is a (drinking) game. During each 60-second round, a song is played. A change in music marks each new round.
I enjoy implementing power hour apps as a way to learn a language or a design pattern because the game is simple and well-specified.
Design
All of my implementations of a power hour app play music from some source via an audio backend with some form of a UI. I aspire to structure the apps with MVC and message passing, with the audio backend working off the main thread.
Implementations
Language | Source | Audio Backend | UI |
---|---|---|---|
JavaScript | PHP search backend with GData API | YouTube embed | HTML |
ActionScript | PHP search backend with GData API | YouTube embed | Flex + SWF |
Ruby | Windows Media Player/iTunes | WIN32OLE | wxWidgets |
Ruby | Local directory of MP3s | Audite | Curses |
Rust | Local directory of MP3s | Local via rodio/Chromecast | Cocoa/Web view/CLI |
The JS implementation and the PHP search backend are lost to the sands of time.