Monthly Archives: October 2012

Why Windows 8 causes friction

There have been a lot of different opinions on Windows 8, but the bottom line seems clear, either you hate it, or you love it. And I keep thinking, why? Has the big scary unknown slapped us in the face so hard that we can’t make ourselves thoroughly think about the advantages AND disadvantages of this new OS?

Personally, I think Windows 8 is great by itself. It has a lot of under the hood improvements from Windows 7, the IFKaM (Interface Formerly Known as Metro) UI is very easy to use and doesn’t look bad either, and you still have a desktop for those ‘good old applications’ that need it.

I think they made a big mistake. The vast majority of people that will run Windows 8 don’t have a touchscreen! In fact, the vast majority of the Windows installations run on enterprise workstations, people are used to windows NT, 2000, XP, Vista, and 7, they are used to having a taskbar with a start button and will spend most of their time on the ‘classic’ desktop.

So you might think “Hey but Alex, the IFKaM interface is just a start button replacement, why would be such an issue? All people have to learn is that that fullscreen interface is where they find their stuff now!” This is true to an extent, but not entirely.

Windows 8’s main interface is IFKaM/Modern UI. It’s not just an extra interface; it’s a complete overhaul of the OS’s user interaction. They have an app store now, they have a completely new species of apps that run fullscreen, they now force-check every file you want to install with a cloud service, and the list goes on. They want to replace the desktop. Don’t believe me? Have a look at the new office:

Look, Microsoft. I know you want in on the tablet market, honestly, I can’t blame you, and Surface seems like an excellent tablet I’d really love to have. But know your roots! Forcing the same interface on every user despite the device they have the software on will cause giant friction with the adoption, even if you leave in the classic desktop as option. I know it’s a little late now but, why not make Microsoft Surface a set of things, Like “Surface OS” and “Surface Tablet” and so forth, then the people that really want that interface can install it anywhere they want, and the desktop users still get their desktop!

And for those that still think Windows 8 works fine on desktops, although I’m not going to force my opinion on you, think of it like this: What if you had a version of Windows 8 that had ALL the new awesome features Windows 8 has, but not IFKaM and such. You’d have Windows 7 ‘but better’. Wouldn’t you prefer that over what we’re getting forced on us now?

Personally, I think that there’s a place and time for all things. Just because I like the features and functions of one device, and another device has the same features, doesn’t mean one will replace the other. Example: I have a TomTom, an Android-powered Sony Ericsson with a good camera and music player, 2 Laptops both with GPS and 3G, one with a touchscreen and pen input, and a speedy watercooled desktop with 4 screens attached to it, an iPod Nano, and a Canon EOS 1000D camera. One could say that, because I have that smartphone, I could use Google maps for navigation, the music player for music, and the 8MP built-in camera for photos, and therefore have no use anymore for my TomTom, iPod and Canon. But it simply doesn’t work like that, there’s a device for every appliance, all round devices tend to be a bit schizophrenic in nature, and sacrifice functionality for flexibility. I think anyone out there will agree that my 1000D will outperform my smartphone in functionality by far. And while I really like Google Maps, my TomTom is just a tiny bit better tuned for use as (car) navigation. Likewise, Windows 8 is sacrificing functionality for flexibility. I want Windows on a desktop because of the main features it has in Windows XP and 7. It’s a fast desktop OS with good hardware support, very good developer support, and most importantly, I grew up with it, using it with a taskbar, start button and so forth just feels very natural to me.

Bottom line: I think Windows 8 is really good, but it would’ve been better if it was a separate product, and the desktop users at least had a choice in what UI they want to use. The lack of freedom is what’s causing the friction and complaints, not the UI itself, which is great, just, for different devices.


Bug submitting: The fine line between a complaint and a bug report

Bug reports are important. They let the developers of a product know there’s a defect that they have overseen.

But a bug report has a quality of its own; Just complaining ‘it doesn’t work’ won’t get anything fixed, and only serves to annoy both parties.

So what’s a good bug report then?

Well, imagine you’re in the position of the person who’s trying to get it fixed for you. What do you want to know? For me, a small list pops up:

  • How did it happen? What are the steps to reproduce it?
  • What factors were involved? Like what machine did you run it on? Is your internet slow? What kind of digital environment?
  • Did you notice anything specific that might give me a hint towards to real problem?
  • Do you have anything in your installation you changed manually? Mods? Plugins? etc
  • Did you find a way to work around it, or temporarely fix it?

