Received: with LISTAR (v1.0.0; list gopher); Sun, 07 Jan 2001 23:11:04 -0600 (CST) Return-Path: Delivered-To: gopher@complete.org Received: from autechre.success-info.com (success-info.com [139.142.115.211]) by pi.glockenspiel.complete.org (Postfix) with ESMTP id 45EAE3B807 for ; Sun, 7 Jan 2001 23:11:03 -0600 (CST) Received: from emanuel by autechre.success-info.com with local (Exim 3.12 #7 (Debian)) id 14FUXW-0002ic-00; Sun, 07 Jan 2001 21:08:14 -0800 Date: Sun, 7 Jan 2001 21:08:14 -0800 From: emanuel at heatdeath organisation To: gopher@complete.org Subject: [gopher] Re: An idea Message-ID: <20010107210814.B31887@success-info.com> Mail-Followup-To: emanuel at heatdeath organisation , gopher@complete.org References: <87itnqsrif.fsf@complete.org> <20010107222438.B20243@mothra> Mime-Version: 1.0 Content-type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010107222438.B20243@mothra>; from s2mdalle@titan.vcu.edu on Sun, Jan 07, 2001 at 10:24:38PM -0500 Content-Transfer-Encoding: 8bit X-archive-position: 45 X-listar-version: Listar v1.0.0 Sender: gopher-bounce@complete.org Errors-to: gopher-bounce@complete.org X-original-sender: emanuel@heatdeath.org Precedence: bulk Reply-to: gopher@complete.org X-list: gopher On Sun, Jan 07, 2001 at 10:24:38PM -0500, David Allen wrote: > I think it's doable, useful, and feasible. I've been reading a bit > recently on java servlets and WML. From what I gather, WML is a > certain DTD for XML which defines documents as a series of cards. So > one page might be split up into any number of cards, with navigation > between cards. > > [...] Maybe it'll be helpful if I give some background on WAP. Basically a WAP-enabled phone has a browser on it. In North America, the most common browser is UP.Browser (aka Phone.com). Nokia phones have their own browser, as does Ericsson. Japan's NTT DoCoMo uses I-Mode, which is similar to, but different than WAP (I don't know much about I-Mode). The phone doesn't directly access the internet. It connects with a WAP gateway using a suite of protocols optimized for mobile use. The WAP gateway makes HTTP connections to internet servers, reads the WML, compiles it, and sends the result to the phone, which displays it. Some WAP gateways will also translate other formats, such as HTML, into compiled WML. WML is an XML DTD. It's quite easy to learn and use. Basically any browser/gateway (you always need to consider both, because they work in tandem) will properly understand WML, and should fail with invalid WML (i.e. that contains unknown tags or is badly formed). Sounds like WML avoids the problems of HTML, right? If only it were so. First, some browsers/gateways offer extensions, but these are easy to avoid. Second, the spec gives the browser a great deal of flexibility in how to render the WML. In principal, this is a good thing, since the device can optimize the display for the particular features offered. In practise, it's a nightmare. It's very difficult to make one WML app work well on all the browsers. For example, a select list and accept button is the best way to create a menu interface on UP.Browser, but is almost unusable with Nokia. With Nokia, the best way to do it is by using a bunch of anchors. This is at least usable on UP.Browser, but far from optimal (it requires far more key presses to get what you want that using a select). Basically you're limited to a fairly small subset of WML if you want it to work on most phones, unless you're willing to write different WML for each browser/gateway. There's no way to know what the phone's capabilities, resolution, etc. are. You have to write the WML so it will work on anything. Again, in principle this is a good idea, but in practise WML just isn't good enough to get something usable a lot of the time. It is possible to detect the browser being used and customise the WML based on that, but it's not fun. What I think will happen (and is already starting) is that there are translators which take a more useful notation on the server side and use it to generate different WML depending on the device (it could also generate HTML and whatever other formats are needed). You don't need a WAP phone to play with WML (though for real testing it is a necessity, especially since the particular gateway used by the phone company plays a role as well). You can get phone emulators from Phone.com, Nokia, Ericsson, and others (for Windows only, of course). There are open-source WML browsers as well, search for WML on freshmeat to find them. Those tend not to display the pecularities of the browsers found on phones, though, so they are not that useful for creating a real WAP app. Overall, WAP is a pretty lousy standard, but it's what we are stuck with. I-Mode is supposedly far superior, and I've heard that it is coming to markets outside of Japan. BTW I-Mode has huge use in Japan. More people use the internet through I-Mode phones than through PCs there. WAP will become inexpensive, in fact it's really not all that expensive now, for someone who can afford a mobile phone and service (I don't use the phone much, so all I have a mobile phone and it costs me the same as a landline would). Per-minute charges suck, though (I-Mode charges by amount of data rather than time, which IMHO is much better). Anyway, if you look at WML (w3schools.com has a decent tutorial) you'll find that menu-based hierarchical navigation works best for phones. Hmm... guess what kind of navigation Gopher uses? So there is an obvious fit. -- emanuel at heatdeath organisation gopher.heatdeath.org