home *** CD-ROM | disk | FTP | other *** search
/ Carousel Volume 2 #1 / carousel.iso / mactosh / hc / icecware.sit / ICEC-Ware / card_4107.txt < prev    next >
Encoding:
Text File  |  1988-10-30  |  33.1 KB  |  705 lines

  1. -- card: 4107 from stack: in
  2. -- bmap block id: 3322
  3. -- flags: 0000
  4. -- background id: 3958
  5. -- name: control
  6. ----- HyperTalk script -----
  7. on startUp
  8.   get the userlevel
  9.   put it into card field temp
  10.   hide menuBar
  11.   set userLevel to 1
  12.   hide msg
  13.   openCard
  14.   set visible of card field press to true
  15.   play harpsichord cq
  16.   wait until the sound is "done"
  17.   set visible of card field press to false
  18.   play harpsichord eq
  19.   wait until the sound is "done"
  20.   set visible of card field press to true
  21.   play harpsichord gq
  22.   wait until the sound is "done"
  23.   set visible of card field press to false
  24.   play harpsichord c5q
  25. end startUp
  26.  
  27. on openCard
  28.   set visible of card field press to false
  29.   set visible of card field instructions to false
  30.   set visible of card field icec to false
  31.   set visible of card field inField to false
  32.   set visible of button 5 to false
  33.   set visible of card field banner1 to true
  34.   set visible of card field banner2 to true
  35.   set visible of button 1 to true
  36.   set visible of button 2 to true
  37.   set visible of button 3 to true
  38.   set visible of button 4 to true
  39.   set visible of button 6 to true
  40.   set visible of button 7 to true
  41. end openCard
  42.  
  43. on hideAll
  44.   set visible of card field banner1 to false
  45.   set visible of card field banner2 to false
  46.   set visible of card field inField to false
  47.   set visible of card field instructions to false
  48.   set visible of card field icec to false
  49.   set visible of button 1 to false
  50.   set visible of button 2 to false
  51.   set visible of button 3 to false
  52.   set visible of button 4 to false
  53.   set visible of button 5 to false
  54.   set visible of button 6 to false
  55.   set visible of button 7 to false
  56. end hideAll
  57.  
  58. on documentation
  59.   hideAll
  60.   set the scroll of card field instructions to 0
  61.   set visible of card field instructions to true
  62.   set visible of button "done reading" to true
  63. end documentation
  64.  
  65. on icec
  66.   hideAll
  67.   set the scroll of card field icec to 0
  68.   set visible of card field icec to true
  69.   set visible of button "done reading"to true
  70. end icec
  71.  
  72. on import -- this message must be typed from msg window
  73.   put number of cards into it
  74.   hideAll
  75.   put empty into card field inField
  76.   set visible of card field inField to true
  77.   put 0 into cardsIn -- initialize counter
  78.   put empty into card field type of card 2
  79.   put empty into card field discipline of card 2
  80.   put empty into card field system of card 2
  81.   ask "File name to import?" with "icecware.dbase"
  82.   put it into fileName
  83.   if fileName is empty then
  84.     openCard
  85.     exit import
  86.   end if
  87.   open file fileName
  88.   put empty into inputLine
  89.   put "Reading past initial comment lines..."
  90.   repeat until inputLine is "%%%"&return
  91.     read from file fileName until return
  92.     put it into inputLine
  93.   end repeat
  94.   repeat forever -- card loop
  95.     add 1 to cardsIn -- card number we are starting to load
  96.     if cardsIn<=(number of cards)-2 then
  97.       cardInit cardsIn+2
  98.     else
  99.       beep
  100.       put "Need more template cards in stack -- aborting!"
  101.       openCard
  102.       exit import
  103.     end if
  104.     put "Reading "
  105.     put fileName after msg
  106.     put " - record: " after msg
  107.     put cardsIn after msg
  108.     put empty into cardDone
  109.     if cardsIn=1 or not("%%%" is in inputLine) then
  110.       read from file fileName until return -- get first line of entry
  111.       put it into inputLine
  112.     end if
  113.     repeat while cardDone is empty-- lines within card loop
  114.       if "%%%" is in inputLine then -- all done
  115.         close file fileName
  116.         put cardsIn
  117.         put " read" after msg
  118.         put cardsIn into card field "cardsIn" of card 2
  119.         beep
  120.         sortField discipline
  121.         sortField type
  122.         sortField system
  123.         beep
  124.         answer "Returning to normal usage."
  125.         startUp
  126.         exit import
  127.       else -- not done
  128.         if char 1 of inputLine is "%" then -- special line
  129.           if char 2 of inputLine is "%" then -- end of card (record)
  130.             storeField cardsIn+2 -- store old field
  131.             put empty into card field inField
  132.             put done into cardDone
  133.             play boing
  134.             cardProcess cardsIn+2
  135.           else -- new field on same card
  136.             storeField cardsIn+2 -- store old field
  137.             put 6 into delim -- first legal delimiter location
  138.             repeat until (char delim of inputLine is tab) or (char delim of inputLine is return)
  139.               add 1 to delim
  140.             end repeat
  141.             put char 2 to delim-1 of inputLine into card field infield
  142.             put return after card field infield
  143.             if char delim of inputLine is tab then
  144.               put char delim+1 to length(inputLine) of inputLine after card field infield
  145.             end if
  146.           end if -- end special cases
  147.         else -- regular line
  148.           put inputLine after card field infield
  149.         end if -- special or regular line
  150.       end if
  151.       if cardDone is empty then
  152.         read from file fileName until return
  153.         put it into inputLine -- get next line if not done
  154.       end if
  155.     end repeat
  156.   end repeat
  157. end import
  158.  
  159. on storeField cardNum
  160.   if card field inField is empty then exit storeField
  161.   if char 1 to 4 of card field inField is "TITL" then
  162.     adjust
  163.     put card field inField into card field "title" of card cardNum
  164.     exit storeField
  165.   end if
  166.   if char 1 to 4 of card field inField is "AUTH" then
  167.     adjust
  168.     put card field inField after card field "author" of card cardNum
  169.     put return after card field "author" of card cardNum
  170.     exit storeField
  171.   end if -- only get to next part if no condition above holds
  172.   if char 1 to 4 of card field inField is "ORGA" then
  173.     adjust
  174.     put card field inField into card field "organization" of card cardNum
  175.     exit storeField
  176.   end if
  177.   if char 1 to 4 of card field inField is "DISC" then
  178.     adjust
  179.     put card field inField&return after card field "clickable" of card cardNum
  180.     put card field inField after card field "discipline" of card cardNum
  181.     if not (card field inField is in card field "discipline" of card 2) then
  182.       put card field inField&return after card field "discipline" of card 2
  183.     end if
  184.     exit storeField
  185.   end if
  186.   if char 1 to 4 of card field inField is "TYPE" then
  187.     adjust
  188.     put card field inField&return after card field "clickable" of card cardNum
  189.     put card field inField after card field "type" of card cardNum
  190.     if not (card field inField is in card field "type" of card 2) then
  191.       put card field inField&return after card field "type" of card 2
  192.     end if
  193.     exit storeField
  194.   end if
  195.   if char 1 to 4 of card field inField is "SYST" then
  196.     adjust
  197.     put card field inField&return after card field "clickable" of card cardNum
  198.     put card field inField after card field "system" of card cardNum
  199.     if not (card field inField is in card field "system" of card 2) then
  200.       put card field inField&return after card field "system" of card 2
  201.     end if
  202.     exit storeField
  203.   end if
  204.   if char 1 to 4 of card field inField is "ABST" then
  205.     adjust
  206.     put card field inField into card field "abstract" of card cardNum
  207.     exit storeField
  208.   end if
  209.   put 1 into t
  210.   repeat until char t of card field inField is return
  211.     add 1 to t
  212.   end repeat
  213.   put ":  " into char t of card field inField
  214.   put card field inField after card field "other" of card cardNum
  215. end storeField
  216.  
  217. on adjust
  218.   put empty into line 1 of card field inField
  219.   put empty into char 1 of card field inField
  220.   put empty into last char of card field inField
  221. end adjust
  222.  
  223. on cardInit cardNum
  224.   put empty into card field "other" of card cardNum
  225.   put empty into card field "author" of card cardNum
  226.   put empty into card field "clickable" of card cardNum
  227.   put empty into card field "system" of card cardNum
  228.   put empty into card field "discipline" of card cardNum
  229.   put empty into card field "type" of card cardNum
  230. end cardInit
  231.  
  232. on cardProcess cardNum
  233.   set rect of card field "title" of card cardNum to 32,0,480,32
  234.   put 32 into b
  235.   put 1 into e
  236.   put last line of card field "author" of card cardNum into lastLine
  237.   repeat until (line e of card field "author" of card cardNum) is lastLine
  238.     add 1 to e
  239.   end repeat
  240.   put b+12*e+6 into e
  241.   set rect of card field "author" of card cardNum to 0,b,512,e
  242.   set rect of card field "organization" of card cardNum to 0,e,512,e+18
  243.   put e+18 into b
  244.   put 1 into e
  245.   put last line of card field "clickable" of card cardNum into lastLine
  246.   repeat until (line e of card field "clickable" of card cardNum) is lastLine
  247.     add 1 to e
  248.   end repeat
  249.   repeat with but = 1 to e
  250.     if but>9 then
  251.       put "NOT ENOUGH BUTTONS - card"
  252.       put cardNum after msg
  253.       exit repeat
  254.     end if
  255.     set rect of button but of card cardNum to 0,b+12*(but-1),512,b+12*but
  256.     set visible of button but of card cardNum to true
  257.   end repeat
  258.   repeat with but = e+1 to 9
  259.     set visible of button but of card cardNum to false
  260.   end repeat
  261.   put b+12*e+6 into e
  262.   set rect of card field "clickable" of card cardNum to 0,b,512,e
  263.   set rect of card field "abstract" of card cardNum to 0,e,512,282
  264.   set rect of card field "other" of card cardNum to 0,282,512,342
  265. end cardProcess
  266.  
  267. on sortField fieldName
  268.   put card field fieldName of card 2 into temp
  269.   repeat with t1 = 1 to (number of lines of temp)-1
  270.     repeat with t2 = t1+1 to (number of lines of temp)
  271.       if (line t1 of temp) > (line t2 of temp) then
  272.         put line t1 of temp into t3
  273.         put line t2 of temp into line t1 of temp
  274.         put t3 into line t2 of temp
  275.       end if
  276.     end repeat
  277.   end repeat
  278.   put temp into card field fieldName of card 2
  279. end sortField
  280.  
  281.  
  282.  
  283.  
  284. -- part 1 (field)
  285. -- low flags: 81
  286. -- high flags: 0007
  287. -- rect: left=0 top=25 right=342 bottom=512
  288. -- title width / last selected line: 0
  289. -- icon id / first selected line: 0 / 0
  290. -- text alignment: 0
  291. -- font id: 3
  292. -- text size: 9
  293. -- style flags: 0
  294. -- line height: 12
  295. -- part name: instructions
  296.  
  297.  
  298. -- part 5 (field)
  299. -- low flags: 81
  300. -- high flags: 0000
  301. -- rect: left=0 top=0 right=342 bottom=512
  302. -- title width / last selected line: 0
  303. -- icon id / first selected line: 0 / 0
  304. -- text alignment: 0
  305. -- font id: 3
  306. -- text size: 9
  307. -- style flags: 0
  308. -- line height: 12
  309. -- part name: infield
  310.  
  311.  
  312. -- part 6 (field)
  313. -- low flags: 01
  314. -- high flags: 0001
  315. -- rect: left=0 top=0 right=59 bottom=512
  316. -- title width / last selected line: 0
  317. -- icon id / first selected line: 0 / 0
  318. -- text alignment: 1
  319. -- font id: 3
  320. -- text size: 24
  321. -- style flags: 256
  322. -- line height: 32
  323. -- part name: banner1
  324.  
  325.  
  326. -- part 7 (field)
  327. -- low flags: 01
  328. -- high flags: 0000
  329. -- rect: left=0 top=70 right=195 bottom=512
  330. -- title width / last selected line: 0
  331. -- icon id / first selected line: 0 / 0
  332. -- text alignment: 1
  333. -- font id: 3
  334. -- text size: 12
  335. -- style flags: 256
  336. -- line height: 16
  337. -- part name: banner2
  338.  
  339.  
  340. -- part 8 (button)
  341. -- low flags: 00
  342. -- high flags: A003
  343. -- rect: left=20 top=209 right=231 bottom=230
  344. -- title width / last selected line: 0
  345. -- icon id / first selected line: 0 / 0
  346. -- text alignment: 1
  347. -- font id: 0
  348. -- text size: 12
  349. -- style flags: 0
  350. -- line height: 16
  351. -- part name: Items in Catalog:  TYPE OF USE
  352. ----- HyperTalk script -----
  353. on mouseUp
  354.   put "type" into card field status of card 2
  355.   go to card 2
  356. end mouseUp
  357.  
  358.  
  359.  
  360. -- part 9 (button)
  361. -- low flags: 00
  362. -- high flags: A003
  363. -- rect: left=20 top=239 right=261 bottom=230
  364. -- title width / last selected line: 0
  365. -- icon id / first selected line: 0 / 0
  366. -- text alignment: 1
  367. -- font id: 0
  368. -- text size: 12
  369. -- style flags: 0
  370. -- line height: 16
  371. -- part name: Items in Catalog:  DISCIPLINE
  372. ----- HyperTalk script -----
  373. on mouseUp
  374.   put discipline into card field status of card 2
  375.   go to card 2
  376. end mouseUp
  377.  
  378.  
  379.  
  380. -- part 12 (button)
  381. -- low flags: 00
  382. -- high flags: A003
  383. -- rect: left=300 top=289 right=311 bottom=500
  384. -- title width / last selected line: 0
  385. -- icon id / first selected line: 0 / 0
  386. -- text alignment: 1
  387. -- font id: 0
  388. -- text size: 12
  389. -- style flags: 512
  390. -- line height: 16
  391. -- part name: about ICEC & ICEC-Ware
  392. ----- HyperTalk script -----
  393. on mouseUp
  394.   icec
  395. end mouseUp
  396.  
  397.  
  398.  
  399. -- part 14 (button)
  400. -- low flags: 00
  401. -- high flags: A003
  402. -- rect: left=310 top=314 right=336 bottom=490
  403. -- title width / last selected line: 0
  404. -- icon id / first selected line: 0 / 0
  405. -- text alignment: 1
  406. -- font id: 0
  407. -- text size: 12
  408. -- style flags: 512
  409. -- line height: 16
  410. -- part name: stack documentation
  411. ----- HyperTalk script -----
  412. on mouseUp
  413.   documentation
  414. end mouseUp
  415.  
  416.  
  417.  
  418. -- part 15 (field)
  419. -- low flags: 81
  420. -- high flags: 0000
  421. -- rect: left=232 top=197 right=284 bottom=356
  422. -- title width / last selected line: 0
  423. -- icon id / first selected line: 0 / 0
  424. -- text alignment: 65535
  425. -- font id: 3
  426. -- text size: 18
  427. -- style flags: 10496
  428. -- line height: 24
  429. -- part name: press
  430.  
  431.  
  432. -- part 16 (field)
  433. -- low flags: 81
  434. -- high flags: 0007
  435. -- rect: left=0 top=25 right=342 bottom=512
  436. -- title width / last selected line: 0
  437. -- icon id / first selected line: 0 / 0
  438. -- text alignment: 0
  439. -- font id: 3
  440. -- text size: 9
  441. -- style flags: 0
  442. -- line height: 12
  443. -- part name: icec
  444.  
  445.  
  446. -- part 17 (button)
  447. -- low flags: 80
  448. -- high flags: A003
  449. -- rect: left=0 top=0 right=22 bottom=100
  450. -- title width / last selected line: 0
  451. -- icon id / first selected line: 0 / 0
  452. -- text alignment: 1
  453. -- font id: 0
  454. -- text size: 12
  455. -- style flags: 0
  456. -- line height: 16
  457. -- part name: done reading
  458. ----- HyperTalk script -----
  459. on mouseUp
  460.   openCard
  461. end mouseUp
  462.  
  463.  
  464.  
  465. -- part 19 (button)
  466. -- low flags: 00
  467. -- high flags: A003
  468. -- rect: left=20 top=269 right=291 bottom=230
  469. -- title width / last selected line: 0
  470. -- icon id / first selected line: 0 / 0
  471. -- text alignment: 1
  472. -- font id: 0
  473. -- text size: 12
  474. -- style flags: 0
  475. -- line height: 16
  476. -- part name: Items in Catalog:  SYSTEM
  477. ----- HyperTalk script -----
  478. on mouseUp
  479.   put "system" into card field status of card 2
  480.   go to card 2
  481. end mouseUp
  482.  
  483.  
  484.  
  485. -- part 20 (button)
  486. -- low flags: 00
  487. -- high flags: 2003
  488. -- rect: left=0 top=322 right=342 bottom=20
  489. -- title width / last selected line: 0
  490. -- icon id / first selected line: 21847 / 21847
  491. -- text alignment: 1
  492. -- font id: 0
  493. -- text size: 12
  494. -- style flags: 0
  495. -- line height: 16
  496. -- part name: home
  497. ----- HyperTalk script -----
  498. on mouseUp
  499.   answer "Really exit ICEC-Ware and go to 'home' card?" with yes or no
  500.   if it is "yes" then
  501.     set userlevel to card field temp
  502.     go to home
  503.   end if
  504. end mouseUp
  505.  
  506.  
  507.  
  508. -- part 22 (field)
  509. -- low flags: 81
  510. -- high flags: 0000
  511. -- rect: left=156 top=120 right=205 bottom=356
  512. -- title width / last selected line: 0
  513. -- icon id / first selected line: 0 / 0
  514. -- text alignment: 0
  515. -- font id: 3
  516. -- text size: 12
  517. -- style flags: 0
  518. -- line height: 16
  519. -- part name: temp
  520.  
  521.  
  522. -- part contents for card part 1
  523. ----- text -----
  524. ICEC-Ware Catalog --- (HyperCardΓäó version, finished March 3rd of 1988 )
  525.  
  526. programmed by Kenneth E. Friend
  527.  
  528. ===General Documentation on this HyperCardΓäó stack and my HyperTalkΓäó programming for it===
  529.  
  530. -----Contents-----
  531. 1. GENERAL REMARKS
  532. 2. STACK STRUCTURE
  533. 3. DIFFERENCES COMPARED TO "EDU-CAT" VERSION (ICEC-Ware catalog programmed for workstations)
  534. 4. HOW TO IMPORT DATABASE (ICECWARE.DBASE) INTO CARDS (should not be necessary)
  535.  
  536.  
  537. 1. GENERAL REMARKS
  538.  
  539. The printed ICEC-Ware Catalog was prepared from the same database used with "edu-cat" (programmed by myself) -- that program was written in the CMU Tutor language (now called "CT") as an on-line catalog -- for high-function workstations -- of software in the ICEC-Ware Catalog. (Note:  "edu-cat" has a point-and-click mouse interface for browsing as well as more advanced features such as keyword search. The "edu-cat" program is general and can be made to work with other databases having a variety of types of information.)
  540.  
  541. This HyperCardΓäó implementation* of the ICEC-Ware catalog makes available the same database in a third mode: (1) printed catalog, (2) workstation on-line catalog and, now, (3) this MacintoshΓäó application. The same exact database (ASCII text file called "icecware.dbase") is imported in order to load the cards in this stack, so this application is just as easily updated when a change to the single database is made as is the case for updates to the printed catalog or the workstation on-line catalog.
  542.  
  543. The file "icecware.dbase" should be included on the disk along with this stack, if you receive a copy directly from ICEC. It was loaded into the cards using a function I programmed called "import" (see details in section 4 below). It should NOT be necessary to use this "import" function, so the ASCII-text file "icecware.dbase" is just included here for those that are interested in its format.
  544. _______
  545. * Although this remark is not intended as a "sales pitch" for HyperCardΓäó, note that this application was finished in exactly ONE WEEK from the time of the author's first use of HyperCardΓäó in authoring mode. Since the author has (at best) "middle-range" programming abilities, this experience shows the ease of learning the HyperTalkΓäó programming language and of using this development environment.
  546.  
  547.  
  548. 2.  STACK STRUCTURE
  549.  
  550. Card 1 of the stack presents "opening banner" information and then lets you either branch to specialized information such as you are seeing now or else lets you go to card 2 to see a list of values on one of the specific indices: discipline, system, or type of use.
  551.  
  552. Card 2 allows display of any of the above three indices (via an alphabetic list of values on the index). Clicking on one of the values causes a search of catalog entries for a match on that value and a listing of titles that have that match. A click on one of the title lines causes transfer to that card. There is an "up-arrow" button that returns one from this listing to a general listing of index values (or to card 1, if a general index was already showing).
  553.  
  554. Cards 3...N+2 contain the N entries in the catalog (N=18 in the First Edition of ICEC-Ware). Each of these cards has two scrollable fields ("abstract" and "other" information). In addition to a help ("?") button, these cards have an "up-arrow" button that returns one to card 2 (which will show the same information as when one left it -- there is a hidden field on card 2 called "status"). There are also "clickable" lines on cards 3...N+2 that show the entries values for discipline, system, and type of use. A click on these lines changes the status variable of card 2 and then returns one to card 2. This produces a "hypertext" effect. For example, one can get to an entry by finding it as an instance of an application where the discipline is Physics but one can then click on the word Tutorial (if it is that usage type) and return to a listing with that entry's title among other titles that are tutorials in a variety of disciplines.
  555.  
  556.  
  557. 3. DIFFERENCES COMPARED TO "EDU-CAT" VERSION
  558.  
  559. This application does one important thing that "edu-cat" did not -- namely, it has the "hypertext" feature described immediately above at the end of the preceeding paragraph ("edu-cat" might have been programmed to have this function, but it was a more natural thing to think about "hyper" connections in this case, whereas "edu-cat" is strictly hierarchical in the type of access it provided through the indices). This application also allows one to browse the entries without returning to a higher-level listing; that is, one can view successive cards in the stack by using the "Next" menu choice of the "Go" menu at the top (or pressing command-3 ["propeller"-3]).
  560.  
  561. There are several properties of "edu-cat" that are not available here. "edu-cat" is generalizable to work with other databases having other indices than those used here. Also, it is customizable in that the initial set of indices displayed by "edu-cat" can be set in a configuration file; this stack is not customizable. Related to the previous point, this program has no ability to add new search indices whereas "edu-cat" allowed new indices to be added while the program was running. Finally, this program does not have keyword search in the same sense that "edu-cat" does (the latter allowed creation of fairly complex boolean searches via successive searches which could be and'd or or'd with previous result). HyperCardΓäó, itself, does allow a simple search of card fields in this stack for a given string by using the "Find" menu choice from the "Go" menu at the top (or pressing command-F ["propeller"-F]); for example, an author's name can be found with this "find" function.
  562.  
  563.  
  564. 4. HOW TO IMPORT DATABASE (ICECWARE.DBASE) INTO CARDS
  565.  
  566. ******* THIS SHOULD NOT BE NECESSARY -- DO NOT ATTEMPT THIS *******
  567.  
  568. This action has already been done. It is merely described here to make the documentation more complete.
  569.  
  570. The algorithm I have written for importing material from ICECWARE.DBASE into the cards of this stack appears between the lines "on import" and "end import" in the HyperTalkΓäó script for card 1. Thus, this function can be invoked by typing "import" in the "message window" (there is no button that allows the invocation of this function). BEFORE TYPING "IMPORT" IN THE "MESSAGE WINDOW", MAKE SURE THAT THERE ARE ENOUGH CARDS IN THE STACK -- if N records are to be imported, there should be N+2 cards in the stack -- if additional cards are needed, copy one of the existing cards numbered 3 or higher and then merely "paste" additional copies of that card into the stack until there are enough cards (cards 3...N+2 are where the N records will be loaded by the "import" function.)
  571.  
  572. This "import" algorithm reads, parses, and imports a file formatted to the requirements of the database for the ICEC-Ware Catalog (see the ASCII-text file "ICECWARE.DBASE" for documentation on this format). It skips over comment lines at the beginning, finds the marker between records, detects field names within records, and appropriately loads database field contents into the proper fields of the cards. It also adjusts the sizes and locations of buttons and fields on the cards where data are being loaded so that they have a nice format. All this takes a lot of time, given that HyperCardΓäó is an interpreted language -- about 30+ seconds per record for IMPORTing on a Mac-II. This is one good reason to not ever run "import" again once the database has been loaded into the cards in this stack!
  573.  
  574. ******* THIS SHOULD NOT BE NECESSARY -- DO NOT ATTEMPT THIS *******
  575.  
  576.  
  577. -- part contents for card part 6
  578. ----- text -----
  579. ICEC-Ware Catalog: December 1987
  580. (First Edition)
  581.  
  582.  
  583. -- part contents for card part 7
  584. ----- text -----
  585.  
  586. HyperCardΓäó implementation of on-line catalog
  587.  
  588. ICEC-Ware Catalog editor &
  589. HyperCardΓäó/HyperTalkΓäó programmer:
  590.  
  591. Kenneth E. Friend, PhD (ICEC Director)
  592.  
  593. -- part contents for card part 15
  594. ----- text -----
  595. "press" one
  596.  
  597. <---
  598.  
  599.  
  600. -- part contents for card part 16
  601. ----- text -----
  602. ICEC-WARE 1st ed. (Dec. 1987)           (text from printed catalog imported to HyperCardΓäó:  March 2, 1988)
  603. ----Contents----
  604. 1. ICEC & ICEC-WARE IN BRIEF
  605. 2. FIRST EDITION OF ICEC-WARE CATALOG/COLLECTION
  606. 3. GETTING THE CATALOG AND A COPY OF THE COLLECTION
  607. 4. DETAILS (includes US- and e-mail addresses)
  608. (list of ICEC members)
  609. (other information)
  610. --------------------------------------------------------------------------------------------------
  611. 1. ICEC & ICEC-WARE IN BRIEF
  612.  
  613. One of the objectives of ICEC (the Inter-university Consortium for Educational Computing) is development and use of advanced educational software for high-function personal workstations (e.g.  Unix-based workstations as well as powerful microcomputers with a "mouse" user interface & bit-mapped graphics).
  614.  
  615. ICEC-Ware consists of (1) a catalog of such programs and (2) a collection of a subset of the programs in the catalog.  This First Edition catalogs a small sample of such programs (18).  The "First Edition collection"  (which we make available for distribution with the catalog -- see policy statement) consists of software for certain Unix workstations running either the X.10 windowing system or the Andrew system.  We plan to broaden this substantially by exploring other distribution policies and by engaging in distribution for other machine/operating-system environments in future editions of ICEC-Ware.
  616. --------------------------------------------------------------------------------------------------
  617.                                                                                                                                                          policy
  618. 2. FIRST EDITION OF ICEC-WARE CATALOG/COLLECTION
  619.  
  620. The Inter-university Consortium for Educational Computing (ICEC) central office has produced a catalog of software and, as an associated activity, collected a subset of the items cataloged.
  621.  
  622. The items cataloged are examples of educational and related software applications that run on high-function workstations, productively using the advanced computing power and display capabilities of such machines and using modern concepts of educational computing.  This first catalog does not purport to contain a complete list of all such software.
  623.  
  624. Instead, the catalog and associated collection is a sampler of such software with several uses:  (a) for administrators and educational planners, it is a demonstration of the uses and possible impact of advanced-workstation technology; (b) it is a source of ideas for faculty software developers regarding how they can use such advanced environments to teach more effectively; (c) programs are available for possible class usage -- that is, some of what is included is mature enough (e.g.  student tested) so that it might be used in classes now.  However, also included are programs that effectively demonstrate the potential of the advanced environment even if the software needs more development or an additional set of related programs before being deployed in a course.  Future ICEC-Ware collections are expected to include more software that has stood the test of course usage and that will come with more extensive documentation, but we will also continue to make available examples of not-quite-polished but advanced and creative workstation software.
  625.  
  626. ICEC-Ware is unique in that it focuses primarily on high-function personal workstations (providing better than a MIP processing speed, multi-tasking, large graphics-oriented display, virtual memory, several megabytes of RAM, mouse pointing/input device, large capacity storage and/or network with file service).  One of the several software development environments for such machines -- the CMU Tutor language -- provides portability of some programs between these workstations and some popular microcomputers with appropriate capabilities, so we provide information about programs that also run in such machine environments.  Related to this, but more general, is the second unique focus of "ICEC-Ware."  Programs listed in our catalog run "on top of" other software layers (e.g.  window managers) that make them transportable among several machine environments.  Compared to other software distribution organizations that exist today (some supported by a single hardware vendor), we collect and catalog educational software that runs across several of the diverse advanced machine environments found on college campuses today.
  627.  
  628.  
  629. 3. GETTING THE CATALOG AND A COPY OF THE COLLECTION
  630.  
  631. ICEC is distributing the ICEC-Ware catalog both in printed and electronic forms (an Andrew-workstation version of the electronic catalog, for this edition, with plans to also make the electronic catalog available on microcomputers in later editions).  Where technical, practical and legal considerations permit, we have collected programs from the catalog into an ICEC-Ware collection available on a distribution tape.
  632.  
  633. FOR MEMBER SCHOOLS:  ICEC-Ware materials are being provided to ICEC members without charge as a membership benefit.  In addition, we will provide ICEC members with "hot-line" and electronic-mail support service in regard to:  (a) installing the tape; (b) accepting bug reports and forwarding them to developers (without promise of bug fixes, but providing such information when possible); (c) consultation with developers regarding producing their own applications using advanced educational computing concepts and using the types of hardware/software environments seen in our catalog.
  634.  
  635. FOR NON-MEMBERS:  For a fee of $150*, we will provide the catalog plus the following service for a period of six months:  hot-line/e-mail installation support and acceptance of bug reports (bug fixes are not guaranteed but we will provide useful information whenever possible).  A free copy of the software collection on the distribution tape will accompany purchase of these services (the above charge includes the cost of one tape plus handling -- THE SOFTWARE ITSELF IS NOT BEING SOLD).  This offer of services expires when there is another edition of the ICEC-Ware catalog/collection available (planned within six months).
  636.  
  637. The initial collection includes software that we were able to collect and redistribute without special licensing arrangements.  Of course, this includes any software that the author certifies is in the public domain.  We also are including copyrighted software when the terms of the copyright claim permit copying and use limited only in the most general of ways -- e.g.  that it may be freely used for educational purposes but not copied or distributed for commercial purposes.  (In the future we hope to be able to include other software with greater restrictions on usage by entering into licensing arrangements with member and non-member recipients that permit "examination copy use only" and that, thereby, provide greater protection to authors requesting such protection of their work.  At that point, the financial terms of what we offer to non-members may change substantially.  Right now, our catalog will provide information on such protected software but we have only collected software with, at most, the general sort of copyright protection mentioned above.)
  638.  
  639.  
  640. 4. DETAILS
  641.  
  642. For the first edition, we have cataloged 18 programs and 16 of these are in the collection.  Software in the first edition of the collection runs on either the X.10 window system or the Andrew window manager.  Copies of the collection (and of the workstation-version of the electronic catalog) are available (1) on 1/4-inch tape cartridges that are readable on both the Sun-2 and the Sun-3 workstations as well as on the IBM RT-PC workstation or (2) on TK-50 tape cartridges for DEC workstations.  We very much prefer to issue only one copy of the tape (whichever type you prefer) per institution and for you to transfer the programs among machines via network connections or other local means (software for all four machine types is on each tape).  If you do want a copy of the collection on the second type of tape, the cost for the additional tape and handling will be $50* (again note that we are providing the tape and a copying/handling service but are not selling the software).
  643.  
  644. Our catalog is broader than the collection.  However, for the first edition of the collection itself, we have limited our software to that which runs in one of the four machine types above.  Note that some of the software requires the Andrew window-manager (7/86 release from Carnegie Mellon U.), which has certain licensing restrictions, as a software environment.
  645.  
  646. In later editions, our collection of software will be broader.  We expect that the second edition will contain but not be limited to -- applications using the X.11 window manager (for example, NeWS educational applications might also be included).  "On top of" these graphics/windowing systems, we expect applications to be built using a number of different programming toolkits for developers.  (One of these will likely be BE2, a later development of the Andrew project mentioned above.  BE2 is to be included on the X.11 distribution tape from M.I.T.; many earlier Andrew applications will migrate to the X.11/BE2 underlying software).
  647.  
  648. *additional charge outside continental U.S.
  649.  
  650.     ICEC-Ware
  651.     CDEC Offices, Bldg. "B"
  652.     Carnegie Mellon University
  653.     Pittsburgh, Pa. 15213
  654.     412-268-7642
  655.     icec-support@andrew.cmu.edu
  656.     (or icec-support%andrew@cmccvb on Bitnet)
  657.  
  658.  
  659. ICEC MEMBERS
  660.  
  661.    - Boston College
  662.    - Brown University
  663.    - California State University (Northridge)
  664.    - Carnegie Mellon University
  665.    - City University of New York
  666.    - Cornell University
  667.    - Dartmouth College
  668.    - Drexel University
  669.    - Howard University
  670.    - Iona College
  671.    - Maricopa Community College
  672.    - Massachusetts Institute of Technology
  673.    - Mills College
  674.    - Pennslyvania State University
  675.    - Princeton University
  676.    - Reed College
  677.    - Rensselaer Polytechnic Institute
  678.    - Southwestern College
  679.    - Stanford University
  680.    - University of California (Berkeley)
  681.    - University of Delaware
  682.    - University of Illinois
  683.    - University of Michigan
  684.    - University of Maryland
  685.    - University of Texas (Austin)
  686.    - University of Wisconsin (Madison)
  687.    - Vassar College
  688.    - Yale University
  689.  
  690.  
  691. OTHER INFORMATION
  692.  
  693. This First Edition of the ICEC-Ware Catalog contains entries from four locations:  three ICEC member schools (Carnegie Mellon, Dartmouth and Vassar) plus the ICEC headquarters.  One of the criteria for membership in ICEC is that the member school have an active program of educational software development to produce programs of the sort sampled in this catalog, and all our members do have projects to produce such software.  The next edition of the catalog will reflect much more of the work from a larger number of our members.
  694.  
  695. (Developers wishing to have software considered for inclusion in the next edition of ICEC-Ware should send information on their software [such as shown in this catalog and including class usage information, if any] and a demonstration copy of the program to "ICEC-Ware Editor" at the address in section 4 above.)
  696.  
  697. -- part contents for card part 5
  698. ----- text -----
  699. CONTACT
  700. Christine Neuwirth, Carnegie Mellon University, English Department, Pittsburgh, PA   15213, Phone (412) 268-8702.
  701.  
  702.  
  703. -- part contents for card part 22
  704. ----- text -----
  705. 2