\n
— another line of code

CSS3 brings Christmas cheer

I suddenly realised today that I had never played around with some of the more exciting CSS3 features: masks, keyframe animation, and transformations.

So in the spirit of the season, I spent 15 minutes whipping together a quick demo. This demo is entirely built with HTML and CSS, no javascript required. You’ll have to view it with Safari 4 or Chrome to see the effect though: Let it snow!

1 month ago on December 21st, 2009 at 6:40 pm | Permalink

Half-Life 2 is a beautiful game

Petrol pumps
Photo by CitrusFreak


City
Photo by banapaulo


Light


Pigeon
Photo by CitrusFreak


Fisherman


Building
Photo by CitrusFreak


Metrocops
Photo by CitrusFreak


City roofs
Photo by Fantt


Train station


Couple
Photo by Dabs84


Mine
Photo by thmx


Chapel


Chapel interior


Hallway
Photo by CitrusFreak


Barney
Photo by Dabs84
2 months ago on November 17th, 2009 at 11:21 pm | Permalink
App idea: This app will allow you to download musical scores, will display them formatted for the iphone screen size. You can use it to practice music: it will use the device’s microphone to monitor what you’re playing, and automatically scroll as you play the music. Tapping the metronome icon will play metronome ticks through the device’s speaker.

I’ve not done any research on this idea at all, and won’t be pursuing it. But sharing ideas is a great way to get inspiration, so I thought I’d throw this out there. What are some app ideas you’ve had?

App idea: This app will allow you to download musical scores, will display them formatted for the iphone screen size. You can use it to practice music: it will use the device’s microphone to monitor what you’re playing, and automatically scroll as you play the music. Tapping the metronome icon will play metronome ticks through the device’s speaker.

I’ve not done any research on this idea at all, and won’t be pursuing it. But sharing ideas is a great way to get inspiration, so I thought I’d throw this out there. What are some app ideas you’ve had?

3 months ago on October 23rd, 2009 at 9:53 am | Permalink

Unfit for purpose—followup

Just a few notes to follow up to my previous post about Apress PDF troubles:

After my first tweet about the problem, Apress got back to me very quickly suggesting the Aji Reader app that can process password-protected PDFs. And even followed up later, letting me know that Aji Reader prompting me for the password multiple times was a known bug. Unfortunately, thanks to the lack of Wifi on the train, and the extremely patchy mobile network access, I didn’t see Apress’s original tweet until after I had blogged about the problem. So I want to thank Apress’s customer support for being so active in helping me with my problem.

It still makes no sense to have the password on the PDF. The fact that I can’t re-save the password even when knowing it brings this into the realm of DRM, something I feel quite strongly about. I have bought PDFs from the Pragmatic Programmers before, who use no passwords or saving/printing restrictions, but do put the purchaser’s name and email address in the footer of every page. This is still very much preferable to Apress’s current solution. Better yet, the Pragmatic Programmers offer iPhone-optimised versions of many of their books.

My biggest complaint about the whole situation is that Apress make no mention of the DRM on their PDF on the catalogue pages or the checkout page—but only notifies you after you’ve paid for it. I think they should have a more obvious notice about it. I have just now found their “eBookshop FAQ” page, which states:

We rely on PDF’s password encryption to protect our eBooks from digital piracy. Until a better approach comes up, the eBook will require a password to open.

Well, Apress, there is a better approach: see the second paragraph above.

So far I’ve been unable to remove the password protection. Several people suggested opening it in Preview and using the “Print->Save as PDF” option (thanks, guys!), but that no longer works in Snow Leopard. The other suggested solution, the plain old “File->Save As” just produced another password-protected copy. At this point, I ran out of time, and had to leave for the train station. I tried again after returning back home last night with a third-party app, but it refused to run under Snow Leopard either. I’ve still got a Mac Mini running Tiger or Leopard, so I’ll try with Preview on that.

Finally, in my last post, I said “I’m not going to buy another PDF from Apress unless they start selling unprotected PDFs”. That’s a little ambiguous about my intention: I’m not calling for a boycott, but rather don’t feel it worthwhile spending money on inconvenient ebooks, since convenience is the primary reason for ebooks in the first place!

4 months ago on September 14th, 2009 at 8:28 pm | Permalink

Unfit for purpose

I had another run-in with the paranoid attitude of publishers today. I decided to buy the PDF version of Apress’s “iPhone Games Projects”, which—despite the clumsy title—looked like it might be handy. I’d flipped through a friend’s hardcopy edition a bit before: each chapter is by a different author, and on a different topic: networking, OpenGL, cross-platform game coding, and more.

