Sam Halperin


"Intuitive Equals Familiar"

Jeff Raskin's book "The Humane Interface" is perpetually on my desk so that I can remember that it was largely science and not luck or graphic design that lead to the paradigm shifting early mac interfaces. 

An ode to the working programmer

Steve Jobs famously said, and almost the entire tech community has picked up on this, that there are two types of programmers (and I'm paraphrasing): 'Amazing, brilliant, A-player geniuses'... and 'bozos!' This is Jacob Kaplan-Moss, one of the co-creators of Django, eloquently dispelling that myth. 

2015 Android Apps

A year of (mostly) civic hacking!  I tried to build some cool stuff on some really nice open data APIs from the City of Philadelphia, the Smithsonian Museum, and elsewhere.  Hope you like these apps!

The Smithsonian Cooper-Hewitt API in 'Moderne' for Android (Technical profile)

The use case for this education app was to build a visual connection between terms like "American Modern" and "Rococo", and representative work from those periods. With hundreds of amazing drawings, paintings, and blueprints from each era presented in an experience that maintains the native look and feel of Android Material Design, the app builds a solid intuition for the work.

Multi-flavor builds and ContentProviders on Android

The challenge here is that we want to re-use our ContentProvider across free and paid flavors of an app, but Android requires CP's to have unique 'authorities' (more on that later).  In this article we will solve that problem. If you are curious about the context for these snippets, see the Philly Crime Map project on github here.

AndroidSamuel Halperin
10 Comments About the Google Android Nanodegree on Udacity

The Nanodegree is set up for a 12 month timeline, but it would be hard to imagine being able to maintain any kind of continuity between development sessions if you spent the entire 12 months on it.    I had the summer off, and even though I had quite a bit of Android experience already, I still believe that the best way for someone (even a beginner) to do this program is to hit it as hard as possible for as short a period of time as possible.

Computer Graphics as a Context for Learning and Teaching Computer Science (MY talk @ FOSSCON '15)

This discussion covers research on recent computer graphics pedagogy, with a particular eye towards major themes and implementation level technologies. For example, one theme that recurs throughout the research is the need to strike a balance between engaging beginning students to continue studying computer science, and the need to provide a foundation rooted in rigorous data structures and algorithms. A second theme that recurs is the need to abstract away the complexity of systems intended for engineering (Android SDK, OpenGL), in order to use them for teaching purposes. Presented as well, are case studies from the literature that implement these and other themes.

Heuristic Evaluation of Modern VR Experiences

In a speech to game developers in 2014, Palmer Luckey, the inventor of the Oculus Rift, asserted that content creation for the new devices is not merely a matter of porting existing content, but creating entirely new game elements [4]. Perhaps this is due to what Steptoe et. al. refer to as the defining characteristic of these devices, the psychophysical non-mediation, or the sensation that the participant is experiencing a reality unmediated by the technology [8]. This is historically referred to as "Presence". Perhaps because these devices uniquely create a sense of presence, experiences must be designed specifically for them.