Pinderkent

Pain and glory from the trenches of the IT world.

Will Chrome OS be the most innovative consumer-grade operating system since BeOS?

Posted on Thursday, November 19, 2009 at 2:04 AM.

Earlier this year Google announced Google Chrome OS. Subsequently, some early indications of what it may offer came to light. And now there will apparently be an event held soon, where further details pertaining to Chrome OS may be made available.

I am interested in seeing what Chrome OS may offer us. Based on the original announcement, it sounded like it would bring some fresh ideas to the table. This is something we really haven't seen for well over a decade now. Modern mainstream desktop operating systems like Mac OS X and Windows 7 aren't overly different from their equivalent releases of 10 to 15 years ago. Mac OS X is still remarkably similar to NeXTSTEP and Mac OS 9 and earlier, while Windows 7 still follows the concepts introduced with Windows 95.

Looking back, the last truly innovative desktop operating system is likely BeOS. I covered many of the excellent design decisions behind BeOS in an article earlier this year. In short, it was far too many years ahead of its time. It's only today that we're getting the hardware that it would excel on. And although the original BeOS implementation can best be considered dead, the Haiku project has been making good strides creating an operating system inspired by it.

If Chrome OS can bring even just a fraction of the innovation that BeOS brought, I think we should be able to consider it a success. Unlike BeOS, Chrome OS has a powerful backer, which may very well be what it needs to become a mainstream competitor to the existing consumer-grade operating systems that are widely used today. So I'm looking forward to the upcoming announcements regarding it, and hopefully we'll be able to start using it out quite soon.

Permalink: http://pinderkent.phumblog.com/post/2009/11/will_chrome_os_be_the_most_innovative_consumergrade_operating_system_since_beos
Share:

Web applications are a poor approach for developing high-quality, cross-platform applications.

Posted on Wednesday, April 29, 2009 at 1:13 AM.

I just finished reading Marcus Cavanaugh's recent The Cross-Platform Myth article. The first two-thirds or so of it are quite correct. He points out that when an application is developed for two or more desktop environments that differ in some pretty fundamental ways, like Windows and Mac OS X, the result usually isn't too great. The app likely won't fit in well on one or more of the platforms, which can lead to usability problems, and may even result in users not adopting the software.

At the very end of the article, however, he writes the following:

The only acceptable cross-platform UI toolkit lives in your web browser. If you want your application to work on both Windows and OS X, create a web application. In the browser, you can freely design a custom user interface that won't seem out of place on any operating system. Users understand that web sites operate under different rules.

I find this reasoning quite absurd. First of all, Web browsers are some of the worst-conforming desktop applications around. Early in the article, he even mentions Mozilla Firefox as an example of a cross-platform application that just doesn't fit in anywhere. But Firefox isn't the only browser guilty of this. The Windows port of Apple's Safari Web browser clearly doesn't behave like a typical Windows app, either. And to some extent, the same even goes for Opera.

So not only are Web browsers themselves perfect examples of UIs that target the lowest common denominator, but the environment that they present is that very same philosophy taken to the extreme. The only consistency is that there's inconsistency. The built-in UI controls or widgets are extremely limited. And everyone who has even had to do a minor amount of Web development knows that the environment differs significantly between the different browsers.

When it comes to Web applications, it's not that they "won't seem out of place on any operating system." Rather, it's that they won't fit in with any existing desktop environment. In a sense, Web applications are typically so horrible in that respect that most users can't even recognize how bad these applications are. For some odd reason, users tend to use confusing, inconsistent or poor-quality Web applications far longer than they would the desktop equivalents.

The situation likely won't improve. Like Marcus mentions in a footnote in his article, RIAs only make the bad situation even worse. They allow for further inconsistency in an already inconsistent environment. And the other "innovations" we are seeing are just poor attempts to bring existing desktop application concepts within the browser. The canvas element and O3D are good examples of this. They both pale in comparison even to the cross-platform, desktop-equivalent abstractions of libraries and APIs like wxWidgets, GTK+ and OpenGL.

In fact, the Web development community has even gone so far as to try and abstract away the variety of programming languages we have available with a typical desktop environment. We are stuck using JavaScript, which ends up bringing us the worst of all worlds, like the Web application development environment itself.

All in all, those of us who have developed real desktop applications for years and year end up being quite disappointed with what Web development offers, or more correctly, all that it doesn't offer. We've thrown out everything we learned during the 1970s, 1980s and 1990s, only to replace it with half-baked, browser-based "alternatives" over the past decade. We've essentially taken a huge step backwards, amplifying the very problems that Marcus spoke out against during the first part of his article.

