Monday, May 22, 2006

OpenLaszlo is proof that Microsoft has blown it

I was just reading this article and came to terms with exactly how much Microsoft has blown it.

From the text:

OpenLaszlo supports a rich graphics model with scalable vectors, bitmaps, movies, animation, transparency, fonts, audio, streaming media, reusable components, user interface widgets, control panels, property sheets, keyboard navigation, browser "back button" navigation, as well as advanced WYSIWYG text and graphical editing tools.
That's amazing! Especially because Windows does all of that too! OLE has even made these components integrated into the web browser since something like 1996 (whenever IE 3.0 introduced "ActiveX").

The Pandora music discovery service is based on the music genome project, and it uses OpenLaszlo to implement a slick, easy to use interface for listening to your personalized internet radio stations via streaming MP3 audio. The service it available for free with advertisements, or by subscription without ads.
Rhapsody, Napster, Itunes, Urge... all have these features and are all on Windows.

Be sure to check out the contact details, search interface, the WYSIWYG email editor, spelling checker, and how the user interface adapts as you resize the window.
Sounds remarkably like every version of Outlook since 1997.

The Flash player itself is not open source, but it's freely available, often pre-installed, and widely deployed on 97% of user desktops.
Windows... not open source, almost always pre-installed, deployed on 97+% of user desktops. Any questions?

BTW, I couldn't help but notice a couple gems in here...

OpenLaszlo is designed to use open standards, and built with open source tools and technologies.
Why are people so hung up on "open standards" and "open source"? Flash is neither an open standard NOR open source.

In other words, OpenLaszlo is the velvet glove for the iron fist of PHP.
That's just a classic line I'll let you admire for yourself.


Getting on with the part about Microsoft...

How much more of this does Microsoft have to see before they realize they dropped the ball on rich networked applications. AJAX, Flash... are you kidding me? These are rinky-dink toys compared to what you can do with a desktop app. Yet Microsoft seems unable to convince anyone do to that kind of thing.

And the door is wide open. A lot of people hate web UIs. The problem I have--and a lot of people have--with these web interfaces is that nerds think they're doing users a favor by constantly reinventing traditional UIs. Obviously they think they've somehow improved on the wheel when actually they're just confusing average people who are used to working a certain way. New UIs often work for a specific application with a ton of depth, but it just doesn't work for an email client. Give me a list of my folders, my messages, etc.. Give me a delete button (that one is aimed at Gmail, who didn't have a delete button for like 1.5 years).

Plus, only in the last year has the web grabbed hold of the idea of draggable DIVs and stuff like that. We've only had that in Windows and MacOS for 20 years!

Windows has a consistent UI. Yes, it sucks to code for MFC but at least it's consistent! We can only hope Microsoft will do something worthwhile with WinFX to alleviate some of the pain (those of you familiar with Windows.Forms know by now that it's a thin layer on MFC). Windows is everywhere. Besides getting people to run an installer, is deployment on Windows a problem.

So why on earth aren't people writing to Windows and spending all of their time doing crazy Javascript and Flash hacks?

Microsoft has fucked up in two major regards:

  • This security shit has people thinking they're safer using a Flash or AJAX web app than using a Windows app -- and, sadly, they're right! It is safer to use a web browser than it is to install some random app on your machine. Unreal that Microsoft hasn't seen the implications that security scares would have on that.
  • Not pushing on rich applications earlier. The components have been there for years. Microsoft pushed for adopting SOAP in the first place, right? Now, granted, Microsoft focuses their efforts on the corporate customers when creating these things. I'm sure loads of companies are deploying .NET apps that talk via SOAP to a server. But how could they have not seen the eventual emergence of XMLHttpRequest as a competitor to Windows applications?
Basically Microsoft has screwed up so badly that no one in their right mind would develop an application on the desktop anymore unless it had to be. Since people just don't want to install apps for security reasons, and Windows gets so bogged down over time when you do install a lot of apps, why would you not do a web application instead? You can do your advertising business plan and people won't get mad (remember when ACDSee did ad-sponsored in like 1995-6? ... seems so uncouth now).

