Subscribe to RSS Subscribe to Comments

George Schizas Blog

Days in the life of a clone

Some thoughts on Windows 8/8.1/8.1.1

I originally wrote this as a response to some discussion at reddit on a leaked build of Windows 8.1.1, regarding some common criticisms about Windows 8

Q: Why don’t they give us a choice?

A: User choices aren’t inherently bad. User choices for *things they don’t care about* are. The users don’t care about what UI they want to use. They don’t care about optimizing the help file index. They don’t use the computer to use the computer. They use the computer to perform a task. Giving the user a choice of whether to use the touch or the classic desktop is at best a cop-out. I could expand more on that, but read Joel, he says it way better than me. Just as an aside: I’m really happy that Windows 7 got finally rid of the Windows 2000-era "classic" start menu and kept only with the Windows XP "standard" start menu. This is another example of an unnecessary choice, which people stubbornly stuck to.

Q: Why didn’t Microsoft make a separate version of Windows and call it Windows Touch?

A: Have you heard about iPads and Android tablets? If Microsoft continued to view tablet computing as a niche, it was just playing into Apple’s and Google’s hand. Quite a lot of people are perfectly content to use a browser to browse some sites. A tablet is generally cheaper than a full-blown computer, it works out of the box, it can browse the Internet, play video and play games. If MS made a "Windows Touch" OS, given the fact that it came late into the scene, the only thing that would happen is:

  1. No-one would make applications for it (it’s a very niche OS, after all). It’s what we’re seeing with Windows Phone. It’s not that WP is a bad OS (it isn’t). It’s just that Microsoft came late to the game (actually, they let the ball drop, same as they did with Internet Explorer). If it wasn’t for Nokia, Windows Phone would probably already be dead.
  2. People would keep moving off Windows onto Android and iOS. They don’t need a full-blown PC to browse the internet, why should they get a $700 PC instead of a $100 tablet?
  3. Next thing you know, everyone is making tablet applications, and Microsoft suffers the fate of IBM, being reduced to making server products (and how long can they keep that up when Linux is a cheaper and sometimes better alternative)?

In fact, what Microsoft would be doing with Windows Touch, would be playing to Apple’s/Google’s strengths (established tablet market) instead of playing to Microsoft’s strengths (established desktop market) and to Apple’s/Google’s weaknesses (but Android doesn’t have Office! Hmm, wait a minute…)

Q: But tablets can’t be used in the enterprise

A: First of all, the enterprise has been moving toward browser-based applications. Browser-based applications have many advantages over native applications: 

  1. They work regardless of the client – you can have Windows or a tablet (or even a phone) to use them.
  2. They don’t need installation – you just open a URL and you’re set. They also update centrally.
  3. They don’t rely on the end client security: They treat everyone as untrusted anyway.

When you bring your own device (a new model that has been emerging recently), in order to access company information (such as email), you usually connect to your workplace’s Exchange and you download a policy (this is hidden, usually it’s just a "I agree" button) that specifies some minimum requirements (e.g. screen lock) for your device.

Group policy is nice and handy, but it’s not really needed all that much when your device is pre-locked and virus-free(-ish) anyway, and you don’t have all that much to lose if it gets hijacked (because the data are on the server).

Q: But I hate Windows 8! It killed my dog and fondled my cat!

A: First of all, condolences. Second, some people always resist change, it’s the way of the things. Is it perfect? No, obviously not. Is it better for Windows 7? Well, that’s subjective obviously, but I think it is:

  1. It can run a new class of applications, which in general are easier on the eyes.
  2. The start screen is faster than the start menu. It also scales better (have you used a start menu on a PC with hundreds of installed programs? I have. It’s nasty)
  3. Desktop enhancements (e.g. task manager, file explorer) are things I really miss when I go back to Windows 7.

