Hello World!
I'm a Developer at Master of Malt, a University of Brighton graduate, a 1st Kyu in Kyokushinkai Karate, a video gamer and technology enthusiast. Read more about me over here.
CloudANDTidus
Search
Games


Entries in rant (5)

Sunday
Feb122012

Drink cactus juice! It'll quench ya! Nothing's quenchier! It's the quenchiest!

WOA!!!!!!So Microsoft announced on Thursday, through a monstrous eight thousand word blog post I didn’t read, more details about Windows 8. Specifically they talked about Windows on ARM, or WOA for short, because everyone loves an acronym. New acronyms are like a little piece of Christmas in February, which is fitting because there is a metric fuckton of snow outside right now

One of the curious revelations in this blog post was the news that Windows 8 on ARM would feature the traditional desktop (it had long been speculated that it wouldn’t), but that the desktop would only be available to use Office 15 (slightly modified for touch), Internet Explorer 10 and the file explorer. No other programs will be allowed to use the desktop on ARM. It makes sense from Microsoft’s prospective; they want to put Windows on ARM devices, but they also want everyone to use the cross-platform WinRT (Metro styled apps) to develop for it.

But from a user’s prospective this will be a terrible experience. If you give a non-technical user a Windows 8 desktop PC and a Windows 8 ARM tablet, just try explaining to them why seemingly identical operating systems can’t both run Photoshop. In fact, explain to them why they can’t do anything in the desktop. Want to zip some files to send in an email? Don’t try installing WinZip. Want to listen to music in the media player of your choice? Sorry about that.

Which begs the question; why is the desktop even there when giving users an environment they recognise just gives them false expectations of the product? The answer is obvious, this is a stop gap to allow you to run traditional Office apps and to access Windows features that haven’t been ported to Metro, such as advance settings panels, the file explorer, the registry, etc, etc. The desktop is hanging of Windows 8 on ARM like a cancerous growth because Microsoft is afraid (or doesn’t have time) to go the whole way and ditch the classic desktop.

Microsoft has been touting “no compromises” as the selling point of Windows 8, but so far it’s sounding like nothing but compromises. I understand they wanted to build a single operating system for both desktop and mobile, but if the classic desktop on mobile devices is almost useless and a terrible user experience, and desktop users don’t want the metro start screen (the experience of that is still a question), you begin to wonder if they should be two distinct products.

Microsoft could easily present them as two separate products, one for desktop and one for mobile and have the underlying core OS be the same under the hood. In fact, isn’t that exactly what Mac OS X and iOS is? Both the improvements in the Windows 8 desktop and the Metro start screen for tablets look like they could be successful products, but I just don’t understand why Microsoft seems determined to make an inferior product by making them conjoined twins.

Tuesday
Jun282011

Crushing's too good for him. First he'll spend a year in the incinerator. Year two: Cryogenic refrigeration wing. Then TEN years in the chamber I built where all the robots scream at you. THEN I'll kill him.

As you may have heard, the US Supreme Court struck down a proposed California law today that would have made it illegal to sell violent video games to minors. You can read a much deep analysis of the decision over here, but it basically boils down to the government not being allowed to regulate violence in media as it is protected by the first amendment, aka free speech. If this law had been about sexual video games it would have likely passed, as the government does restrict the sale of porn to young minds. 

The gaming press and enthusiasts at large are heralding this as a great victory; David defeating Goliath and little ol' video games getting their due. And to be clear, as a gamer I am all for this. As part of the ruling the court noted that there's never been a conclusive link between exposure to violet video games and harmful effects on children, which is great as I think the whole notion of violent games creating violent children is nonsense. My issue, conflicted as it may be, with the parading of this victory is that this may not have been a bad thing.

Don't get me wrong, I am inherently against what this law was proposing. This law wanted to single out violent video games as something that should be restricted from minors, while excluding violent movies, TV shows and music. Now that we all agree that violent video games don't create inhuman monsters that want to eat our brains (the zombie apocalypse will do that), all these forms of media should be treated equally and thus if you want to regulate one you should regulate them all.

Which as it happens is what we do here in the United Kingdom, where apparently we don't have free speech according to todays ruling. In the UK we still have an advisor system that is non-legally binding and rates games similar to the US, however content rated for 15 or 18 year olds is passed onto the same folk who rate films and DVDs; the BBFC. Media rated by the BBFC may not be sold or rented (or watched in a cinema) to anyone younger than the age rating and this restriction is enforced by making it illegal to do so. With the exception of restricting it only to video games, this is the exact thing that was struck down by the US court. 

While I haven't had first hand experience ever being denied the purchase of a game (as a kid it was almost always my parents who purchased my games), I did witness a school friend on his fifteenth birthday being denied a 15 rated game. The store even went to the lengths of phoning his mother to confirm his age before they would sell him some crappy Lord of the Rings title. And what has the enforcement of this law done to the games industry in the UK? Has there been child riots perhaps, walkouts in class rooms or maybe GTA didn't sell as well here because kids can't play it? Um, no. 

