events/2006-03-21-mix06-microformats: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 7: | Line 7: | ||
11am-12:15pm | 11am-12:15pm | ||
Scott | [[http://spaces.msn.com/siteexperts/}Scott Isaa]] | ||
Notes/Quotes: | Notes/Quotes: | ||
Line 20: | Line 20: | ||
=== Live Clipboard Demo === | === Live Clipboard Demo === | ||
* "microformats are another key aspect of Web 2.0" | * *"microformats are another key aspect of Web 2.0"* | ||
* hCard for contacts, start with class="vcard" | * *hCard for contacts, start with class="vcard"* | ||
* similarly use hCalendar for events | * *similarly use hCalendar for events* | ||
* what Live Clipboard is a use of microformats for integrating your data | * *what Live Clipboard is a use of microformats for integrating your data* | ||
* (starts demo) | * (starts demo) | ||
* starting with just the microformat -- "key part of the ecosystem for remixing the Web" | * *starting with just the microformat -- "key part of the ecosystem for remixing the Web"* | ||
* "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" | * *"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"* | ||
* "then I'm going to specify the resources to bind to it, ex: clipControl.js and .css" | * *"then I'm going to specify the resources to bind to it, ex: clipControl.js and .css"* | ||
* dynamic recognition of microformats on the page | * *dynamic recognition of microformats on the page* | ||
* "any microformat on the page, I want to make copyable" | * *"any microformat on the page, I want to make copyable"* | ||
** "I wanted to copy the hCalendar" | ** *"I wanted to copy the hCalendar"* | ||
** "I copied it from IE" | ** *"I copied it from IE"* | ||
** "I went to Firefox" | ** *"I went to Firefox"* | ||
** "and I pasted" | ** *"and I pasted"* | ||
** "and the event item shows up on a page viewed in Firefox" | ** *"and the event item shows up on a page viewed in Firefox"* | ||
** "I can copy and paste this whereever I want" | ** *"I can copy and paste this whereever I want"* | ||
** "I can copy and paste from Eventful" | ** *"I can copy and paste from Eventful"* | ||
** "I can do the same thing with other microformats on the page" | ** *"I can do the same thing with other microformats on the page"* | ||
** "I can copy a contact from the IE page ?and paste into that same page that I pasted the event" | ** *"I can copy a contact from the IE page ?and paste into that same page that I pasted the event"* | ||
* "all the contacts in Hotmail will be hCard automatically remixable into the rest of the Web" | * *"all the contacts in Hotmail will be hCard automatically remixable into the rest of the Web"* | ||
* if you start building gadgets with microformats, we'll make them automatically remixable with other gadgets | * *if you start building gadgets with microformats, we'll make them automatically remixable with other gadgets* | ||
* start exploring using microformats in your web pages | * *start exploring using microformats in your web pages* | ||
* we can start establishing an ecosystem of relevant data | * *we can start establishing an ecosystem of relevant data* | ||
=== XML Proxying And Scalability === | === XML Proxying And Scalability === | ||
=== Web Service Integration === | === Web Service Integration === |
Revision as of 20:13, 21 March 2006
Microformats discussions at Mix06
March 21st, 2006
Lessons from the Trenches
11am-12:15pm
[Isaa]
Notes/Quotes:
Lessons from the Trenches: Engineering Great AJAX Experiences
Modern Development Patterns
- Apply OO principles to web development
- Shared methodology with Atlas
- Namespaces, Encapsulation, Inheritance, Object Lifecycle
- Separate semantics, presentation, and behavior
Live Clipboard Demo
- *"microformats are another key aspect of Web 2.0"*
- *hCard for contacts, start with class="vcard"*
- *similarly use hCalendar for events*
- *what Live Clipboard is a use of microformats for integrating your data*
- (starts demo)
- *starting with just the microformat -- "key part of the ecosystem for remixing the Web"*
- *"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"*
- *"then I'm going to specify the resources to bind to it, ex: clipControl.js and .css"*
- *dynamic recognition of microformats on the page*
- *"any microformat on the page, I want to make copyable"*
- *"I wanted to copy the hCalendar"*
- *"I copied it from IE"*
- *"I went to Firefox"*
- *"and I pasted"*
- *"and the event item shows up on a page viewed in Firefox"*
- *"I can copy and paste this whereever I want"*
- *"I can copy and paste from Eventful"*
- *"I can do the same thing with other microformats on the page"*
- *"I can copy a contact from the IE page ?and paste into that same page that I pasted the event"*
- *"all the contacts in Hotmail will be hCard automatically remixable into the rest of the Web"*
- *if you start building gadgets with microformats, we'll make them automatically remixable with other gadgets*
- *start exploring using microformats in your web pages*
- *we can start establishing an ecosystem of relevant data*
XML Proxying And Scalability
Web Service Integration
- Do not want to continually parse XML
- we don't want to deal with SOAP envelopes on the client
- instead, we build javascript proxies
- Desire a more natural and efficient approach
- Web Services generate JavaScript proxies: WeatherService.requestWeatherReport(strLocation,onReceipt)
- Use generic format for transport (e.g., JSON)
- Incoming requests marshaled to native server format and outgoing responses to client format
- Use xmlHttpRequest to access the network, but the wire format is transparent to the application
- Use raw XML for "documents" (e.g. RSS)
- but parsing a several 100k document will take upwards of 400ms
- and that is too long
- user thinks browser has locked up
- explore other approaches such as JSON to gain the most efficiences
efficiency
Optimizing the Network
- AJAX-style applications can become very chatty
...
Be Wary Of Security
- "could probably spend an hour on this one slide, but will try not to"
- XSS is an industry challenge we all need to address more
- as you start exposing services at the edge, XSS becomes a much bigger deal
- e.g. Gmail, within 3 days, coders developed an API to use Gmail as a disk store
- Define a standard UI feedback metaphor and stick to it
- (missed slide)
Prioritizing Network Requests
- AJAX Scenario
- Your page is preloading images
- User clicks "Buy It" from ...
Code/Resource Deveployment
- More Interactivity = More Code = Slower Site (script are executed synchronously serially)
- How do you build sites with lots of componenets
- How do you build a "portal" where the user controls the scope of the application
- How do you efficiently deploy the necessary code and resources?
- Understand how the browser works
- Scripts included on the page block and load one at a time
- Large number of script blocks can greatly stall loading
- System for deploying code
- Patterns allow component resources to load in any order
- Deployed code asynchronously leveraging all available connections
- Prioritize the loading of components
- Never expire static content (change the URL to break the cache)