Tag: Apple
Steve Jobs’ death: Is the world overreacting?
by Timothy Kline on Oct.08, 2011, under Technology
Everyone agrees: He created great gadgets. But, some note, he didn’t cure cancer, end apartheid, or bring about the fall of communism
Since Steve Jobs’ death Wednesday night, emotional tributes have been pouring in, proclaiming how the Apple co-founder changed the world and revolutionized computing, capitalism, and the way we consume media. But while fanboys weep and the media pontificates, some are wondering if we’re going overboard and mourning a CEO as if he were a saint. Are all the tributes and tears too much?
He wasn’t Jesus: ”Calm down people,” says Hamilton Nolan at Gawker. “A tech genius has passed on,” and it’s a “devastating loss to Steve Jobs’ close friends and family members, as well as to Apple executives and shareholders.” The rest of us need to get a grip and save the grandiose displays of public grief for those great figures who have unselfishly worked to cure disease, end wars, or fight poverty. Yes, Apple products are cool, but “they are not heroes, and neither is their creator, no matter how skilled he may have been.”
[Read more by visiting TheWeek.com]
Windows 8 – Is Microsoft ready for the future in computing?
by Timothy Kline on Dec.15, 2010, under Technology
Over the next several months, we’re going to be hearing bits and pieces about the upcoming Windows Operating System. Some of it will be rumors, and some of it solid fact—the reader will have to filter things however. Terms such as “user state virtualization,” “remote desktop services” and “virtual desktop infrastructure” are just now making their rounds on tech and IT blogs around the internet stratosphere, and I’m sure there will be plenty of other cool, geek-sounding acronyms and terms yet to come.
But for the average user, what will Windows 8 offer by way of improvements over Microsoft’s latest flagship operating system, Windows 7? And with the computing world in a fascinating state of technological flux amidst the promotion of “cloud-based” computing, the explosion of smartphones (and iPhones), as well as the emerging tablet PC market in 2011, what MUST Microsoft bring to the table if it’s to show itself capable of competing in a changing world when it comes to the way we compute?
Few experts will dispute the fact that the Windows 7 phone is late to the party, and offers little to no innovation. Rather, it appears that Microsoft has accepted its role of simply tapping into the ideas already in place in the marketplace. It further underestimated the netbook market and went so far as to cripple its Windows 7 operating system through corporate pre-requisites demanding that certain versions of Windows 7 could not run on computers that had a typical netbook screen size—in effect, shooting itself in the foot. Just as unfortunate is the belated appearance of the Windows 7 in a market that has quickly become saturated with Apple iPhones and Google Android smartphones.
On the other hand, Microsoft’s Windows 7 has quickly become the replacement operating system of choice for those who have outgrown Windows XP, or have upgraded to newer PCs. In light of the abyssmal issues surrounding Windows Vista, Microsoft finally got it right—and just in time.
At least for now.
But portability has become the new mantra for computer users around the world. Being able to access the information you want at the swipe of a finger on your iPhone or smartphone has certainly redefined computing in our modern day. But with the introduction of Apple’s iPad, the computing world saw its future for the first time once again. Netbooks came close in some ways, but really they turned out to be little more than lightweight laptops, with screens that severely hampered their usefulness in doing the work-related tasks that it claimed it would be able to perform.
And while the iPad and tablet PCs market themselves as being able to do the same thing, the real magic is in their appeal to the masses who have come to utilize the internet in a much different manner: through socialization. Nobody realistically expects to do work in PhotoShop or work in massive Excel spreadsheets on tablet PCs, but if someone wanted to do so, they now can.
But underneath all of that lies the operating system which makes it all possible—and then relies on apps that are capable of interfacing with that operating system to accomplish what the user wants. With virtual keyboards and simple finger pinches and taps, the end user is able to do a vast array of activities while no longer being chained to their desk. All they need is a connection, be it wireless or wifi.
If Microsoft stands any chance of making it in the new age of computing, it must be willing to redefine its interface philosophy as well as the way it builds its operating system. Although “cloud-basing” its OS may seem an attractive solution, as it has hinted at in the past couple years, it’s a losing bet in light of the fact that wireless companies are already making the shift in their bandwidth policy to charge end users by the amount of data that they access. Gone will be the days of unlimited data transfer—at least for the foreseeable future. If your device is operating from a cloud-based operating system, it will definitely affect your monthly bill in detrimental ways that should make everyone a little concerned, from the very moment that you turn your device on and that operating starts coming across the airwaves to your device.
Be that as it may, that returns me to the point I raised already: Microsoft must redefine itself in order to survive. It must go back to basics, and rethink the very kernel upon which Windows 8 will be based. If they really insist on continuing to make waves in the desktop PC market, then so be it. But they cannot simply port the desktop version of Windows 8 over to a mobile or portable device—it’s ludicrous!
At most, there should be three branches of the Microsoft operating system when Windows 8 is ready to be released into the public during its beta phase: Home, Professional, and Mobile. The formerly, pedestrian marketing gimmick of having 5-7 different flavors of an operating system should have led to someone being fired, plain and simple. There are only three types of users: the home PC owner, the business owner, and the on-the-go user. It’s really that simple. People do not and should not have to decide whether they need to purchase Home Basic or Home Premium. Ever!
Apart from that bit of inane thinking, let’s discuss what else Microsoft must be willing to do if they are to make it into the new age of computing.
The Windows 8 Kernel
At the heart of the operating system is a small (by comparison) section of code that geeks refer to as the kernel. The kernel assists with communications between the software and the hardware on a computer, simply put. It’s the middle man.
The operating system is pretty much everything else apart from the kernel, and is designed to make the end user’s interaction with their machine flow smoothly and, ideally, intuitively.
When Windows 3.1 was released, the entire operating system, including the kernel, required some 7 megabytes of storage space. Truth be told, there are MP3 files that are larger than the amount of space Windows 3.1 needed in order to work on a PC. When Windows 98 was released, it required up to 355 megabytes of storage space, roughly the amount of space that a VCR-quality television show now requires.
That increased exponentially when Windows XP hit the marketplace, suddenly requiring around 6 gigabytes of storage space in order to function (optimally), nearly the equivalent of a single full-length movie encoded onto a DVD. Now, of course, Windows 7 demands at least 20 gigabytes of storage space before it can even begin interfacing with your applications, which will then require still more space.
Of course the argument arises that storage space has increased in the marketplace, with most PCs housing a 320GB hard drive. But let’s be honest: the role of the operating system in the PC is still to interface with the hardware of the machine, and the user. That includes the kernel.
And this is why a mere port of Windows 8 desktop OS to a mobile device is doomed to failure: it’s preposterous to expect that the average 8GB mobile device can handle the storage requirements, and equally unconscionable to offer a stripped-down operating system in order to shoe-horn Windows 8 into a smartphone or tablet PC. It must be an operating system and kernel in its own right—further, if Microsoft can design an operating system that runs efficiently in an 8GB or even 16GB device while leaving a tremendous amount of storage space for the installation of apps, then they should be willing to do the same for any desktop OS.
In effect, Microsoft needs to design Windows 8 primarily for the mobile PC market, and then adapt that to the desktop PC versions using the same operating system and underlying kernel. It’s the only philosophical approach that makes sense. And obviously they can do that, because they were able to develop Windows XP by basing it on the underlying Windows 2000/NT kernel, which had proven a solid system.
The Windows Registry is dead… Long live the Windows Registry!
The next thing Microsoft MUST accept is that the former method of operating from a centralized Registry must end. There is simply no acceptable way that they will be able to continue to rely on that method of operation in a mobile device. It becomes a behemoth malady over the course of time as apps are installed and removed, while leaving behind traces of themselves in the registry. It’s unwieldy, it’s a disaster, and it should have been retired early on in the developmental stages of Windows Vista.
If Microsoft is going to be expected to taken seriously in areas such as virtualization, then it must dispense with the Windows registry. When an application is installed, it should be self-contained to help facilitate any virtualization, and to facilitate isolation from other apps in the event of a malicious software install. No application in existence should ever be allowed to write DLL files, for example, to the operating system’s own folders. EVER! If they need a DLL that badly, then they can copy such from the operating system’s verified library of DLLs if absolutely necessary, or simply reference it through an API. Although Microsoft has come a long way in protecting vital DLL files from being overwritten by older versions, for example, the fact remains that an application should be entitled to its own folder. That is its world while it is installed on the PC or mobile device. If it can’t survive without becoming a parasite, it shouldn’t be allowed to run in Windows 8.
Apple’s OSX is a perfect (?) example of how applications should behave while they reside on the operating system. Applications operate from their own self-contained box, if you will, with the Apple’s operating system handling matters beyond that point by essentially acting as a gateway to the rest of the computer system. Need to uninstall the app? No problem—you drag it to the trash and it wipes itself out of existence, completely. No remnants left behind in a centralized registry that can do nothing more than grow and bloat, slowing the user’s system down further and further to the point of frustration that can be fixed only by a system wipe and reinstall.
I have plenty of applications that operate perfectly fine from within their own folder, never having to be reinstalled in a fresh Windows setup; I simply copy the folder from its backed-up location, or even run it from that alternate location. There really is no viable excuse why every Windows-based app can’t do the same thing. For everything else, there is an API or similar method of utilizing the operating system.
Now, I fully understand that there must be a place to store variables, licenses, and their ilk. But today, a growing number of applications have started using the simple XML file, which has the added attraction of customization, if a computer geek feels so inclined.
At the least, rather than an embedded registry, Microsoft could design a system folder that would house the various applications’ XML files and then set permissions on those XML files to the respective applications—or elevated privileges for IT experts or system administrators (or geeks who aren’t concerned with mucking things up). This would greatly expedite and enhance application uninstalls by 1) keeping an application in its own folder exclusively, with the respective XML going to the assigned but protected System Application Folder; and 2) removal of said application simply being a matter of drag-and-dropping that application into the trash, with the final step simply being the removal of the XML file from the aforementioned applications folder.
Undoubtedly, I’m oversimplifying throughout this article, but that’s because the details and technicalities are far outside the scope of the article—however, this does not in any way diminish the approach to Windows 8 that I am suggesting. Design Windows 8 Mobile, and then adapt that to desktop PCs, Microsoft, instead of the other way around. Seriously!
Windows 8: Backwards Compatibility
It’s a given that there is absolutely no need for Windows 8 Mobile to worry about any sort of backwards compatibility with applications that were designed for older versions of Windows. Backwards compatibility would be something that is developed once the Windows core operating system of Windows 8 is brought together. Further, once development on the desktop adaptation of Windows 8 is underway, all backwards compatibility must be handled within virtualization. No, not by tacking on Virtual PC as Microsoft did with Windows 7 in providing a virtual Windows XP for those who purchased Windows 7 Ultimate—rather, but by completely rethinking the approach.
If Windows 8 is designed to keep applications in their own operating space to maintain system integrity and stability, then this same philosophy must equally be demanded (and maybe even more so) of older apps that the end-user will need in their day-to-day desktop activities.
Currently, Microsoft handles this in three fashions: If a program is 64-bit, it will be installed in the Program Files folder; if it’s a 32-bit program getting installed on a 64-bit operating system, it is installed in the Program Files (x86) folder; and if it really, really needs Windows XP, then the user can install it in Virtual PC.
Before I continue, I want to reiterate that backwards compatibility should only be handled at the desktop level. And since Microsoft would simply be adding the feature onto its core Mobile operating system, it can be done in a modular fashion.
Since, then, backwards compatibility of applications would be handled by the faster, more powerful CPUs of today’s and tomorrow’s desktop and laptop PCs, virtualization makes perfect sense. Run the application inside its own system “bubble” where it thinks it’s running on an older operating system, probably Windows XP for all intents and purposes, since applications that require Vista can typically run just fine on Windows 7.
This, of course, has certain problems that we can anticipate right from the start of development of the desktop tier of the Windows 8 operating system.
First, most XP apps will want to operate from the older Program Files folder. Windows 7 and Vista both accommodate this by providing handy gateways that essentially fool the program into being redirected to actual folders of the newer operating system, and installing such applications into the Program Files (x86) folder. Since Windows 8 requires applications to run out of their own self-contained folders, and since XP applications do not follow this procedure, the issue is how to make the XP app work in an environment that no longer exists.
Ideally, Microsoft would evaluate VirtualPC for adaptation as a kernel that rests on top of the actual OS kernel of Windows 8 and operate in such a way that it would act as a translator for the older program, and then shift data to where it needs to go, or translate it as necessary to meet the requirements of Windows 8. In effect, it would act as an on-the-fly compiler in much the same way as BASIC interpreters of old would take the program in BASIC language and convert it to Assembly Language so that it would run. On today’s machines, with the powerful multi-core CPUs that are available, this is a no-brainer. If an older program needs to run, then assign that program to one of the CPU cores and let the virtualizing kernel work its magic, handling such matters as file access and redirection, routine conversions from XP-specific code to Windows 8-specific code, etc, and then returning the expected data. The older application would, upon installation, be recognized as an older pre-Windows 8 program, and handed off to the virtualizing kernel for any further management, including seeing to it that it goes into its own folder just like every other Windows 8 application. The difference would be transparent to the end user.
But what about the DLL requirements of various older applications, which may be expecting certain system DLL files to pre-exist and be accessible. Again, this would be handled by the overlaying translator kernel. If a program that installing contains the DLL, then the solution is already provided, and all the interpreting kernel would have to do is redirect or proxy that DLL back to the program’s own folder. If it isn’t provided, and it’s a standard DLL file from the XP system library, Windows 8 would offer to download the DLL from Microsoft in much the same way that it offers to check for drivers online. This has the added advantage of only being placed on the Windows 8 desktop as needed rather than just-in-case and preinstalling them as part of the Windows 8 operating system. If the program does not come with the DLLs that it requires, neither does the Windows Update site have them, then, just as in the case of missing drivers, Microsoft would simply direct the user to contact the software manufacturer, who would be obligated to provide the necessary DLL. The DLL would then be installed into the application’s own folder and meet Windows 8′s self-containment requirements for operation.
Windows 8: Size DOES Matter
In order to keep Windows 8 at a manageable size, since it would first be developed around mobile devices which have a limited amount of storage space to begin with, Microsoft will need to rethink its API—that is, the way that any given program interacts directly with the operating system. Since tablet PCs and smartphones would have far less diversity in hardware than desktops, this again should pose no problem. However, once development of Windows 8 then reached desktop implementation, Microsoft’s Windows 8 will need to hand-off certain tasks to the underlying hardware of the desktop or laptop PC. Without question, today’s video cards have powerful enough GPUs to drive graphics, whether in the form of a UI (user interface), or gaming demands, and their respective drivers present the potential that Microsoft needs to keep its own operating small, tight, and concise while handing off jobs that can and should be handed off to the respective hardware devices, such as graphics and sound cards. Other devices, such as USB, Firewire, and Network Interface Controllers would operate in much the same way they currently do, through their own drivers and handlers, and accessed via the Windows 8 operating system and kernel—albeit in the same fashion as applications, that is within their own controlled operating space.
Likewise, older drivers could feasibly be handled via the virtualization kernel as needed in much the same way as older applications. When this is not a workable solution, the responsibility would fall back on the device manufacturer (who would, more than likely, simply insist on the user moving to a more current device, I’m sure).
The role of the operating is simple: to act as the gatekeeper and middle-man between the end-user and his PC or mobile device. It also interacts with the devices of that computer. But anything beyond that is best left to add-ons, modules, and even hacks. This encourages development in the community, and makes the operating system more attractive in the long run by first meeting the needs of the end-user, and then being friendly and open enough to address the wants that come later.
Windows 8: It’s THAT Simple, Really
As long as this article is, there is much more that has been left unsaid, and perhaps I will be able to return to this topic at a later date. However, the point I am making is that everything I have presented herein is simple AND it’s entirely within the capacity of Microsoft to accomplish, if it’s willing to do so. If it isn’t, then it may be writing its own epitaph in an age where people are moving away from their desks, but interfacing more than they ever have before, mostly because of the sheer ease and convenience of doing so. While there will continue to be a need for a point-and-click, mouse-centric style operating system to handle the drudgery of work-related activities that demand more than a smartphone, iPhone, iPad or aPad can currently handle in any practical manner, the fact remains that the day will come more swiftly than most realize when those handheld devices will be able to handle such tasks—if not through direct finger-oriented entry, than certainly through verbal directives, and it is in Microsoft’s own self-interests to act as though that day is already here, and Windows 8 may be its last chance to do so, at least in the consumer market—because PCs will be a part of the business landscape longer than they will be a part of the consumer world. And that’s a fact that Microsoft cannot afford to remain blind to, if we’re going to be honest about the shape of things to come.
Microsoft Decides to Exclude IE in Windows 7, EU Unhappy, Competitors Unhappy
by Timothy Kline on Jun.12, 2009, under Technology

