<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://microformats.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ChideLchit</id>
	<title>Microformats Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://microformats.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ChideLchit"/>
	<link rel="alternate" type="text/html" href="http://microformats.org/wiki/Special:Contributions/ChideLchit"/>
	<updated>2026-05-17T03:24:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>http://microformats.org/wiki/index.php?title=events/2006-03-21-mix06-microformats&amp;diff=35874</id>
		<title>events/2006-03-21-mix06-microformats</title>
		<link rel="alternate" type="text/html" href="http://microformats.org/wiki/index.php?title=events/2006-03-21-mix06-microformats&amp;diff=35874"/>
		<updated>2008-12-20T00:39:10Z</updated>

		<summary type="html">&lt;p&gt;ChideLchit: liboeroud&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;bocgetdron&lt;br /&gt;
= Microformats discussions at Mix06 =&lt;br /&gt;
&lt;br /&gt;
March 21st, 2006&lt;br /&gt;
&lt;br /&gt;
== Lessons from the Trenches ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Lessons from the Trenches: Engineering Great AJAX Experiences&amp;quot;&lt;br /&gt;
&lt;br /&gt;
11am-12:15pm&lt;br /&gt;
&lt;br /&gt;
Presenter: [http://spaces.msn.com/siteexperts/ Scott Isaacs]&lt;br /&gt;
&lt;br /&gt;
Slides: [http://www.weblogging.com/decks/lessons.ppt PowerPoint Document]&lt;br /&gt;
&lt;br /&gt;
Notes/Quotes:&lt;br /&gt;
* taken by Tantek Ãelik live at the event into #mix06 on irc.freenode.net&lt;br /&gt;
* cleaned up and archived here by Dimitri Glazkov&lt;br /&gt;
&lt;br /&gt;
=== Modern Development Patterns ===&lt;br /&gt;
* Apply OO principles to web development&lt;br /&gt;
* Shared methodology with Atlas&lt;br /&gt;
* Namespaces, Encapsulation, Inheritance, Object Lifecycle&lt;br /&gt;
* Separate semantics, presentation, and behavior&lt;br /&gt;
&lt;br /&gt;
=== Live Clipboard Demo ===&lt;br /&gt;
* '''&amp;quot;microformats are another key aspect of Web 2.0&amp;quot;*'''&lt;br /&gt;
* '''hCard for contacts, start with class=&amp;quot;vcard&amp;quot;'''&lt;br /&gt;
* '''similarly use hCalendar for events'''&lt;br /&gt;
* '''what Live Clipboard is a use of microformats for integrating your data'''&lt;br /&gt;
* (starts demo)&lt;br /&gt;
* '''starting with just the microformat -- &amp;quot;key part of the ecosystem for remixing the Web&amp;quot;'''&lt;br /&gt;
* '''&amp;quot;I can basically say anything on the page that has class name vcard, I'm going to bind one of those Live Clipboard container objects to it&amp;quot;'''&lt;br /&gt;
* '''&amp;quot;then I'm going to specify the resources to bind to it, ex: clipControl.js and .css&amp;quot;'''&lt;br /&gt;
* '''dynamic recognition of microformats on the page'''&lt;br /&gt;
* '''&amp;quot;any microformat on the page, I want to make copyable&amp;quot;'''&lt;br /&gt;
** &amp;quot;I wanted to copy the hCalendar&amp;quot;&lt;br /&gt;
** &amp;quot;I copied it from IE&amp;quot;&lt;br /&gt;
** &amp;quot;I went to Firefox&amp;quot;&lt;br /&gt;
** &amp;quot;and I pasted&amp;quot;&lt;br /&gt;
** &amp;quot;and the event item shows up on a page viewed in Firefox&amp;quot;&lt;br /&gt;
** &amp;quot;I can copy and paste this whereever I want&amp;quot;&lt;br /&gt;
** &amp;quot;I can copy and paste from Eventful&amp;quot;&lt;br /&gt;
** '''&amp;quot;I can do the same thing with other microformats on the page&amp;quot;'''&lt;br /&gt;
** &amp;quot;I can copy a contact from the IE page ?and paste into that same page that I pasted the event&amp;quot;&lt;br /&gt;
* '''&amp;quot;all the contacts in Hotmail will be hCard automatically remixable into the rest of the Web&amp;quot;'''&lt;br /&gt;
* '''if you start building gadgets with microformats, we'll make them automatically remixable with other gadgets'''&lt;br /&gt;
* '''start exploring using microformats in your web pages'''&lt;br /&gt;
* '''we can start establishing an ecosystem of relevant data'''&lt;br /&gt;
=== XML Proxying And Scalability ===&lt;br /&gt;
=== Web Service Integration ===&lt;br /&gt;
* Do not want to continually parse XML&lt;br /&gt;
* we don't want to deal with SOAP envelopes on the client&lt;br /&gt;
* instead, we build javascript proxies&lt;br /&gt;
* Desire a more natural and efficient approach&lt;br /&gt;
* Web Services generate JavaScript proxies: WeatherService.requestWeatherReport(strLocation,onReceipt)&lt;br /&gt;
* Use generic format for transport (e.g., JSON)&lt;br /&gt;
* Incoming requests marshaled to native server format and outgoing responses to client format&lt;br /&gt;
* Use xmlHttpRequest to access the network, but the wire format is transparent to the application&lt;br /&gt;
* Use raw XML for &amp;quot;documents&amp;quot; (e.g. RSS)&lt;br /&gt;
* but parsing a several 100k document will take upwards of 400ms&lt;br /&gt;
* and that is too long&lt;br /&gt;
* user thinks browser has locked up&lt;br /&gt;
* explore other approaches such as JSON to gain the most efficiences&lt;br /&gt;
efficiency&lt;br /&gt;
=== Optimizing the Network ===&lt;br /&gt;
* AJAX-style applications can become very chatty&lt;br /&gt;
...&lt;br /&gt;
=== Be Wary Of Security ===&lt;br /&gt;
* &amp;quot;could probably spend an hour on this one slide, but will try not to&amp;quot;&lt;br /&gt;
* XSS is an industry challenge we all need to address more&lt;br /&gt;
*as you start exposing services at the edge, XSS becomes a much bigger deal&lt;br /&gt;
* e.g. Gmail, within 3 days, coders developed an API to use Gmail as a disk store&lt;br /&gt;
* Define a standard UI feedback metaphor and stick to it&lt;br /&gt;
* (missed slide)&lt;br /&gt;
=== Prioritizing Network Requests ===&lt;br /&gt;
* AJAX Scenario&lt;br /&gt;
* Your page is preloading images&lt;br /&gt;
* User clicks &amp;quot;Buy It&amp;quot; from ...&lt;br /&gt;
&lt;br /&gt;
=== Code/Resource Deveployment ===&lt;br /&gt;
* More Interactivity = More Code = Slower Site (script are executed synchronously serially)&lt;br /&gt;
* How do you build sites with lots of componenets&lt;br /&gt;
* How do you build a &amp;quot;portal&amp;quot; where the user controls the scope of the application&lt;br /&gt;
* How do you efficiently deploy the necessary code and resources?&lt;br /&gt;
* Understand how the browser works&lt;br /&gt;
* Scripts included on the page block and load one at a time&lt;br /&gt;
* Large number of script blocks can greatly stall loading&lt;br /&gt;
* System for deploying code&lt;br /&gt;
* Patterns allow component resources to load in any order&lt;br /&gt;
* Deployed code asynchronously leveraging all available connections&lt;br /&gt;
* Prioritize the loading of components&lt;br /&gt;
* Never expire static content (change the URL to break the cache)&lt;br /&gt;
&lt;br /&gt;
=== X-Browser Development ===&lt;br /&gt;
* Minimize browser specific code in the business logic&lt;br /&gt;
* Abstract and centralize API differences&lt;br /&gt;
* We extend Firefox and Opera DOM to be compatible with IE&lt;br /&gt;
* CSS Differences - Avoid Hacks&lt;br /&gt;
* We classify and override via standard selectors&lt;br /&gt;
* HTML class=&amp;quot;Mozilla M1 D5 Windows&amp;quot;&lt;br /&gt;
* Body {margin:10px}&lt;br /&gt;
* .Mozilla Body {margin:5px} /* Override Mozilla */&lt;br /&gt;
* (hmm... this is quite clever and much more readable)&lt;br /&gt;
* ... missed slide ...&lt;br /&gt;
* demo of Scott's blog&lt;br /&gt;
=== Back Button And Addressability ===&lt;br /&gt;
* Users expect the web to work (I love that line)&lt;br /&gt;
* Demo: MSN Spaces, Windows Live&lt;br /&gt;
* Travelog (History stack) is hard&lt;br /&gt;
* Windows Live beta&lt;br /&gt;
* back button works&lt;br /&gt;
* you can change the hash of the URL [fragment identifier] without reloading the URL&lt;br /&gt;
* and thus keep back button working&lt;br /&gt;
=== Accessibiliy ===&lt;br /&gt;
* Web Accessibility is challenging&lt;br /&gt;
* &amp;quot;Use HTML semantics appropriately&amp;quot;&lt;br /&gt;
* (wow how far semantic HTML awareness has come in the past four years)&lt;br /&gt;
* HTML Accessibility&lt;br /&gt;
* Always use structural semantics to establish &amp;quot;role&amp;quot;&lt;br /&gt;
* E.g., Hn, Label, TH (table headers), lists, etc.&lt;br /&gt;
* (rather than nested DIVs)&lt;br /&gt;
&lt;br /&gt;
=== Building Web Applications ===&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
=== Q&amp;amp;A ===&lt;br /&gt;
&lt;br /&gt;
* Q: What kills JavaScript perf is memory leaks in the browser&lt;br /&gt;
* IE6 has some leaks&lt;br /&gt;
* if you create a circular reference between a document object and a javascript object then it won't go away&lt;br /&gt;
&lt;br /&gt;
* Q: mashups with SSL&lt;br /&gt;
* A: interesting challenge. the real question is how do we securely integrate in a way that is trusted by partners and customers? you have to go entirely HTTPS across the board&lt;br /&gt;
&lt;br /&gt;
* Q: are you familiar with the DOJO toolkit? it solves a lot of the problems memory leaks, back button&lt;br /&gt;
* A: haven't looked too deeply at DOJO.  we have a system where objects get created and destroyed all the time.  not sure if they do document level garbage collection or what.&lt;br /&gt;
&lt;br /&gt;
* Q: about Atlas&lt;br /&gt;
* A: ...&lt;br /&gt;
&lt;br /&gt;
* Q: about using AJAX to build a 24fps videogame&lt;br /&gt;
* A: (heh)&lt;br /&gt;
&lt;br /&gt;
* Q: is there someway we could have a simple lean AJAX request?&lt;br /&gt;
* A: ...&lt;br /&gt;
&lt;br /&gt;
* Q: what is wrong with using iframes?&lt;br /&gt;
* A: 1. themes won't work with the iframe ''this is ASP.NET-specific reference'' --[[DimitriGlazkov]]&lt;br /&gt;
* A: 2. iframes consume a lot of memory (read: Trident instance) on the order of 20 megabytes of memory (YIKES!)&lt;br /&gt;
* A: 3. security&lt;/div&gt;</summary>
		<author><name>ChideLchit</name></author>
	</entry>
</feed>