All the restriction have done is put more pressure on parents to make decisions about how they bring up their kids. The biggest argument I've seen against this law has been the idea that its the parents job to decide what their kids should be experiencing at what age, and they are totally right, however in this day and age sometimes that can be difficult. If a kid has some money whose to says they wont try to purchase an extremely violent game behind their parents back? Of course there's the other side of the argument which says parents are stupid and will give their kids GTA even when warned by the store employees that its not suitable for kids, but then it's their decision, not the kids. 

Parents can also give their kids knives...

While this is a great victory for the video game industry as a whole, and kicking the notion that violent video games creates violent kids down a deep hole is good, I feel the industry (and gamers) jumped on the concept of regulation as an evil thing without really considering what it actually is and what its effects on the average gamer will be.  Which if your anything like me, will be none. Leland Yee, the guy pushing this bill, said today that "the U.S. Supreme Court has decided it's going to side with corporate America and Wal-Mart against our children," and while that comes of as sounding like political bullshit, he might not be far off. The people defending the gamers in this battle were the game publishers, the people who want to sell GTA to twelve year olds. Of course they were against this idea.

Gamers just sided with them without really considering the ramifications. And because they like to blow shit up.

Sunday
Jan162011

No silicon heaven? Preposterous! Where would all the calculators go?

Stage 1 complete!Gutentag world!

Another week, another single post. I know I promised daily at the start of this, but this is certainly more blogging than I've achieved in quite a while. With any luck I will be able to at least increase the number of posts to a few a week. I think that's a reasonable balance.

Project wise; I spoke to my project supervisor on Monday and discussed what progress I had made over the Christmas break and where I planned to go from here. Since then I've finished the iPhone Programming book I was reading, and decided how I plan to store data in iWhisky. The choice basically comes down to directly using SQLite or using an Object-C library that sits on top of SQLite called Core Data. Core Data is pretty cool in that it works in a (kind of) similar fashion to Microsoft's entity framework that we've studied in Advanced Internet Applications Development. Instead of using raw C libraries and writing SQL yourself in SQLite, Core Data speaks to the SQLite database for you, and returns objects that you can work on instead of records. The book warns that much of the power of SQL is inaccessible when using Core Data, but as I plan to only have a very simple database inside the app I don't think this will be an issue.

Going forward from there, I've officially started development on my application! I've broken down the start of my development into three components to help me find a place to start.
Stage 1) Develop an app that can communicate with a web service and pull down a feed of products.
Stage 2) Extend the app so that the web service is a component called the first time the app is used, and store the data feed in the local database using Core Data.
Stage 3) Use the data stored in the app to construct the navigation and views.

Once these three stages are complete I should have the core structure of the app complete. The app will be able to communicate with the server, get and store product data, and allow you to navigate to products. From there it will be about adding features, both front end (adding products to lists, adding tasting notes, buying a product) and back end (syncing data with the mothership).

This week I already completed that first stage. I created a very simple RESTful web service in .NET and C# that returns just a Product ID and Name for just over 2000 products in my clients test database. I then developed a very simple app that calls that web service, parses the XML returned and displays the results in a table view (ironically table views on the iPhone only have a single column, so they are in fact lists…).

In other news, computers suck. In the past week I've had both my machines fail on me. The MacMini I mentioned last week that had it's hard drive die is at Apple being repaired. Meanwhile, my (three year old in September) white MacBook's back light is on the fritz. Occasionally I can get the back light to stay on on the lowest brightness, but for the most part it switches itself off a couple seconds after coming on. I'm going to have to take a trip to the nearest Apple Store (Brightion or Lakeside…) to get it fixed as I can't really be without it like I can with the Mini.

In other, other news, I completed the second Assassin's Creed over the weekend. The sequel is a great improvement over the original, which was incredibly repetitive after the first few assassinations. In an insane plan to play all three back to back to back I've immediately moved on to Brotherhood. I kinda wish I didn't ignore this series for so long. Which reminds me, I still need to write a post about the games I played last year. I should get on that…

Sunday
Jan092011

Time is an illusion. Lunchtime doubly so

Don't panic.Salut world!

Wow, my last post was on Monday, sorry about that. This Tuesday was the first day back at Uni and Karate, and Wednesday was the first day back at work for the new year. When I wasn't doing one of those three things I was busy rushing to get the documentation for my Flash assignment done before the deadline on Thursday. The week in general has been a pretty draining experience as I tell my body I can't follow the daily cycle I had over the Christmas break.