How could it be better? Windows 8.1.1 (sigh – it really should be Windows 8.2 – if not for anything else, just to finally have a .2 version of Windows) seems to be a step in the right direction. In the way I see it, Microsoft tried a bit too hard to push the touch interface, ignoring the mouse-and-keyboard alternative. It tried to delegate the desktop metaphor as new console/terminal metaphor. BTW, there was quite a lot of pushback back in the days Windows and mice came about, from users that thought that DOS applications with text mode interface were good enough. Same here is happening now with mouse-and-keyboard vs. touch. Anyway, the point is that the metro UI could use a bit more mouse love, and it’s getting it with Windows 8.1.1.

Fallen Sword / Sigma Storm Helper

I’ve made my first (popular) open source project since September, and it has been a very enlightening experience. It’s called Fallen Sword Helper, and it’s hosted by Google Code.

The project started when I started playing an online browser-based RPG game. I registered last April, but I didn’t really play before last summer (2008), as I found the instructions to be a little difficult. Anyhow, the game is (as you can see from the title) Fallen Sword from Hunted Cow Studios. After playing for a bit, there were some things in the game that somewhat annoyed me, which made the game less than enjoyable. After being accepted to a top 250-guild, which had a rule to not attack people of some guilds, I decided that I should enhance the game experience, as it would be very difficult for me to remember who were our “friendly” guilds – the ones I shouldn’t attack. So, I started working on a new Greasemonkey script to make those fixes.

Using a Greasemonkey script for Firefox was really a method I had used in another browser-based game. In fact, I had made a Firefox Extension first, because it would otherwise be impossible to send XMLHTTP requests. Of course Firefox extensions are a lot more difficult to develop, because each change you make means you have to restart your browser. So, since I discovered that Greasemonkey had an internal API that could send XMLHTTP requests (and also a way to persist variables), I decided that Greasemonkey scripts were the way to go.

After a while, I decided to post the Helper script on to userscripts.org, so that other people would benefit from it. I also put in an autoupdate feature, which I felt was a major requirement for me to keep my sanity.

As time progressed, there were many submissions to the userscripts forum, so I felt it was time to upgrade this project to a real collaborative environment – a true source control system, and, if possible a bug tracking tool. Google Code really is very good for all that. It provides a true subversion server, a trac-like (custom Google though) issue tracker, a wiki, and all of these on Google’s infrastructure. The only thing missing (for now) is a way to import/export the whole subversion repository, but I can live with that.

Doing that in a real scale was a new experience for me. From the project itself, I have become a lot more proficient with javascript and Firefox’s DOM, as opposed to mostly IE’s DOM which I used to work with. I also learned a lot about subversion in the process, to the point that I even managed to migrated a very old and very corrupt SourceSafe from work to a subversion repository (even though this was mostly done out of plain fear that the corruption would soon become terminal).

The best part of creating an open source project (even with just 3 active developers right now – but it would seem a lot more users) was finding out about that spirit of cooperation with people from all around the world (literally!). It feels really nice having other people reading and understanding your code, and being able to expand it without the “seams” being visible. By that I mean that they understand the code (I hope it doesn’t go to my head, but it would seem I make somewhat understandable code. Or they are supergeniuses), and what they add has the same “code smell”, you can’t see where my code ends and my collaborators’ code begins.

Another cool thing that has come out of that, is that I finally got to use a proper issue tracking software, and also to manage a project at a higher level than just writing code. Don’t get me wrong, writing code is still my favorite activity, but it’s nice to know that I could also manage a project from higher up. I’ve also started writing technical documentation for all that. All in all, I think I’m doing a more professional and complete job for this project that I’m not getting paid for, than the projects I’m really getting paid for at work 🙂 Of course the fact that for my project I’m the chief developer, project manager and main customer helps.

Bill Gates in Greece

Bill Gates came to Greece on Monday, and I was one of the fortunate enough to go and see the presentation. Nothing really new there, only that there was a real demo of Microsoft Surface. Of course I’ve seen almost everything on the internet, but there’s obviously much better resolution IRL 🙂 I really went so that I can say that I’ve really seen Bill Gates in person (even from some distance) 🙂 The next presenter was more unknown, but he showed us something I hadn’t seen before. It’s codenamed "Oslo", and it’s part of new wave of developer products (Visual Studio 10, BizTalk 6, .NET Framework 4). It seemed ok, but what really seemed cool was a component that was temporarily named "Universal Editor". It seems like something that is between Workflow Foundation, SQL Server management, System Center and Visual Studio. If it does what I think it does, it should really be revolutionary for development.

