I don’t think there has been a better time to be a Cocoa developer, or a better time to start if you aren’t one already. In the past week we have heard how Apple has managed to take the #3 computer vendor spot in the US, that Leopard is being released to the public in just over a week and that in February there will be an SDK available for developing for the iPhone and iPod touch.
Leopard offers many opportunities, not only with the cool new technologies for developers to use, but also in the growth potential. I’m going to be queuing up outside my local Apple Store next Friday with two friends, one a switcher last year looking to upgrade and one who has been waiting for Leopard to switch to the Mac. And this is only two out of the many who I have seen switch in the past year or with plans to switch (most of which centre around Leopard being released). The market for Mac software is expanding and Leopard can only help accelerate that.
But a possibly more significant release will be that of the iPhone/iPod touch SDK. This will open up Cocoa developers to many potential customers who they could never have accessed before. I have another friend to use as an example. He thinks Macs are pretty cool, but would never buy one. He prefers tinkering with his hardware and is happy with Windows. Though his reaction when he saw the iPod touch released was the same as mine, “Gimmie!”. There now is a potential customer who I would never have had access to before. Yes, a lot of iPhones and iPod touches will be going to Mac users but a lot more will be going to non-Mac users.
With the mobile version of OS X using Cocoa, Apple can tap into the large Cocoa developer community out there. Because we’ll be the first on there (not including Apple) then we can help dictate the terms of 3rd party development. Of course Apple will have the overall say, they own the platform after all. But there will be a large number of developers who already sell high quality software for relatively low prices over the internet who will be getting into this new market, with a head start over those moving from other platforms. This will allow the culture around mobile OS X applications to be jump-started with the same culture around Mac OS X applications. This culture is what makes the Mac so great, both for users and as a development platform. Allowing users from other platforms to experience this culture will be as great as selling tool as any marketing campaign Apple can put forward. It will also help the iPhone and iPod touch become the thing that most people have wanted for a long time: a low cost Mac.
It may be a week and a day late but at least this post is worth it. To start with, being a developer and a student is hard, but ultimately it is likely the safest place to start from. Not only does it offer you a safety net for several years that lets you fail several times, but if you can master the skill of juggling your school/university workload, your development/support workload and your personal life then you’ll be ready for most of what life will throw at you in the future. That said I’m still learning to do that, hence the lack of a blog post last week.
That’s not to say that no work got done. In fact the past 2 weeks have seen Minim 1.2 really take shape and for the first time I can see the finish line. SimpleChord integration is working fine, all file management features are finished, searching works as well as I could have hoped and the integration with GarageBand is up and running. In fact I’m down to 4 tickets in my issue tracker, most of which is taking code or experience from Code Collector Pro and applying it to Minim.
I can now say that I hope to have the first beta version of Minim 1.2 finished by then end of next week if not much sooner. I’m wanting to have a decent few weeks to test it both on Tiger and Leopard and also prepare marketing materials. Unfortunately getting to beta is like getting to the top of a hill only to turn the corner and see you have the steepest bit left to go. Much of the development is done but there is still updating the website, preparing new graphics, updating documentation and screenshots and writing press releases and other marketing material.
One thing that I am hoping to get out prior to the release of 1.2 are some screencasts. I haven’t done a huge amount of planning for them but I’m looking at 3 screencasts at the moment: What’s New in 1.2, Minim for Musicians, Minim for Podcasters. The first is pretty self explanatory, but the latter two will both address one of the biggest non-application based weaknesses and push Minim into a whole new market.
While I wouldn’t say I’ve done a bad job of marketing Minim, I have failed at one particularly big issue. Many times other developers have said to me, “Minim seems like a very niche application,” yet every time I simply reply, “my target market is anyone using a Mac to make music”. That’s a lot of people, yet the fact that people question who it’s aimed at is a big problem. It’s a sign that people don’t really know what Minim is for and how it would be useful to them. There are some who instantly see the benefit of it, but for others it may not be clear to them. This is what I’m hoping to get around with the first screencast.
A while ago I was talking to someone on the #macsb IRC channel and they were looking at Minim and pointed out that it would be great for podcasters. Looking at it from a podcasters perspective I can see what he meant. Podcasts often require lots of material stored with them, to see when those who may be working on the podcast are online, show notes, etc. With a few minor features Minim suddenly becomes a podcast management tool. The other plus is that podcasters are like bloggers: write an application they love and they will tell everyone how much they love it. This has worked so far with Code Collector Pro on developer blogs, hopefully it can also work for Minim on podcasts.
Of course one other side effect of seeing the finishing line of Minim 1.2 is that I’m starting to look ahead again, towards Code Collector Pro 1.1. I’m hoping for this to be a relatively quick, yet highly useful update. There are some large parts of the code that I’m not very happy with and looking to re-write (*cough*syntax colouring*cough*) which will filter down to Code Collector in a bug fix, but for the most part I’m looking at adding Pro only features, with the emphasis being on faster access to your snippets. This way I can get the version numbers of Pro and standard in sync with the update after that.
There is also another secret project in development though I doubt I’ll have anything to show (or even time to work on it) until the new year. I do believe I have enough on my plate at the moment, don’t you?