Could the iPad be the tipping point?

Update: To get where I’m coming from here I highly recommend that you read the following articles from Joel on Software: Strategy Letter II: Chicken and Egg Problems and Strategy Letter III: Let Me Go Back!.


The tipping point, Joel on Software:

One thing you see a lot when there is a transition from an old monopoly to a new monopoly is that there is a magic “tipping point”: one morning, you wake up and your product has 80% market share instead of 20% market share. This flip tends to happen very quickly (VisiCalc to 123 to Excel, WordStar to WordPerfect to Word, Mosaic to Netscape to Internet Explorer, dBase to Access, and so on). It usually happens because the very last barrier to entry has fallen and suddenly it’s logical for everyone to switch.

Whilst reading this, a crazy thought popped into my head: could the release of the new iPad be the tipping point for Apple?

What are the most commonly cited barriers to users adopting Apple products?

  • Macs are too expensive. The iPad is probably the cheapest Apple computer to date.
  • Macs are too hard to use (you can’t right-click, everything’s in the wrong place, ad infinitum). Apple has been wearing away at this for a while: you can right-click. And ironically Windows has become more Mac-like with every iteration. And then there’s the iPod and iPhone…
  • Macs don’t run the software I need. There is a version of MS Office for Windows. Apple’s software opens MS Office formats. You can run Windows on a Mac.
  • Macs are just for graphos. iPad + iWork.

I could probably think of some other reasons, if it weren’t so late at night.

But I think the final piece of the puzzle, wonderfully accounted by Fraser Speirs (in his article “Future Shock”) and many others, is the great pent-up frustration with the fact that computers still don’t quite seem to just work. And if you’ve only used Windows, they never have.

This is a “chicken and egg” scenario (see linked article), and Apple have managed to remove almost all of the barriers to adoption. The dissolving of the usability barrier could mark their transition from 20% of the market to 80%.

It usually happens because the very last barrier to entry has fallen and suddenly it’s logical for everyone to switch.

Just maybe.

Posted in Apple, Computing | Leave a comment

Software is hard

Allan Odgaard’s Textmate Blog lead me to the linked article:

If you’re doing top-down design, you produce a specification that stops at some level of granularity. And you always risk discovering, come implementation time, that the module or class that was the lowest level of your specification hides untold worlds of complexity that will take as much development effort as you’d budgeted for the rest of the project combined. The only way to avoid that is to have your design go all the way down to specifying individual lines of code, in which case you aren’t designing at all, you’re just programming.

It’s true, software is hard. Does that make me sad? No, actually I delight in the challenge!

Posted in Computing, Programming, TextMate | Leave a comment

The complexity stick

It’s 12:01 AM. I’m still half-dressed, and dawdling to get ready for bed. Listening to a really great album, which is making me very happy. I think about what I have and I can only be thankful.

But, there is something that pulls on the inside of me—a memory of something that once was but is now fading. It’s 12:03 AM. And there was once a time where that very simple fact would have meant a world of things: excitement, anxiety, dread, joy, rebellion, empowerment. I would have ignored the fact that my eyelids were sagging, ready to fall in a heap like the ceiling of the chook shed out the back of our old place, buried under a mountain of pine needles. There was a time when being up at midnight was a triumph over all that big people told us about being kids.

And so this question crossed my mind: why is staying up past my bedtime no longer magical—merely impractical?

I don’t mean that flaunting authority is a joy I generally want to return to. I think I want the simplicity back in my life. The words of a great song come to mind: “God is not a white man.” What is God? He is love. What is love? Love is laying down your life for another. It is no overstatement to say that that is simply what God is: one who laid his life down, not for one, but for all.

Really, it’s very simple.

So why am I not? Humanity has a habit of glorifying complexity. “Gritty” movies are hailed as masterpieces, whilst wonderfully simple stories of love and loyalty perform poorly. I wonder if someone hit me with the complexity stick too many times. I wonder if it was me.

