SYSTEM SUPPORT FOR ELECTRONIC COLLABORATION ON INTERNET Issues of importance: (a) Internet services (b) Collaboration technologies INTRODUCTION TO INTERNET SERVICES References [Sretenovic96] Sretenovic, D., Pekovic, P., Ristanovic, D., Internet, PC-PRESS, Belgrade, Serbia, Yugoslavia, April 1996. [Pantic97] Pantic, S., Internet Izdavastvo, Kompjuter Biblioteka, Cacak, Serbia, Yugoslavia, 1997. [Baczewski94] Baczewski, P., et al (44 authors), Internet Unleashed, SAMS Publishing (Prentice-Hall), Indianapolis, Indiana, USA, 1994. [-96] HTML Unleashed, SAMS Publishing (Prentice-Hall), Indianapolis, Indiana, USA, 1996. ***** 1969 ARPANET, etc... Connecting the computers 1983 TCP/IP (Transport Control Protocol / Internet Protocol) Connecting the networks Global Issues ISOC (Internet Society) - Global exploitation rules IAB (Internet Architecture Board) = sub(ISOC) - Global addressing rules Local Issues Ownership of media, nodes, services, ... Decision making about policies, contents, conditions, ... Infrastructure Present - telephone network (reliability and bandwidth) Future - specialized network (market driven developments) Minimal hardware requirements i486 with 8MB RAM, 1GB DISK, and a 14400b/s MODEM Suggested hardware requirements Pentium with 16MB RAM, 2GB DISK, and a 28800b/s MODEM Minimal software requirements (OS with built in support for Internet) Windows 95 or Windows NT Suggested additional software Netscape Internet Browser (for Internet surfing) QVTNET Client Programs (for a variety of Internet services) mIRC Client Program (for Internet chatting) Access strategies text mode (email, remote login, ftp, chat, ...) multimedia mode (www, ...) ***** Structure of an IP address octet set (numeric 193.203.17.22 or mnemonic bach.artewisdom.co.uk) number of set elements - arbitrary (starting from the righthand side) the rightmost octet - address domain (country code) other octets - defining subdomains (activity code, institution code,...) Provider selection criteria network topology (existence of alternative connections, etc...) bandwidth of connections to the rest of Internet (speed, etc...) bandwidth of connections to local users (modem speed, # of lines, ...) point of presence (local or long distance calls + pop-to-provider speed) technical help (hours of service, charging strategy, documentation,...) stability of the organization (bigger is typically better) service plethora fitting into the specific requirements compatibility with other similar users cost Connection to provider analog switched or leased - typical of private businesses digital based on X.25 (e.g., JUPAK) - typical of state businesses advanced digital (ISDN, ATM, etc...) - typical of new trends digital radio - typical of defence or special users Types of connections to Internet provider terminal (all software runs on the provider machine) network (local PC becomes an integral part of Internet): Network programs telnet, ftp, www browser, etc. Network protocol TCP/IP Data transfer PPP or SLIP Physical connection leased or switched Terminal type Procomm for Windows Basic parameters (phone_number, user_id, password) Script programs enable automatization of the login procedure Terminal emulation types: ansi, wyse, vt102, vt220, ...(hundreds) Screen refresh: CTRL-L All programs and data are resident at the provider machine (user dir) ZModem to pass to PC FTP to HOST, then ZModem to PC Nework type Each machine in the local network has a separate Internet address Provider helps about Internet addresses Communications server of the local network runs Internet software Comm server runs under Windows NT or Unix (Linux) Router: The best (and the most expensive) comm server solution Note: Routers are not used for email software and WWW presentations Language on Internet: TCP/IP protocol Note: TCP/IP is built in WindowsNT, Windows95, etc. Suggestions for individual users PPP (more advanced) vs. SLIP - protocols for data exchange via modems Both PPP + SLIP supported by Windows95, etc. (DUP - dial-up networking) Instal DUP via MY_COMPUTER, PANEL, and ADD/REMOVE PROGRAMS In Windows Setup select COMMUNICATIONS and DETAILS Config DUP via MY_COMPUTER, CONTROL PANEL, NETWORK, ADD, DIAL-UP ADAPT Also, TCP/IP has to be installed and activated ***** Services of the Internet Essence: Data are located somewhere on the network (at appropriate servers) and users of services run server programs (which acccess the data) Basic services: email - exchange of data or binary messages telnet - remote access based on terminal emulation ftp - data transfer from a remote machine (id and pass required) finger - elementary info about users (and if they are logged in) talk - interactive ascii talk between two or more (ytalk) users Public services (offered by major servers without id/pass in text/graphics): mailing lists - message sent to the list goes to all list subscribers anonymous ftp - ftp with no id/pass needed (id=anonymous pass=anything) usenet nows - discussion groups + conferences (sent message available to all) gopher - manu system for access to textual (and other) files WWW - access to multimedia documents interconnected by hyper-text principles java environment - a WWW extension; enables programs to run anywhere on Inter IRC - internet relay chat using dynamic channels (with appropriate names) mail gateways - access to public services using email Searcing services (finding the right stuff at public services): archie - searching the anonymous ftp sites; key=file_name; output=size,time veronica - searching through the gopher menu system; key=sub(menu_entry) WAIS - fulltext search through WWW, ftp, Gopher, News, and other documents netfind - finding an individual email address, using the finger command Security and protection services: PGP - pretty good privacy; guarantees the sender and receiver autenticity SSH - secure shell; protecting the interractive communication (telnet,etc.) Kerberos - using a secure host machine which checks identity of users, etc. System services (for use by system administrators): ping - checking the existence and the quality (speed) of a link nfs - enables a number of machines to access the same network disks traceroute - tells the routes used by different packets netstate - tells the currently active links leading to/from the server x-windows - distributed windows system; program run here, screen dump there Addresses of Internet services URL = service_name://machine_specifier/directory_path/document_name case insensitive: service_name and machine_specifier case sensitive: directoory_path and document_name optional network port specifier: 147.91.8.64:83 (:83 - port specifier) the / terminator: URL refers to a directory, not to a file Examples without the // delimiter: mailto:dragansr@etf.bg.ac.yu telnet:afrodita.rcub.bg.ac.yu news:yu.humor.vic Finding the desired address: Centralized directories for sintax search, like www.yahoo.com Centralized directories for semantic search, like altavista.digital.com Email Advantages and drawbacks Bonton Address structure issues Aliases (hw) Utilities (out-of-town, reply-and-edit, append-special-file, etc.) Email is ASCII only Binary files must be converted to ASCII before shippment: UUENCODE/UUDECODE uuencode filename.ext > filename.uue The uuencoded file is from 10% to 30% larger (large = slower or riskier) If larger than 50KB, uusplit recommended before shippment Concatenation on the receiver side: cat part1 part2 part3 > filename.uue or copy /b part1 + part2 + part3 filename.uue MIME - multipurpose internet mail extensions A standard for sending binary files in the ASCII form, using letters only (conversion/deconversion parameters in the message header) Standard includes programs for automatic conversion/deconversion: btoa - binary to ASCII atob - ASCII to binary Microsoft Mailer - enables files of all kinds to be appended to a message Netscape Mailer - enables WWW documents to be sent over the network telnet Possible problems with terminal emulation Two basic modes of operation: on-line and command On-line mode: Each keybord entry gets forwarded to the server Command mode: One moves to command mode by pressing an ESC. Prompt: telnet> open address - to get connected to a remote host close - to terminate the connection quit - to leave the telnet program status - to view current parameter values set - to establish new parameter values ? - to get the list of all commands mode - to switch to the other mode of operation The telnet is an interractive service: Not invokable in background or from a command procedure ftp Data transfer from a server to a client (our computer) Basic command: ftp address Commands and options refer to both server and client: (!) dir - listing the current directory (on local machine) (!) cd - change directory (on local machine) (!) ls -lr - listing the contents of all subdirectories (on local machine) Note: Text files are created differently on different OS (problems!?) Binary (non-text) files are the same everywhere Example: DOS - each text file line ends with UNIX - only Problems: All text ftp'ed in one line or extra characters Solution: Before ftp'ing a text file - specify "ascii" Before ftp'ing a binary file - specify "bin" Transfer commands: get filename.ext - remote to local put filename.ext - local to remote mget *.ext - more at the same time mput *.* - all at the same time Other useful commands: ? - list all available commands prompt - transfer acknowledgement requested hash - write "#" after each KB transfered close - end of session on remote computer open address - strat new ftp bye - exit the ftp program finger finding the email address (key=name or subset), and vice versa Who is logged in: finger - for the local machine finger @node.address - for a remote machine Some other possibilities: File .plan - created by the user to share public info about the user (hw) Progran netfind - runing finger on a number of machines in a given domain talk Checking if the desired talker is logged in: finger address Offering a talk: vm@ubbg.etf.bg.ac.yu Note: some people do not like this service!!! Both sides can type concurrently; however, bonton serializes the talk Disconnect: CTRL-C Some useful commands: CTRL-W - delete a word CTRL-U - delete the current line, from cursor till beginning CTRP-L - delete the entire half-screen Interrupt disable: SET TERM /NOBROADCAST (VMS) or mesg n (unix) Interrupt enable: SEAT TERM /BROADCAST (VMS) or mesg y (unix) Note: Firewall sometimes stops talk Multiple talk: ytalk address1 address2 ... r services On UNIX machines, one can do: (a) remote login (rlogin), (b) remote file copy (rcp), and (c) remote program run (rsh), without typing id and password (speeds up, esspecially in multihost sessions) and w/o negotiating the terminal type, as in ftp or telnet (unix does it 4U) Examples: rlogin soko (rlogin has command mode: ~ command or ~! command) rcp soko:/tmp/obrada.log obrada.log rsh prog.ext (all unix machines will be searched for program called prog.ext) File .rhosts includes addresses of all those allowed to get to your account using an r service If .rhosts miss, id ans pass will be requested! Note: Domain of r services - "trusted hosts" Note: security sink! Mailing lists List of all subscribers is maintained at one place The list has its own email address Each incoming message to the list address gets distributed accross the list, automatically or semiautomatically (after contents check by a human) Subscribing to the list: Sending email to administrator (human or program) List moderator: Human/program responsible for filtering (delay vs. noise) anonymous ftp Anonymous ftp servers - the most efficient software distribution system popularity decreasing - WWW browsers include the same service Info: file_name, file_size, deposit_date (one has to know what is needed) Note: A virus may arrive together with the file! Procedure: login, change directory, specify ascii/bin, do get/mget Automatic ftp: SUBMIT in VMS or background execution in UNIX (hw) aftp by email: via specialized gateways (hw) archie An archive of all what is available globally at anonymous ftp A large data base which is periodically updated Input: file_name Output: all locations where available + size + date If file available from several sites - the most convenient one is selected If file_name known (e.g., new version of a program) - all OK If file_name not known - archie includes semantically searchable "abstracts" Access to archie at a remote server: telnet address + id=archie + nopass Activating archie: wait for command prompt, then search options + conditions Note: Access and activation by email also possible Best: Send archie request to the archie client at the local machine + wait Experience is crucial (hw#4a and hw#4b and hw#4c)! Commands of archie: Before any request, options have to be set, using appropriate set commands set search sub set search exact set output_format verbose set output_format terse set sortby filename set sortby size set mail to emailaddress Display of options: show Conditions of the search specified at activation time: find conditions Display the possible conditions: whatis conditions Example of an archie session: telnet archie.intternic.net login: archie archie> set search sub archie> set pager archie> set maxhits 50 archie> set output_format terse archie> find proxy archie> mail vm@etf.bg.ac.yu If the obtained output_file is too long, one can search it using UNIX less: space - next page q - quit b - back to the previous page '/ sample' - search forward '? sample' - search backwards Searching using the archie client at your site: archie -s -t -m30 twnsck (from any archie server) archie -s -t -m30 -h[address] twnsck gopher (xgopher = gopher for X environments) Best when a text file is needed (gopher files are typically ASCII, but also .ps, .jpg, .gif, .zip) gopher server includes menues with files, directories,  other gopher servers Note: anonymous ftp files are also included gopher only shows menues (with files, directories,  other gopher servers) Search thru these menues is done by veronica and jughead gopher commands: space - one page forward b - one page back /string - primitive string search (for more see veronica + jughead) when a file is opened from gopher, the following menu appears: press to continue (to read it on the spot) to mail (to email it - asks for an email address)) to save (to save it in your current directory - asks for file_name)

to print (to print it a local printer) D - to enter the download menue (to ZModem or Kermit downto terminal PC) add bookmarks - to add a location which is likely to be revisited view bookmarks - to see and select a location for revisit delete bookmarks - to delete bookmarked locations = - tells the current location in the gopher space CTRL-G to withdraw veronica an option in gopher menues enables fast search thru file names, but not file data (periodically it collects file names, not file data) searc keys are specified using AND, OR, NOT, or similar operators brackets () used to define priorities asteriks * used to defined wildcard veronica searches the entire gopher space (hw) jugead searches a gopher subspace (e.g., university, company, etc...) usenet news Developed to avoid drawbacks of mailing lists: a. if 1000 users on a node, 999 space units used unnecessarily b. bandwidth gets used even for messages to be deleted before reading Messages get loaded at network servers servers periodically exchange data consequently, users get logged in to the closest servers Usenet messages organized in newsthreads (discussion chains - messages form a chain on a "subject") and newsgroups (discussion groups) Upon an access, one first goes to a newsgroup, then to a newsthread, and finally to messages Names define groups and subgroups: os.unix.sco (group os.unix is a superset of the group os.unix.sco) Reading is done using special programs, so one can know the number of messahes yet to be read in a thread, etc... Subscribing enables that after login only the groups subscribed to get listed together with the number of unread messages per topic Essence: Writing by email; reading by login! Openess: Messages coming from a specific email address can be filtered out! Reply in three ways: a. Email to author only b. Followup to all recepients, which extends the thread c. Post to start a new thread (same as followup, plus the subject) Some good programs for newsgroups access: a. rn, trn, tin (unix), b. ano-news (vms), c. plethora starting from Netscape which enables multimedia exchg (win) N.B. - this is a potential time sikn!!! chat Created in Finland in 1988. A time sink organized thru channels. WWW Created in Switzerland in 1989. Public domain browser Mosaic created in 1993 (NCS, Chicago, Illinois). Commercial improvement by the same authors in 1994 (Silicon Valley). Program LYNX enables access using ascii terminals. Multimedia documents linked via hypertext principles. Servis WWW is responsble for user friendly file transfer; other activities in the lifetime of a file are managed using other programs. Protocol used to pass files from server to client: Hyper Text Transfer Prot. Server program: HTTP Daemon ??? on top of TCP/IP URL: http://www.etf.bg.ac.yu (uniform resource locator) Language of WWW: HTML or HTML+ (hyper text markup language), a subset of SGML (standard generalized markup language). Tools: An ASCII text editor or a sophisticated WYSIWIG programs. Also: Converters from Word, TeX, etc... to HTML. Development strategy: A series of switchings from "source" to "view"! Figures: Pointers to files with figures (file_name on the same server or URL) Typical formats: GIF (icons and small drawings) and JPG (scanned items) Important: Coding to minimize storage and transfer. Example: Note: Similarities with unix troff! Hypertext references: Underlined Note: Color change after the visit Example: Introduction to WWW Email: Note: From WWW one can access anonymous ftp, gopher, telnet, etc... (hw) Link to data bases: Based on interface programs Common Gateway Interface Gateway: Option which implies access to data bases Input: Screen form query Output: An HTML file containing the requested data Note: Encyclopedia Britanica (hw) java The HTTP protocol can also transfer programs In theory, they could be executed on a remote host. In practice, compatibility is a potential problem. Solution: A WWW programming environment system which guarantees compatibility System Java enables creation/execution (interpretation) under a WWW browser Java enables animation withing WWW pages (hw) Java enables full compatibility for classical programming applications Java enables business (agents collect offers, or emails to send offers): hw!! Java is activated from HTML files! WebPC: minimal platform, browser (e.g., HotJava), and Java environment Types of Java code: classes and scripts Classes: Compiled code Scripts: Distributed in source form Important: Source at browser; object at platform SsC++: Superset (multithread and memory management) of subset (pointer ops) wais - wide area information service Finding a document by search thru a part of its contents (fulltext search) Key: Words or combinations thereoff Important: A database of databases Creators: Dow Jones, Apple, and Thinking Machines Essence: Creating Personal Daily Newspapers using Internet A public domain version: Freewais CNIDR: Clearinghouse 4 Network Information Discovery/Retrieval (maintenance) Creating your own nespapers: Select a database and create a database (hw) Each search match item gets a weight (1 to 1000) for easier filtering A wise-like system exists at Yahoo, Altavista, etc... Security - user point of view CERT - Computer Emergency Response Team) - Internet police News: http://www.cert.org Any user can report problems! First precaution: Backup Sniffing - password et al stealing (possible in the local network, only) Ciphering: symetric (same key on both sides) and asymetric (different keys) Symetric: password transmitted by another method (e.g., disk) Asymetric: private key used to code, public key used to decode Note: Only private+public work (public key transmitted buy email) Firewall - another computer inserted between a local net and Interent ***** ASCII Access to Internet email, finger, telnet, and many other services - inherently ascii see manuals for precise sintax WWW browser lynx - textaul WWW lynx - to obtain the basic screen of the lynx browser (provider home page) k - to obtain all commands of the lynx browser g - to specify the URL of another home page Note: URL can be defined up front - lynx http://altavista.digital.com cursors - to view the page plus or minus - to go to the next or previous page ? - help Note: gopher and ftp accessible from lynx d - to download gopher documents or ftp files save to disk - to save it in the user's directory at the provider's machine use Zmodem - to transfer the file to the local machine Note: Figures invisible/problematic, esp those sensitive to mouse click A well done WWW presentation includes textual descriptions of figures, plus the menu of optios in the case of mouse-sensitive figures (hw); with bad presentations, instead of a figure, one gets [IMAGE]. Exercise: altavista.digital.com - define a query and submit it (hw) ***** Multimedia Access to Internet A set of useful programs, under Windows9X Instalation: Shareware download + pkunzip + setup/install + icon + paratune Netscape - N32E201.EXE - for Windows95 Installation: type n32e201 and follow the menu Tuning: select menu options Options + General Preferences/etc... Important: save new options by Options + Save Options Commands: Back Forward Home - back to the starting page Open - explicit URL for access, e.g., for gopher or ftp gopher://zmaj.etf.bg.ac.yu/Info/Rfc/rfc1234 ftp://ubbg.etf.bg.ac.yu/win95/net/qvtnet40.zip Capabilities: Reading from one window while loading at another window Email using the POP (Post Office Protocol) Bookmarking - automatic rememberance of unteresting URLs Netscape SmartMark Monitoring changes at bookmarked URLs Quasi-intelligent assistant for addressing Netscape Gold Tools for making Interent presenations Operation modes: Browser and Editor (fancy options: wording, painting..) ws_archie archie servers keep lists of all files at all registered anonymous ftp this program includes a clickable list of major archie servers WinTalk aesthetically more appealing version of ascii talk a more user friendly interface, due to graphical environment XWIN Useful if network access from a unix station. It enables our PC to become a server in the X-windows environment, which enables runing an application at one machine (e.g., a remore Cray), and viewing the results at another (e.g., our PC). GRABSITE Useful for transfer of entire WWW presentations to a local disk (e.g., in order to view it off-line, or to edit it on-request). Extremely rich in options! Parameters: (a) URL (b) Number of levels to transfer (c) local destination directory Note: Create new directory, since the program deletes all residual files Transfer is time-consuming, so a selection filter is included Sime directories can be collected only interactively (touch-sensitive) IPHONE Voice over Internet - you get what you pay for (for now). Hardware support: SoundBlaster to sample, packetize, and ship, plus microphone and earphone/loudspeaker. An IRC has to be specified, which is fast enough. For local phone conversation: IRC at zmaj.etf.bg.ac.yu For international phone conversation: an IRC at minimum T1=1.55Mb/s Satelite links include delay; consequently, simultaneous speach. Iphone includes additional delays, due to software conversions, FEC, etc... Modem at 14400 bps works fine. Ws_ftp Windows based ftp or anonymous ftp Screen gets divided into "local disk" and "remote site" Options: view (to inspect an ASCII file), drag-and-drop, automatic bin/ascii Internet Explorer Microsoft (frre-of-charge) equivalent of Netscape (shareware of few dozen $) Slower and less capable (for now) more advanced whien it comes to music, fonts, ... Microsoft Internet Assistant Creating WWW presentations using Word or PowerPoint New tools and translators Like HLL approah to HTML! Word: File menu includes new options (Open URL and Browse Web) Open URL specifies the WWW document to be viewed from Word convert and show) Browse Web creates an internal document in HTML form, etc... PowerPoint: File menu includes includes one new option (Export as HTML) As with word, the result can be checked by a Web Browser, and fixed by HTML Careful fixing needed! FolkWeb Enables a Windows platform to serve as a WWW server (not only UNIX platform) PC must be constantly switched on and linked to a WWW node Includes access rights for users and groups, mouse-sensitive pictures, etc. ***** Searching the Internet Why not standardized search tools? - no owner! Why DEC altavista frre of charge? - alpha impress! Why commerical searc tools? - payed by ads, not by the user Searching for an email address Database WHOIS gives email addresses of domain administrators: whois yu Database WAIS (same sintax) gives email addresses of users: whois petrovic Better results if direct access: (a) telnet internic.net (b) InterNIC> whois name Another possibility: (a) mailto: mail-serv@internic.net with "whois name" as the message body (b) answer arrives in a few hours or days Still another possibility: Program netfind snoops the Network and updates its database Some of the netfind servers: (a) USA (bruno.cs.colorado.edu, ds.internic.net, netfind.oc.com) (b) England (monolith.cc.ic.ac.uk) (c) Australia (archie.au) Procedure includes specification of search suggestions/hints (a) telnet (b) petrovic ta* university australia chem* (c) iterative narrow-down if the list is too long Searching for a file Common appraoch - archie (gives names of ftp servers which include the file): (a) telnet to an archie server (b) login (archie) and set parameters (set) (c) find name or subname (if parameter set search sub) Archie by email: (a) mailto: archie@archie.funet.fi or another archie server (b) file name in the message body (c) waiting for the answer Searching for a suitable IRC server/channel IRC servers talk to each other, in a limited capacity, so one has to locate an appropriate IRC server (to minimize the lag rpoblem); some suggested IRC servers: EFnet, DalNet, UnderNet The lag problem: no messages, then too many messages (user to server issue) The drop problem: sudden dissappearance of chatters (server to server issue) The delay problem: locals less busy; remote (user to user problem) Searching for an IRC channel: Command /list with options to narrow down the list Command /who # to see who is there Searching for a WWW presentation First guess: http://www.companyname.com or http://www.universityname.edu Second guess: using a derivative of the companyname/universityname Best bet: http://altavista.digital.com Suggestion: Use Advanced Queries (use "help" if problems) Speciffy: key function ("srbija" or "serbia") and not ("bosna" or "bosnia") Do: submit (list sorted by the match count) Note: Capital letter - case match; small letter - no case match (*): Substitute for up to 5 small letters; must be preceded by 3 characters near: for distances <10 characters (tanja NEAR petrovic) For a good selection see [Sretenovic96]: Business (amex, bbb), Journals (Elle, PC Magazine), Media (bond, cannes), Food (wine, cheese), Internet (java, html), History (tito, medieval), Books (britanica on-line, thesaurus), Shopping (FedEx, flowers), Medicine (global doctor, health food), Music (CDNow, MTVspots), Education (careerpath, findaid), Politics (YugoAgony, CIA World Fact Book), Sciences (metheorology, mathquotes), Travel (Italy, Yugo), Computers (Microsoft, Intel), Sports (NBA, tennis), Art (sistine, mm), News (CNN Interactive, AP.ascii), Fun (astrology, chess), ... ***** Modems Standard requirement: Hayes compatible Strategic decision: Internal or external Tactical decision: Speed (14400bps or 28800bps) Connection: COMM1, COM2, COM3, or COM4 (no skipped positions) External via one of the RS-232 ports (cable: modem 25 pins; PC 9 pins) Internal via interrupt system (switch off other interrupt sources) Norton utilities: Test SI Windows: Control Pannel / Add New Hardware + Instal communications software Note: Sensitivity to atmospheric conditions (esspecially if air cables) ***** HTML Primary issue: What to do? Secondary issue: How to do it? Elements: Text, still and moving images, sound, interactiveness, and agents Text entry: Any text editor or word processor Dual language first page: border line must be clear, and with few text One picture is worth one thousand words! images should not be too large - so low-bandwidth people can get them lynx equivalents should also be created - so ascii users are not handicaped scanning should be followed by additional processing - so files are smaller For small images - GIF (details are not lost) Also, for tech drawings and images with text (good size if 2 colors sel) Lossles, but applicable only if the number of colors is less than 256 Capabilities: (a) One color transparent - the background is visible (b) Interlaced - clearness improves in time (c) More images in a file - a primitive form of animation JPG - 16 million colors; lossy Excellent for scanned images Images should be 640*480 or less (e.g., 600*350) Important: (a) An image can be taken from other WWW pages: Netscape/SavePictureAs (b) Copyright is the issue! (c) Need to see! Elements of the HTML language Commands: or Command elements: References (to images) and links (to other documents) Presentations: Everything else Command characters: case insensitive Note: Ignoring extra spaces, tabs, and for new line or new paragraph Command types: one-part

or two-part ETF. Important: HTML defines the logical structure of the document; physical structure differ from one browser setup to other Homework: One personal WWW presentation One business related WWW presentation Titles: Six levels of headers: largest letters

to smallest letters
Line breaks: Breaks of the HTML text are ignored The text is printed left-justified, as much as it can fit into a line Right justification is not possible Forcing a new line (e.g., for semantic line breaks) with
Paragraphs: New paragraph with

; it creates one empty line Example:

First level title

Sixth level title

Paragraph of some text

First line
Second line
Third line Presentation level equivalent: XXX Styles: for bold for italics for underline !should be avoided!!! Logic styles: emphasis !usually bold strongly emphasised program listing typewritten text citation

address
!usually italics Size tag (relative) and color tag (in the RGB format #rrggbb): Internet red Preformated texts: Two types - proportional or fixedwidth Default: fixed If the preformatting has to be maintained:
 existing text 
Example:
   This text is better not to touch
   
Nesting of tags is allowed:

Title which is partially in italics

Centering: Command form
Text
Tag form

Title

Inserting a horizontal line:
horizontal ruler, 5 screen dots wide Default: 2 Screen size percentage:
Lists: A way to demonstrate that an entity consists of several parts (LI) Unordered list (not enumerated, with bullets):
    Ordered lists (enumerated):
      Nesting allowed: automatic indentation Example:
      • one
      • two
        1. red
        2. green
        3. blue
      • three
      Presentation level equivalent: XXX Definition lists
      :
      Definition term
      Definition description
      Example:

      SGML

      Standard Generalized Markup Language

      HTML

      HyperText Markup Language
      Presentation level equivalent: XXX Links to other documents (essence of hypertext): Link to
      another document Presentation level equivalent: XXX Clicking to the underlined text invokes automatic download of a new document Address options: (a) If the document is in the same directory (b) If the document is a picture (in the same directory): For details see the following figure (c) If the document is in another directory - relative reference: !names are case sensitive or (d) If the document is in another directory - absolute reference: !relatively to the basic WWW directory (e) If the document is on another machine in the network - specify URL: RC ETF (f) If the document is to be invoked using another protocol: mailto:vm@etf.bg.ac.yu telnet://afrodita.rcub.bg.ac.yu ftp://ubbg/nte/internet/netscape/n32e201.exe gopher://galeb.etf.bg.ac.yu/linux/texts/sendmail (g) If the reference is to a news group: news:soc.culture.yu (h) If the document has a default name (index.html or default.htm): RC ETF (i) If a user is referenced - tilda: appropriate text (j) If a part of the document has to be referenced - insert anchors: In the document: Here starts the part ... In the reference: Belgrade Images in documents: (a) In-line image - image to be presented inside a document: - for icons - for scanned pictures Note: By default, text behind the reference is shown below the image Option ALIGN: To change the default Example: !text goes to the right Possibilities: left, right, middle (b) For Lynx users, if a text should appear instead of [IMAGE]: Marko (d) Interlaced GIF - rough first, fine gradually Specify GIF 89 interlaced when processing/scanning (e) Transparent GIF - hw (f) If a picture is to be used to reference a document (picture click): ana Option ALT for LYNX Option BORDER=0 to avoid blue frame around the picture (g) To specify the size of the picture: Structure of an HTML document: Title of the HTML document Comment: The background picture should not decrease readibility Usage of specially designed tile is recommended Special characters: Special sequences are used instead of characters utilized in tags ìt - < çt - > îbsp - space after which a new line is not possible An alternative is to use ASCII code: £126 - ~ Tables: Suggested
         Newly created tables use tags 
             and 
      - begin/end and - raw and - header and - data and - caption Example:
      Table title
      Distance Length
      First 0.333 11 days
      Second 11.22 45 days
      Presentation level equivalent: XXX Attributes: Any tag can include ALIGN left, right, or center If title at bottom (not at top) include ALIGN=BOTTON For each field, one can specify the percentage of screen width by WIDTH to specify the width of the table border lines
      to specify th etable to screen width ratio to specify the number of pixels from words to frame For other options - see the manuals! Touch sensitive pictures: One has to specify borders of the region sensitive to touch Possibilities: Rectangle, cicrle, poligon - {x,y} differs in meaning RECT 0,0 100,50 "doc1.html" !coordinates in pixels CIRCLE 50, 50, 30 "doc2.html" !coordinates of the center, plus R POLY 15, 40, 70, 80, 100, 50 "doc3.html" Inside the document (other possibilities also OK): Forms: Basic elements: Definitions and fields (to enter data)
      Option POST defines the method used by the server to process data Directory CGI-BIN comes from Common Gateway Interface Example: Name:

      Sex:

      Year:

      Presentation level equivalent: XXX Frames: The screen is divided into frames, so more documents visible at once: - for vertical division One frame - first 50 pixels The other frame - the rest - for horizontal division Three frames, till 30%, till 70%, and the rest Each frame has a name: One has to specify the frame that a document goes to: ***** The HTML Revisited [Ristic97]: Defining the base address, used as the reference point for all addressing inside the WWW presentation Background sound; a number of parameters/attributes available Support for dynamic documents (those changing rapidly) Client Pull - Forcing a browser to refresh the document periodically ... Server push - Forcing the HTTP connection open till user changes URL A more efficient equivalnet of Client push JavaScript - A programming language for Netscape, supported by Explorer Programming responses to events specified by HTML - A subset of Java Browser (e.g., Netscape or Explorer) must include JavaScript support Visual Basic Script - Microsoft equivalent of JavaScript; Active X - A tool for inclusion of objects into an WWW page, to icrease the level of interactiveness Java - The .exe files - applets - activated from HTML documents, to execute anywhere on the network: multimedia animation and electronic business (see: http://java.sun.com) Calling a Java applet from an HTML document (window spec in pixels): ... Full sintax: [CODEBASE = start_URL] !Default: URL of the document CODE="file_name" !Address must be relative to start_URL [ALT = alternative_text] !To show if the applet can not be executed [NAME= applet_name] WIDTH=pixel_count HEIGHT=pixel_count [ALIGN=positioning] [VSPACE=pixel_count] [HSPACE=pixel_count] ... [] ... [alternative HTML] Java versus JavaScript: Java: Translated at the server, prior to execution at the client JavaScript: Interpreted by the WWW browser Java: Support for objects, classes, ... JavaScript: Built-in objects Java: Applets independent of HTML documents, except for call JavaScript: Fully integrated into the HTML document Java: All variables have to be declared (strong typing) JavaScript: Variables does not have to be declared (weak typing) Java: Static binding (references defined at translation time) JavaScript: Dynamic binding (references defined at interpretation time) Limitations of JavaScript: Works only if supported by the WWW browser For security reasons, Java Script can not open, read, or write user files It can access only the info inside the HTML document it is a part of Calling a JavaScript: A simple JavaScript Text in the usual way
      Calling an external JavaScript JavaScript datatypes: numbers, booleans, strings, null JavaScript operators: arithmetic, logic, binary, relational, string JavaScript constructs: while, for..in, break, continue, if..else JavaScript instructions: document.writeln("comment!
      "); etc... JavaScript issues: data output blocks of instructions interraction with the user functions passing the parameters recursion built-in functions events (and their emulation, processing, etc...) objects (built-in objects, creation of new objects, etc.) The CGI programming (hw) Programs that execute on the WWW server using data from the client; an early method to do interactive WWW presentations; Applications: (a) to do polling on Internet (forms) (b) to do shopping on Internet (commerce) (c) to do intractive searching on Internet, etc... (d) to create access counters (hw) (e) to register a presentation (hw) The HTML converters (hw) Internat assistants for MS office programs (Word, Excel, PowerPoint, etc...) Handcrafting needed after conversion After the Assistant is installed, new icons will appear In Word: (a) File/OpenURL (b) File/BrowseWeb (c) Edit/Bookmark (d) View/WebBrowse (e) Insert/HyperLink The WWW generators (hw) Using the WYSIWIG principle: you get what you see! Good examples: Netscape Navigator Gold and Microsoft Front Page ***** Internet services via email: Not only for puremen (link speed and time cost) Full info from SezamPro at: mailbase@mailbase.ac.uk with message body: send lis-iis e-access-inet.txt ftp choice of the server is critical; closer servers - better response time email addresses: ftpmail@ftp.sunet.se !Sweden bitftp@vm.gmd.de !Germany bitftp@pucc.princeton.edu message body: open dir quit response message includes the list of files a desired file is transmitted by: open chdir /pub/pc/win95/archiver binary get winzip.exe quit note: the received file may have to be uudecode'd! archie some archie-by-email servers: archie@archie.luth.se !Sweden archie@archie.sura.net !USA message body: find specify options: set maxhits 15 set match_domain yu set search sub example: set match_domain set maxhits 15 set search sun find arj gopher some servers: gopher@info.lanic.utexas.edu initial message: subject: gopher.micro.umn.edu !name of the desired gopher service body: empty response message: it includes the list of menu entries from the chosen gopher server the follow-up message: return the same message, with the desired entries marked by X essence: moving through menues with a train of messages usenet select a gopher server which includes usenet, and send it a message: Subject: get all Body: Type=1 Port=4320 Path=nntp ls Host=gopher.ic.ac.uk WWW send URL to agora@www.unpd.org receive a list of documents respond by request to transmit a document, until a good part is transmitted send deep URL brings the referenced document, plus all other documents referenced from the first document not for interactive parts (forms, touch-sensitive images, ...)