The Browser and Search Engine Wars Continue
Today, the EU issued a response to Microsoft’s recent decision to not include Internet Explorer 8 in certain editions of Windows 7 that will be released across Europe. This decision by Microsoft is part of an ongoing legal case involving Microsoft’s monopoly across Europe, and the attempts of various 3rd party browser software developers trying to make inroads into the PC market. The EU’s response to this decision was an expression of unhappiness, holding the position that Microsoft’s decision offered less choices rather than more, and announcing that they will be making a determination of this latest move by the Redmond-based software giant, and whether it will affect the ongoing matter of monopolizing the market.
Still, nobody will be more surprised than myself that I side with Microsoft on this one. In spite of Microsoft’s problems and public image, on this, at least, they are in their right to exclude their own internet browser and leave it to the end user to decide which web browser they want to use, and install it. I say that with one caveat which I will come back to in a few moments.
Microsoft is, ultimately, a software development company. I can think of no legal precedent—nor do I believe there should be one—that compels a software developer to include competing developers’ software within their own. Is Coca Cola compelled to sell Pepsi products to keep things fair—because customers should have options? Should Mastercard offer Visa credit cards alongside their own—because customers should have options?
Some might argue that since Windows is an operating system that allows someone to run software, that the rules should apply differently. But if that’s the case, then when will we see Apple’s own operating system, Mac OS X, be compelled to offer competing web browsers to their own Safari browser? And just try to get Opera, Firefox, or Google’s Chrome browsers installed onto an iPhone or iPod Touch as an alternative to the built-in Safari. Nobody is hauling Apple in to court, though, to obtain a similar legal imposition as the EU is trying to impose on Microsoft.
Microsoft made significant inroads when it designed their upcoming Windows 7 to allow the disabling of Internet Explorer web browser so that the enduser can go with their own preferred browser. I think they deserve props for that, because previously, IE was always vying for top-dog position, and it did have a built-in advantage. Heck, Internet Explorer 7 and 8 even allow the end-user to select their own search engine instead of being stuck with Microsoft’s own search engine. That, too, is very satisfactory.
But software developers such as Opera say that Microsoft’s decision to not include IE is “not enough.” In Opera’s opinion, an operating system (should be forced to include) several web browsers (including their own, of course!). This goes back to what I was saying earlier in regards to Apple’s Mac OS X. Where is Opera’s developer hitting the airwaves, demanding that Apple be forced to include several web browsers in their OS? The same could be said of every Linux distribution out there.
Think about it! If EU rules against this latest decision by Microsoft, and software developers such as Opera have their way, it’s a boon for Microsoft’s competitors. What better way to get promotion and advertising and to get your product into the hands of the public than to accomplish it through the expense of Microsoft! Microsoft would, essentially, be forced to cover all of the distribution costs, advertising costs, and all other costs in providing software to the masses—in behalf of 3rd party vendors! It’s a brilliant idea (for the competitors, but it’s unfair and hopefully it’s found to be illegal and indefensible. Because once you start down that road, you’re also opening the door to every other competing software out there. Windows 7 would have to include alternative email programs, for example. Or alternatives to NotePad. Or, Windows Explorer.
There’s also the issue of security. Let’s say that the version of Opera included in Windows 7 distributions is later found to have a significant security hole that can affect the Windows operating system. What then? Does Microsoft stop the presses, download the latest Opera version and recompile their Windows 7 DVD, send the new version off to the press, and begin distribution all over again—at least until the next security hole?
Frankly, I find the whole scenario preposterous. Microsoft should not have to foot the bill for 3rd party vendors and developers. They should have to make their operating system compatible with optioning for alternatives such as Opera and Firefox and Safari—and they’ve done that. But monopoly or not, they shouldn’t have to market their competitors’ software, too. I’d even go so far as to say that if Opera and other developers are that unhappy with Microsoft’s decision—then they should develop an alternative operating system to compete with Windows 7. Then, they can happily include their selected web browser. Then, when their own competitors haul them into court and force them to redistribute other browser versions, they’ll know how it is for Microsoft.
But if they’re going to force Microsoft to bow to the demands of 3rd party developers, then I had better see the same thing done with Apple—which governs with a far tighter fist than even Microsoft—and then with all of the Linux distributions, such as Ubunto, Red Hat, and all the rest. Anything less, and they’ll have lost a great deal of respect in my view.
I mean, I’m the first to admit that in most areas I’m against Microsoft’s business practices and public debacles. Believe me, I’m not a huge fan of Microsoft sometimes—or a lot of the time, actually. But on this particular issue, it’s clear that their in their right, and I support their decision.
Which brings me back to the caveat I mentioned earlier.
If they exclude Internet Explorer, I’m really curious how the end-user will be able to download and install an alternative browser. You almost have to have a browser to download other browsers.
One option that I think would be acceptable and actually work is the built-in Windows Update application. All Microsoft would need to do is include some sort of linkage in the application that would take a person to listing of alternative browsers, and then allow the end-user to select one and install it via Windows Update. And that would be the extent of Microsoft’s obligation to 3rd party web browser developers.
So what do you think?