So as I sit here, I’m deciding to marvel at one simple fact. I’m up past my bedtime. And I like it. I’m happy.

Posted in Personal | Leave a comment

Thematic

Wrote a post a little while back saying that I’d returned to the default WordPress theme Kubrick. This is no longer the case. (I can’t actually remember when I switched away.)

Now I’m actually using the theme framework known as Thematic. It’s got a nice minimalist default stylesheet, with great support for extensions and customisations through the use of child themes. One day I’m hoping to implement something similar to the format of Dan Gruber’s daringfireball.net, with very short soundbyte-style posts being the most common, each one linked to a web page (i.e. Dan’s “Linked List”), and then less frequent but more involved article-style pieces, when something warrants more comment.

This should be doable once I dig into the code of Thematic a little. From now on I’ll be partially implementing the Linked List, and you’ll see that the title of each post doesn’t link to its own page, but rather to some other web site. (This article links to Thematic’s home page, for example. Just click the title.)

Posted in Blogging, WordPress | Leave a comment

The purpose of serving in the church

So Christ himself gave the apostles, the prophets, the evangelists, the pastors and teachers, to equip his people for works of service, so that the body of Christ may be built up until we all reach unity in the faith and in the knowledge of the Son of God and become mature, attaining to the whole measure of the fullness of Christ. (Ephesians 4:11–13)

The thing that grabbed me when I read this was that the apostles, the prophets, the evangelists, the pastors and teachers all have a single, greater purpose: to equip the people, so the body of Christ can be built up. What does that even mean? Think of building up a wall: it means making it bigger and stronger.

At the start of chapter 4 Paul talks about “living a life worthy of the calling.” It’s far too easy to forget that our ultimate goal is to tell people of the hope we have in Christ, who saved our lives from destruction. That’s what’s going to make the wall bigger and stronger.

Posted in Christianity, The Church | Leave a comment

Ryan Bates’ TODO List Textmate bundle

todolist-tmbundle

After wracking my brains to try and remember a random website where I’d watched a video about TextMate so that I could find the To-do List bundle he mentioned, it turns out a simple search solved my problem. The wonderful GetBundles for TextMate returned what I was after, Ryan Bates’ todo-list.tmbundle.

It’s pretty simple to use:

  • A project is defined by a regular old line of text
  • All tasks start with a character followed by a space
    • A regular task starts with a hyphen “-
    • A completed task starts with a “x
    • An important task starts with a “!
    • Etc…

Simple To-do list

Ryan himself says that it’s just a simple way of managing what you need to do for a given project.

Would be great for a new year’s resolution, some yardwork, or just about any old thing.

(For a piece of software that manages this in a very Mac OS X way, try Hog Bay Software’s TaskPaper. Much more accessible, very nice to use, and inexpensive. I highly recommend it if you don’t have access to TextMate.)

Posted in Computing, Programming, TextMate | Leave a comment

Hiding the GrowlTunes menu bar icon

GrowlTunes Icon

Update: You can now find this hint on macosxhints.com, along with some (hopefully) helpful comments.

GrowlTunes is a nice little app included with the default Growl distribution. It watches iTunes and then whenever a song changes pops up a notification window giving details about the track, album art, your rating etc.

Something that has really annoyed me about GrowlTunes is the relatively useless icon in the menu bar taking up space. For such a small and simple task, all I wanted GrowlTunes to do was show me what track was playing.

Well, today I found this really simple tip on bpeople.org which solves the problem splendidly. Just type into a Terminal window

defaults write com.growl.growltunes GrowlTunesWithoutMenu 1

restart GrowlTunes.app, and hey presto: GrowlTunes is very unobtrusively doing its job.

Before:

GrowlTunes menu bar icon

After:

Menu bar Without Growl Tunes Icon

