I’ve been using iTunes for downloading podcasts since iTunes 4.9 came out in 2005. It was a great moment that took podcasting from the obscure straight into the mainstream in one swoop. In the last five years there has been nothing that could take it’s place - even as we all moved from basic iPods to app driven iPhone.

Podcaster right

With the recent release of iOS 4 Apple enabled background audio playback which resulted in a race to see who could put out the best podcatcher first. Luckily Alex Sokirynsky had an almost fully featured client on the app store already that just needed iOS 4 support and a little polish.

Despite a few buggy releases Podcaster has matured into the best way to consume podcasts. I’m no longer tied to iTunes syncing and I can download fresh content wherever I am. I used to sync to my Mac multiple times per day and now I rarely need to. You can easily bring your OPML subscription file over from iTunes and it’s only 59p/99c. Highly recommended!

How Surreal

Thursday, 22 July 2010

Starcraft 2 processing

Only took 12 years!


Pair programming is a bit of a marmite concept the development community - you either love it or hate it. Some developers swear by it while others can not believe it’s practiced. I’ve worked under both extremes and right now I do a little of both so I thought I’d share my findings.

Pros

Pear Programming

You always have two people who know the inner working of a feature. So if one is not around or leaves then the knowledge is retained.

New team members can be more quickly integrated as they can immediately work on new features with more experienced developers. Knowledge spreads fast.

Want to introduce a new language or technology to the team? There is no better to get the ball rolling than to implement a new feature as a pair using it to get the rest of the team onboard.

Having a couple of pairs programming and one individual who deals with incoming internal and external information/development requests can effectively eliminate all interruptions. It leaves the pair to continue being productive and alleviates the problem of multiple people chipping in on an issue and disrupting the whole team.

Cons

The simple fact is not everyone gets along. Be it personality or programming style - working on something and having a lot of disagreements is not much fun.

You need to be especially careful when hiring new people. It’s very hard to gage how someone will fare day to day in an interview and even harder to gage how they well they work with others. Hiring slightly the wrong person can ruin a team’s flow.

Sometimes we all need a little space and a little room to breath for whatever reason. It’s hard to get any if you have to pair all day everyday.

Sharing computers and desks is awful. What if everyone needs to use the computer at lunch time and there are not enough to go around?1 What if you have carefully configured some apps on one machine but someone else is using it today?

Some people are not as hygienic as others and you will be using the same keyboard and mouse - be prepared to share coughs and colds. Some people are tidier than others, leaving food and other things on the desk is no problem if it’s your desk but can be quite annoying for others.

It’s much slower. Talking through approaches and trying to agree on an implementation takes up a fair amount of time. Sometimes you just want to knuckle down get something done - not gonna happen. Obviously the two people could be programming in parallel on different problems.

Design by committee is known to be a bad practice and yet pairing is usually done on front end (user facing) interfaces too. This leads to messy and overcomplicated screens that should be clear and well thought out.

The Verdict

I’m going to cop out at this point and say it depends on personal preference. It’s important to stress that which ever system you choose - stick to your process and go through regular reviews with the team to iron out any kinks.


  1. Of course the best way to solve this is for each developer to have a personal laptop. This can be off to the side for looking up documentation and personal use while the main computer remains in the centre for programming.


I really encourage you to go buy Invincible Iron Man Annual #1 via the Marvel Comics iOS app this week. It has been released on the same day as the print version and is really quite good. If we can tell publishers how we wish to consume their content with our wallets they will respond.

Invincible Iron Man Annual #1


Compass is a framework for creating CSS. You write stylesheets in SASS and they are compiled to CSS. In my view it is the best tool to come along in front end web development in a long time. This is why you should start using it right now:

Your Stylesheets Will More Closely Resemble Your Markup

SASS is whitespace aware so it forces you to think hierarchically. HTML is a hierarchy of nodes so why shouldn’t your stylesheets be scoped in a similar way. This makes stylesheets more closely resemble markup and reduces common problems of style overlapping and elements taking on styles unexpectedly.

Your Stylesheets Will Be Smaller

Working on a complex design with many pages can lead to fairly colossal CSS bloat. With reusable style blocks (mixins), variables, basic functions and inheritance you cut this down significantly. I am currently working on a project with 182 SASS properties defined. After compilation this gives 795 CSS properties. I’m so glad I didn’t have to type out all that CSS.

CSS Framework Support

Compass has built in support for Blueprint, YUI, 360 Grid, Susy and others through plugins. They provide tried and tested layouts and styles that have been tested cross browser. Compass defaults to Blueprint and I highly recommend you use it. No more floating and guessing widths - just set your column size and it works.

Fantastic Plugins, Utilities and Mixins

I had a problem with CSS ellipsis support under Firefox recently but Compass had me covered with a plugin. I just did a compass install compass/ellipsis and gave the broken link a class of ellipsis. Done. No hacking, no worrying. There are tons of helpers like this that cover everything from link colouring to border radius.