These things, even if you don’t know what the underlying problem is, are a great help towards finding what the problem is and fixing it.


An example of a GOOD bug report:

While using XYZ, whenever I try to print any document to my networked HP N551 printer the application throws an error, namely “The network path could not be found” (see screenshot), and generates a debug file which I have enclosed. Printing on a usb printer works fine. I have tried reinstalling the application to no avail. Other programs can use the printer fine. My computer is a Windows XP SP1 laptop with both wireless and wired access to the same network. I noticed that turning the wireless off fixes the issue, but I’d prefer to have my wifi on.

This bug report is detailed, includes a debug file, screenshot, a workaround, specifies enough information to get going, yet doesn’t make it too cluttered. There might be some things that could be better, but this is definitely not one to complain about.

Here’s an example of a BAD bug report:

The application I use doesn’t print documents, Help!

While not going off topic and pointing out the problem, this isn’t enough information, it could be anything! This is more of a support ticket than a bug report.

Here’s another example:

The application is slow, because it’s written like shit. Application ABC does it much better than XYZ. You suck!

This isn’t even a bug report. This is a whiny, unconstructive complaint. I’d say this belongs on a forum, but it will probably get rejected there too.

The most important part about a bug report is that it has to be constructive. A bug report isn’t a complaint or feedback form, while these are also appreciated, a bug report has a certain need for information, as there have to be technical changes in the product to fix the issue.

Getting ahead of yourself in a development cycle

As many people out there that have fun in their jobs, I really love helping people. I do my best to get done what needs to be done to make sure someone gets what they need.

That said; As someone in the IT industry, I’m trusted with one of the most complex pieces of work out there. I don’t always know everything, hell, in most cases, I don’t, and I have to look it up. And that can get in your way when someone asks something from you, or a manager wants to know where you are at in your current assignment.

Taking on the perspective of a programmer, developing a new piece of software is a great way to help people out. However, since I don’t know everything, it isn’t always easy to say how or when something’s gonna get done.
I came across a great analogy to the software development process today, here’s the quote:

I assume you know how to put together a jigsaw puzzle, for nearly any 3 year old can put together the most basic ones.
So let me ask you a question. If I went out and bought 5 jigsaw puzzles, each with say 2,500 interlocking pieces, how long would it take you to put together anyone of them?
Can you tell me within 25% of the actual time how long it will take you? After all, you DO know how to put together a puzzle, right? And it you can do that, can you tell me what day you’ll have all 5 of them finished?
I want to know! And can you have your reply ready for me by 3pm today?

This is exactly why it’s very important to tell the person who’s asking that you simply don’t know how long it’ll take if you don’t know. Give them the information you do know, write down what you’re going to do in steps, so you can at least give them an indication of where you’re at in the development process, and still be honest about it.

The more strictly you keep yourself to a protocol when working on something that complex, the more predictable and honest you can be about the dev process to your colleagues, superiors, and so forth. They want a change? Make a ticket, don’t just slap it in there, because do you really know how much time it’s gonna add? Don’t just start coding from the moment you have the idea, either. Write down what it’s going to do, then worry about the technical part, because if you don’t, feature creep is right around the corner.

In the end, all that the people care about is that it gets done within the deadline. If you’re honest with the people you work with, you allow them to help you out just as much as you can help them out. Your job isn’t to predict the future, it’s to write code! So keep yourself to your scope 🙂

Zomg, A blog!

… Ahem, attempt number 2.

I had previously set a blog up on my raspberry pi, content mapped to a harddrive and a custom apache/mysql config and everything, and then the SD card decided to die just a few days after its initiation. Heh.

Anyway, this is another attempt to set up a blog. I previously ranted that I wanted to have this stuff on my own servers because I wanted more control over my data, but in retrospect, it’s just a blog, not my wallet,’s hosting allows me to export the data, and takes care of all the headache of hosting wordpress, so I’m happy with it as it is right now.

I doubt many people will read this post, seeing I just set up this blog and I don’t have anything to offer yet, but eh, what’s the purpose of a blog if we refrain from blogging on it?

I’ll be posting my thoughts, rants, and other blog-y things on here. I’ve used twitter contently for a while now, but sometimes I just need more space to really speak out what’s on my mind; previously I used FurAffinity for this, but that wasn’t really the place nor do I have that account any longer, so, here we go!

Right now my life is in motion towards moving out and the like; it’s rather busy and full, so I don’t expect to post much things, but in the future that might change, especially once I get my own life on track and have more time for these things.