Tuesday, August 31, 2010

Creativity

I'm going to talk about myself for a bit, since that's what I get to observe, but I'm trying to get to a broader point not just spout off about myself.

I feel like there's a "traditional" image of the path to creativity. A bunch of somewhat wacky looking people tossing a ball around while brainstorming in an office shaped like a castle or sitting in a hot springs on some company retreat (ok, maybe that's several images all jammed together). And part of the image is that those people are part of some cross disciplinary team or each has some broad range of work and life experiences. Think of the creativity posters with pictures of an old Einstein with crazy hair.

I've filled several invention disclosures at work. Some of which are working through the process to become patents. I'll admit that while each to the best of my knowledge is an original and useful idea, none of them is going to transform an industry or anything close to that. But I like to think that to have an original useful idea in a field that has been around a while and has a decent amount of competition takes some creativity.

I was thinking about what lead up to each of these inventions. Since I've never been to a meeting where a ball was tossed around and definitely never been to a company retreat with hot springs none of those were involved in the process. In fact the common theme in each case is either independently or in collaboration with one or two other coworkers I was digging deeply into the details of some aspect of a circuit I was working on. And in each case as I reached a certain level of discovery and understanding the new idea just flowed. And it was a single clear idea, not a giant list of brainstormed ideas. Each of these situations seemed almost the exact opposite of the "traditional" image of creativity.

Going back to Einstein for a moment. The old man with crazy hair really didn't do much. It was when he was a clean cut, suit wearing, patent clerk that he came up with mind blowing advances in physics. I will admit that I don't know a ton about Einstein, but my understanding is that most of his advancements came from thought experiments on his own, not brainstorming or even collaboration.

For my own example I wonder if while I'm being creative, maybe I'm not hitting a higher level of creativity that the "traditional" example would help me achieve. The higher level could be just how new the idea is, or could be the difference between creativity on the level of circuit details vs large system changes. However, that doesn't hold together when the Einstein example is considered.

I guess the answer is probably just that creativity is a large, poorly defined concept so different types of creativity require different approaches. And different people get to creativity by different means. In addition, crazy looking Einstein makes a better poster and a multidisciplinary teams going rafting makes a better story than an engineer focusing on a computer screen late at night. So those are the images of creativity that are spread.

Was that obvious? Is there something I missed? Am I over valuing engineering creativity - is a pixar writer so much more creative than a chip designer that the comparison doesn't even make sense? Does a pixar writer actually follow the "traditional" path or is that just a false image? Is "traditional" path really more about how to get a team to collaborate than how to maximize individual creativity?

Most of my random ramblings are just that. But in this case I'm actually reevaluating which assignments at work I want based on this idea. The "traditional" image of creativity that I have says bounce from area to area picking up broad knowledge to allow cross-pollination of ideas. But now I'm thinking that while breadth shouldn't be ignored, my own path to creativity is to go further in depth.

Saturday, August 07, 2010

RFCALC

My previous post about iphone programming included some complaining about the development environment. Well I'll admit I had the expectation that I should be able to just sit down, crank out some code, and submit it (as if I was using a program instead of creating one). I realize that was expecting a bit much. Once I bothered watching a few lectures of the Stanford iPhone programming class, looking at some more example code and finding apple's class definitions I realized that apple actually makes iPhone programming very easy. And once I got into it I realized that a lot of it, especially graphics, is much easier than I anticipated.

Version 3.0 (I'm being a little generous with version numbers, but at least I started with version 1) is submitted for review now and should be on the store soon. When I first started the app several coworkers suggested I make a smith chart tool and I said that the graphics would be too much of a pain. So I'm fairly excited that version 3.0 has a smith chart tool. And, maybe it is just because I made it, but I think it is in some ways better than the smith chart tool I have on my computer at work.

I decided to try adding iAds to the app (that was added in version 2.0). So far there are just two ads that run and I'm not really making money off it. But it was kind of cool to have the first app I've seen that uses iAds. And what I like about it is I get to see how many requests for ads occur so I get some sense of if the app is just being downloaded or if people are actually running it. Based on that the number of people using it must be much smaller than the number downloading it, but there's still a decent number of people using it and in surprisingly large number of countries.

Of course now that I'm getting (somewhat) used to objective-c and have some code built up I'm running out of ideas for what to do with it next.

I've been thinking a bit about why I've been enjoying iPhone programming so much. I think part of it is that I like engineering and design and while work sometimes fulfills that role, work projects can have very long stretches between successes. On the other hand, programming, well maybe just hobbyist level programming, allows me to make something and see it work over the course of a few hours to a few days. Far faster than even hobbyist level electronics design.

This is biggest program I've worked on in quite a while, most of my coding since graduation has been limited to single page perl scripts. So it has been cool to come up with the higher level structures (even though I'm sure it is pretty basic even compared to school projects). In particular it is great when all of the underlying objects have been built up so that a few lines of code can add a ton of functionality.