Permalink: http://pinderkent.phumblog.com/post/2009/04/web_applications_are_a_poor_approach_for_developing_highquality_crossplatform_applications
Share:

Web-based computing is what's making Windows irrelevant in the enterprise.

Posted on Sunday, April 19, 2009 at 9:57 PM.

Today I read an article that discussed a variety of issues relating to Microsoft Windows today, including the general disappointment surrounding Windows Vista, and the apparent lack of interest in Windows 7, especially in the enterprise. It goes on to suggest that Microsoft themselves are responsible for this, and Apple will gain the most from this situation.

I don't think we're really seeing Microsoft tarnishing the Windows brand. In some sense, it's not even possible for them to do that. Many people, and not just Mac users, have an extremely low opinion of Windows to begin with, along with many of Microsoft's other software products. Although the NT-based systems typically don't suffer as badly from the chronic crashes and security flaws that plagued Windows 95, Windows 98 and Windows ME, users of those earlier versions will forever associate the names "Microsoft" and "Windows" with poor-quality software. Even today, I rarely meet people who outright like Windows. Most of its users just seem to tolerate it.

If anything is causing Windows to become more irrelevant, it's the widespread move towards Web-based applications. This isn't a novel observation, by any means. It has been obvious for some time now that many applications that were formerly desktop apps have been replaced by Web-based alternatives for a large number of people. People using Web-based email services like Microsoft's own Windows Live Hotmail and GMail instead of desktop mail clients is one significant example.

The move towards Web-based applications is a trend that has been common within enterprise software development for years now. More and more companies are replacing what were traditionally desktop applications with Web-based alternatives. Now this often isn't a good idea; there are some applications that are much better left as standalone apps. But in many domains, the software the users are interacting with is solely browser-based, and thus the underlying desktop operating system is essentially irrelevant.

When the user is interacting mainly with a Web browser, it really doesn't matter what operating system is underlying it. Mozilla Firefox and Opera alone are typically good enough for using most Web-based apps. So the need for Microsoft's software is diminished. This is why GNU/Linux has become more appealing for many enterprise users. It's not about GNU/Linux being more capable than Windows, but rather the opposite; it's easier and cheaper to strip GNU/Linux down to provide just the bare essentials for running the browser used to access the Web applications.

Microsoft saw the threat that Web-based apps posed to desktop applications, and put forth their Windows Live and Office Live initiatives. I'm not sure if these have been as successful as Microsoft would have hoped. In my experience, I've seen little to no serious adoption of these technologies in enterprise settings. This is one area where Web-based applications typically aren't as useful or acceptable. Many enterprise users want greater control over their documents, namely where they are stored and who can access them.

I think it's doubtful that Apple will truly make significant inroads into the enterprise. While some such users will likely switch to Apple's hardware and software, and others will no doubt consider it, given the current cost of Apple's offerings I don't see it happening on a wide scale. Much enterprise computing has been driven by large purchases of lower-quality and very low-cost PCs. As mentioned before, with many organizations moving towards Web-based applications, the need for overly powerful PCs is diminished. With low-end PCs still being suitable, many IT managers will need to cut costs by using GNU/Linux instead of Windows, rather than purchasing more expensive hardware/software combinations from Apple.

So we're likely looking at a more diversified computing world, with some users using desktop apps, others mainly using Web-based apps, and many using a mix of both. It's very unlikely that we'll see Apple's products, or any other company's products, achieve the same market share that Windows holds. There's just too much impetus at this time for such significant changes, even if future versions of Windows are as poor as Windows Vista was.

Permalink: http://pinderkent.phumblog.com/post/2009/04/webbased_computing_is_whats_making_windows_irrelevant_in_the_enterprise
Share:

Responses to the release of Safari 4 Beta.

Posted on Sunday, March 08, 2009 at 2:26 AM.

It has been over a week now since Apple released a public beta of their Safari 4 Web browser. During this time, much has been written regarding this preview of what will likely become a very widely used Web browser. This article aims to summarize some of this discussion.

