DOC PREVIEW
MIT 6 893 - Graphical User Interface

This preview shows page 1-2-3-4-5-6 out of 17 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17User Interface; Graphical User Interface;Jabber XMPP-Core6.893 Spring 2004: User Interface Larry RudolphCommunicating between two presence-aware entitiesXML StreamStarts with <stream>Ends with </stream>Stream is unidirectional; but two streams allowed over one TCP connectioninitial stream and response streamXML Stanzathe stuff (packets) of the streampresence, message, iq are the only upper-level types6.893 Spring 2004: User Interface Larry RudolphA basic sessionC: <?xml version='1.0'?> <stream:stream to='example.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>S: <?xml version='1.0'?> <stream:stream from='example.com' id='someid' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>... encryption, authentication, and resource binding ...C: <message from='[email protected]' to='[email protected]' xml:lang='en'>C: <body>Art thou not Romeo, and a Montague?</body>C: </message>S: <message from='[email protected]' to='[email protected]' xml:lang='en'>S: <body>Neither, fair saint, if either thee dislike.</body>S: </message>C: </stream:stream>S: </stream:stream>6.893 Spring 2004: User Interface Larry RudolphA session gone badC: <?xml version='1.0'?> <stream:stream to='example.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>S: <?xml version='1.0'?> <stream:stream from='example.com' id='someid' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>... encryption, authentication, and resource binding ...C: <message xml:lang='en'> <body>Bad XML, no closing body tag! </message>S: <stream:error> <xml-not-well-formed xmlns='urn:ietf:params:xml:ns:xmpp-streams'/> </stream:error>S: </stream:stream>Motivating GUI via IMEmail, Instant messages, chatEmail: send message based on namemust know name, but can guess it.IM: can only send message to buddycan have both sides agree to be buddies.Chat: can only send message to “room”must connect to “room” to get messagesAsynchronouslike “computation”Semi-synchronouslike “interactive”Semi-synchronouslike “parallelism”Big Idea: Abstraction“Any problem in computer programming can be solved by adding a level of abstraction”“Performance can be improved in programs by removing a level of abstraction”Indirection used to support abstractionBig Idea for IM: Indirection“Publish and subscribe” Publish “presence” with a serverSubscribe to relevant published entitiesOnce when registering and whenever logon“Interact”direct communication(mediated) indirect communicationHard vs Soft StateHard State: server knows buddy listcan send status of each buddy to requesterSoft State: client knows buddy listcan ask status of each buddyBut indirection always requires hard stateInstant MessagingClients register with serverWhen client logs on, others subscribeClient sends message to server, server forwards to recipientcan only send messages to registered/published recipientsSupported operations:Register, Unregister, Logon, Logoff, Send/Rec, Add/Remove Buddy, etc.Many disconnected piecesClient-Server protocol (messier than just this)Client codeUser Interface CodeSemantics of interactione.g. send only to published & subscribed entitiesUser InterfaceWant to disconnect application from user interfaceApplication should work independent of UICharacter display and keyboard or fanciermain difference was number of columns and linesGraphical user interfacemake big assumptions about h/w abilitiesnot really independent of GUIEvolutionSeparating events from handlersRegister handler for eventTwo different types of events:within applicationwithin window system.Events connect the two pieces but are developed separately.Separation of GUI descriptionGladeNo semantic contentwhy bad? no error


View Full Document

MIT 6 893 - Graphical User Interface

Documents in this Course
Toolkits

Toolkits

16 pages

Cricket

Cricket

29 pages

Quiz 1

Quiz 1

8 pages

Security

Security

28 pages

Load more
Download Graphical User Interface
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Graphical User Interface and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Graphical User Interface 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?