Path: utzoo!attcan!uunet!husc6!uwvax!dogie!uwmcsd1!ig!agate!ucbvax!unisoft!hoptoad!xanth!kent From: kent@xanth.cs.odu.edu (Kent Paul Dolan) Newsgroups: comp.sys.amiga Subject: Re: How 'Bout HyperCard! Keywords: Abstraction needed Message-ID: <5249@xanth.cs.odu.edu> Date: 13 May 88 20:05:21 GMT References: <15372@uflorida.cis.ufl.EDU> <31411@linus.UUCP> <956@sandino.quintus.UUCP> Reply-To: kent@xanth.UUCP (Kent Paul Dolan) Organization: Old Dominion University, Norfolk Va. Lines: 84 In article <956@sandino.quintus.UUCP> pds@quintus.UUCP (Peter Schachte) writes: >In article <31411@linus.UUCP>, sdl@linus.UUCP (Steven D. Litvintchouk) writes: >> I would like to see a variety of hypermedia and hypertext software >> products for the Amiga. If *any* machine was a natural for hypermedia >> and hypertext, it's the Amiga. >> ... >> What's important is support for the clipboard device so you can paste >> among products. I wish more software vendors supported this for the >> Amiga. > >Unfortunately, the clipboard isn't enough. Yes, you can use it to move >text from one application to another. But what's needed is a way to >move ANYTHING from one application to another. I have two >reservations, a minor one and a major one. > >First the minor one. I think clipping is not as good a metaphor as >selection. I'd rather have a SELECTION: device that supports the >operations of setting and finding the current selection. This seems >better in terms of user interface (it only takes one action -- >selecting something somehow, rather than two -- selecting something and >then cutting or copying it). It's also probably better in terms of >memory usage and performance: setting the selection only requires >setting a pointer, rather than copying a (potentially huge) chunk of >memory). This isn't per se a bad idea, but it does force you to choose a granularity for each data type at which your SELECTION will operate. The non-trivial problem of standardizing this to everyone's satisfaction is why a "point at start, point at finish, clip" action was chosen, I would guess. It is OK to say {CHARACTER,WORD,SENTENCE,PARAGRAPH,SECTION,CHAPTER,DOCUMENT} are our supported levels of granularity, but that loses by needing a lot of pointers when you want a syllable, a clause, a set of sections, or a group of chapters. The advantage of clipping is that it always costs you exactly two pointers, which makes the design of the data structure a lot simpler. In the cases of music or animation, start time/frame, stop time/frame is pretty simple to specify, but I wouldn't like at all to be part of the group tasked with deciding what constitutes a selectable object in a piece of music. I'm not even sure a consensus exists among musicians. Note? Bar? Phrase? Voice? Melody? Lyric? a non-trivial problem, to say the least, which is part of the reason it has taken so long to get even mildly competent music scoring tools for the Amiga. >Ok, my big reservation about clipboards: they really NEED to be >object-oriented. When I select (or copy/cut) a spreadsheet, or >animation, or picture, or chunk of a wysiwyg document, it needs >to carry along with it information about how to manipulate it, or AT >LEAST how to display it. The only general way to do this that I know >of is with code. The code needs to be encapsulated with the data. >Someone needs to spec an abstract datatype (object-oriented) object >structure and a standard set of messages (operations) that all such >objects are expected to perform, e.g., display, highlight, unhighlight, >and print. Again, a good sounding idea, but remember, these are (collections of) data objects which have a (commercial, marketable) value, and that value is increased as the size of the market is widened. If you embed Amiga specific code in your standard, you just drove a lot of players out of the market, because a port to another micro has become much less trivial. To make this work and be a commercial success, you need to standardize an _abstract_machine_ in terms of which which the application will manipulate the data, and express the "code" side of your objects in terms of this abstract machine. I spent parts of five years doing this for a much more limited problem (ANSI X3H33's Computer Graphics Metafile and corresponding Computer Graphics Interface), and I will tell you frankly, I don't envy you the job. >-Peter Schachte >pds@quintus.uucp >...!sun!quintus!pds Kent, the man from xanth. Originator and "candidate" of the Birthright Party. "The Birthright of Humankind is the Stars!" Join us in talk.bizarre and help us plan the politics of a revitalized man into space program. If you care, then your input is needed. [A short note in memorial of Robert Anson Heinlein, born 21 October 1907, died 8 May 1988, provided thought provoking entertainment to millions in the interim with his science-fiction writings. "Thou art God," Robert, and you will be sorely missed by the generation whose ideas and ideals you helped to mold.]