Fog Creek Software
Discussion Board

Interesting article about Joel and web interfaces

Thought you guys might find the following interesting.  Maybe adds a bit more context to Joel's article on MS losing the API war:

Wednesday, August 18, 2004

If there's one thing I've learned, it's that programmers love control. They want every concievable tool to be at their fingertips, even if they don't use them. How many people do you really think used the word counter in CityDesk? The DHTML Edit control embedded in IE does a very good job. You can't drag and drop images, but you can bold, italic, and link things just fine. Manila had an excellent implementation of this, and I suspect Manila was part of Joel's inspiration for CityDesk.

Users, on the other hand, don't love all the things programmers love.

Funny how his theory for how a forum should work - as simple as possible, if not simpler - clashes what he said about what was so bad about browsers.
Wednesday, August 18, 2004

"Developers are writing programs that ran off Web servers"

Anyone have any hard data on the trend to developing web based apps?  I have a lot of anecdotal evidence and do virtually all my own development for the web, but I haven't seen any real hard data on this trend.  I know it's out there somewhere, but Google is not being very helpful.

been looking
Wednesday, August 18, 2004

Even an ex-Msft-program-manager can fail.

Wednesday, August 18, 2004

Will the next version of CityDesk include a network option?  If CityDesk could use an ODBC datasource instead of relying upon Access (I admit is was a while since I looked at CityDesk; is it still tied to Access?) it would be able to work remotely better?

(Like we all want SQL servers sitting on the internet, right?  But surely shops could put them behind VPNs, right?)

i like i
Wednesday, August 18, 2004

It certainly illustrates the importance of reading those essays with a grain of salt.

anonymous financial IT guy
Wednesday, August 18, 2004

I think Web applications work very well in a number of circumstances, but in my opinion, applications such as word processors, spreadsheets and image editors are more suited to the rich client environment.  Also, most Web applications require and active connection; what about those applications that are required to work offline?

Ewan's Dad
Wednesday, August 18, 2004

While I agree for the most part, and especially with Tim Blair's comments, there is one other VERY important aspect to WinForms apps over Web Apps - They fit the user's mental model for purchasing and installation. If your app is going to be purchased and installed by an individual or small 2-5 person workgroup you are facing an uphill battle trying to sell them a server-based app. Maybe you could sell them a subscription to use a hosted version of a web-based app, but that's also going to be foreign to them and is likely to be much less profitable for the developing company.

A cardinal rule of user interaction is to match the user's mental model of how things work, and a cardinal rule of selling is to lower the barriers to entry. Apps that will be purchased by 1-5 person groups can not, in my opinion, easily meet both of these rules unless they are rich client Windows apps.

(Assuming a Windows platform, of course.)


Wednesday, August 18, 2004

Ewans Dad, I agree. Word processing, graphics editing, spreadsheets, and a handful of other applications require a desktop environment. While you could do a spreadsheet online, this is the kind of thing where the roundtrip really is too much time to wait, especially with the way HTML handles large tables.

All the general communications & information management stuff can be done online "good enough" for most people. This is probably one of the reasons Yahoo and MSN are trying so hard to make their messengers so nice. They can't make us part ways with Gaim and Trillian, but they can make enough of the Yahoo users upset that their BUZZ! doesn't get our attention that we end up switching to Yahoo.

Updating my personal Wiki is becoming easier and easier as I do it more and more. Plus it's accessible from anywhere in the world, even from my phone if I had the right kind of phone.

Josh, good point about windows apps being purchased, though if you host it yourself, you can sell a monthly subscription. Sell Outlook once, or sell a subscription to Hotmail? Okay, yes Hotmail comes with storage space and an address, but you get the idea. You could choose Yahoo or Hotmail's free version or Gmail, but some people choose to pay for Hotmail, and are perfectly happy with it's UI.
Wednesday, August 18, 2004

Also, I'd like to reiterate something I'd mentioned before, and it seems Mozilla is taking a step in this direction.

Last time we had this debate, I said that rather than making a more and more robust HTML, why not make a web-enabled application environment.

The same way Flash just sends the vector information for it's animations, so they were a quantum leap over animated Gifs, why not make something where you can just say "put a button there that does such" ?
Wednesday, August 18, 2004

I don't think the problem with selling a small group a subscription to a hosted app is problematic because of the resultant browser-based UI. I think it is typically not going to be as profitable, though that is of course debatable and dependent on the type of app and the costs involved. I also think that it depends on the type of app. In our case it is document creation, which no matter how smooth you do it just seems odd from a web address.

In the CityDesk example, I would think that you would want to offer it as both a rich client as it is now, but then also offer an Enterprise Edition where "Designer Mode" users work from the standard rich client, and with browser-based access for their "contributor mode". This way would give the guys who need the rich interface what they need, but make large company deployment much easier, likely giving them access to those larger organizations that they are having trouble getting into with the current model.

That is actually our basic architecture, and it seems to work well in the marketplace. It lowers the barriers to entry for the first few adopters in a company, and then provides an appropriate and desirable upgrade path when the organization decides to roll it out on a larger scale.


Wednesday, August 18, 2004

