Once a year, European countries participate in the world's biggest social experiment showing the "sheep effect" (how people like to follow other people). If you look at the stock market and see the price of a certain equity reach super-high values, you wouldn't possibly invest there anymore, right? But then, how does the price continue to rise? Because the majority of people will do the exact opposite - it grows so they buy it which makes it grow and who are they buying it from? Those who bought it a long time ago as it was the fraction of the price.
Same happens in the Eurovision Song Contest. When a song of a certain style wins in one year, we will see many other similar songs next year. Even though it's obvious that it's wrong, it still happens. Year after year after year. That said, I was very sceptical of this year's ESC as last year, a relatively "normal" dance song won the contest.
The prophecy has been fulfilled
...and I was right, unfortunately. Many of the songs this year were (as always) similar to the last year's winner which meant - they were just some "typical" dance songs, something I personally am not a fan of, but of course it must have been an awesome contest for the fans of dance music.
Anyway, we've seen an almost identical song to Loreen's the last year's winning "Euphoria" from Germany as Cascada sang "Glorius" which could almost be treated as a remix of "Euphoria". Others followed, too. Even the Romanian contratenor Cezar with "It's My Life" has managed to merge opera-like vocals with... dance music.
The Good, the Bad and the Ugly
Of course even though most sheep come up with a song resembling the last year's winner, there are always some "original ones" - some are original because they're just funny and crazy, some are original because they're simply beautiful. Let's start with the first category.
As I wrote in my review of the Eurovision Song Contest 2012 last year, the award for the most crazy (as in funny and ridiculous) song went clearly to the Russian "Babushkas" singing "Party For Everybody". So did we have something equally crazy this year? Not really, but there was a nice attempt from Greece.
This year, Europe's tax haven Greece has given us an input into the reasons of their financial crisis. The band called Koza Mostra feat. Agathon Iakovidis, which already prepares us for what's coming sang a song called "Alcohol Is Free". This explains a lot incl. what state must they have been when they wrote this song.
The other "weird" performance, but not even close to what would normally be considered as weird, was the Hungarian hipster (yes, it begged for an alliteration) - ByeAlex with the song "Kedvesem" which means... well... it must mean something in Hungarian, but the entire "piece" as a whole was just... interesting. Hence - I'm linking to his Eurovision performance, not the official clip.
For the crazy ones
Now it's time to dig up the diamonds. The compositions which only didn't win for one reason - they were too good for the average listener/viewer. Sometimes these are too complex pieces, sometimes they have a subtle melody that makes the song shine, but mostly - they're too much for this format and that's exactly what I'm looking for in this contest - "for the crazy ones".
This year there were 3 such songs. The first one was from The Netherlands. Anouk has blessed us with this piece yesterday evening. It's called "Birds" and could easily be part of a score of a movie.
The second one was the one that I thought would win. It's actually pretty "mainstream" so it could have the potential and in fact - it ended up on the 4th place, for a good reason. Here's Margaret Berger from Norway with "I Feed You My Love".
Last, but not least, the third great song with a very nice melody line from Moldova - Aliona Moon with "O Mie".
Redesigning = proving yourself wrong
Athletes participate in sport events… to win, obviously. When they win, they get a medal or a trophy and put it on a shelf to show it off. But what does a gamer do if all his trophies are virtual? Well… he needs a virtual trophy gallery. This, I did. Quite a while ago. At that time, it looked quite good to me. I wouldn't have published it if it didn't, but "the times they are a-changin'" as Bob Dylan one sang and the time came now. The time for a redesign.
Redesigning isn't about creation, it's about destruction.
Redesigning is not about creating something new, it's about destroying something old. Proving yourself wrong. Showing how bad your initial idea was and making changes that will make the old design look so bad that you'll wonder how you could have possibly find them good in the past. And yet, it's not about drastic change. The changes could be subtle, but powerful.
Redesigning is also not about adding new things, sometimes it's about removing redundant parts of your initial design. This is what I did on my trophy gallery.
Design – a spiritual activity?
As mankind managed to use tools to do things, we've started to carve stuff into the walls of a cave. The carvings became more sophisticated over time. Our art became more and more complex. Symmetrical patterns with tons of detail as if man wanted to show how much he can do. Nowadays, we see the complete opposite. What's being considered as “elegant" is no longer something that's complex. On the contrary – simplicity is what we now perceive as “beautiful". Less is more, as they say.
It's as if in the past we wanted to project our own complexity, the complexity of our bodies, into art. Now, we're crafting the spirit. A beautiful design is no longer what's there – it's what's not there. David Craib said: "Design should never say, "Look at me." It should always say, "Look at this."". Today's design doesn't craft art, it underlines it. It creates space for it. It's a philosophy – concentrate on what there is and appreciate it. And modern design does just that – removes what's unnecessary and allows what's left to shine.
Long story short
That said, here's a comparison of old vs. new. A look at a couple of pages from the old version of my trophy gallery and the new version.
The OLD home page - the header inspired by PlayStation's own XMB background. Looked good back in 2011. Dark gray background for images, long gray DIVs and a very "busy" statistics overview:
The NEW home page - brand new header, very simple and introducing the main theme of simple lines with the text on a very bright background:
The OLD games list - again, a lot of lines, dark grays, too much information... although I still found the little trophy type backgrounds cool :)
The NEW games list - only relevant information remained, much simpler trophy count presentation:
The OLD single game page - the heart of the gallery, a page displaying all trophies from a selected game. Way too many lines occupying space for no real reason:
The NEW single game page - the new minimalistic theme. All information is still there, but it's presented much better. The headers/sections aren't in the way, you can appreciate the trophy image with no distraction:
The OLD platinum page - there's nothing more rewarding than "a plat" ;) This page was already "special" in the past with its distinguishable light-blue colors symbolizing the platinum trophy color:
The NEW platinum page - even this page was too cluttered back then so removing the full-line headers and implementing a light-clue version of the main theme did the trick:
So that's it. My new old PlayStation Trophy Gallery which can still be viewed at PS3Trophies.VarHyid.com
The Digital Age or: How I Learned to Start Worrying and Hate the Cloud
It wasn’t so long ago that when you would ask someone if they would like to upload all their personal photos, their documents, their full calendar schedule, their music, movies etc. to a server owned by some company, you would either hear laughter, get some weird looks or someone would call the police hinting that you may be up to something. No one with even the tiniest amount of common sense would trust their valuable, sometimes even priceless belongings in the hands of just some company that happens to own a lot of computers.
The Cloud
So why is it that today we even pay for the opportunity to give all our data to someone? Well, first of all, it’s a matter of marketing. "The server" has a bad image. I think even today, if you would ask someone: "Would you like to put your personal files on our servers?" and show them a picture of a row of machines with some cables and blinking lights, they would think you're crazy, but ask them: "Would you like to have access to all your files in the cloud?" and it's a different story. A cloud is nice and... fluffy, it's in the sky, it's always there above you. Meanwhile, it's the exact same thing. Some people may not even realize what they do when they upload everything to "the cloud". The cloud is nothing new, it's just a server or now - a name for a service of basically putting your stuff on someone else's computer.
Now, there isn't anything wrong with it if you choose to have some stuff conveniently accessible across your devices, but right now we're reaching a ridiculous point where this convenience is no longer about having a copy of your important data uploaded in the cloud, but having it all there. Not just a copy - all your stuff at the mercy of the company owning the server. Imagine having your car or even your entire house in some underground facility with tunnels reaching out from the ground "serving" your car and house back when you press a button on a remote control and then think what would you do if the system wouldn't work at some point. So the big question to ask yourself each time you trust your data into the hands of a company is - does the convenience justify the risk?
DLC and ULC
Another ridiculous aspect of the digital age is seen in the gaming industry. When the internet became easily accessible by anyone regardless of their budget or at least affordable for anyone who could afford a game console, the great idea of DLC (Downloadable Content) came up. In its core, it's a very good idea and some game developers such as Rockstar have executed it extremely well. DLC such as "The Lost and Damned" or "The Ballad of Gay Tony" for the Grand Theft Auto IV game were fantastic. Just as great as, what I consider the best DLC ever - "Undead Nightmare", the DLC for Red Dead Redemption. These are complete new stories placed in the familiar environment of their "host" games which sometimes even change the whole world within the game and offer lots of fun.
However, there's of course a "darkside" of this idea. Right now, game developers don't use DLC to give a breath of fresh air to an older game release maybe a year ago. Today, we see "day one DLC" - content that's being release upon release of the full game. So one may ask - if they have this content upon release, why isn't it part of the game? And the answer is simple - if it was, you would pay $60 for a full game. Now, you'll pay $60 for the game and then have additional $40 worth of content that clearly has been developed in time for the full release, but wouldn't allow the devs to "milk" you.
But it gets even more ridiculous. Aside from DLC which at least offers some content that's not available within a game, there's ULC (Unlockable Content). The record in stupidity when it comes to ULC has been broken by a company called Naughty Dog - the developers behind the critically acclaimed Uncharted game series for the PlayStation 3. In this game, as you play, you can occasionally collect some treasures dropped by killed opponents. Sets of these treasures unlock special weapons, skins etc. Some of them are extremely rare so the player who unlocks a very rare skin after many hours of gameplay feels really good about it. They can show it off and it's a fun thing to have in a game to motivate people to play it. What Naughty Dog did is beyond stupid, though. They've put ALL the unlockable content (that includes skins that are unlocked automatically just after playing one multiplayer match) for sale which basically reduced the value of the game by breaking the rewarding mechanics and the whole point of having rare rewards. Now, for only $0.99 you can have any item you want, incl. stuff that's easily accessible for free. So why did they do it? It's simple - because they can.
Boy In The Bubble
Now we're getting to the "why I hate Apple" part. Steve Jobs was the man behind NeXT - a visionary project that eventually became an inspirational building block for the internet as we know it today. So one may think that whatever this man would do, will help people be connected, help remove the geographical boundaries and allow us to be truly interconnected. Well... in a sense, he did contribute a lot to making technology accessible, easy to use and for that I have a great respect for him, but this wouldn't be my little rant blog if there wasn't something to rant about, right? ;)
I recently got an iPod Touch - an awesome device, I love it and there's nothing wrong with the device itself, but there's one issue which I hate and it's an issue with the Apple Store. When I browse through apps, music, movies or basically any content in the store, I often see "no ratings", "0 reviews" and I've been wondering... how come? It's not just some very rare alternative music or an independent movie that no one really knows about. And then there's another thing that made me thing that something's wrong here - if there are reviews, they're all in my local language and not in English.
My suspicion was confirmed when I visited the iTunes website and checked out the same apps that have no ratings and reviews in the store on my iPod. There are tons of ratings and reviews for them, but... not visible to me because they're all locked regionally. So basically, the work of the man who wanted to connect the world came down to placing everyone within the bubble of their country to the point where I can't even read what someone from a different country may think about an app or an album. I understand that there may be legal reasons why some content may not be available in some local stores. I hate that, but I can understand why it happens, but why would Apple want to lock user's ratings and reviews is beyond me. I doubt anyone would have a problem allowing Apple to show their feedback in a different country.
You don't own what you have
The last example of my worries about the digital age is also Apple-related. A short while ago, I bought some Blu-ray movies that also contained a "digital copy" on a DVD. Now, keep that in mind - I purchased a movie where there is a Blu-ray disc and a DVD in the box and on this DVD there is data - the digital copy of the movie which I can transfer to a mobile device. So that's exactly what I've tried to do. Since I have an iPod which happens to have a very nice Retina display, I wanted to see how a hi-res movie would look on it. That's when the problems began.
On paper, it's a very easy thing - insert the disc into your drive, iTunes will open (it did) and just type the code in the box to transfer the movie to iTunes. I type in the code, I'm sure it's correct and I get an error: "This code is only valid for customers of the United Kingdom or Ireland Store". At this point it's worth mentioning that I buy ALL media from the UK. I don't like localized dubbed versions of anything so UK is my place to buy stuff. Already seeing this message is ridiculous because I don't actually want to buy something from the store, just confirm the code so I can transfer the damn movie to the iPod, but OK... it's only valid in the UK version of the store - fine, I'll change my region to UK. It turns out that I must have a credit card issued in the UK to fully use the UK store. i don't so I just changed the region without validating a card. Now, when trying to transfer the movie I get a message saying that my Apple ID is not valid in the UK store and I can only purchase music (?) from my local store.
WHAT?! Again, I am NOT trying to buy anything. I bought a movie on a disc, I have the physical media in my hand (or my drive, for that matter) which contains the movie I already paid for and I just want to transfer it to my iPod as that's the whole point of having a digital copy, right? I understand that there may be a code they need to ping some server to validate that it's not a pirated copy or something, but it's not - it's an original movie, not used, in a box and I've paid for it so... I own it, right? Well... no. I don't. I can't have it... even though I do have it...?
Business plan
So what did I learn from all that? I'm opening a business. I will sell cloud-suitcases. If you buy a CloudCase™, you can plug it in via USB to transfer all your data (and I really mean ALL, there will be multiple terabyte drives in it) and you can also conveniently pack your stuff... papers, clothes, whatever you need during travel within the CloudCase™. There's one catch, though. You can only access your data or open the case to get your stuff... if the GPS within it detects that you're physically within the country in which you bought the case. It will be a service so you won't have to buy the CloudCase™, just sign a 25-year contract for only $999 per year and you can use anytime you want :)
ROS3BUD - The simple movie list
As I've mentioned in one of my earlier posts, a few weeks ago, I couldn't remember whether I've seen a particular movie or not and couldn't find a simple, clean app to list the movies I've seen and wanted to create one. Well... it's done! :)
Dude, what's with the "3"?
First off, I don't think I need to explain what the word "Rosebud" means. If you don't know or think it has something to do with a rose... and its bud... please watch the movie "Citizen Kane". However, why is there a "3" instead of an "e"? To make it "cooler"? Is it some kind of haxXxorZ sp33ch? Not really. The reason is very simple - the domain Rosebud.com is taken... by a porn site. Which isn't really bad, I mean... they sell movies there, so it's on topic. Sure, these movies aren't really too artsy, the dialogues are flat (which is a good thing - we all know you shouldn't speak with a full mouth) and the ending is very predictable, but a movie is a movie, right ;) Anyway, I've been looking for a different name for a long time, I didn't wanted to keep it within the VarHyid.com domain, I couldn't find a good name and since the "working title" was already Project Rosebud and the 3 is right above the e on the keyboard, I though... what the hell.
The best app ever written... on my keyboard
...and also the first app ever written on my keyboards, but then... who's counting? ;) Unlike my previous sites, this one wouldn't really work as a static website where I would insert my movies directly through the database, this would be too much hassle and it would defeat the purpose of being easy to use so I've made it fully dynamic and to raise the bar even higher, it's publicly available for anyone to use. Anyone can register an account and have their own nice, clean list. Therefore, it truly deserves the name "web app".
The first thing you'll notice when you revisit the app, you will always been to log in. There is no "Remember me" function yet, but there's a good chance one will be implemented in the future. For now, since the login/password boxes are visible on the hope page, you can just let your browser to remember your credentials or use a password manager and you'll log in with one click.
Isn't it beauuuuutiful? :) I could just look at the home page for hours without logging in ;) As it says on the home page, it allows you to:
create a complete catalog of all movies you've ever seen on one simple and clean list,
easily rate each movie and change your grades with one click (more details below),
sort all your movies by title, year, grade, genre or the 'last seen' date,
add movies you own to your Blu-ray and/or DVD collection (also with one click),
share your list with your friends.
But how? Where? Why? For whom?
Basically, you just click on Add movie or hit the Insert key and the input box opens up. Now, you can simply add the movie title and... that's it - the title is the only required field to add a movie. Everything else can be edited later. However, if you already know the other details of this movie, click Tab to move from one field to the other and dill out the form with the year the movie has been released at, it's genre (you can easily just hit "T" to jump to "Thriller", for example), grade (1-10), the most recent date you've seen this movie on and define whether you own it on Blu-ray, DVD or both (or none).
Once you do, you can easily save it with the Enter key (or use the Save button) and continue adding another movie. Once you're done, either use the Cancel button or just hit the Esc key to close the input box. Each entry can be edited - quickly or partially. You can quickly rate a movie or change its current grade just by clicking on one of the stars. To add it to your Blu-ray or DVD collection - click on the BD or DVD icon. To enter full edit mode, click on the small pencil icon on the left side of the movie title (visible on hover). This mode allows you to change all parameters of this entry as well as delete it. If you choose to delete it you will be asked to confirm and if you "accidentally" click on delete and then "accidentally" confirm and then suddenly remember that you didn't want ed to delete it and email me how you can bring it back, the answer is - YOU CAN'T!
Finally, there's the Settings button which, as the name might have already suggested, shows the settings. Here, you can:
set your list to "private" or "public" - all lists on a newly created account are private by default, so you need to change it if you want to share your list, but note - it will mean that your list will be visible to literally everyone on the internet who just adds your username to the URL,
get the link to share your list - if set to public, you can give this link to anyone you'd like to show off your list to,
change the default sort - this will set how your movies are sorted each time you refresh the page, log in or access your public list, you can sort by any property in ascending or descending order,
change your email address - right now there are no newsletter or anything like that so don't worry about getting spammed and if any notifications will be introduces in the future, you'll have an option to choose to receive them or not,
change your password - needs to be typed in twice to make sure you really remember it and won't make a typo while setting it.
Note - EVERY change in the setting, or rather, every time you click "save", requires a confirmation with your current password. I understand that this should usually only be used when changing sensitive data, but actually... it's almost all sensitive data. The only option that wouldn't really do much harm if changed accidentally is the default sort mode. All the rest is important - you wouldn't want to accidentally make your list public, change your password or email address.
JAX or AJAX: that is the question!
This pretty much concludes everything there is to know about the basic functionality. Now, for the geeks - you may notice that when you add a movie, you need to wait for a moment before it saves, but when you edit it, it's instant. Here's the thing - at first I wanted to do it all asynchronous. JavaScript was always supposed to show you the results and the request would be just sent in the background and you could continue adding stuff even if it's still being handled. The problem is, in order to enable an option to edit recently added movies, I need the particular ID of the movie you're editing so I can tell the database - "UPDATE this and that WHERE id = ?".
The problem is - how do I know the ID? When you open your account, I could guess, that the first added item is going to be 1, the next one - 2 etc. but what if you're already at 200, then delete items 190 - 199, then log in later and the last one will be 189 and I'll "guess" that the next should be 190 while in reality the AUTO_INCREMENT is already at 201? The answer is pretty simple - I can just use $mysqli->insert_id as the returned value in the PHP function responsible for adding the item to the database and it will give me the ID it just used. Unfortunately, this means that I need to WAIT for the response. Therefore, the trade-off of having an option to easily edit recently added stuff without having to reload the page is this ~1 second of waiting for the server response. A trade-off I was willing to make.
It's slooow!
This is the first actual web-app I've made and it's made primarily for my own use. I don't want to invest in any huge dedicated server structures for something that no one else except me will use. Frankly, I don't really care that much if someone does yet alone are going to desperately try to make a business out of it and huge investments in hosting or marketing or anything. If somehow the need would arise - I would reconsider it, but for now, it's running on a small server with not-so-fast response times and I don't think that this should be a huge issue. Why? Well... this isn't an app that you're going to use extensively all the time every day and add tons of stuff quickly. If it was some kind of a to-do list then it surely would be necessary to let the user add stuff super-fast, preferably instantly, but this is more like a catalogue. You fill it out once, you add much more data (year, genre, grade etc.) and then you just either change the last seen date, review the grade, add it to your collection or just add 3-4 movies you've seen recently. There's only a limited amount of movies you can watch in one day anyway ;) so I think for this purpose, super-fast performance isn't the highest priority.
Hi, I am a PC
Now the really "bad" news - it does NOT work on Internet Explorer. I've explained in general why that's the case on the page where users accessing it through IE will end up, so now the geeky details. The thing is - all functions responsible for opening the input box, closing it, adding stuff, deleting, editing etc. are returning the result through JavaScript's innerHTML property. There is a problem with it, though... or rather, not really with it, but with Internet Explorer - IE, as the ONLY browser, does not accept tables or parts of tables to be included as the content of the innerHTML of an object. This is a problem because it's very easy and convenient to just create a nice code with the form within a convenient nested table or just a new set of rows and cells and simply push it through the function.
So what would Internet Explorer want instead? It would like (and again ONLY it, this is not a problem in any other browser) all developers to use the "beauty" of the DOM to "manually" create a new element (a table row, cell or another new table), append it, get it, create another one, append it, get it until you reach the point where its innerHTML would just be a div or span or something that's not part of a table. Now, this might be OK if you're just making a new row, in fact, I've used it a couple of times in the code, if it was necessary and made sense, but rewriting the complete structure for each function and stretch the whole code by MANY MANY lines just so that IE can understand it is something I'm not going to do at this point.
I've checked the statistics of my other sites. These aren't millions of hits I've had, but it's been ~10,000 in total so I'd say it's a statistically valid result which says that only about 15% of all users use IE. I'm willing to sacrifice them for now (again, keeping in mind that this is an app for my OWN use which no one may even hear about ;) ). Apparently, though, Internet Explorer 10 in the upcoming Windows 8 WILL fully support the innerHTML and theoretically, the app should work fine there. I haven't had a chance to try it yet, but it would solve the issue. At least with regards to what I consider solving ;)