Archive

Archive for the ‘Windows’ Category

PowerShell: Bringing it all Together?

February 16th, 2007
Comments Off

Is Microsoft’s PowerShell the a missing link between the command line and GUIs? In many ways, yes.

What I find most striking about demonstrations such as these (check out the invoke-sql cmdlet and dir Command videos) is not so much the idea of a more powerful shell as it is the integration of GUI elements with scripting. I can not comment too much on PowerShell itself — I have installed it on a few computers, it’s rather slow to start up, but it makes the noble gesture of accepting UNIX-style commands — but, watching those videos, I couldn’t help but feel a twang of jealousy.

So often while working in languages like Ruby, one runs into walls when the goal of graphical interface comes up. Sure, it can be done, but the incantations needed to bring up and populate windows always strike me as ill-favored when viewed in comparison with the concepts more readily expressed in such languages. However the chart output piping demonstrated in those PowerGadgets videos is just the sort of thing I’d love to be able to do from any language. No bothering with windows, title bars, etc. Instead, it’s just a matter of passing in some structured data and getting reasonable output. And hey, we already can do this pretty well on the web!

A huge barrier is, of course, platform differentiation. Miguel de Icaza recently defended some of Microsoft’s past actions as being necessary concessions to the goal of platform integration. He made the point that while Java may be cross-platform, any application that uses Cocoa bindings runs the risk of being tied to Apple’s platform. Yet, this is a sensible action for a couple reasons: you don’t want to reinvent the GUi wheel on every platform, and you do want to provide users with a consistent, intuitive experience. These goals lead towards platform integration, and there’s nothing wrong with that.

But where does this leave your favorite language of the month? Languages with small communities can’t really afford to be single-platform as that would further diminish their potential audience. Instead, they, for the most part, aim to be as cross-platform as possible at the expense of extensive support for the features unique to any particular platform. Which leads me back to PowerShell. PowerShell seems to be doing a few things such as component inter-operation via typed object interchange, and easy integration with existing class libraries (including GUI components), that are quite forward looking. So I wonder, are the platform-makers the only ones capable of elegantly bridging the gap between scripting and graphical interfaces? Both Apple and Microsoft have demonstrated some ability to provide such capabilities, and I look to Adobe introducing Apollo to see if the platform continues to be the key.

PS: Of course, the web is the platform many of us worry about today. I recently built what would have been a standard GUI application using Ruby and OpenLaszlo as an exercise. The outcome of that exercise was predictable: OpenLaszlo is a great library for building web applications, but it sure would have been a lot faster for me to use VS2005 to put together a Windows Form.

Anthony .NET, Microsoft, Software, Windows

Leaving the Browser Behind

October 26th, 2006
Comments Off

The question I have regarding Adobe and Apollo is whether this will be a revolution or just another cross-platform GUI framework. The differences this time are that you should be able to avoid having to recompile, and you’ve got first-class web-related constructs featured heavily. I think both Apple and Microsoft have ample opportunity to provide technologies that compete on at least some issues, but it’s not clear that they will do so in the near future.

A significant challenge for Apollo will be letting application developers present the unique user experiences that have helped drive web popularity without clashing with the rest of the desktop experience. If just a couple applications are available, and they are horribly dissonant with the rest of the desktop, then this efforts runs the risk of being nothing more than a niche for developers who have no choice but to be cross-platform and use languages popularized by the web. On the other hand, if those aspects are instead leveraged as advantages in addition to a base that already competes with existing desktop development models, then Apollo has a wonderful opportunity to become a major player on the rapidly changing desktop.

Anthony Apple, Microsoft, Software, Windows

License to Build

October 17th, 2006
Comments Off

Microsoft seems to have hurled itself into the fire once again. Paul Thurrott attempted to step in and clear things up, but I think Ars did a better job. Right, wrong, it’s not up to me, but I find it interesting from a strategic point of view.

(Warning: The following is all conjecture.)

It seems to me that Microsoft would like a piece of Apple’s pie with regard to operating system sales. Not in terms of market share, of course, but in terms of the transaction. By forcing customers to buy a copy of the OS with their new computer, Apple avoids the problem of an individual, or group, buying several new computers and sharing the OS among them. Instead, the worst case for Apple is someone buying one retail copy of a new OS and installing it on several old computers. But that is a solvable problem: include features that require new hardware. Your old system won’t perform so well, so you will be motivated to buy new hardware, at which time you will pay the software price. No complicated license enforcement necessary! The hardware enables the new features, and people aren’t as good at stealing hardware as they are software. The computer is the dongle.

By discouraging retail sales in favor of OEM bundles, they are also able to wrap their margin up in a more substantial purchase in which the customer takes something home. So this strategy also gets away from the question of how people feel about paying for intangibles (specifically, software).

At first blush, the notion of emulating Apple at the expense of customers who may turn to Linux seems to be a dismissal of Linux as a threat on the desktop. Linux clearly strives to meet the needs of the computer enthusiast, but has historically had a bad reputation as a mainstream alternative. Instead, Linux’s most successful inroads into the home have come in the form of OEM-installed operating systems on consumer electronics. Instead of a dismissal of Linux on the desktop, this is an acknowledgment that the desktop is a service, not a product, and that products are more easily sold when there is a physical component. To this end, we have a de-emphasis of retail Windows accompanied with total focus on Windows Live and Windows Mobile. Microsoft wants to sell you devices or services, but not software.

Anthony Microsoft, Technology, Windows