Thursday, March 29, 2007

Oh Oracle...

I found this linked off of some discussion on the daily wtf and thought it was amazing. It's a Tri-state boolean (a broken enough concept, or at least name as it is) with four states. I love it.

Wednesday, March 21, 2007

Follow up: Model-View-Doomsday

Well, it's happened again. I've posted what I consider to be some fairly provocative thoughts here, and the next day some extremely relevant stuff came up on Slashdot.

If you haven't read my previous post, you should. Then you should read this guy's post, which was on linked off of Slashdot today. He's saying a lot of the same things that I predicted:

  • Nice, Open, APIs seem like they may be going away (Google's search API for example)
  • Widgets and Mashups are being fought by the services that they are built on

On the surface, it might seem like he agrees with me. The only thing is, his reason is that he just doesn't like or trust corporations and think they benefit more from fighting each other than they do from sharing information. That's not the reason I gave, or at least, it's so unarticulated that it's practically worthless.

Predictions based on perceived human nature are deeply flawed in my opinion, and often turn out to be wrong. Beyond that, the idea that working against competitors is always the best economic course of action, while a classic basis for capitalism, is quite outdated. The mathematician John Forbes Nash, the character that the film "A Beautiful Mind" is about, showed us way back in the 1950's that sometimes a more profitable solution involves cooperative, or at least, non-competitive strategy between opponents. This is called a Nash Equilibrium. Now, I'm generalizing Nash Equilibriums fairly wildly and inaccurately, but I'm just trying to get the basic idea across.

I think Mr. Downes (the author of the post) may be largely correct about some of the changes that are going to come about on the web, but if he is, it's for all the wrong reasons.

Tuesday, March 20, 2007


Every decent programmer knows about the concept of MVC. For the uninitiated, that stands for "Model-View-Controller", and it's a software design pattern that says basically, separate your data (model), presentation of that data (view), and manipulation of that data (controller), so that the different parts can be switched out without having to change everything else. Since Trygve Reenskaug first proposed it in 1979, it's become a pretty common thing in software.

The thing is, it's always been something done by programmers, for programmers. We got all the gains because it meant we could more easily modify and add to software. Something new is happening though. With the internet (or maybe web2.0, depending on your definition of web2.0), for the first time that I've observed, the separation of content and presentation has gone mainstream. Everything is all about sharing, aggregating, publishing, etc. What do you share? Data. What do you aggregate? Data. What do you publish? Data.

Since data is just flying around freely on the internet now-a-days, it's lead to the creation of some really great tools that mash up all of this data and combine it and provide new ways of viewing and interacting with it to make it even more useful. This, of course, is all made possible by the clean separation of Model and View; Content and Presentation. So this is a great thing so far.

Now here's the problem. And maybe I'm just not seeing something, because I can't imagine that everyone else is blindly sticking all the information they can into RSS feeds and providing open APIs to their web-apps when it seems like there's one major problem with all of this. It's probably not an insurmountable problem... but it's a problem nonetheless, and I, at least, am yet to hear anyone address it, or even acknowledge it.

How does google make all of their money? Advertising. How do most web sites make a lot of their money (especially so-called web2.0 sites)? Advertising. And where does advertising go? Well, currently at least, it goes in the presentation. So what does it mean when they provide their pure data to other services, which can then present it however they want? It means suddenly, nobody is seeing their ads, and thus, nobody is clicking on their ads, and thus, their ads are not producing money for them.

Well, perhaps, they could just move the advertising into the data, that way it always goes along for the ride? I think that's a lot easier said then done. That's because data is structured in a well-defined, unambiguous way. Or at least, decent data is. That means anything that's using data with advertisements in it can simply not present them.

So what are some other options? Well... there could be some sort of licensing agreements on data source usage that require the presentation of that data somehow includes any advertisements that come along with it. That's difficult to work out though, and probably even more difficult to enforce. It's also just not really applicable to a lot of applications that might be using that data. Also, it just seems evil.

Ok. Well maybe advertisements could be hidden in data? For example, an XML stream of search results from google could include some paid-for-placement links that aren't marked as such. But that requires degrading the quality of the search results that google provides, or the quality of any data that any service provides. That means that mash-ups would be forcing an overall, intentional, reduction in data quality on the web. And that can't be a good thing.

So what's going to happen? Maybe nothing. Maybe I'm totally wrong and I've missed some really important factor that invalidates this whole argument. Maybe the internet's profit model will just change away from advertising (I kind of doubt that though). Maybe all of these nice data sources will be too much of a fiscal drain on their providers, and start to disappear (along with any other applications that depend on them). I guess we'll just have to wait and see.

Saturday, March 17, 2007

Sticky Notes

As I scribbled something down on a post-it note the other day at work and stuck it to the bevel around my monitor, I paused for a moment to reflect. Post-it notes are everywhere, yet I know so little about their history. As I looked around the office, I realized I didn't really know where any of these fairly mundane, but incredibly useful things that made my life so easy had come from. Someone must have invented them - but who cares? And who knows?

Well, luckily it's the information age, and it just so happens that Wikipedia both knows and cares about the history of just about everything.

Post-its were actually invented not with offices in mind, but with churches. The inventor, Arthur Fry, was apparently a very pious, churchgoing man who didn't like it when his bookmarks fell out of his hymnal each Sunday.

Luckily for him, he happened to work for the Minnesota Mining and Manufacturing Company. If that name seems unfamiliar, it's probably because in 2002 they changed their name to simply 3M. Fry had recently been to a seminar on a (previously) useless weak adhesive that the company had developed. It turned out, sticky hymnal bookmarks were the perfect application.

Blogspot Phishing Scheme

Phising schemes are generally idiotic, easy to spot, and annoying. It's as if these people put no effort whatsoever into their work. Sometimes I think that the poor quality can largely be attributed to a language barrier, but this email that my girlfriend received recently shows a total disregard for success:

Well well well
You have been pre-approved for a Home Loan at a Fixed Rate.
This offer is being extended to you unconditionally and we will work with=
you regardless your credit

To take Advantage of this Limited Time opportunity all
we ask is that you visit our Website and complete
the 1 minute post Approval Form.

Good day

Endorsement Assistant

My email wastes your time? should say sorry now

The author even openly acknowledges the fact that his email could very well be a huge waste of your time, and apparently makes an attempt at apology.

The worst part of all of this is the choice of a hosting solution. Usually these emails contain links with extremely long, cryptic URLs to eastern European servers. What does this phisher choose? Blogspot.

If I was going to send out millions of copies of an email in an attempt to dupe a bunch of people into giving me valuable information about themselves so that I can sell their identities on IRC I'd at least put a little effort into it. Maybe even proof read it.

How lazy can you get?

Thursday, March 1, 2007

Follow Up: The Death Of The OS

In the days since I wrote "The Death Of The OS" (previous post) I've noticed several very relevant stories just on Slashdot.

For one thing, I apparently overestimated the amount of time it would take for full scale apps to go online, since Adobe is allegedly doing it with Photoshop in the next six months.

Web based file systems are also making some pretty decent progress, here's a review of six.

Maybe we'll be seeing the purely web-based OS paradigm shift in the near future.

Monday, February 26, 2007

The Death Of The OS

A lot of startups out there right now are really pushing the boundaries of what bandwidth and client-side scripting can take. More and more complicated applications are moving to the web. If bandwidth, storage, and robust in-browser scripting technologies (like flash and javascript) keep improving indefinitely, there's no reason that tasks as complex as photo editing won't happen on the internet. And it might actually benefit from it - imagine photoshop integrated with flickr. Of course, this would require huge leaps in client side processing power - running a full scale app in a vm (the browser) is costly, but it could happen, given ample time.

It's not unreasonable to imagine, if things continue going the way they're going, that people won't need operating systems in the traditional sense anymore. All they'll need is a web browser. What needs to happen for this to become reality?

  1. Online file storage and management systems need to become mainstream, usable, and cheap/free.
  2. More desktop applications need web-based equivalents.

That's it. Considerable advances have already been made on both fronts. Office software is already moving (tentatively) to the web. See google docs for example. There are also repeated attempts at online file systems - nobody's got it quite right yet, in my opinion, but it's just a matter of time.

So, could the OS become a thing of the past? Could it become nothing more than an uppity web browser? I think it's a distinct possibility that sometime down the road, that will be the case. I frequently hear rumors of a Google OS coming out. I don't think we're ever going to see that, because Google is looking to the future and they see that the web is the next big operating system. And they're frantically developing software for it before everyone else realizes the same.