Warranted Genuine Snarks
RIP: Web Applications?
Yesterday, Microsoft made public their plans for the future, and in wake of their technology revelations, Microsoft employee Tim Sneath predicts the death of the Web application:
The web browser is dead for anything apart from internet sites
...and even on the internet, its value will be reduced. Many people
have been building intranet sites because of the ease with which they
can be updated, deployed and manipulated. Avalon certainly seems to
provide the best of both the Windows and web models and then some -
highly graphical, media-rich applications that integrate into the
shell but involve no more “deployment” than a web page does to load on
a browser. ... I can quite imagine that in five
years time when you go to a large commercial website, the HTML view
will be a secondary option for broad reach, with an Avalon version
becoming the default for most (Windows) users.
I’m not sure if he’s right about the broad Internet — most pages, while they have some elements of application functionality, are still fundamentally pages, and HTML works well for them — but he’s certainly spot-on when it comes to the browser-based applications that I’ve been spent the last six years developing.
The Web browser is a lousy platform for most applications, and the
nature of the Web makes simple tasks kludgy and awkward. Consider a
common task like viewing a table of data, and editing a single record
in it. In a Web browser, you need to send the user all the data for
that table. When they click on the row to make it editable, you need
to send them back the entire page including all the table data,
with that row now editable (which means that you need to either use up
memory to cache it, or get it from your database server again). When
they save the row, you need to send back the entire page again,
including all the data (which involes another database hit, or
Now consider the way that could work in a rich-client distributed application like the ones Avalon (Microsoft’s new user-interface technology) and Indigo (Microsoft’s implementation of mature Web services) make possible: The browser goes to the application page and grabs the application and logic, then performs a Web service call to get the data to fill the table. (Note that it can get the data cleanly, separate from all the HTML formatting cruft that the Web page has to send.) When you begin to edit a row, nothing needs to transfer to the server; when you save your update, a Web service call goes back to the server containing only the data that you’ve updated, and gets back only the newly changed data for redisplay.
It’s cleaner, it’s more elegant, it’s easier-to-use, it’s faster, it puts less load on the server and the network, and it just makes sense.
The only reason HTML/HTTP Web applications are in wide use right
now are that they’re easy to deploy (having to go through an
installation process for each Web app you use would be ridiculous),
they’re easy to redeploy (you can make changes without visiting each
desktop), previous methods of distributed computing (CORBA and DCOM)
really sucked (and also made it difficult to use, say, a Linux server
to a Windows client), and they’re cross-platform on the client.
Microsoft’s magic future-tech (which isn’t done yet, but isn’t complete vaporware, either — they have huge amounts of early documentation available) solves most of these problems. It makes deployment and redeployment automatic, and it uses interoperable standards to communicate between the client and the server so enterprise apps running Java (or COBOL?) could interact with these rich Windows clients. The only thing it doesn’t have is platform-independence on the client side — the users need to be running Windows.
Maybe that’ll prove to be such a huge downside that Web-distributed apps will remain HTML-only, but I’m skeptical. Particularly for intranet applications, companies are quite willing to restrict their users to a standard, supported platform; and even on the broad Internet, there are a distressing number of sites that are (by design or accident) only workable in Internet Explorer 6 on Windows. Cross-platform support is generally viewed as a nice plus, but not essential, and if dropping it can get huge advantages in productivity (as it likely could in this case), I suspect many IT managers will do so quickly.
Perhaps I should retitle this entry to something like “RIP: Desktop Linux” or “RIP: Macintosh”...
The New Republic exposes rabid left-winger Howard Dean’s horrible socialist program:
Dean, as the national media is discovering, is the most committed
fiscal conservative to contend for a Democratic presidential
nomination since Tsongas. In Vermont, which isn’t constitutionally
obliged to balance its budget, Dean nonetheless made balancing the
budget his top priority, repeatedly spurning calls for greater social
spending and winning praise from the libertarian Cato Institute. He
has flirted with raising the Social Security retirement age and, as
Gephardt charges, supported far deeper cuts in Medicare than most
Democrats. On the stump, Dean delights in tough-love statements like:
“Tell the truth: We cannot afford all of the tax cuts, the health
insurance, special [education funding], and balancing the budget.”
It’s hardly news by now, but I’d be remiss in my quasi-tech-blogging duties if I didn’t point out that Mozilla Firebird 0.7 is out now. It’s slightly better than 0.6, which means it’s still comfortably the best browser around for Windows systems — and as a nice plus, it’ll render Unmistakable Marks more prettily than Internet Explorer or Opera. Check out those curvy corners!
Publishers and Producers, Take Note
Tom Doherty gives the secret of success:
You’ve got to care about what you’re doing — you even make more money
that way. The American public is pretty bright, and they will buy
things that are good. When you get in trouble is when you try to do
things mechanically: “I’m gonna manufacture this because I perceive
this to be the market.” I don’t think you can do it, not
consistently. You can’t manufacture something that supports a sense of
Yeah. You see this in every field — distinctive works that someone
cared about almost always do better than generic, derivative crap.
And yet, people keep making the generic crap, ostensibly for reasons
of bottom-line greed. I haven’t anything against greed in this
context, but I do wish it’d be a smarter form of greed.
I always love the New York Times’ anthropological articles about that distant and foreign land known as “The Midwest”. Today, they profile Madison:
ON an isthmus sandwiched by Lakes Mendota and Monona, Madison, the
capital of Wisconsin, is a progressive university town noted for the
good life: sailing, paddling and windsurfing in the summer;
cross-country skiing, hiking and ice-skating in the winter (which can
be so cold, in fact, that bundled-up Madisonians take on a unisex
look); good old Midwestern values all year-round.
The dead-pan parody is made even more amusing by not being intended as such.
Ed Yourdon has the prognosticating game figured out:
In 1992, computer guru Ed Yourdon warned that low-cost
Indian workers were poised to steal U.S. high-tech jobs...
“International competition will put American [computer] programmers
out of work, just as Japanese competition put American automobile
workers out of work in the 1970s,” he warned in his book, “Decline &
Fall of the American Programmer.” He included a sketch of the extinct
dodo bird, labeled “the American programmer, 1999.”
Exactly the opposite happened. With the advent of the Internet, and
the soaring popularity of home computers, the number of U.S.
programmers and other information-technology workers jumped 40% from
1992 to 1996.
Oops! So, Yourdon wrote another visionary, insightful look at the
future of the tech industry:
In “Rise & Resurrection of the American Programmer,” he said in 1996
that the U.S. culture of innovation promised a bright future for U.S.
info-tech workers. Wrong again. Jobs increased for four years, but
then slumped as the tech bubble burst.
Oops! Fortunately, amending his record now doesn’t require him to
write a whole new book.
Now, with the economy in the dumps, Mr. Yourdon is again warning of
disaster because of competition from low-priced, high-quality Indian
software professionals. He is even thinking of reissuing his “Decline
& Fall” book, but not “Rise & Resurrection.”
And then when things pick back up, he can let “Decline and Fall” go
out of print while “Rise and Resurrection” comes out in a new, revised
edition, all the while saying, “I was right the whole time.” The job
outlook for the American programmer may be in a state of constant
flux, but Ed Yourdon’s brilliant portfolio will allow him to keep on
prognosticatin’ no matter what happens.
Dante Hall of the Kansas City Chiefs has run kicks back for
touchdowns in each of the last four games, setting a new NFL record.
To whom does Hall attribute his success? His blockers? His special teams coaching staff? Nope.
“It was really simple,” Dante Hall said of his game-winning 93-yard,
reverse-field punt return, his fourth return for a score in four
games. “G-O-D. What can I say? I’m truly blessed right now.”
The problem for Hall is that God is a notoriously fickle
fair-weather fan. Back in 1999, He was helping the Rams dominate the
league, and Kurt Warner was giving Him mad props; only a few years
later, God had fucked up Warner’s hand and given him concussion after
Equally problematic is that once a returner gets a name for
himself, it’s not too hard to take him out of the game. Hall wouldn’t
have scored in this game if it hadn’t been for an incredibly fluky —
sorry, miraculous — play, and there’s roughly a 0% chance that the
Chiefs’ next opponent will let him see the end zone. Hall need only
look to Desmond Howard, the kick-returner who beat out Brett Favre for
MVP honors in Super Bowl XXXI, to see his career arc — after his
big-game performance, Howard was signed to a big contract by the
Raiders, didn’t do squat, and then bounced around from team to
Yes, Mr. Hall, someday you too will be the answer that gets a green
pie wedge in Trivial Pursuit.
A Bad Case of Mono
In my last, pessimistic entry about the developer story for Linux, I left out something: Mono. The folks behind Mono have looked at Microsoft’s .NET, realized how much better it was than traditional Unix ways of developing, and therefore decided to port it to Unix. So, they’re writing a C# compiler, they’re writing a CLR implementation, and they’re reimplementing all the .NET Framework APIs.
If you manage to squint your brain up real tight, this almost seems
like a really sensible thing to do. The .NET stuff is really
good, the people involved with Mono probably aren’t smart
enough to come up with anything as good or better, so maybe a straight
rip of Microsoft’s technology really is the best approach. Of course,
if you relax the cerebral pressure so you can think clearly, you’ll
instantly realize this is a terrible idea.
For one thing, the .NET Framework is huge, complex, and involved.
Re-implementing it isn’t something a handful of people can do easily.
Consider that Microsoft formally introduced .NET to developers in 2000
(at which point it had already been in the works for a considerable
time), and it didn’t roll out into production until 2002. It took a
huge number of programmers several years to create the .NET Framework.
How much longer than that do you think it’ll take a handful of
open-source guys to recreate it?
And while they’re busy doing the work that Microsoft did from 1999 to 2002, Microsoft isn’t standing still. .NET 2.0 is well underway, and on track for a 2004 release. Even if Mono could — miraculously — bring themselves up to feature-parity with .NET 1.0 in a bare year, they’d still be way behind Microsoft. (And even if they had their .NET 1.0 implementation done today, they couldn’t spend the time between now and 2004 trying to catch up to Microsoft, because Microsoft isn’t giving concrete details about .NET 2.0 just yet. The Mono people would need to wait for a beta release of the new code, try frantically to code to it, and then update frantically when the final version differs from the beta.)
But let’s say they succeed in their impossible task; let’s say the Mono developers somehow manage to re-implement .NET in a timely fashion, and somehow manage to stay current with Microsoft’s advances. What then? Then Microsoft crushes the project. Yes, some parts of .NET are public specifications, but a huge chunk of the APIs aren’t standards at all, and I’m sure Microsoft’s got enough IP in it to put a halt to Mono any time they want. (For now, the Mono people serve as useful idiots to Microsoft, giving them enough of a cross-platform story to sway the easily swayable.)
So, the Mono project is up against insuperable odds. Are the
developers savvy enough to overcome the challenges they face? In a
The main guy behind Mono is Miguel de Icaza, who happens to have a weblog. Let’s look at some of his brilliant recent entries:
Here, he explains why functions should return null instead of throwing exceptions. What logic does he offer for this stunning idea? It’s simpler! Yes, I suppose that throwing away robustness, traceability, and detail do simplify things; but oddly enough, I’m not convinced that this is a good tradeoff by his example of a FileOpen() function that can’t give any detail about why it failed. (After receiving an email from a more clueful Microsoft person, de Icaza realized why this was a stupid idea... but still thinks it was only a stupid idea in some contexts.)
- This is my favorite: He gloats about their implementation of XSLT despite it not being, as such, technically done. I can’t decide which is more mordantly amusing: The part where he thinks getting “the basics of XSLT” done in three weeks contradicts knowledgeable estimates of a year for the whole spec (when anyone familiar with software development knows darn well that the last 10% of the work takes rather more than 90% of the time), or the part where he’s surprised that their incomplete, “easy-parts” implementation is faster than a real implementation. Note the charming and casual use of alarm-bell phrases.
So is Mono the way forward for Linux? Maybe; there doesn’t appear
to be any other concerted effort to drag Unix out of its 30-year-old
reliance on C. But if so, Linux development is doomed to be forever
inferior to Windows development. It’ll be using the same basic tools
as Windows, but on Linux, the tools will be incomplete, out-of-date,
and badly implemented. If this is the best Linux can do, Microsoft
just needs to count the days until it actually hits 100% market
Plame it on the Rain
So it looks like someone in the White House broke the law and outed
Valerie Plame as an undercover agent. Who should we blame for it? Karl Rove? Donald Rumsfeld? George Bush? Well, let’s ask Rush Limbaugh:
There are a lot of Clinton people around in various departments of the
administration. It's not inconceivable that Bill and Hillary can push
a couple of buttons or pull a couple of strings and get this leaked.
You just never know.
(Via Ted Barlow)