Keep Your CSS Modern

If I do +border-radius in the latest version of Compass it applies the necessary properties to get rounded corners working on webkit, mozilla, opera and IE (when support comes). In the future as new versions of Compass are released to support new browsers the CSS properties behind might change but I don’t need to know about it, I just need to call it and it works everywhere.

You Don’t Have To Write SASS

I think SASS is brilliant but many people don’t have the time to learn it or just dislike it. Compass 0.10 introduces support for SCSS which is a superset of CSS. If you know CSS you can immediately write Compass compatible style sheets.

It Will Run Anywhere

Although it’s a Ruby project I have used it with Java in production. It’s a command line tool so you can either leave it watching your style directory and compiling automatically or just hook it into your normal build process by calling the compile command. Of course it work best in Rails but there is no excuse for not using it on other projects.

Give it a try today! Compass even includes convertors to get your old styles ported over to SASS or SCSS so there’s no excuse.


Jobs lays it out,

Our motivation is simple – we want to provide the most advanced and innovative platform to our developers, and we want them to stand directly on the shoulders of this platform and create the best apps the world has ever seen. We want to continually enhance the platform so developers can create even more amazing, powerful, fun and useful applications. Everyone wins – we sell more devices because we have the best apps, developers reach a wider and wider audience and customer base, and users are continually delighted by the best and broadest selection of apps on any platform.

If you want flash don’t bother with iPhone OS devices. If you do want flash my question to you would be why? Key sites are already compatible or have apps and games/UI won’t work correctly due to the touch interface.

I’m glad Apple are pushing this hard against Adobe. Someone needed to and Apple are in a position where they can. I also hope Adobe come out with a top notch HTML5 package targeted at designers, something that can produce content that works on any platform without the need for bloated plugins.


Comics are incredibly hard for new readers to get in to. I’m not talking about the convoluted back stories or the decades of conflicting continuity, I’m simply talking about how difficult it is for normal customers to buy books on a regular basis. As an experienced reader and customer of big and small publishers I still find it a chore to get to the good stuff, it’s no wonder new readers are being put off. So what’s going wrong with DC, Marvel, Image and the others?

Finding a Supplier

So you want to read comics regularly? Single issues are released on varying schedules (weekly, monthly, bi-monthly, at random, etc) so you will either need to have a shop not to far away or find a good online subscription service. In the UK for most people both are hard to come by, you are very privileged if you live near a good shop and it’s even rarer to find a reliable online service which isn’t too pricey. Most regular readers “know a guy” who will “sort them out” and provide discounts. Yes it’s like drug dealing and yes it’s incredibly hard to find these people.

What to Buy

So by some stroke of luck you can either get to a shop or “know a guy” - what should you be buying? Well you could peruse the bible of comics - Previews magazine. Get your magnifying glass out and look over all the titles coming out and make a note of the interesting ones. Lets say you enjoy some good old fashioned Marvel superhero team ups, which ones do you choose? There’s Avengers, New Avengers, Secret Avengers, Dark Avengers, Mighty Avengers, Young Avengers, erm ok that’s just confusing. Don’t expect DC to be any better.

These lists are so daunting that only most clued up and hardcore readers stand a chance of getting anything out them. It is just a glorified stock listing. The fact that the publishers produce so many variations and seemingly endless spin offs doesn’t help.

Delays

So you have found a dealer that can send you Secret Dark Avengers on release. When can you expect delivery? The only way you can be sure is to check the next week’s shipping list to see if your chosen title is on there. Also don’t be surprised if the writer decides to have an extended break in the middle of a story arc or issues just stop coming out for no reason. And don’t be surprised if the book is so delayed that it makes no sense in context of other books the publisher puts out.

The Solution - Digital Comics

Over the years publishers have constructed a massive wall between them and potential customers. The only thing around right now that has the power to bring publishers and customers back together is digital comics. The iPad and to a lesser extent the iPhone have opened up the market to a whole load of new customers who were previously unable or unwilling to jump over all the hurdles to purchase comics. Now we have large, colour, touch screen devices which make reading digital comics a joy. Thousands of comics can be stored on a device. And millions could be a short download away. There is no excuse.

Marvel has come out with an app for iPad and iPhone and signed distribution deals with other apps but so far they are only selling old comics. DC has done nothing. Image have to some extent seen their titles released but being creator owned means they need to strike up individual deals with apps.

What we need to see is not just a selection of older titles but a commitment to release digital comics on the same day as their print counterparts. This will expand the audience and actually give people the ability to follow their favourite books with relative ease. So far Marvel and DC are content to sit around and do nothing while their readership dwindles. Forget your old business models and nostalgia for print - it’s time to modernise and reconnect with your audience.


