Ben Ford

To Django or Not to Django

Update: This post was written when I had a blog running with the Django web framework. I migrated over to squarespace in 2012.

Wordpress is great! Tumbler is pretty neat too. I’d even use blogger if I had to. But I decided to write my own blog engine in django. It gives me an excuse to use python, and it also keeps my toe in the web programming world. And I love having ultimate control over my site.

toe in web world

It’s not all roses though. My site is pretty ugly and the blog has no features. I really thought long and hard about dumping my entire site and going with something fancy like squarespace or a nice hosted wordpress blog. I even tried them out and was duly impressed. Squarespace was so great I signed up and started converting things over. But alas, I cancelled that idea in the end.

Keeping my django blog seems like a silly decision. I have no time to play around with a web framework I only partially know. But I can’t give up on the things I want to be good at. I love the web and although hand typing HTML makes me feel sick inside, it’s something I will never give up.

Django really hits home with me. It’s powerful, written in python, and the built-in admin panel is the cat’s meow. Building my own blog engine keeps my web skills alive. The more I focus on non web projects, the less I remember about my good pal the web.

It’s about the journey not the destination. So I’ll continue poking along with my half-assed blog engine. And I am going to start blogging again, so things may improve a bit around here.

Picking Your Core Competency

About a year ago I set a firm goal that I wanted to create an iphone game. But I wanted to design and create a game worthy of being featured on Apple’s AppStore.

Joel Spolsky wrote a great blog post back in 2001 where he said: “If it’s a core business function—do it yourself, no matter what.” So this meant I’m going to need to take on some form of visual design.

I started with the fundamentals. Learning the tools was the easy part, but getting results I was happy with has been insanely difficult. It hasn’t been impossible though, and I’ve finally reached a phase I can start creating passable game art.

My core competency had to grow to fit my entrepreneurial goals.

I’ve slowly been abandoning web development and focusing on iOS development and visual design. It’s a relief when to let go of things that have been holding me back.

Git for the Rest of Us

Two nice git GUI’s are available for OSX: Gitbox and Git-Tower. The plethora of open-source and beta git GUIs out there are definitely worth trying, but I think top contenders are these two.

git box

Gitbox is my favorite. It’s simple to use and still has the most important features. Branching, merging, diffs, and history-of-a-single-file (awesome!!) are the things I use over and over. Just try it out, it’s free to use for 3 repositories and the full version costs $49 dollars.

git tower

The other app is Git-Tower, which has more features but also more UI to get in your way. I used the beta version but decided not to purchase 1.0 because it’s missing the one feature I can’t live without: ability to view the history of a single file.

I can’t live without source control and git is a tool I use daily. If you’re like me: lazy and hate the git command line, give one of these a try.

App Store vs Chain Stores

What do Wal-mart, Walgreens, Safeway and the App Store have in common?

They are all locked-down, closed, curated markets that that are difficult to get into into. Once inside, if you have a decent product you can make a lot of money.

Each of these chain stores is exactly like the App Store. You may never get approved and you may get kicked out at any time.

But I would argue that chain stores make the App Store look like a playground.

I worked for a company that attempted to enter the national chain-store market—it was a nightmare:

  • They can kick you out without notice for having poor sales.
  • They charge “slotting fees” to stay in their stores.
  • They’ll make large orders of your product and then return the entire thing one month later.
  • Payments come in 180 days after your product goes on the shelf (which can be 6 months after you’ve shipped it to them) and they still give themselves discounts for paying “on time”.
  • etc..

No one complains because a lot of successful companies make a lot of money. Strong competition and the difficulty of getting into a store only strengthens the companies that are there.

None of this stops people from shopping at these places. In fact, more people buy from them because they are curated marketplaces.

Open markets like Android Marketplace are not bad, but they may never be as profitable as the App Store. As a user, you’re more likely to get garbage apps and viruses—which is why Apple’s store is the way it is.

In the end, the App Store is good for the user. For now, it’s a little rough on developers, but it could always be worse. Most likely it will only get better.

This is why I stay on the iOS platform, knowing what I know about the App Store approval process.

What? An iPhone Game!!

Over the past few months I’ve been secretly working on the graphics and design for an iPhone game I want to build. This week, I decided to plunge into cocos2d a little bit.

It’s been quite challenging so far. I spent more than a few hours practicing basic trigonometry on the white board and it’s been amazingly helpful digging through the cocos2d source-code.

white board

I’m pretty excited about the project, but as always, I’m going to keep it under-wraps until it’s ready to beta test.

In other news, I’m working on adding comments to my blog engine and finishing the HTML for the new design. Busy busy!!