Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!zaphod.mps.ohio-state.edu!julius.cs.uiuc.edu!apple!apple.com!rmh From: rmh@apple.com (Rick Holzgrafe) Newsgroups: comp.sys.mac.hypercard Subject: Re: New feature for 2.1 wanted (Clean solution you say?) Message-ID: <10763@goofy.Apple.COM> Date: 17 Oct 90 23:48:00 GMT Sender: usenet@Apple.COM Organization: Apple Computer, Inc. Lines: 97 References:<10614@goofy.Apple.COM> <98061@cc.utah.edu> MAJOR DISCLAIMER: I have nothing to do with HyperCard! Nothing! Now: In article <17178@unix.SRI.COM> mxmora@unix.SRI.COM (Matt Mora) writes: > In article <90284.080451SAS102@psuvm.psu.edu> SAS102@psuvm.psu.edu (Steven A. Schrader) writes: > > >delimited text, much as an item delimited text is an item. I know that this > >is not strictly, ASCII here, but If I want to print on the Laser my items > >will not line up if I use spaces (which would be an alternate way of doing > >things). > > > >The tab will also help to indent paragraphs of text. Since Apple extended ASCII > >supports the TAB why can;t it be added to HyperTalk? > > > Since when is the tab key not standard ASCII? I believe that the only problem > with the tab key is that textedit doesn't support it and since hypercard's > fields are based on TE the limitation will be there for a while. There's more of a problem than that. I don't say that any of this stuff is unsolvable, but it adds up. Consider: where do tab stops appear? You can't say "every eight columns" with a proportional font. So, every inch? Every quarter-inch? OK, let's make it a property of a field, and measure it in points, where one point = one pixel on standard Mac monitors. Now how do you set or change the tab spacing? From HyperTalk it's easy - Set the tabWidth of card field Foo to 50 - except that you'll usually have to guess at the number of points you need, and then look at it to see if it's right, then type more HyperTalk to tweak it if it's not right - kind of a pain. And non-scripting users are locked out by a HyperTalk-only solution; what do you do for them? Complicate the "Field Info" box, probably, by adding a "Tab settings" button or control. But "Field Info" is modal, so they too will have to guess, click "OK', look at the result, and try again. Next observation: tabs are less use than you might think if you can't put them exactly where you want them. That is: instead of "tabs every inch", what most people usually want is a tab HERE, and a tab HERE, and one way over HERE and no other tabs at all. This is because one frequently wants columns of differing widths to accomodate entries of differing widths. If there are tab stops in the middle of what the user wishes to consider a single wide column, then differing entry lengths require a differing number of tab characters to reach the next column. This is a pain both when you're editing your entries manually, and when you're trying to generate the entries from HyperTalk. So, tabs are less wonderful if they can't be placed arbitrarily - but think how much that complicates the tab-setting problems discussed above! And then there's the matter of the existing convention for the tab key, which is to switch to the next field. Suddenly the tab key has changed its behavior, an annoyance Apple just hates to visit on its users. (Not that we never do: just that we don't like to. :-) Even worse, I suspect the solution would be to keep the old behavior of the tab key except for "tab-enabled" fields; and now the tab key can have TWO behaviors on the same card, and you can't tell which you'll get until you try it. Well, none of this is insuperable; word processors do it every day. I just wanted to point out that it's not *simple*. It's one of those cases where an innocent request ("I just wanna line up my text nicely") leads to a whole rat's nest of difficulties. I've tried implementing tabs myself, in simpler environments, and believe me - they're complicated. So add up all the time to decide on the user interface, and test it on live users, and tweak it until it's right. Add in the time to design and code the software, and remember that it has several parts: drawing tabbed text, hit-testing tabbed text, editing tabbed text, the user interface for setting tabs, and the HyperTalk extensions for dealing with tabs. Add in the time to rigorously test it all, and knock all the bugs out. Don't forget to document how it all works, both for the casual user and for the HyperTalk programmer, and both for the printed manuals and the Help and Reference stacks. Review and debug the documentation, and test THAT on casual users to make sure it's understandable. And while you're adding up all that time, also add up the expense and extra manpower required to do it all, and the incremental expense of the increased size of HC itself, its Help stacks, and its printed manuals... ... and now maybe you can see a reason why you *don't* have tabs in HyperCard, even if you don't see any reason why you *can't*. :-) :-) :-) Hope this helps you all to endure the frustration. I, too, "just wanna line up my text nicely" - but I think we'll all have to wait! ========================================================================== Rick Holzgrafe | {sun,voder,nsc,mtxinu,dual}!apple!rmh Software Engineer | AppleLink HOLZGRAFE1 rmh@apple.com Apple Computer, Inc. | "All opinions expressed are mine, and do 20525 Mariani Ave. MS: 3-PK | not necessarily represent those of my Cupertino, CA 95014 | employer, Apple Computer Inc."