Programming and general geekiness.

Posts tagged ‘windows vista’

If Windows 8 gets one thing right…

At the moment I am waiting for the Bing Bar uninstaller to initialize. After that I have a list of about 60 other programs to take off my computer – most are quite small, but with a few exceptions. I am doing this on a relatively average computer but I expect to be here for most of the day. The programs that I am getting rid of vary in type. Some are pointless little things I downloaded once to complete a task (I have about four unzipping programs for different file types), others are large applications that I have on other computers that run them better. The irritating ones, however, are ‘drivers’ and ‘support software’. When this computer was new it came with a very large program (4GB) with ‘support software’ for the system. The computer was made by a popular manufacturer. I have never used the software and I haven’t got a clue waht it does. Any problems I’ve had with the computer have either been solved by the 8 page problems booklet it came with or a quick Google search.

Furthermore, the router that I use came with about half a gigabyte of software detailing how to contact customer support. Again the router was made by a popular provider. I have never had any problems with it. Quite why it needs drivers when it is an ordinary Ethernet router I do not know. But ironically, it isn’t just this computer that acts like this. I have a computer with a graphics card made by a very popular manufacturer however the ‘driver’ for this is a giant complex application detailing loads of settings I’ve never needed or used. It is the same for many popular bits of hardware – they come with tonnes of rubbish.

Therefore Windows 8 really needs to change things. If there is a proper driver management system where all my drivers come from Windows Update and are lightweight, I’ll be happy. If there is a proper way of managing applications, I’ll be happy. I should be able to press one button to get rid of an application, but right now I have to wait for Windows Installer to catch up and do something. So I beg that if Windows 8 gets one thing right, it’ll be that everything is simple and easy in regard to the horror of uninstalling applications.

Here is my list of things I don’t like about uninstalling programs:

  • Having to be shown a survey after the installation has finished asking why I uninstalled (even more annoying if it has to open in IE)
  • Taking ages to load the uninstaller
  • Closing programs I am using which have nothing to do with the original program
  • Leaving programs on my computer that should have been uninstalled before hand
  • Leaving half the program on my computer claiming it is ‘preferences’ that I might like to use next time
  • Really bad estimates to how long it will take to uninstall
  • Scaring me out of the uninstaller (YOUR COMPUTER WILL NOT WORK IF YOU UNINSTALL THIS PROGRAM BECAUSE I’LL DELETE FILES FROM SYSTEM32! HA HA HA! kind of thing)
  • Progress bars that get to the very end and then restart again
  • Telling me that I can’t uninstall it because I’ve removed another component it requires – which requires it to uninstall
  • Full screen backgrounds with really disgusting gradients from the 90s.
  • Continually requesting admin permission
  • Making me restart
  • When it has finished, not taking me onto the ‘Finish’ screen automatically

Are Widgets and Gadgets dying or thriving?

When Windows Vista was first announced one of the new big, appalling, features was Windows Gadgets – little programs rendered by Internet Explorer that appear on the desktop. The idea was that the gadgets could be easily downloaded and installed, appearing in a simple organizer. Originally this seemed to be a good idea, and Microsoft showed that the gadgets were relatively easy to make, just using HTML and JavaScript.

The problem was that there was no easy way to make the gadgets – no visual designer and because it was limited to being rendered by Internet Explorer, there was very little that gadgets could really do. The gadgets had real potential, and today the potential is greater with HTML5, CSS3 and modern Javascript.