Reviews and First Impressions

  • Safari 4 Beta Released: Focuses on the Mac OS X version, giving a good synopsis of the major changes and new features. Sees the speed gains as the most impressive improvement.
  • Safari 4 Beta is Worth a Look: Points out the ideas drawn from Google Chrome. Doesn't seem overwhelmed by the browser, but doesn't sound displeased, either.
  • Safari 4 First Impressions: Also points out the inspiration drawn from Chrome and Opera. Mentions how the Windows version feels and behaves more like a Windows app, but also very supportive of the UI updates in the Mac OS X version.
  • Safari 4 a big step up, but not as far as rivals: Not really a negative review, but suggests that while improvements have been made, there's nothing really exceptional about Safari relative to Firefox, Opera and Chrome. Does seem to support the UI changes.
  • Safari 4 Beta - Nice and Speedy: A generally positive review, with focus on the better performance, the UI updates, and Top Sites.
  • Safari 4: A positive review with emphasis on Top Sites, the new tab placement, the other UI updates, and the performance improvements. Includes video commentary.
  • Safari 4 Beta: UI Disaster: Points out the problems with Safari's tab placement, with comparisons to Chrome. Suggests that he won't use Safari on his Mac if the tabs remain where they are.
  • Defending Safari 4 tabs: Does acknowledge the problems with Safari 4 Beta's tab placement, but hopes that "this is the first experiment to bringing system-provided tabs to applications."
  • Safari 4: First Impressions: Describes Safari 4 Beta as a "big step forward." Also points out the heavy influence of Chrome on Safari 4, but suggests that it's more advanced than Chrome when it comes to, for example, bookmark management.
  • Safari 4 Beta: Impressed by the speed of Safari, but thinks he will remain a Firefox user.
  • Safari 4 UI breakdown: A review of the Safari 4 public beta that focuses almost entirely on the various UI changes. Mentions some of the less-obvious UI updates and changes that other reviews may have missed or glossed over.
  • Safari 4 Review: A general review of the new and updated functionality, but also mentions bugs and problems relating to Mail.app and 1Password.
  • Safari 4 Beta: the best browser for Windows?: A review by a Windows user who is quite impressed with the Safari 4 beta, including Top Sites. Noted some bugs, but mentions that it "shows a lot of promise and once it is ready, I will likely make it my primary browser on my Windows machine."
  • First Look: Safari 4 Beta: A relatively detailed summary of the changes and new features of this beta. Generally impressed with the browser.
  • First impressions: Apple Safari 4 beta: A review that focuses on the Windows version. Includes a number of screenshots, including visual comparisons with Chrome and Firefox. Suggests that Safari 4 "bridges the gap between Firefox and Google Chrome."
  • Safari 4 Beta - First Look: A detailed review of Safari 4 Beta, including numerous screenshots of both the Windows and Mac OS X version. After using it, however, the author says that "Firefox is still my browser of choice."
  • Safari 4: Thoughts and Comparisons: Emphasis on the Windows version, with a generally negative opinion of the UI changes on Windows at first. Was impressed with the speed improvements.
  • Safari 4 wows web with speed: Emphasis on the speed improvements, but also mentions Top Sites and the tab placement changes.
  • Safari 4: Webkit gets dressed up: The author of the review says that his "biggest pet peeves with Safari have been addressed with this release." However, also mentions that it's "just a pretty toy to play with."
  • Headed towards the finish line, Safari 4 takes the lead!: Says that Safari 4 Beta is "easily the best browser for the Mac." Is impressed with the functionality that appeals to Web developers.
  • Safari 4 Public Beta first impressions: Some comparisons between the Mac OS X and Windows versions, with it being suggested that the Windows version is slower.
  • Safari 4 First Thoughts: Happy about the JavaScript performance gains and location bar improvements. Describes the Top Sites UI as feeling "overly glitzy." Somewhat conflicted about Cover Flow.
  • Safari 4 beta, a closer look: One of the more detailed reviews. Pleased with the speed improvements, and unconcerned about the new tab bar placement. Warns about possible Mail.app problems.
  • Reader Reports: Safari 4: Many short reviews and summaries from a number of users.
  • Safari 4 Review: Sees putting the tabs at the top of the window as a good idea. Describes Cover Flow as "useless".
  • Safari 4 Beta's new tabs are particularly bad on Windows.: My own review, pointing out the problems I noticed with the new tab placement on Windows.

Benchmarks, Multi-browser Comparisons and Speed Tests

Tips, Tricks, and HOWTOs

In general, people seem quite impressed with Safari 4 Beta. Almost everyone noticed the significant speed improvements it brought. A number of the reviewers mentioned how obvious it is that Safari 4 has been influenced by Google's Chrome. With respect to the new tab placement, Mac OS X users seem to be more accepting, while Windows users tend to have mixed feelings, or be against it completely. Overall, my impression is that it won't be as revolutionary of a browser as some people maybe think it should be, but it will likely be a browser that many people are pleased with, and an increased market share does seem likely.

