Growing Up Geek: Steven Troughton-Smith
Welcome to Growing Up Geek,
an ongoing feature where we take a look back at our youth and tell
stories of growing up to be the nerds that we are. Today, we have a
special guest: programmer, app designer, artist and geek, Steven Troughton-Smith.
I was born to be an artist. I was always the kind of kid that doodled
when bored in class; I used to spend hours creating the most intricate
symmetrical robots or plotting maps for world domination. Somewhere
along the way I realized that the thing I really wanted to design was
software, and I'd really have to learn to start programming to be able
to make what I saw in my head exist.
As a child of four I was exposed for the first time to a computer -- a Macintosh IIsi. When I wasn't playing SimCity 2000 or Spelunx, I was dabbling in Photoshop 3.0. I was fascinated by the Mac and would spend hours learning all the intricacies of how it worked. I discovered an Amstrad 286 in our attic at some stage -- my mom's old work computer -- and set to work trying to figure out the arcane incantations to show something more interesting than a DOS prompt onscreen. (Eventually I found some Windows 2.03 floppy disks about the house and forcibly upgraded it -- it wasn't much better off for my efforts). Then, in 1998, I met RealBASIC.
RealBASIC blew my mind, because suddenly I could create software just as
easily as plotting a town in SimCity; drag and drop buttons and views
into a window, double click them and paste in a snippet of example code
and boom! You have an app. Of course, it would take years before I'd
built anything more interesting than a Notepad clone, but the seed was
sown.
In early 2002 (late to the party, I know), I managed to get my hands on a Mac OS X v10.1 disc. I'd 'borrowed' an OS X Developer Preview 1 CD from my dad's work a couple years before and happily installed it on my PowerMac G4 (the first computer I had that belonged to me), only to erase it in disgust a couple hours later. The early Developer Previews of OS X I found horrid; I remember thinking 'this is too much like Windows' at the time. Now, a couple years later, OS X was on the shelves, and was like a completely different OS to what I'd tried some years back. I chose to go all-out on OS X from the get go, and RealBASIC had been updated to create apps that could run on both OS 9 and OS X from the same binary so it continued to take up all my hobby time.
Before this point, I hadn't really realized that there were more OSes
than Mac OS and Windows out there. With the OS X release, I had been
reading a lot about NEXTSTEP, and my curiosity led me to virtualizing
all sorts of OSes in Virtual PC: BeOS (one of my favorites!), Solaris,
Red Hat 5, QNX and every pre-release build of Windows I could find
(these were the days of Longhorn, filled with grandiose visions and
crazy new features appearing every other month). I learned to appreciate
all the differing takes on what an OS should be, and I pulled them all
apart with gusto trying to learn as much as I could.
Meanwhile, I stuck with RealBASIC until I was sixteen when I finally reached the limits of what I could do with it, and conveniently Apple had just released Xcode 1.0. I had been putting off learning how to make Cocoa apps, but this time I had no choice so I decided to delve head first into Xcode and not come out until I'd figured out how to recreate everything I was doing in RB. Before long, I'd crossed the point of no return; although everything was that tiny bit harder to do, everything I was making was a hundred times better than before. For the rest of my school days I made all sorts of Mac apps, even posting some online, but never going as far as selling anything.
Then, the iPhone happened. It was my final year of school, and I'd been
rocking a Nokia 6630 for three years at this point. Little known fact: I
was a complete Symbian fanboy up to 2007. I had started with the 7610
and had two N-Gages before the 6630; it was a real OS, with real apps,
running on a phone. The mere idea of writing apps for it was thrilling,
but unfortunately writing anything for Symbian at the time was a
nightmare. I was the kid who sat in his dorm room compiling an open
source Symbian toolchain for OS X for hours just to try and create
'Hello World'. After several failed attempts I'd given up trying, but
then, halfway through my final year, Steve Jobs stood up on a MacWorld
stage and announced Apple had built a phone, with a touchscreen, and it
ran OS X. The concept blew me away -- OS X! On a phone! I was fascinated
by it, and followed all iPhone-related news closely, hoping that
someone would be able to hack it and create their own apps to run on it.
A couple days before the news broke, a hacker friend of mine sent me a screenshot showing a 'Hello World' app running on his own iPhone -- it was possible! I tore the OS apart, put together my own toolchain, and set to work on reverse engineering just enough to figure out how to build an app. It stunned me how similar this was to desktop OS X; even though everything was different, it was still built in the same way, still had all the same design patterns. I already knew how to write for it! It was going to be months before I had an iPhone or iPod touch of my own, but that didn't stop me; I emailed a copy of my app to a friend in the US who would see if it ran, screenshot it, then send me the results ('remote debugging'). I would go on to build several apps and hacks for the iPhone that year (including a popular one you may know called 'Stack'). The final puzzle piece came in 2008, when Apple announced the App Store; finally, I knew what I wanted to be -- I had a professional career in app making ahead of me.
That first year of developing for iOS before there was an SDK (or sample
code, or documentation) left me with most of the skills I value today;
learning to disassemble and reverse engineer code, designing for a
limited screen, and focusing your design for a specific-purpose app
instead of trying to do too much. In recent years I've expanded my
knowledge (and apps) across a variety of other platforms (I'm on
everything-fanboy: Mac, Android, WP7, webOS, MeeGo Harmattan, Symbian,
BlackBerry PlayBook, and so on) but iOS will always be home to me. The
iPhone is my blank canvas, and I've always thought of it that way. It's
not a computer, it's not a phone, it's a software appliance; it's only
bounded by your imagination. I couldn't imagine working in any other
profession.
You can check out Steven's work at High Caffeine Content and follow him on Twitter (@stroughtonsmith)

As a child of four I was exposed for the first time to a computer -- a Macintosh IIsi. When I wasn't playing SimCity 2000 or Spelunx, I was dabbling in Photoshop 3.0. I was fascinated by the Mac and would spend hours learning all the intricacies of how it worked. I discovered an Amstrad 286 in our attic at some stage -- my mom's old work computer -- and set to work trying to figure out the arcane incantations to show something more interesting than a DOS prompt onscreen. (Eventually I found some Windows 2.03 floppy disks about the house and forcibly upgraded it -- it wasn't much better off for my efforts). Then, in 1998, I met RealBASIC.
I know kung fu

In early 2002 (late to the party, I know), I managed to get my hands on a Mac OS X v10.1 disc. I'd 'borrowed' an OS X Developer Preview 1 CD from my dad's work a couple years before and happily installed it on my PowerMac G4 (the first computer I had that belonged to me), only to erase it in disgust a couple hours later. The early Developer Previews of OS X I found horrid; I remember thinking 'this is too much like Windows' at the time. Now, a couple years later, OS X was on the shelves, and was like a completely different OS to what I'd tried some years back. I chose to go all-out on OS X from the get go, and RealBASIC had been updated to create apps that could run on both OS 9 and OS X from the same binary so it continued to take up all my hobby time.

Meanwhile, I stuck with RealBASIC until I was sixteen when I finally reached the limits of what I could do with it, and conveniently Apple had just released Xcode 1.0. I had been putting off learning how to make Cocoa apps, but this time I had no choice so I decided to delve head first into Xcode and not come out until I'd figured out how to recreate everything I was doing in RB. Before long, I'd crossed the point of no return; although everything was that tiny bit harder to do, everything I was making was a hundred times better than before. For the rest of my school days I made all sorts of Mac apps, even posting some online, but never going as far as selling anything.
It's a UNIX System. I know this!

A couple days before the news broke, a hacker friend of mine sent me a screenshot showing a 'Hello World' app running on his own iPhone -- it was possible! I tore the OS apart, put together my own toolchain, and set to work on reverse engineering just enough to figure out how to build an app. It stunned me how similar this was to desktop OS X; even though everything was different, it was still built in the same way, still had all the same design patterns. I already knew how to write for it! It was going to be months before I had an iPhone or iPod touch of my own, but that didn't stop me; I emailed a copy of my app to a friend in the US who would see if it ran, screenshot it, then send me the results ('remote debugging'). I would go on to build several apps and hacks for the iPhone that year (including a popular one you may know called 'Stack'). The final puzzle piece came in 2008, when Apple announced the App Store; finally, I knew what I wanted to be -- I had a professional career in app making ahead of me.
End of Line

You can check out Steven's work at High Caffeine Content and follow him on Twitter (@stroughtonsmith)
Comments
How fantastic to find out more about Steven!
Brillant story about a brillant guy! I was enthralled from the first line!
The very best of luck to Steven in the future - not that he needs it, he seems to be totally gifted!
A great insight to your lifE Steven and into how you the career that you have. I know a certain 12 year old (my son!) who would love to follow in your footsteps!
xx Jazzy