Not only is the idea old, the website is very old (http://gallery.live.com) and was built when live.com was modern – it was replaced by Bing in 2009, and has never been updated since – its almost sad really that it still looks horribly and that only 5000 gadgets have ever been released through the side, compared to millions of applications available for Windows.

But Microsoft has realized that gadgets do have potential with HTML5 and CSS3, and I believe that gadgets will not be featuring in their current form in Windows 8, but they will be the tiles that we see across the desktop of Windows 8, and will link better into applications. In this sense, Gadgets are thriving, but in their current form, gadgets are dying.

Windows 8: Another Vista? Another Disaster?

Microsoft do seem to have a worrying trend in their Windows products:

  • Windows 95 was relatively successful
  • But Windows 98 was far more successful
  • (Won’t mention Windows 2000 because it was only around for a year and was only used by businesses)
  • Windows ME wasn’t successful
  • Windows XP was Microsoft’s most successful OS
  • Windows Vista was a disaster
  • Windows 7 has been really successful
  • Windows 8?
To put it simply, Microsoft tends to plan out very big releases of Windows by adding hundreds of new ‘exciting’ features, Vista was an example of this. However, these big new features aren’t received well and so Microsoft is left to tidy everything up and release a polished version of what they had been working on before. It’s almost a ‘practice makes perfect’ approach. I do worry that Windows 8 is in the position to not be very successful because Microsoft are throwing up hundreds of new features and basically turning the whole thing upside down and taking the ‘Windows’ out of it and replacing them with ‘Apps’. A nice metaphor for apps is a house; a house with Windows allows the new in, allows you to see and explore the outside world, whereas take the Windows out and replace them with apps and you are blocked off from a whole world of potential.
My major concern about Windows 8 isn’t really that they are messing up the UI completely, but one sentence in the blog post that was posted: ‘compatibility with Windows 7 Logo PCs will continue’. This means that Windows 8 will most likely be compatible not only with Windows 7 machines, but also Windows Vista machines, because the requirements were almost identical. Considering that Windows Vista capable PCs began to be released in 2006, Windows 8 may well be able to run on six year old – potentially 32-bit – PCs. Consider that Windows 8 will need to run on tablets, this sort of makes sense.
Another concern about Windows 8 is that it is being marketed for touch quite a lot – the interface seems to have a lot to do with tablets and it is known that it will be running on ARM chips. However, this isn’t the first version of Windows to have touch support. Every version since Windows XP has marketed itself as being touch-friendly, and I’m getting a little bored of it. Microsoft still hasn’t got touch right in ten years.
From a developer’s point of view, I’m concerned that Windows 8 might be driving away from standard Windows applications towards HTML5 and JavaScript ones. We already know that applications written for Intel chips will have to be recompiled before they can be used on ARM-based tablets, and this suggests that Microsoft might be taking an easy approach and have everything running off of Internet Explorer, it saves them time and resources.
Furthermore, developers won’t actually know how applications should be coded until September with the Build conference. It may well be that everything we have seen so far with Windows 8 has been written entirely in JavaScript – which could be interesting. Internet Explorer is also a concern for Microsoft; they aren’t going to be releasing IE10 until 2012, however odds are that HTML5 will grow a lot before then, so Microsoft is going to have to be constantly updating IE9 to make sure it is up to standard.

Windows 8

This past week Microsoft began to release beta versions of Windows 8 to partners to help test it and, as always, at this point the first Windows 8 screenshots began to get leaked. There had, of course, been ‘screenshots’ of Windows 8 before this point, however these were generally Photoshopped versions of Windows 7. Windows 8 is going to be different from Windows 7, with a slightly modified UI, more features coming into play and ‘apps’ however it will remain with the same major build number as Windows 7 (6.x series, same as Vista). The internet has largely agreed that Windows 8 should be expected to be released in late 2012, three years after Windows 7 – which is a fairly average release cycle for Microsoft, but release cycles have been leaked from internal Power Points that show that Microsoft are planning on releasing it then. Finally, the name is something to also consider, and whilst it is pretty much respected to be codenamed Windows 8 at the moment, and that is also what Microsoft are calling it, I would not be surprised if Microsoft change the name at some point.

Microsoft seems to have a rather peculiar habit of turning the basic UI of Windows on its head with every new release. Windows XP brought Teletubbie land in, Windows Vista brought Gothic Aero and Windows 7 made Aero nice. Windows 8 seems to use a relatively similar sort of Aero design to Windows 7 and there are few major changes to note. The taskbar is remaining relatively similar, however the User icon has been placed next to the clock in the bottom right, and this is thought to use the standard User menu and will probably provide options to Switch User, Log Off, Change Picture, etc. The Aero Basic theme is also changing too, which was previously quite flat and boring, however it now seems to be better focused for the devices it is most commonly found on, such as netbooks and other low-power PCs.

Windows 8 is also going to be more aimed at tablets, with Windows being built for standard desktop architecture – also known as Intel Compatible or i386 – and also ARM, the chip set that is widely found in mobile phones, are more importantly, tablets. Microsoft is making suggestions that Windows 8 will be the first ‘tablet’ version of Windows, however in some way or another they have been aiming for this since XP, and in my mind there are technically enough features in Windows 7 to handle the touch requirements and interactivity of a tablet. There are appears to be another hardware change in Windows 7 in that the Desktop Window Manager, which handles all running applications and renders them, will be able to take advantage of hardware (GPU) and software (CPU) rendering, so that devices that have less powerful GPUs that normally wouldn’t be able to handle the Aero effect, such as netbooks and potentially tablets, would be able to handle it thanks to the CPU. This is a very relevant change, if true, because both AMD and Intel are looking at building CPUs that are essentially bridged CPUs and GPUs – AMD are dubbing these APUs, and AMD seem very keen to move towards this model after having rebranded all their GPUs from ATI to AMD.

The interface is also being geared towards tablets, with a new style of interface called Immersive, and the idea behind it is that an application may look like a desktop application on the desktop, however on a tablet it would have mobile app style controls. Microsoft seem quite keen to mimic many of Windows Phone 7′s features like this, and it is a very sensible thing to do. Apple are already doing some similar with OSX 10.7 Lion, which takes the principles behind OSX and iOS to create a more usable and interactive environment, and probably more familiar environment considering there are probably a lot more iOS users than OSX users. The interface is also further inspired by Windows Phone 7, with a similar ‘Lock Screen’ having been produced, and the ‘WP7 Font’ being used across the OS.

One of the core interface changes isn’t so much a change, more an idealistic move of progress by Microsoft. Previously the Ribbon had been used by many of the Microsoft applications, and it can now be used in 3rd party applications, though I haven’t seen many good examples. The Ribbon was created because there were too many problems with the older Drop-Down menus and toolbars, as people messed around with settings, lost buttons and essentially got confused. The principle behind the Ribbon was to create something that was ‘as-is’, so people could easily understand where everything was. At first, when it was emerged in Office 2007, the Ribbon was a little confusing to some people, and it frequently took a long time to adjust to the new interface, and even to this day I am trying to find buttons and options in Office that weren’t quite so hidden away in Office 2003. Microsoft is making a very radical move with the Ribbon and beginning to put it everywhere. It has already done this with Office and Windows Live, however the Ribbon appears to be included into everything down to Windows Explorer. The use in Windows Explorer worries me slightly, because at the end of the day Windows Explorer isn’t a particularly difficult piece of software to navigate. You have the core folders on the left, the current folder name at the top and the files and folders in that folder list in the area below – and there are bonus features like Copy and Paste. For most people, including myself, that really is all Windows Explorer is. Most people don’t even realize that ‘My Computer’ and ‘My Documents’ are in reality the same application.

Another change, that I am not certain about, is how the title bar in applications is going to be displayed. When the Ribbon is used, the title is centered (like in Word 2007) or gradually moved to the right of the Window by tabs on the Ribbon (like in Word 2010). However, when the Ribbon is not used the title is placed stubbornly next to the logo on the left hand side. On some, but not all, of the screen shots of Windows 8, it appears that the title is now centered. I will be quite pleased if Microsoft does go through with this, because it would be nice to have, and more importantly, would increase continuity with just about every other OS I have ever used.

The final thing that emerged today, and what inspired this article, is the Windows App Store. A screenshot shows an interface that seems to be a vague mix between Windows Live and the Mac App Store, and it appears that it will include an online store where apps can be downloaded and managed, which appears to be quite useful. I really hope that if Microsoft goes through with this, Windows installers will die. It will be nice to be able to install an application without having to worry where it is being installed, where shortcuts are going to be displayed, and which bit of endless license agreement I need to agree to. It will be nice to be able to click once on a link and instantly have the application downloaded and installed, just like on Mac or Ubuntu, which it itself has a very nice app management tool called the Ubuntu Software Center. I also hope that it will allow me to remove my applications with a click of a button too, because it is a nightmare trying to find the correct folder in the Start Menu, or having to go to the Control Panel.

I do have concerns about Microsoft making an App Store though. The first is whether it would be a commercial success or not. I am sure that many people would use it as a way of quickly downloading free applications, or finding them, but very few people actually pay for new software once they have bought a computer. They will generally buy a computer that comes with Office and Security software pre-installed, and then not worry about it afterwards. Another problem that may occur is an unwillingness to have to type in all the banking credentials into their Windows Live account, which is presumably what it will use, just to download something that costs about a dollar. Apple, of course, did not have this problem because the Mac App Store uses people’s iTunes accounts. Another concern of commercial success would be whether they make it backwards compatible, they are unlikely to make much profit if it is just targeted at one version of Windows, and I suggest that backwards compatibility to at least Windows Vista is required.

Overall, I am not entirely sure whether I am excited about Windows 8 or not. I am sure that, when the time comes, I will buy it, however at the moment I don’t think I need it, because Windows 7 is a perfectly good Operating System. If it was going to come out as soon as this Fall, I don’t think I would buy it, and I don’t think many other people would either. As of now, Windows 8 just doesn’t have enough (leaked) features to make it a viable purchase, however I think Microsoft could release it tomorrow as a Service Pack, and I would get it.

This slideshow requires JavaScript.

How to write a program/website that works

When a programmer writes a program, there are various stages generally starting with research and planning, coding, debugging and then going through the last two stages for a bit to get everything working fine. This is a good way of coding, and most programs work like this. Many commercial programs will also invite beta testers in either via a download on the internet or by an invitation. Beta testers are able to test more features in a larger program, and also let the programmer see how the program might be used.

Programmers don’t always think when the write programs though. They’ll fix one bug, but that might lead to another bug, and another, and another. Therefore, to ensure that the program is stable, the developer should go through checking every last bug, every last scenario.

Another method that is surprisingly useful for getting a program to work is to invite hackers to hack it. Later this week (Wednesday, if anyone’s interested) I am going to launch the beta of Friend+, a social network that I have coded in my spare time. Rather than invite people to test it out, I am going to send an e-mail to best hacker-friends and ask them to have a go at PHP/MySQL injection because I want to thoroughly test the site to destruction – though hopefully the security should prevent this.

Whilst it is all very good coding an application that works with no problems, it is still no use programming something that people don’t understand how to use. Therefore I recommend doing something that Mark Shuttleworth (the guy that came up with Ubuntu) recommended, and that is to have the development team sit in a room where they are not allowed to do anything but watch a group of people use their program. Because they are not able to help the users, it is therefore challenging them to create a complex but usable program. Programs should be interactive and appealing, so it is nice to have a little animation when there needs to be a little animation, but it should not tax the user or their computer in anyway.

The final thing to consider that really is vital is the system requirements for the program. It is no fun having to use a program that has a page long list of system requirements when all I really need to know is whether it will work, or not. A good example of this would be Google Chrome, because the requirement is simply Windows XP, Vista or 7. It doesn’t say that I need a Windows compatible pointing device – a very long winded of saying that I need a mouse, and I haven’t used a computer in years that doesn’t have a mouse. It also shouldn’t say I need a sound card, because that adds confusion. Every motherboard on the planet, almost, has some sort of in built sound card and frankly this can be assumed. Not everyone knows this, so may avoid your software because they don’t have a dedicated sound card. You should really only put the operating system as a requirement, and use the base requirement for that as your hardware requirement, though this need not be listed.

When the user is installing your program, they should be able to do the following:

  1. Continue to use their computer, hassle free
  2. Understand the process and not have to worry about where the program is going to install itself
  3. Not worry about the installer crashing as a result of software not being installed – the installer should install any software it, or the finished program, needs

Another niggle that I have about installing programs is when they decide to add a background to the process, covering up the rest of my screen. This is horribly nineties, and I frankly prefer the modern, Aero based designs that we have today.

Another consideration you may want to make about your program is how and whether you continue to support it. It really annoys me that when I go online and find a program that I have seen recommended somewhere that the most recent version was released five years ago and isn’t entirely compatiable with Windows 7. When a program is popular, it should be updated and supported if people want to use it. It is no fun using a program on a brand new computer that was designed ten years ago.

Ultimately, I suppose that I am getting at the fact that it would be nice if those kind programmers of ours would start making some decent programs that, quite simply, work. A bit like Apple products, I suppose.

Follow

Get every new post delivered to your Inbox.