1. Hidden messages found in the Bible
2. SETI program is a smokescreen
3. Government in Wi-Fi safety cover up
4. Google Earth is subject to censorship
5. Government eavesdrops on email
6. Microsoft prolonged high-def format wars
7. No code unbreakable for the CIA
8. Google collects data on our surfing habits
9. US government set up Facebook spy network
10. Conficker was written by the Chinese government
I love iTunes and it’s the place where I buy most of my music and other material like stand-up comedy and audio-books. Prices have always been reasonable although, when exchange rates are taken into account, European customers pay more than U.S. customers. (Luckily, Apple does take exchange rates into account for software that is being sold on App Store. Hope they keep it that way!).
Yesterday I was browsing iTunes looking for Metallica’s first four albums. These are the albums Metallica made before they started recording shitty music. (You may disagree with me on this but that’s fine ’cause it’s ok to be wrong).
The first album I looked at, “Kill ‘em all“, was priced at 12,99EUR which is more than the standard 9,99EUR they usually charge for an album. Turns out they’ve added two live tracks to the 10 songs that were on the original album. This is what record companies used to do to entice people to buy re-releases of old CD’s. On iTunes, however, you can still buy only the 10 original songs, one at a time at 0,99EUR each. So, fine, what ever.
The second album I looked at, “Ride the Lightning“, was also priced at 12,99EUR, but this is an album that only has 8 songs on it. Again, they’ve padded the album with two live tracks. So, if you don’t give a damn about these, you can download the whole album for 7,92EUR. Sweet. Not so sweet for those who want the two live tracks. They have to buy the whole album and pay 5,07EUR for just those two songs.
The third album I looked at, “Master of Puppets“, is again priced at 12,99EUR and is again padded with two live tracks. But this time, you cannot buy all of the original songs without buying the whole album! The first song of the album “Battery” can only be bought if you buy the whole album.
So, does this mean we’re back to the days when record companies pulled all kinds of tricks to get us to buy whole albums while we were only interested in one or two of the songs? Let’s hope not. As far as I know, the bullshit pricing scheme of “Ride the Lightning” and “Master of Puppets” on iTunes is an exception. Let me know if I’m being naive.
I had been looking forward to Id software’s first true iPhone/iTouch game release so I downloaded Doom Resurrection (DR) the minute I read about its availability on Twitter. Here are my thoughts about the game.
DR is not a clone of the Doom games for desktop computers. Although some of the graphics and sounds were reused from the original Doom III, the game play is very different.
First person shooters normally allow a player to roam around freely, but that’s not how DR was designed. The player is led through the Doom universe following a scripted path (on a rail), while killing monsters and ducking (whether ducking is available depends on the type of the attack). This appears to be restrictive at first but I think it was a good design decision for the iPhone/iTouch. The game “Brothers in Arms” allows the player to move about more freely but I have found my fingers are often blocking my view of the screen. The downside to this is that you cannot take a step back when you’re being attacked by monsters. It’s kill or be killed and headshots are the most effective.
Aiming is done by tilting the device. It took me a while to get the hang of this but I got it eventually and now I quite like it. I think this will be copied by other FPS games for the iPhone/iTouch in the near future. The in-game manual says you should also be able to look around by tilting, but that doesn’t seem to work (never mind).
The player is always moving, turning and looking in the direction that was intended by the game designers. Firing is done by tapping the lower-right corner of the screen. There is a “Control Swap” option for players who want to fire using their left hand. You can also switch weapons, pauze the game or reload your weapon by tapping a particular region of the screen. Some of the monsters try to grab you. When they do, you have to shake them off, literally, by shaking the device.
Unlike other games that use the accelerometer to control on-screen action, DR can be played while sitting in any position you like. Make yourself comfortable and select “Calibrate” from the options menu. The software will then take into account the initial tilt of the device.
On your mission you are being escorted by a floating robot called “Sam”. The robot plays an important role in the game since it allows your character to talk to some scientist (scripted) who was left behind when the mission began. The conversations your character has with the scientist explain what has happened and it also tells you what you should be doing next.
The game can be run in two distinct modes. There’s Story mode and Free Play mode. With Story mode, each time you enter a new level, that level will unlock and become available in Free mode. There are 8 levels in total and it took me several hours to complete them all. There are a lot of checkpoints along the way, so you can make good progress throughout the game.
Graphics: 10/10 Sound: 10/10 Gameplay: 10/10 Overall: Excellent! One of the best games for the iPhone/iPod Touch. This is my favorite version of Doom, ever!
Price of the game: 7,99EUR in Europe, 10$ in the U.S.
If you’re anywhere in your thirties or forties, chances are you are one of the 30 million people who owned a Commodore 64 in the 80’s. And like so many of you, I still love the sounds, graphics and originality that went into so many, now famous, games of the time. The Commodore 64 was such a wonderful piece of a equipment that people are still writing software to emulate it today.
About one year ago, iPhone developer Manomio cautiously started development on a legally licenced C-64 emulator for the iPhone. But when they submitted the application to the App Store, about a week ago, they received the dreaded App Store rejection email.
Thank you for submitting C64 1.0 to the App Store. We’ve reviewed C64 1.0 and determined that we cannot post this version of your iPhone application to the App Store because it violates the iPhone SDK Agreement; “3.3.2 An Application may not itself install or launch other executable code by any means, including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise. No interpreted code may be downloaded and used in an Application except for code that is interpreted and run by Apple’s Published APIs and built-in interpreter(s).”
Reading the iPhone SDK agreement tells us the zealous people at Apple who evaluate App Store submissions were right in rejecting the emulator. However it appears that the App Store already contains several applications that do exactly the same thing as Manomio’s C-64 emulator, e.g. CHIP-8 emulators, programmable calculators, Frotz, and more. We can only assume these were approved on a monday morning while Apple staff was still recuperating from a long week-end of mowing the lawn.
Inconsistencies- and lack of transparancy in the App Store approval process continues to stir up controversy in the press and frustration with developers. Last year the App Store rejected an iPhone application developed by Juggleware called Freedom Time. The application gave a “precise (to the tenth of a second) countdown to the inauguration of President Obama and the end of the Bush administration”. It was rejected by the App Store on the grounds of being defamatory. But on the positive side (yes, there is room for irony in this blog post) an application that Apple did approve was called Baby Shaker. The application displayed an image of a crying infant. You had to shake the iPhone or iPod touch repeatedly in order to get the child to stop crying — literally shaking the baby to death.
Here’s Juggleware’s take on the matter:
If Apple makes itself the gatekeeper, it is actually causing itself the problems it’s trying to avoid. By rejecting an app that makes fun of Bush, but accepting one that lets you kill babies, it implies that it disapproves of one and approves of the other. If someone had made this application for Windows, Mac OS X, or any other desktop system, no one would accuse Microsoft, Apple or Linux for not building an OS that prevents Baby Shaker applications from being installed. Apple made both a whole lot more work and a whole lot more controversy for itself by insisting on manually gatekeeping for every single app that goes in the store.
It’s time Apple gets it’s act together so software companies can stop wasting time and money investing in iPhone applications that will never go on sale.
(For those of you who are unfamiliar with the Apple App Store: it’s the only store that is allowed to sell iPhone applications.)
The push towards cloud computing has been going on for many years and the rising popularity of web applications will probably speed up the process. So, in keeping with my recent posts on HTML 5 and Google Wave I thought it might be the right time to write a piece about cloud computing.
Cloud computing is a catchy name but it doesn’t exactly tell us what it’s about. The cloud, as it is used here, is a metaphor for the Internet and it is a fitting one ’cause it conveys well the idea of the Internet as an abstraction. Abstraction is a strategy for dealing with complexity and we can therefore ask the question: what’s the nature of the complexities cloud computing is trying to address? Cloud computing is all about efficiently managing server resources, scalability, flexibility and saving money.
Think about building and running your own data center. You know that’s hard. If only the resources you require were as ubiquitous as electricity. You probably don’t run a power plant in your back yard either. So, why can’t you just plug your PC into a network socket, connect to a server and consume whatever resources you need? You can; I was trying to be rhetorical.
With cloud computing, web applications and application data all live on a server somewhere inside the cloud. This shields you from challenging tasks like load balancing, server maintenance, backups, service availablitity, etc, but more importantly it saves you money. Cloud computing saves money because the resources of the data centers that run the services are shared among a large number of users and customers don’t have to buy the full capacity they might need at a peak time. You only pay for what you use so if your app turns out to be a dud, you won’t have to lose sleep over having spend a fortune on hardware, preparing for that massive surge of traffic directed at your website. On the other hand, should your application turn into the web’s next big thing, resources available to your application will be scaled as needed.
Who are the play-ahs who provide us with the resources that make cloud computing a reality? This may come as a surprise, but amazon.com (yes, the same online store where you buy all your stuff) is a major cloud computing provider. This actually makes sense. They already sell everything but Jeff Bezos’ used under pants and they were already running big datacenters, so why wouldn’t they lease a bit of that candy to the rest of us? Sweet! Amazon is competing for your business with companies like Google (App Engine), Microsoft (Azure Services Platform), Salesforce.com (force.com), Q-Layer (now owned by Sun), etc. (I will do a follow up to this post that looks into how various product offerings compare).
The Wikipedia page on cloud computing argues that peer-to-peer networks and distributed networks like SETI’s also fall under the cloud computing umbrella. I’m not sure if I agree but it reminds me of Humpty Dumpty: “When I use a word, it means just what I choose it to mean – neither more nor less”.
Thanks for visiting my blog. Have a great day – neither more nor less.
While the HTML 5 specifications are still just a draft proposal, it appears that most major browser vendors have already implemented at least a subset of the proposed features. HTML 5 significantly upgrades the web presentation specification and tries to reduce the usability gap that exists between web- and desktop apps. It also wants to provide the features that will allow web applications to work while being offline.
One consequence of HTML 5 is that it (further) reduces the importance of the operating system as a platform for application development. This is especially important given the growing number of mobile platforms. It also fits nicely into the much talked about concept of cloud computing. There is some talk that HTML 5 might eventually eliminate the need for proprietary browser plug-ins like Silverlight or Flash but this remains highly speculative. (HTML 5: Could it kill Flash and Silverlight?, Why HTML 5 is NOT a Flash killer).
One application that is being heralded as an HTML 5 killer app is Google Wave which I covered in a previous blog post (you can find it here). Another, very nicely done, HTML 5 app is Mozilla Labs Bespin which “proposes an open extensible web-based framework for code editing that aims to increase developer productivity, enable compelling user experiences, and promote the use of open standards.”
HTML 5 introduces new markup and scripting API’s. Some of the new markup replaces generic blocks which are commonly found on web pages (e.g. the footer and header tag can be used instead of a div), other markup provides new functionality (e.g. audio, video). The scripting API’s are used for things like timed media playback, managing offline storage or immediate mode 2D drawing. The features that have been getting most of the attention are listed below.
GeoLocation API: provides scripted access to geographical location information associated with the hosting device.
Web Workers API: allows Web application authors to spawn background workers running scripts in parallel to their main page.
Video element: allows the embedding of video without using a proprietary browser plugin.
Canvas element: allows for dynamic scriptable rendering of bitmap images.
Adoption of the HTML 5 standard by browser vendors is expected to continue with incremental steps. The main question however is whether Microsoft will keep up with the pack. Microsoft will not back the Canvas element which sits at the core of e.g. Bespin. It remains to be seen whether this decision will work to their advantage or quite the opposite. It will, in any case, force developers who want support for IE to come up with forked solutions or maybe ignore the Canvas element entirely.
Below is a selection of links to articles that talk in depth about HTML 5’s various new features.
Links:
- Google Bets Big on HTML 5. Click here.
- HTML 5 draft standard. Click here.
- 5 Amazing HTML5 Features to Look Forward to. Click here.
- HTML 5 Digs into the Specifics. Click here.
- A Preview of HTML 5. Click here.
Today, email is still the most popular way of communication on the Internet. Email has been around for nearly 40 years so a group of people at Google asked themselves the question what email would look like if it had been developed today. There answer is a new application and platform called Google Wave (GW) which was recently previewed at the Google I/O conference.
To understand where GW is coming from we need to take a look at Google gMail. Google’s email application introduced us to the idea of an email conversation. Emails sent and replies received are grouped together which makes it easy to follow the chronology of an email conversation.
GW expands on this idea of a conversation and calls it a Wave. Waves are objects, hosted on a server, that can be shared amongst two or more people. Unlike email, the contents of a Wave can be updated just like you can update a Wiki document. Replies (or subdiscussions) can happen inline. People can edit each other’s messages (with accountability) and playback support means you’re able to see the Wave as it originally was and then step through it, chronologically, one update at a time.
GW also supports instant messaging with a twist. You can (optionally) have people see what you’re typing as you’re typing it. This means you can be spending 100% of your time either reading or writing.
Google Wave is discussion and content collaboration in one tool. Combines e-mail, instant messaging, photo managing and social networking tools into a single technology.
GW can be integrated with existing communication systems (e.g. an issue tracker), embedded in web pages and it was designed as a platform, meaning, with extensibility in mind. It is an open-source project which has been in development for 2 years and is currently in private beta, scheduled for release later this year. It was developed with the Google Web Toolkit. It requires a browser that supports HTML 5 and some of its functionality also requires Google Gears (picture thumbnails).
Below is the YouTube video of the (1 hour and 20 minutes long) preview. Over at LifeHacker they have extracted eight clips that highlight the best parts of Google Wave (see Links section below).
Links:
- The Google Wave Twitter feed. Click here.
- LifeHacker: The Google Wave highlight reel. Click here.
- Request a Google Wave account. Click here.
- Top 5 Ways Google Wave Kills Email. Click here.
- O’Reilly Radar on Google Wave. Click here.
- GW: Why it’s so good and enterprise software is so bad. Click here.
Those of you who have read my About page probably know that I created this blog on Friday the 12th of December 2008. That’s more than six months ago so I thought I’d write a piece on my experiences so far and help along those of you who are thinking of starting a blog. I’ve divvied up the essence of blogging into some easy to follow steps. Read them and you’ll be on your way to writing your own blog in no time.
Step one of blogging is picking a blogging engine. Not a lot of thought went into my choice of picking WordPress. It simply was the first blogging engine that came to mind at the time. Looking back on that decision, I probably wouldn’t pick a blogging engine again without taking a look at others. But that’s in hindsight. When I started blogging I didn’t know what features I wanted. Now I do, and I haven’t been entirely happy with WordPress, but I guess it’ll do. One of the nicest features of WordPress is the Blog Stats which show how many people visit the blog and what pages they visit. The numbers on Blog Stats do not always add up but it gives me an idea of what posts are popular and which ones are not. There are posts on this blog which I though were awesome (Well done! Thanks!) but were completely ignored and didn’t receive a single view. Others which I wasn’t so happy about got a lot of views. To this date the blog received a total of 759 views with the majority of the attention going to my posts on ASP.NET MVC (Beta). Looking at my stats I derive that ASP.NET MVC is hot as hell! I have moved on to other things however so I don’t plan on blogging about it in the near future. Although, come to think of it, I may look into how ASP.NET MVC has come along and write about it.
Step two of blogging is figuring out who you’re writing for. English is not my native language but it is the language you should use if you are comfortable with it and want to attract a broad audience. My target audience is people of all sorts who are proud to call themselves geeks. If that’s your target audience, English will do just fine. On the other hand, if everyone thought just like me there wouldn’t be blogs in any language but English. You may be very successful writing in your own language and please, don’t let this post stop you from trying to do just that.
Step three of blogging is writing blog posts. This may surprise you but coming up with actual subjects to write about is part of why I feel blogging is hard. Not as hard as e.g. a mountainous stage in the Tour de France, but hard nonetheless. I’m not a writer. Plain and simple. But I’m learning what it’s like to be one. Sometimes writing is effortless and inspiration is plentiful. Other times I’m unable to put into words what it is I’m trying to convey. Comes with the territory, I guess. One of the challenges with blogging is trying to be original. There’s little point to writing if it doesn’t add anything to what is already out there. At least that’s how I feel about it. I think I edited and re-wrote my first blog post a hundred times. That blog post doesn’t look anything like what I first put online. Do I still do that? No, can’t be bothered. I do occasionally go back and correct a spelling mistake but that’s about it.
Step four of blogging: Money. Looking at Twitter, which I have now been using for about a week, money is on everybody’s mind. Would I like to make money off of this blog. Gladly! Have I been pursuing it? Not at all. Maybe this is just laziness, I don’t know. But I do know that if money is the only thing motivating you to write, you probably won’t enjoy it and it will show. To be honest, I don’t have a clue what it takes to be really succesful at blogging. No advise here. Actually, I challenge you to find advise on the web that’s a sure bet to success. It doesn’t exist! What I do know is this: never mind what your blog looks like. Content comes first, everything else second.
Step five of blogging: Motivation. Maybe this should have been step one, but in the long term motivation is what will drive your blog forward. It’s the determining factor to whether you will keep at it. I’ve already made it clear that I’m not motivated by money, but I may re-examine this just for the sheer heck of it. I love to explore new territory. That’s part of why I started blogging. The second part, for me, is exposure. This is the age of social media and people want to know, not just what you’re doing, but also what you’re thinking. Whether you actually tell them and how is entirely up to you. It’s a choice and you may want to opt out of this. That’s fine. Participation is entirely voluntary.
Finally: don’t be afraid to fail! It’s a mad world and you are a part of it, or you could be. Just do it!