[I guess it's been awhile since I wrote a post like this... I know some will flame me, some will agree, and some will ask me what the heck I just said]
So I have spent the last couple weeks trying to regularly read some blogs... I've been way behind and wanted to get myself re-integrated back into what's going on before I posted anything philosphical that I think is pertinent to the current news.
In the last couple weeks I have been reading about Web 2.0, the recent Gates Memo, etc. Scoble even commented on the memos yesterday. I want to discuss this stuff a bit. As an Intranet/Extranet Developer since around 1997 who cut his teeth programming Client-Server apps (well sort of), I have a few thoughts on this.
I read Mr. O'Reilly's piece a few weeks back on Web 2.0. I've also been keeping up with MS recent adoption of "web 2.0" technology (the Live stuff and Atlas). I've been sitting back taking all this in and trying to see where it goes. Is it better or worse for me? Let's also factor in things like ClickOnce.
We're being lead to believe by the Tech Media that all of this is the final showdown of the two sides... they want to pretend that its the Web guys (using PHP, JSP, Perl, etc). vs. the old Desktop folks (with Microsoft being shown as the poster child for the desktop app).
I don't think that this is the case. I also don't think it's old school single server/mainframe technology vs. client-server/smart client technology. It's also not Web Services Vs. Ajax. I could go on and on. And, Scoble! It's also not the college students vs. the old school developers. It's far from that.
If anything it's the next generation of technology. I don't really see that much difference between a web service and an Ajax enabled page. I can call both from a Desktop app, so I don't need a browser at all.
Is it about services? In some cases, yes, it is; in some cases, it is not about services at all.
Is it about combining multiple information sources? Nope, not really. And, yes, absolutely.
I think the reason it's hard to tell is that innovation is happening in all the camps. The real struggle is that the media seems to want Microsoft to fall, so they think that pushing HTML/Browser apps as the solution to everything. The message to developers is that it is stupid to build anything but a browser-based web app; this in turn will cause the OS to no longer matter and we all can run Linux (or the Mac, etc.), and put the evil giant (aka Micro$oft) down!
Ugggh! Doesn't anyone understand that there are times to write web apps and there are times to write desktop apps. Let me take a page out of my current job. We have a Worldwide reachable system that is a glorified browser-based reporting app (I never give all that many details, so forgive me).
I also have a set of business users who control the direction of things as well as report bugs request changes/fixes which sometimes require nothing more than a database table to be updated. Currently what happens is that I engage our DBAs whenever something needs updated in a database table. This makes even more people involved... sometimes these are routine items that take place on a regular basis but can't be scheduled and the updates can't always be predicted. We are currently dreaming up a maintenance tool to take some of this stuff off of me and our DBA team (after dreaming will come design... I do work in an SDM shop after all <grin />). We have some features in the web site that do similar things as our new tool will do. We have however decided that the new tool will be a Desktop app for a number of reasons. First and foremost is that we decided that there is no reason a web site user should be able to delete, add, or update data of this nature. It makes sense that the only place you could do this is from our corporate network. Since we have a few complicated features (stuff that is not impossible for Ajax, but way too difficult to do), we have decided to use a desktop app instead. ClickOnce sounds awesome for this task to me! I don't know if I'll get to use it, but I can hope.
Let me give you a non-windows-based discussion (one I will give you a little more detail on). I have one guy I write software for. He has nothing but Macs in his place of business. There are really 2 apps that I have created for him. First of all, he has a web server running Tomcat and I have a web app that his customers use to enter data into. I also have written a RealBasic app for him that uses AppleScript to place the data into Quark documents (he's in the publishing business). I'm in the midst of upgrading this Mac OS X App so that it spits out XML, because the latest version of Quark reads XML. In the next month, this will all be automated. I will still need the mac app, and my plan is to add some additional features for him (like a data editting facility). Why not do this in the Web app? 2 reasons really. The first is that I don't think web-users should be able to have this level of power to control the database. The second reason is that I'm not that good with JSP (ok, I suck... although I'm trying to get a little better with it).
So here's the point of all this. Does the web still matter? (and when I say that I mean "do browser-based apps matter?") Absolutely they do. Do Windows/Desktop apps still matter? Yep, they absolutely do! It's my whole "right tool for the right job" speech. Look at what you're doing, choose what makes sense. If both make sense then choose the method that will be the easiest for you (or your team) to do. Everything else on this matter from the tech media is pure hype trying to bring down the Man (Microsoft).
| posted on Thursday, November 10, 2005 7:32 PM