Wardriving

Having actually starting to use my new mobile phone, I tried a wardriving experiment today. I downloaded and installed WiFiFoFum and ran it from the way from work to home. To my surprise, I discovered about 70 WiFi networks on the way, and about half of them unsecured! Unfortunately WiFiFoFum refused to play nice with the mobile’s GPS, so I don’t have the location of those networks. It would be nice, though.

Anyhow, 70 WiFi networks? In such a short space? (About 10 km). Ok, so a lot of the owners don’t realize they’re sharing their internet with just about everybody that drives/walks/stands outside their house. Still, that’s a lot of bandwidth!

Windows Vista Installed

Finally, after two months of having Windows Vista Ultimate RTM, I succeeded in finding the time to install them. I had to buy a new 500 GB hard disk first (because I managed to fill the 300GB one I bought previously!), but I have finally installed them. It took me about 20 minutes to actually install them, and about half an hour of researching what name I would give my computer. I finally ended up with the same name (Typhoeus), but I found out about a lot more ancient monsters 🙂

Anyhow, I’ve installed the bare minimum applications (Office 2007, 4NT, TextPad, Beyond Compare, uTorrent). I’m going to install the rest as it goes…

Import and Export in .NET

A common task in making “integration” projects is usually the part where the programmer needs to open an external file, which is in a (very) legacy format and parse this file. This obviously results in large and boring glue code, which bloats the project and makes it scary.Enter FileHelpers, which really simplifies the whole procedure. All you need to do is make a class of your data (actually what one line is) and add one or two attributes. For example:

<FileHelpers.DelimitedRecord(vbTab), FileHelpers.IgnoreFirst()> _
Public Class BicFile
    Public Name As String
    Public Description As String
    Public Amount As Decimal
    <FileHelpers.FieldConverter(FileHelpers.ConverterKind.Date, "yyMMdd")> _
    Public OpenDate As Date
End Class

Obviously this simplifies everything and saves a lot of boring code. The program is open sourced, and it is also available in library format (so that you just add a .dll reference to your project). I wish I found that earlier!

Windows Vista RTM

I’m downloading the final version of Windows Vista right now. I was a beta tester (pretty bad at that, I only filed 7 bugs or something), but it seems that if you submitted even one bug, you receive the full product, free of charge! I am going to buy Windows Vista (if not for anything else, for the extremely cool package) when they come out (and the Ultimate version, no less), but I have three PCs, two of which are going to require a “Client” Windows (I’m planning on switching the other one to Longhorn Server, or Windows Server 2007/8 when it comes out).

Tweaks

I’m tweaking the theme like crazy 🙂 I didn’t really know PHP before installing WordPress (I’m a .NET man). Ok, so in ASP.NET you have cool controls, server-side events etc. Still, I know ASP pretty well (for 6 years straight!) and it’s a lot easier for me to type away at ASP than meddling with all those server-side thingies ASP.NET has to offer. And don’t even get me started with JSP and its ilk! Anyway, PHP really seems to be made from the same mold as ASP, so even though it’s quite different syntax, it comes naturally!

Legion of Lunatics Dinner

I’m off for a dinner meeting with my World of Warcraft
guild mates. I hope I’ll find it 🙂

Windows 2003 & Visual Studio .NET 2003 Presentation

I went to see the Microsoft Windows Server 2003 & Visual Studio .NET 2003 presentation today… I even got a webcam out of it 🙂 Nice, even though I felt I was ahead of everything. I mean, quite a lot of the things they presented as new and cool, I’m already using. Very cool though. And quite a lot of people! And furthermore, I got me a scandalous parking place, on the crossroads below Hilton.

Next Page »

© TerraSoft 2003-2017