I’m away for the weekend, and will have my iPhone, but not my laptop, so I was hoping to read some of the book on the phone over the weekend.

However, the PDF was password protected, so that you can’t read it without the password; which was not made clear during the purchase process until after I’d paid. This effectively renders it useless to me, since my iPhone won’t display password-protected PDFs. Since the book does not contain any state secrets that I’m aware of, the only reason to have the password is to make the PDF harder to share online, at the expense of (at best) inconveniencing the purchaser.

When I get back home, I’m sure I’ll be able to find an app to strip the password protection away; but until then, I’m left once again with a product that doesn’t work as advertised, due entirely to the publisher’s paranoid and vain attempts to stop the illicit spread of the PDF. And the irony is, as always, that I could have downloaded the PDF illicitly, and got a more usable product at no cost.

So I’m not going to buy another PDF from Apress unless they start selling unprotected PDFs. I might go look at the Pragmatic Programmer’s catalog now, since I’ve heard they sell real, usable PDFs.

5 months ago on September 11th, 2009 at 6:06 pm | Permalink

How to sell to a pirate

Paul Battley, to the media industries:

  • There is no point in putting restrictions on the sale of the legal copy, because your free competitor has the same product.
  • When you region-code the product, you prevent me from buying it.
  • When you don’t sell the product in my territory, you prevent me from buying it.
  • When you put DRM on the product, you prevent me from using it on the device of my choice. I don’t want to be locked into buying Apple products forever, for example. And that prevents me from buying it.
  • There’s no point in putting DRM or other restrictions on the product, because it’s already available. Give me commonly-accepted formats in a choice of bitrates. What’s the worst that can happen? I upload it to Usenet? It’s already there!

He also makes the point that:

Even though it’s free, pirating stuff is still a bit of a hassle. You [the media industry] could definitely beat them [the pirates] on convenience and speed of release.

Although you know what? The media industry had better get its act together quickly: the options for piracy are only getting simpler and easier.

5 months ago on September 8th, 2009 at 9:40 pm | Permalink

Ramp Champ Revamp?

After noticing quite a few people on Twitter talking about Ramp Champ, I decided to give it a go. The artists from The Iconfactory have done an amazing job on the graphics for this little game.

The first time you start the game, and tap on a ramp to begin playing, it opens with a brief tutorial made of of five short messages:

Flick up on the ramp to roll the ball. You get 9 balls for each round. Your score! 500 pts = 1 Ticket. Ramp goals are here. Win trophies and bonus tickets! Done with this ramp? Turn in your tickets for fabulous prizes! [Play again button] [Done button]

This final message thoroughly confused me: the game was asking me if I was done and would like to turn in my tickets—but I hadn’t yet begun playing, and I hadn’t got any tickets yet!

With only two buttons to choose from, I thought that “Done” would take me back to the menu; so, thinking that I had run into an odd bug where the game was wrongly showing the end-of-level menu, I chose “Play Again”, thinking that would allow me to start playing the game.

Of course, it didn’t: it replayed the tutorial. Suddenly the final tutorial message made sense: it was showing me how to get back to the main menu so I’d know when I was done with the ramp; and the buttons meant “Play the tutorial again”, and “Done with the tutorial, let me play the game!”.

How could this confusion have been avoided? Perhaps if the screen had been labelled like this:

When you’re done,
turn in your tickets
for fabulous prizes!

[Show me again]
[Play the game]

However, now I noticed a second, smaller problem with the tutorial: since I had already seen it, and had unintentionally asked to show it again, I did not need to read the messages again. But I couldn’t skip them: it advanced through the tutorial in its own good time, and I tapped on each screen to no avail. First confusion, now frustration, but finally it was over, and I tapped Done to begin playing.

Here a third problem arose. I have an original iPhone, and although it’s not the snappiest beast, it’s capable of playing quite complex games. In ramp Champ it was almost fast enough, almost. The framerate was just the slightest bit erratic. Worse: this affected the controls, and flicking the ball felt unresponsive and hard to control. Just to make sure it wasn’t my lack of skill making it hard for me, I also installed the game on my second-generation iPod Touch, which is noticeably faster than the phone: and here it was fine: I could perhaps aim no better, but now flicks would give an immediate, and consistent response. I was quite surprised that it had such a performance issue, since there are barely more than a dozen elements moving on the screen. I guess there’s room for some more optimisation here.

The game itself is pleasant: collect tickets by knocking down the various targets, then collect your tickets and trade them in for a variety of beautifully-rendered icons of prizes. But after having played around with it for a while, I don’t think it’s quite my thing.

5 months ago on September 5th, 2009 at 2:04 pm | Permalink