Permalink: http://pinderkent.phumblog.com/post/2009/03/responses_to_the_release_of_safari_4_beta
Share:

8 GB of RAM needed for a typical Windows development system? My old NeXTstation had 16 MB of RAM and worked just fine.

Posted on Monday, February 16, 2009 at 12:27 AM.

Today I read an article suggesting that 8 GB of RAM is "only just enough" memory for a typical developer's PC running Windows. I'm not here to dispute that claim. Indeed, the RAM usages given in the article are somewhat realistic. Using recent versions of Microsoft's various software and database development tools does require a significant amount of RAM. In many ways, the need for that much RAM is unfortunate and likely quite unnecessary.

In the mid-1990s, I had the pleasure of doing software development on a NeXTstation Color. Unlike the base NeXTstation Color models, which came with 12 MB of RAM, the system I was using had been upgraded at some point to 16 MB of RAM. But by that point, it had been used by several developers before being passed on to me. Yet it was still an extremely powerful development system.

Now, it might be argued that Windows development today isn't much like the software development we did on a NeXT system 15 years ago. In some sense this is true, but for the most part very little has changed. Objective-C is relatively similar to C#. The various NeXTstep kits are fundamentally similar to the .NET standard class library. We had Project Builder for development, as well as Interface Builder for drag-and-drop GUI creation. And although it wasn't available yet when I was developing on that NeXTstation, NeXT would later introduce WebObjects for developing Web applications.

Anyone who has done any Mac OS X development lately has a general idea of what it was like to develop software on a NeXT system. It was an experience quite comparable to software development today, due to how far ahead of its time NeXT and their software offerings were. And although many people today might find it difficult to believe, we actually were able to develop relatively complex business software on a system that had only 16 MB of RAM. To put things into perspective, the article I read today claims that at least 500 times as much RAM is needed today than was needed 15 years ago. But the software we're developing today really isn't much more complex.

It's obvious why this has happened. Since then, the price of RAM has dropped considerably. It has become far cheaper to acquire more RAM than it is to pay a developer to write more efficient software. In fact, we see this reflected throughout the entire software stack. It's no secret that Windows Vista requires a significant amount of memory to run efficiently. The same goes for .NET. Developer tools like Visual Studio are also very memory-intensive. Given the platform and development tool vendor's general disdain towards writing memory-efficient software, it's no surprise that the applications developed by software developers using those tools would also consume more memory than necessary.

One thing to consider is how we now approach a simple task, such as reading and writing data files, versus how it was done 15 years ago. Today, we're likely to see some given data persisted to an XML file on disk. To work with such files, we'll need an XML parser, some way of representing the XML document in memory, custom code to tie everything together, and so forth. Fifteen years ago, we would have used a custom binary format, and written the serialization and deserialization code ourselves. Although it would have taken longer to develop, the overhead in terms of memory usage and CPU usage would have been considerably less with the custom binary format.

But to require over 500 times as much memory today is still quite excessive. I think it just goes to show how little developers today care about minimizing memory usage of their applications. The low cost of RAM no doubt helps our "cause" immensely. Today we can get away with waste that would have been considered intolerable a decade ago. But on the other hand, I think we are shortchanging ourselves to some extent. The memory we consume today, essentially out of waste and carelessness, could no doubt be better used for other purposes. Extra memory put towards even just caching data from disk is typically beneficial to system performance, even in systems with significant amounts of RAM.

Fifteen years ago, I don't think I would have believed it if somebody from now had come and told me that we'd have low-end PCs with 4 GB of RAM, typical development systems with 8 GB, and we'd actually need that much RAM to run contemporary applications. Yet here we are. And I don't even think it'd take that much more care or effort to minimize the amount of RAM we use, or at least bring it down to a more reasonable level. To have any effect, we'd need to see this initiative at all software levels, from the operating system, to any higher-level runtimes like .NET and Java, to our software development tools, and finally to the applications we develop. Unfortunately, I don't see this happening.

Permalink: http://pinderkent.phumblog.com/post/2009/02/8_gb_of_ram_needed_for_a_typical_windows_development_system_my_old_nextstation_had_16_mb_of_ram_and_worked_just_fine
Share:
Feeds
  • RSS 2.0 Feed
  • Atom 2.0 Feed
Tags
Archives