Here I was about to rip into Cory Doctorow for his recent piece on BoingBoing about the iPad but it turns out everyone else has done it for me. Gruber totally gets it,

40 years ago you could open the hood of your car and see and touch just about every component in there. And you had to, because many of those components required frequent maintenance. To properly own a car required, to some degree, that you understood how a car worked. Today, you open the hood of your car and you see a big sealed block and a basin for the windshield washer fluid. You can buy a new car, drive it for years, and never once open the hood yourself.

That’s the iPad.

As does Joel Johnson,

I’m glad the Apple II+ came with schematics for the circuit boards. I’m glad it encouraged a generation of kids to tinker and explore. I’m also glad that I don’t live in the fucking ’70s and have to type in programs from a magazine anymore.

Doctorow, who I respect for all his work in online freedom, comes off looking out of touch on the iPad. Apple’s platforms are still inspiring people to create great software. iPhone OS may be locked down in certain areas but we all benefit from the stability and broad appeal this provides.


I almost bought the new 27” iMac when they were announced in October last year. Finally Apple had released the computer I was waiting for and addressed all the key issues that had prevented me from purchasing an iMac before, namely

  • Quad core modern CPU
  • Video input from an external source
  • LED backlighting
  • Larger screen

I even went so far as to ordering the super high end Core i7 version but wound up cancelling due to my finances that month. Since then I’ve been so busy with work and other projects that I never got round to ordering again.

Boom Goes the PC

A few nights ago my main PC that I use for gaming (and as a backup when we need more than one computer) stopped working. I had a poke around but couldn’t see anything wrong. I just don’t have parts anymore to go through replacing each component to find the problem.

Now my time is freeing up slightly and I’m ready to play a few more PC games and I have no computer to play them on.

The Waiting Game

So I need to get an iMac but its got to that point where I’ve waited too long. It’s a uniquely Apple problem that I can’t justify the purchase even though the system has only been on the market for 4 months. The best time to buy their products is as soon as they come out so they retain value and you ensure you always have the latest model.

I’m fully aware that the previous update was a major overhaul and as such the next update will be relatively minor but I still think it’s worth waiting a couple of months if they are going to bump up the CPU or graphics card.

MacRumor’s buyers guide suggests updates usually happen every 221 days. That means updates could happen around the 29th May. It’s awful having to wait that long but that’s the price you pay for a good computer.


With the announcement that Valve is bringing Steam to MacOS it seems like a good chance to see how we got here and look at the importance of what is to come. When you take the average Windows PC and the average MacOS computer, all differences aside on a software level, they should be able to play the same games. The reason why Windows pulled ahead (or away) from other computer platforms in gaming is because of Microsoft’s introduction of DirectX with Windows 95.

DirectX Killed The Competition

By implementing their own proprietary layer in between the graphics hardware and game software, Microsoft were able to effectively stamp out cross platform development. OpenGL had been the standard way to program to 3D graphics chips since the 3DFX days and was an open source, cross platform standard - allowing developers to compile for any platform that the compiler would run on.

Microsoft were able to offer more advanced features and become intertwined with the graphics card manufacturers to such an extent that they now rely on each other very heavily. New graphics hardware generations are now released along side new DirectX software. The release of the Xbox in 2001 further solidified DirectX now that it could be used in the console space (albeit only on the Xbox).

During this time OpenGL, while making advances, was never able to catchup to DirectX and win over game developers. There were a few exceptions such as the more traditional PC developers id and Epic who actually released Linux versions of the Quake and Unreal series respectively.

Valve’s Engineering Culture

In the last few years Microsoft’s stock among enthusiasts has taken a nose dive and they have turned to Apple. It’s no secret in the development and tech community that Macs are the computers of choice. We all enjoy using them so much that we knowingly accept it won’t be possible to play the latest games under MacOS. The key developers and engineers at Valve will be no exception to this rule and it’s why I feel they were able to forge ahead with this new strategy. They want to be able to play their games on the best hardware and software on the market.

I also believe Valve’s strategy moving forward is to own as much of their stack as possible. This would include untethering Source and Steam from Windows and making it truly cross platform. Steam has seen such rapid growth in its users and platform offerings that to be reliant on Microsoft, who have been making their own plays in the digital games market, could be risky in the future. By making their store and primary engine cross platform they are guaranteeing their future.

Growing Mac Market Share

Valve aren’t ignoring the market share either. With strong growth among normal consumers in addition to enthusiasts and signs that Mac owners are more inclined to pay for software it is a market they can no longer ignore. Apple also have the mobile games market in the palm of their hands right now and although they control the storefront on the iPhone OS lets not forget that OpenGL games run on these devices too.

A Bright Future

I am ecstatic about this announcement, I always believed Valve would take the lead in this and other studios are bound to follow. It makes sense for a business side and an engineering side and guarantees a bright future for Mac gaming.