Seeing as you no longer have access to the menu commands to stop GrowlTunes, you can do so by opening Activity Monitor (usually located under /Applications/Utilities), finding the GrowlTunes process in the list, and cling the Quit Process button.

Note: If for any reason you wish to undo this change, just type the same command above but with a ‘0′ instead of a ‘1′.

Posted in Computing, Growl, Mac OS X | 1 Comment

A month of Vim (including Ruby, cron and GeekTool)

The general idea

  1. Teach myself Vim by using it exclusively for 1 month
  2. Write my first (somewhat) useful Ruby script to show me how long I have left (i.e. how long until the month is complete)
  3. Use GeekTool to display the regularly-updated results (via cron) on my desktop

But why?

I need to learn Vim, and this is a cool way to tie in some other things that I would like to learn, like how to use cron. I’m also currently building a website using Rails, so some knowledge of Ruby would be ideal.

But on the other hand…

I’m a nerd. I want to learn some new, cool things.

Basically that’s it.

To Do

  • Complete the vimtutor tutorial
  • Create a Ruby script that writes to a file the amount of time left that I need to exclusively use Vim
  • Use cron to schedule this script to run hourly
  • Use GeekTool to put the results on my desktop

This is going to be a bit of a pet project of mine, and I’ll try and update this post regularly with my progress.

Enjoy.

Posted in Computing, Programming, Ruby, Text Editing | Leave a comment

Installing the Git man pages locally

(NOTE: The following applies to git under Mac OS X 10.6.2 (Snow Leopard). I can’t make any guarantees for other versions, but you still may find the article helpful.)

So, today I spent an insane amount of time trying to get my git install completely up-to-date, which meant installing the documentation locally on my machine. Sounds fairly straightforward, but unfortunately it was not.

To give you some context, this is the how-to article I was following, from GitHub. Git installed with no problems at all, but I ran into problems when building either of the following make targets:

make man
make install-doc

At this stage, make would freeze whenever it reached an xmlto command (xmlto is a dependency for building the git documentation, I installed it with MacPorts). This is where it got stuck for me:

me@localhost$ make man
make -C Documentation man
    SUBDIR ../
make[2]: `GIT-VERSION-FILE' is up to date.
    XMLTO git-add.1

Blinking cursor. No action. Bad.

So I found this really helpful post about xmlto issues, but it did not help me. From the post:

…Turns out, the latest version of xmlto uses a cp -a command which is a no-go on OSX.

The fix is simple enough, on line 11 of format/docbook/man, change “cp -a -- ...” to “cp -- ...” and you’re done.

My xmlto_directory/format/docbook/man file contained this at line 11

cp -R -P -p -- * "$OUTPUT_DIR" 2>/dev/null

So cp -a wasn’t my problem.

I ended up just downloading the pre-built man pages. You can find them here (just navigate to the version of git you’re using). Once I had the man pages, I followed these steps:

  1. Extracted the package
  2. Copied the man1, man5 and man7 directories to /usr/local/man
  3. Edited my man.conf file (located at /etc/man.conf) to include the path /usr/local/man
    • Find the lines beginning with MANPATH
    • Add a new line MANPATH /usr/local/man if it doesn’t already exist

I could now access all of the git man pages. Yay! (*cough* 12:30 AM *cough*) You can test it with man git or man git-log, etc.

Posted in Computing, Git, Programming | Leave a comment

Kubrick returns

I wrote a little while back that I was trialling a new WordPress them, Wu Wei. After using it for a little while, I’ve decided to return to the WordPress default, Kubrick, for a little while (I have made my own minor modifications).

Why? A couple of reasons: widgets such as Archives and Categories didn’t play well with the theme; I like having a sidebar for quick access to said widgets; and it just didn’t quite feel like a complete package.

Once I have some time I’m going to resume my search for a new theme, so if you have any suggestions of what you like, feel free to comment below!

Posted in Blogging, Computing, WordPress | 1 Comment