Dan Wood is co-owner of Karelia Software, creating programs for the Macintosh computer. He is the father of two kids, lives in the Bay Area of California USA, and prefers bicycles to cars. This site is his older weblog, which mostly covers geeky topics like Macs and Mac Programming. Go visit the current blog here.
Useful Tidbits and Egotistical Musings from Dan Wood
Over on the Karelia weblog, we posted a note that we were looking for somebody to help with technical support, and also a Graphic Artist/Designer to contract with us for some cool projects.
We're covered on the tech support end now, but we are still looking for some really dynamite graphic designers, who would be interested in web designs, icons, and a very artistic user interface for a product that we are starting to work on.
Experience isn't really necessary but talent is. :-)
If that's you, and you have an online portfolio, drop me a line: firstname.lastname@example.org.
The reason that the Mac developer community is thriving so much is the exchange of information among developers to help fill in the gaps in documentation and understanding of the details. Most Mac applications have been developed because of the open access to information about development and the ability to share that information. I can understand the iPhone SDK being under Non-Disclosure Agreement (NDA) before the release of 2.0, but to continue the silence is making things very bad. It's preventing conferences, classes, books, and tutorials from happening. Is there *anything* good about the NDA continuing? I think not.
I am ready to dive into iPhone development — we have not quite yet take the plunge — but if an NDA continues, I may just sit this one out.
Here is an interesting idea: Gather petitions showing the strong desire for the iPhone SDK to be open so that developers can discuss things. This isn't just for developers to sign! If you are an iPhone user, you are only going to benefit in the quality of the iPhone applications available if Apple lifts the NDA. If they don't, your applications are not going to be as good.
Yesterday, Michiel van Meeteren released Indie Fever, his thesis about the "Indie" Mac developer culture. It's over 100 pages, and a bit technical — his field's terminology, not ours, though! But it was certainly an interesting read, and I recommend it for current or future indie Mac developers.
One thing that struck me was the notion that we members of the development community are competitors: "Despite these collaborations they still regard each other as competitors although all sorts of unspoken rules apply to the kind of competition that is allowed within the community."
Yes, there are some competitors in this community, meaning that their products overlap in functionality enough to attract potentially the same customer base. But most of the people I interact with in the developer community are not competitors at all, unless you really stretch the definition by saying that we are competing for the attention and hard-earned dollars of the Mac users out there. Miciel compares the nature of the community to "the close-knit craft communities of Northern Italy or the diamond merchants of Antwerp." I don't know if that's quite accurate, if they are all selling the same things.
To choose a fun metaphor, we're the vendors at an electronic farmer's market. I might be selling peaches, but the vendors around me are selling honey, vegetables, flowers, and jars of curry. I'm not going to have any poroblems with the guy who's selling zucchini in the booth next door; in fact we're probably going to be buddies and help each other out.
And if there are enough people mulling around the market, I'm probably not going to mind the other guy selling peaches across the aisle (unless he's, say, giving them away for free; I'd need to make sure my peaches were better than his).
You see, there are something like 20 million users of current (Tiger or Leopard) Macs out there. Sure, it's less than the numbers of Windows PCs out there, but who cares. This is a large potential customer base. We indies, in order to make a living, really only need to make customers out of a very small fraction of the Mac users out there. An indie developer needs only a few thousand customers to make a living; we're talking only about one one-thousandth of the current Macs out there.
Since there are plenty of potential users of our software to go around, I like the idea of each other helping each other out. We've had a Good Karma section on our website and in our periodic email alert blasts, where we highlight some of our favorite indie apps. This is one of our ways of being part of the developer community.
I may have some more thoughts about the developer community and the business of being an Indie in subsequent posts. Stay tuned.
I've tried to post useful postings here on my personal blog, especially when it comes to topics of Mac software development. But it's really only the long essay that makes it here. When I have a small tidbit, I just post it on Twitter.
(I'm danwood on Twitter, not surprisingly.)
Regarding Twitter, Tim Ferriss of Four Hour Work Week fame said on his blog:
If you don’t yet use Twitter, don’t start. It’s pointless e-mail on steroids.
Well, I agree to a point; I mostly disagree, especially if you are an "indie" software developer and you want a sense of community and a network of people you can bounce things off of. Twitter has been called "the world's largest water cooler" and I think that's about right. If I am heads-down trying to work and concentrate, I turn it off. But if I'm doing my usual batch of smaller tasks, including waiting for compiles to finish, it's nice to have a connection with the outside world of other independent software developers, along with a few random friends and acquaintances who are also on Twitter.
Some downright useful abilities of Twitter and a good community are:
OK, not everything is useful that gets tweeted, and it's possible to waste time by letting yourself get sucked into every URL of that funny new video on YouTube. Still, that's part of the charm because you get a chance to "know" the people you follow just a bit.
(The limited bandwidth and limited refresh rate is actually a positive; it keeps you from getting sucked in to spend too much time. When I was doing a lot of work in the internals of WebKit, I "hung out" at the #webkit IRC channel. Great people, but there was just too much chatter going by to be able to casually keep up with. Twitter's amount is just about right.)
So if there is a community happening in the Twitterverse, as there is with Indie Mac development, check out Twitter and start following people you know or find interesting. Reply with useful insight (prefixing a tweet with @username posts a public followup), and your network will grow if you have interesting things to say.
And if you work in an office and there are already enough people around you to distract you and help you, don't bother with it.