I'm James Hague, a recovering programmer who has been designing video games since the 1980s. Programming Without Being Obsessed With Programming and Organizational Skills Beat Algorithmic Wizardry are good starting points. For the older stuff, try the 2012 Retrospective.
Where are the comments?
Four Levels of Idea Theft
Imagine you've just seen a tremendously exciting piece of software--a mobile app, a web app, a game--and your immediate reaction is "Why didn't I think of that?!" With your mind full of new possibilities, you start on a project, a project enabled by exposure to the exciting software. What happens next is up to you. How far do you let your newfound motivation take you?
Borrowing specific features. You like the way the controls work. The sign-in process. Something specific.
Sliminess Factor: None. This is how progress happens.
General inspiration. If web-based photo sharing had never occurred to you, and then you saw Flickr, that opens the door for thinking about the entire problem space. Some of those options may be Flickr-ish, some aren't.
Sliminess Factor: Low. It's a common reaction to be excited and inspired by something new, and it inevitably affects your thinking.
Using the existing product as a template. Now you're not simply thinking about photo sharing, but having groups and contacts and favorites and tags and daily rankings. You're not still writing a full-on Flickr clone--there are lots of things to be changed for the better--but it's pretty clear what your model is.
Sliminess Factor: Medium. While there's nothing illegal going on, you won't be able to dodge the comparisons, and you'll look silly if you get defensive. Any claims of innovation or original thinking will be dismissed as marketing-speak.
Wholesale borrowing of the design. All pretense of anything other than recreating an existing product have gone out the window. Your photo sharing site is called "Phlickr" and uses the same page layouts as the original.
Sliminess Factor: High. This is the only level that legitimately deserves to be called theft.
(If you liked this, you might enjoy Accidental Innovation.)
permalink February 5, 2012
previouslyPretend This Optimization Doesn't Exist
Virtual Joysticks and Other Comfortably Poor Solutions
Recovering From a Computer Science Education
Follow-up to "A Programming Idiom You've Never Heard Of"
A Programming Idiom You've Never Heard Of