Although there are some new apps that have taken off lately for Windows. They couldn't have worked in a web application very well, and people who install them really like the user experience. Oh, did I mention they were by Google?

Picasa
Google Earth

[Edited for clarity 5/23/06]

2 comments:

Don Hopkins said...

Could you please clarify the point you're trying to make by comparing OpenLaszlo with Windows desktop application programming?

The crucial differences you're not addressing are that OpenLaszlo applications run exactly the same across all platforms, they do not require installing any native software or trusting the application with unrestricted access to your system, and OpenLaszlo is not tied to one particular runtime like Flash or Windows or the x86 instruction set.

You're trying to compare rotten apples and fresh oranges. Native Windows and Mac application like Rhapsody, Outlook, etc are tied to one particular platform, and you have to trust them with complete access to your system.

You're presuming that I only program in OpenLaszlo, and don't know what Windows can do. I've written many Windows applications and components using C#, MFC, OLE, DirectX, Dynamic HTML Behaviors, ActiveX plug-ins like BHO's, toolbars and rendering behaviors, so I'm well aware of what Windows can do, how Windows desktop applications work, and what problems and limitations the platform has.

You mention that Windows.forms is a thin layer on MFC, but you should also point out that MFC is a thick layer on top of WIN32, with a big wad of OLE stuck on the side. How many layers is it going to take, for Microsoft to "get it right"?

WIN32 is a old obsolete atrociously architected piece of shit, and no matter how many layers of lipstick you smear on that pig, it's still going to stink and squeal.

OpenLaszlo is not tied to Flash, in the same way that the Gnu C Compiler is not tied to the 68000 instruction set. Flash is just the first runtime it happens to support.

AJAX/DHTML/JavaScript is the second runtime that OpenLaszlo supports, because it's immensely popular right now, and it's not going away for a long time.

A third or later platform might possibly be Avalon, or whatever it's called whenever it's released. But that depends on Microsoft, so I'm not holding my breath.

The point is that the OpenLaszlo applications I write today will eventually run on Flash, DHTML, Avalon, and whatever other runtimes OpenLaszlo targets in the future.

You ask if I have any questions about Windows being pre-installed on 97+% of desktops. What about the rest, and other devices that aren't desktops? OpenLaszlo applications will run on ALL installed Windows platforms, IN ADDITION TO Mac, Linux, consumer electronics and embedded devices that support the Flash player or AJAX capable browser. Why would I want to limit myself to only Windows, and turn away all those other customers (especially in the huge embedded device market)? That's my question.

I'm "so hung up on" Free Open Source Software, because I want to minimize my dependencies on Microsoft, on Flash, and on any other software I don't have any control over. That's the point of using Free Open Source Software.

I'm well aware of the fact that Flash isn't open source, but that just strengthens the argument for OpenLaszlo!

That is exactly the reason OpenLaszlo is designed from the start to supports other platforms, like DHTML.

Because closed source software like Windows and Flash have a limited lifetimes, and their release schedules and the platforms they support are subject to the whims and prejudices of huge monopolistic corporations.

Adobe/Macromedia's FLEX is designed to lock you into Flash, but OpenLaszlo is designed to be platform independent, so it eases the migration to DHTML and other platforms as they evolve.

In the face of the vast errors in judgement that Microsoft has made about their software architecture, and their proprietary software development model, why are you wasting your time criticising them for trivial little problem like "blowing it" on web applications?

Suggesting that Microsoft should push rich web applications is like calling for them to rearrange the deck chairs on the Titanic.

First of all, that is a terrible metaphor. Microsoft is not sinking. Microsoft is soaring. If anything, they are rearranging the deck chairs on the Hindenburg!

-Don

Chief Fool said...

You're trying to compare rotten apples and fresh oranges. Native Windows and Mac application like Rhapsody, Outlook, etc are tied to one particular platform, and you have to trust them with complete access to your system.

Um dude, that's exactly what I said in my article.

You should try reading the entire article before getting all worked up and think I'm trying to compare Windows apps to OpenLazslo. My point is that Windows has done all of the things OpenLazslo offers for years, but that Microsoft has screwed up so badly that it's left the door open for things like OpenLazslo.