Categories
Geeky/Programming

What is an Operating System?

This is a core question. Might sound stupid or you might even ask yourself why I would blog this. But seriously, we need to take a look at the Operating System our code is running on. Windows? Mac OS? iOS? Linux, etc. But beyond that, what is core and what is “cruft” in the OS?

I think Microsoft got a hard lesson some years ago from the DoJ on what can or can’t be included in the OS from a monopolistic perspective. But even then, Apple adds things to their OS and bundles them, etc. So what am I getting at?

If you develop native apps (more so for OS X or Windows, not the Mobile OS’s) then you are going to run into compatibility problems. Hardware, software, OS level stuff. DLL Hell, the whole bit.

As a developer or even “product” you can only do so much, you have to mostly code for the “happy path” – and give some documentation and direction to your users. ex:

– This software only works with .NET 4.0
– This software only works on Windows XP SP3 and Windows 7
– You must have a sound card to make use of the features of this software
– You must have an internet connection to make use of this software
– This software only runs on versions SQL Server 2008 R2
– Running an anti-virus package or malware detector on the files the program reads and writes to constantly is going to slow performance.
– Port xxxxx must be open for external devices to connect

You get the idea. You can code some checks into your setup/installer or program on start up of the exe, but beyond that, you have to leave some things to the user. You can’t ever think of every scenario.

If some other program (albeit even an add on you can download after installing your OS from the vendor of the OS) is going to conflict with your program, then the user has to decide which program they want to use or come up with some compromise.

From a Microsoft Windows point of view, the OS is what you get from Microsoft. Not what you get from Dell or HP or whatever. No, Adobe Flash isn’t part of the OS. Either is Windows Live Messenger or Windows Live Photo Gallery or any add on you download later. Hell even .NET wasn’t part of the OS until Vista/7.

When developing your applications, focus on what is going to give your users more functional and business value rather than coding for things you have no control over. Leave it to support and documentation to handle the infinite unknown scenarios.

Code for a fresh Operating System, and supported patches as they come out. You might have a few RARE scenarios you code around but I would suggest against it. The user’s and other programs that might screw up your users OS’s, you can’t do anything about either.

After all that, it is more clear why Apple’s iOS is appealing, sandboxed applications make more sense. You worry about your stuff and I worry about mine type of deal. Less room for support nightmares because of misconfigured operating systems. I wonder if Microsoft will ever “get there”, but I don’t see it anytime soon.


Categories
Geeky/Programming Product Reviews

Thoughts on Windows 8 Details

Yesterday at All Things D, Microsoft announced Windows 8 (codename of course) details, and a first glimpse on video
 

Windows 8 Video #1

My initial reactions to this, as a consumer and as a development manager of an app that at this time is completely windows desktop .NET based:

HTML5/JS Apps

First reaction? Why not just use a browser? and How are they going to interact with the OS? What level’s of rights will they have to read/write file system, etc, etc. Also, what happens to Silverlight? C++/Winforms apps? Yeah they show old apps running “behind” the new UI, but what is MIcrosoft’s stance on development of these other technologies? WPF? They have told devs to build using these tech’s for desktop for years, now, lets go HTML5/JS? WTF? Will apps run in browser too? On a mac? iOS?

Tiles

First reaction? Looks like an exploded Windows Phone UI, WP7. Which at first blush looks cool but I have found usability to be painful. Seems to be more of a shell UI on top of Windows 7 (or whatever). They should call it Windows Blinds Smile

In General

I think that this will be a good refresh for the OS, but it might take a few iterations for this new UI to be used heavily. My take? Users will get the OS installed and (hopefully there will be an option to) turn off the new UI and go back to what they have used for years. Slowly but surely the new UI will take hold with some cool apps and more and more people will use that and get used to it, abstracted away from the core OS explorer, etc.

Looking forward to trying it out in beta, and when it goes live. I will give MSFT this, they keep things changing so devs have to keep learning! Oh yeah, and PDC is no longer, it is now BUILD – http://www.buildwindows.com/