While I've not produced a lot more planning documentation for my project this week, I have made some great progress. While at work on Wednesday I had a meeting with my client where we discussed how the app should work and went over my interface designs. The feedback to the designs was very positive and he signed off on them. There were only a couple of suggestions for changes, which were:

  • Make the app UK only initially (and for the duration of my project) to remove shipping complexity.
  • Change the way accessories work to a screen where you add accessories to a product (rather than select accessories in a drill down menu for each product).
  • I hadn't planned how to handle user login. For now we will keep this the same as how the current website works and have the user create a login after submitting an order. This also removes some complexity.

The rest of my time has been spent filling in the last few holes in my Object-C / iPhone programming knowledge. There is no doubt much I still need to learn and many things I will discover as I develop the app, but I'm trying to hit the key things I know I will need before development begins.

Two of the things I've been reading about that are crucial to the app are web services and data storage. Many of the apps I've looked at that contain vast information about whisky have no backend support. When you download the app its a massive 400-500MB file full of data and images, and if they update it to add new items you have to re-download the whole thing.

One of the neat things about the app I plan to develop is it will have the full support of the current websites backbone, including the massive database of products. I'm going to use a web service at the initial launch of the app to download the simplest version of the product range (name, price, ABV and image url most likely) for the list views and then request more information on a particular product when the user selects it. On future loads of the app I can then do a similar call to sync any changes, such as a product being removed.

The good news is it seems very easy to call and parse data in Object-C, so long as I keep to single level XML. For some reason there is no tree-based XML parser in the iPhone SDK, and I don't intend to spend my time implementing my own. Following the book I've produced a simple app that pulls the top ten songs in iTunes from a RSS feed. My next step here will be to put up my own web service and try retrieving data from it. I need to decide if I should use a SOAP or RESTful service, as the SDK supports both.

The other thing I've been reading about today is data storage. The iPhone actually has four options here:

Technique Pros Cons
Archiving Allows ordered relationships (arrays, not sets). Easy to deal with versioning. Reads all the objects in (no faulting). No incremental updates.
Web Service Makes it easy to share data to other devices and applications. Requires a server and a connection to the internet.
SQLite Can fetch lazily. Incremental updates. Full power of SQL. Requires more code than archiving or Core Data. No real ordered relationships.
Core Data Lazy fetches by default. Incremental updates. Versioning is awkward (but can certainly be done using a NSModelMapping). No real ordered relationships. Much of the power of SQL is inaccessible.

Credit: iPhone Programming: The Big Nerd Ranch Guide By Joe Conway & Aaron Hillegass


Obviously I'm going to use a web service for syncing data with the mother ship, but I don't plan to rely on it the whole time. Archiving involves saving out my objects to a file in the app's sandbox. As it says above, this doesn't allow you to update individual records and is certainly not suitable for a database with over 4000+ products. So my choice really comes down to SQLite and Core Data. So far I've covered SQLite which seems pretty great, but I will withhold judgement until I have seen how restrictive Core Data really is.

So thats a project update. In other news I took my first run of the year with a couple guys from karate. I intended to make this a weekly thing near the start of last year but didn't have much luck at doing it more than once a month. Hopefully this year I can really keep it up. This, along with karate three times a week, should hopefully get me a bit fitter. I was particularly happy with this run as it's the first 3+ miles run I've done in a long time without stopping. Lets hope this keeps up.

Oh, and my MacMini died Friday…

It had been booting slower and slower (12+ minutes) and became quite crashy over the last week or so. I even got my first kernel panic. I tried all the usual things like fixing permissions, checking the disk, resetting PRAM and initially they seemed to help, but it eventually got too much and I decided to try a re-instal. That got very close to finishing before displaying a massive yellow warning triangle telling me the instal had failed and asked to restart the machine. When it did the instal disk could no longer see the hard drive, so I believe the technical description for where I am I completely fucked. Fortunately its under a year old and is covered by Apple, but for some reason their support line closes at 7:45 on a Friday and doesn't re-open till Monday.

So I got that going for me...

Thursday
Dec302010

Pearls of wisdom there from Mr fried egg, chili, chutney, sandwich face

It's all wrong!Yo world!

I made great progress with my flash game today. I might even call it finished, although I'm sure there is minor optimisation and clean up to be done at some point. I solved that silly focus issue, added a functioning difficulty setting, each with their own high score and added a "tummy gauge". 

The idea behind this is to add a little more strategy to the game. Each time food is consumed a section of the gauge is filled and it wont empty for two seconds. Eat enough food to fill the gauge before it has a chance to empty and the player is punished with a stomach ache that halves your speed until the bar depletes.

You can check out the finished product here.

On an unrelated subject, I ranted on the social medias yesterday about the 2011 calendar I got for Christmas. The calendar itself is great and does a fantastic job at doing calendar things like telling me what date it is, unfortunately it starts the week on a Sunday like some sort of nut job. I mean really, who seriously considers Sunday the start of the week? Even the religious folk will tell you that God worked for six days, and then rested on the seventh. The bible certainly doesn't say he started his week on the second day (probably slept in on the first), created the heavens and earth in six days, then rested on the start of the next week.

These things really get to me...