"Word processing, graphics editing, spreadsheets" are the content-creation exception to Web apps  (as noted by Tim Blair).

Looking at it another way: web apps support "broad" capability and content-creation is "deep" capability.

The vast majority of what most people use computers for is many different "simple" tasks. The web supports this extremely well.

Content-creation (at the "upper" end) is facilitated by diverse tools and subtle control.  This kind of work is either not well supported by the web (one reason is that the web is not fast enough).

Microsoft, for example, often adds features that (may) enhance deep use but frustrate broad use (a specific example is movable toolbars).

The web is brilliant because it is very easy to broaden a user's capability but hard to make that capability deep. That is, it facilitates adding features most users want while discouraging adding features they don't want.

Wednesday, August 18, 2004


This thread has been automatically marked for deletion because of it's content.

Please do not post any more comments.

Wednesday, August 18, 2004


Broad versus deep is a great way to classify applications when thinking in terms of the type of user interface that is best suited to the task.  I like that!

Ewan's Dad
Wednesday, August 18, 2004

Why is everyone missing the point entirely and creating a distinction between building "web app" and/or "thick app" ?

The ONLY difference is the deployment medium:
- WebApp: Visit a page. Wow, I have a back button!
- WinApp: Crap, click NEXT through an installation proggie. Remember where shortcut is. Run it.

But, what if ... WHAT IF ... deployment of your windows application was as easy as visiting a web page? What if MSFT's "one-touch" deployment comes true?

Aren't us "thick headed (err, client)" developers OK?

Yes ... we are.

Wednesday, August 18, 2004


I agree with you; I think one-click deployment goes a long way to solving some problems, but a rich client, regardless of platform, will probably require a substantial download.  I realize that, once the runtime is loaded on the client, the substantial download is no longer required (or it is infrequent as is the case with runtime updates).  The other issue is data: where is the data maintained?  I realize there is a blurring of the traditional Web app verssus rich client, but there are still a number of factors to consider regarding the type of UI to use. 

Ewan's Dad
Wednesday, August 18, 2004

You can find some pretty capable rich clients that are not a terribly fattie download. There's a spectrum of capability/size that starts with Flash, Rebol, Thinlet, Curl and others right up to Mozilla and Java WebStart.

If you break out of the "must have every option, feature, library & IDE of a windows app" mindset, you'll find that it's fairly simple to make simple web-like applications with the tools I listed above.

Problem is, we all don't want to make simple applications. Personally, I want to make pimped-out, super-fast, scalable, apps that compensate for my deep lack of self-esteem and inability to express myself.

Bananas Foster
Wednesday, August 18, 2004

"One click deployment" is nice but, unless it is very fast and unobtrusive, it works against the "broad" capabilities.

It's really annoying to need stuff to be installed to do some thing simple (and infrequent).

The broad stuff works "best" if it uses stuff that is most-likely already on the machine.

One reason (some) people like a browser interface for their email is that they can use it on any machine. Thus, a browser interface augments the primary purpose of email, namely, ease of communication.

If users want to use some internet kiosk machine, what's the likelyhood that those kinds of machines will allow stuff to be downloaded?

I suspect that most of the "rich" interfaces on the web (e.g. flash) is the result of the tech/marketing side being impressed with "shiny things".

Everytime my time is wasted with animated intros on websites, which really serve no (significantly) useful purpose, I think about how more annoying it would be on a dial up connection.

The web never would have taken off if downloading stuff (even unobtrusively) was required generally.

Wednesday, August 18, 2004

I am doing an enterprise management / workflow thing for our datamining tools.

Sales believe that a web app is a hard sell, IT management object to changes in their web server and especially to having to change to a new one.
Users don't use/like/trust/understand apps which are not on their machine.

The compromise was an MDI frame app on the users machine. But whose windows are actually IE/MOZ browsers embedded as activeX controls. Even toolbar icons and menus are fetched from the server.

Best of all worlds, you have functionality, data and control centrally - yet it looks like any other app to the user.
And if you need a special control which you can't do in a browser you can use a local control and think about moving it to a browser later.

And this is all done in wxPython/html/javascript so it's a dream to develop in.

Martin Beckett
Thursday, August 19, 2004

"CityDesk never really succeeded in selling to organisations with more than two or three people," Spolsky told me in July 2004. One reason: most Web sites are maintained by a group working from several locations. "If they're all on a LAN, fine," notes Spolsky. "But once someone wants to use it at home ... Web-based software is better."

Maybe the answer for CityDesk is not Web-based but simply to make the data store Internet based; keep the rich client and link to a database accessible via the Internet.

PGAdmin is an example of this 

If CityDesk's clients don't want to concern themselves with hosting a database, then offer the data store hosting as a service.

Thursday, August 19, 2004

I suspect pricing has more to do with it.

When you get a company or college web site maintained by a dozen or more people, each person is probably only contributing a small amount to the site. However he still has to pay the full license.

If Joel is only selling two or three person licenses, then he would do better to have unlimited users for the same cost as three people.

Stephen Jones
Friday, August 20, 2004

*  Recent Topics

*  Fog Creek Home