Changes for Mozilla Extension Developers
Rendering CSS Efficiently - Insider Tips from Safari
I just came drown from altitude in the Himalayas, so I'm admittedly pretty far behind in my technology reading, email maintenance and blogging. That said, in beginning to catch up I came across this complex and interesting post from David Hyatt on his Surfin' Safari blog. For those of you that have been paying attention, Hyatt is a leading browser developer, having worked on Gecko at AOL, and in his current position largely responsible for the magic in Safari and Web Core.
His post deals with the challenges of rendering CSS:
One of the most interesting problems (to me at least) in browser layout engines is how to implement a style system that can determine the style information for elements on a page efficiently.
Hyatt has created a new, more efficient algorithm for doing this (and a few other related things). For the algorithm to work, it checks ten features of each DOM node. I'm blogging this because it presents a new optimization opportunity for web developers. By being mindful of these 10 items, and not needlessly failing the 10 tests, we'll take advantage of these new rending efficiencies in Safari. These aren't revolutionary steps, but there are situations where they will certainly be the tie-breaker between alternate approaches.
There are a number of conditions that must be met in order for this sharing to be possible:
- The elements must be in the same mouse state (e.g., one can't be in :hover while the other isn't)
- Neither element should have an id
- The tag names should match
- The class attributes should match
- The set of mapped attributes must be identical
- The link states must match
- The focus states must match
- Neither element should be affected by attribute selectors, where affected is defined as having any selector match that uses an attribute selector in any position within the selector at all
- There must be no inline style attribute on the elements
- There must be no sibling selectors in use at all. WebCore simply throws a global switch when any sibling selector is encountered and disables style sharing for the entire document when they are present. This includes the + selector and selectors like :first-child and :last-child.
In web development there are often 6 different similar ways to do the same thing. What makes a good web developer is continually choosing the best of nearly-indistinguishable paths. These insider tips from Hyatt give us a more complete understanding of the guts of the browsers, and will help us choose the best methods.
Read about it in his own words here: http://weblogs.mozillazine.org/hyatt/archives/2005_05.html#007507
Posted by Nate Koechley on June 27, 2005 at 12:42 AM in Accessibility, Internationalization, CSS Media Types, Browsers, Layered Semantic Markup, Software and Tools, Web Development | Permalink | Comments (0) | TrackBack
Awesome Firefox Extensions
Anthony Lieuallen of Arantius.com has a great page called Awesome Firefox Extensions. If you're new to Firefox or extensions, or are interested in finding some great new one, definitely head over there to check it out.
One extension not listed that I would personally recommend is Target Alert. This extension adds a small icon next to any links that aren't to standard web pages. For example, it inserts a small envelope icon next to any email links, and a small PDF icon next to any .pdf links. (The PDF alert is particularily useful, since loading a PDF is slow sluggish and I often want to avoid it all together!) It offers alerts for many file extension (you can turn on and off as needed), and also alerts to links that will open new windows. The new window alert is great, because I then know to press alt-shirt to force the load into a new tab instead of a new browser window.
Anyways, I've been meaning to publish my recommended list of extensions, but this will have to do for now.
Posted by Nate Koechley on April 8, 2005 at 04:31 PM in Accessibility, Internationalization, CSS Media Types, Browsers, HOWTO's and Tutorials, References, Software and Tools, Web Development | Permalink | Comments (1) | TrackBack
Three Weeks of W3C
Below are pointers to about a dozen activites coming out of the World Wide Web Consortium over the last three weeks. You can follow along on their homepage or with their feed. Standards-based design and development can be about more than using existing standards; in the best cases, it's about helping to create the standards in the first place! By being aware of the work underway at the W3C, you can have a good sense of where the industry and technologies are going, even if you don't get your hands dirty in any of the working groups.
Three Weeks Worth
2005-04-06: The Scalable Vector Graphics (SVG) Working Group and the CSS Working Group have released a third Working Draft of SVG's XML Binding Language (sXBL). The sXBL language defines the presentation and interactive behavior of elements outside the SVG namespace. The XBL task force welcomes comments and seeks feedback on three issues outlined in the status section. Visit the SVG and CSS home pages. (News archive)
2005-04-04: The XML Query Working Group and the XSL Working Group released twelve Working Drafts for the XQuery, XPath and XSLT languages. Seven are in last call through 13 May. Important for databases, search engines and object repositories, XML Query can perform searches, queries and joins over collections of documents. XSLT transforms documents into different markup or formats. Both XQuery and XSLT 2 use XPath expressions and operate on XPath Data Model instances. Visit the XML home page. (News archive)
2005-04-04: The Compound Document Formats Working Group has released an updated Working Draft of Compound Document by Reference Use Cases and Requirements Version 1.0. A compound document combines multiple formats, such as XHTML, SVG, XForms, MathML and SMIL. This draft introduces compounding by a reference like img, object, link, src and XLink. Compounding by inclusion is planned for a later phase. Visit the Compound Document home page. (News archive)
2005-03-31: The Web Services Addressing Working Group has released two Last Call Working Drafts. Web Services Addressing - Core enables messaging systems to support transmission through networks that include processing nodes such as endpoint managers, firewalls, and gateways. SOAP Binding defines the core properties' association to SOAP messages. Visit the Web services home page. (News archive)
2005-03-31: The XML Binary Characterization Working Group has released its evaluation, recommending that W3C produce a standard for binary interchange of XML. Published today as a Working Group Note, XML Binary Characterization is supported by use cases, properties and measurement methodologies. Optimized serialization can improve the generation, parsing, transmission and storage of XML-based data. Visit the XML home page. (News archive)
2005-03-31: Browse W3C presentations and events also available as an RSS channel. (News archive)
2005-03-29: The XML Schema Working Group has released a Last Call Working Draft of XML Schema: Component Designators. Comments are welcome through 26 April. The document defines a scheme for identifying the XML Schema components specified by the XML Schema Recommendation Part 1 and Part 2. Visit the XML home page. (News archive)
2005-03-29: The Semantic Web Best Practices and Deployment Working Group has released the First Public Working Draft of A Survey of RDF/Topic Maps Interoperability Proposals. The document is a starting point for establishing standard guidelines for combined usage of the W3C RDF/OWL family and the ISO family of Topic Maps standards. The group expects to publish Survey and Guidelines Working Group Notes based on this draft. Visit the Semantic Web home page. (News archive)
2005-03-25: The RDF Data Access Working Group has released an updated Working Draft of RDF Data Access Use Cases and Requirements. The draft suggests how an RDF query language and data access protocol could be used in the construction of novel, useful Semantic Web applications in areas like Web publishing, personal information management, transportation and tourism. The group invites feedback on which features are required for a first version of SPARQL and which should be postponed in order to expedite deployment of others. Visit the Semantic Web home page. (News archive)C
2005-03-23: Position papers are due 20 May for the W3C Workshop on XML Schema 1.0 User Experiences to be held 21-22 June in Redwood Shores, California, USA. Schema authors and users, developers and vendors of schema-aware code generators, middleware, validators, and the W3C XML Schema Working Group will gather to discuss user experience with XML Schema 1.0. The workshop goal is to arrive at plan of action for XML Schema 1.0 interoperability, errata and clarification. Read about W3C workshops and visit the XML home page. (News archive)
2005-03-21: The Timed Text (TT) Working Group has released a Last Call Working Draft of the Timed Text (TT) Authoring Format 1.0 Distribution Format Exchange Profile (DFXP). The format enables authors and authoring systems to interchange style, layout and timing associated with text. DFXP helps to transform and distribute subtitles and captions to legacy systems. Comments are welcome through 11 April. Visit the Synchronized Multimedia home page. (News archive)
2005-03-15: The Compound Document Formats Working Group has released the First Public Working Draft of Compound Document by Reference Use Cases and Requirements Version 1.0. A compound document combines multiple formats, such as XHTML, SVG, XForms, MathML and SMIL. This draft introduces compounding by a reference like img, object, link, src and XLink. Compounding by inclusion is planned for a later phase. Visit the Compound Document home page. (News archive)
2005-03-14: The Timed Text (TT) Working Group has released an updated Working Draft of the Timed Text (TT) Authoring Format 1.0 Distribution Format Exchange Profile (DFXP). The format enables authors and authoring systems to interchange style, layout and timing associated with text. DFXP helps to transform and distribute subtitles and captions to legacy systems. Visit the Synchronized Multimedia home page. (News archive)
2005-02-10: Position papers are due 22 April for the W3C Workshop on Frameworks for Semantics in Web Services to be held 9-10 June in Innsbruck, Austria. Participants will discuss possible future W3C work on a comprehensive and expressive framework for describing all aspects of Web services. The workshop's goal is to envision more powerful tools and fuller automation using Semantic Web technologies such as RDF and OWL. Read about W3C workshops and visit the Web services home page. (News archive)
Posted by Nate Koechley on April 7, 2005 at 01:15 AM in Accessibility, Internationalization, CSS Media Types, Browsers, News, References, Search, Search Engines, Search Engine Optimization (SEO), Social Networking and Community, Software and Tools, Web Development, Yahoo! | Permalink | Comments (0) | TrackBack
More Mac, More Firefox
Those involved in promoting standards-based developments are happy with each of these wins that directly benefit users. Way to go Yahoo! Toolbar.
Posted by Nate Koechley on April 6, 2005 at 03:44 AM in Accessibility, Internationalization, CSS Media Types, Search, Search Engines, Search Engine Optimization (SEO), Software and Tools, Web Development, Yahoo! | Permalink | Comments (0) | TrackBack
Yahoo isn't just back in the game - it's winning.
Ben Hammersley writes an interesting piece in the Guardian today titled Second Sight. It's well worth reading, and looks at recent developments from Yahoo and Google, and reports that "Google, it seems, has jumped the shark." His conclusion is that it's "Three-nil to Yahoo." Give it a read, I think you'll be impressed, and probably find out some things about each company that go against the prevailing PR winds.
Yahoo is the new Google. Google is the new Yahoo. Up is down, and black is white. This spring has been very strange. Google, it seems, has jumped the shark. It has been overtaken, left standing, and not by some new startup of ultra smart MIT alumni or by the gazillions in the Microsoft development budget, but by the deeply unhip and previously discounted Yahoo.
The article provides a good overview of recent Yahoo activity, including the Yahoo Search API, research.yahoo.com (and next.yahoo.com), live traffic conditions on Yahoo! Maps, a gig of storage on Yahoo! Mail, Yahoo! 360, Flickr, and even the quietly released Creative Commons search on Yahoo!: http://search.yahoo.com/cc
Update: Danny Sullivan, Editor of the premier search industry publication, released their 5th Annual Search Engine Watch Awards today, and for the first time Yahoo! Search takes first place, bumping Google to second.Remember what I said about prevailing winds, and hold onto your hat.
Posted by Nate Koechley on March 31, 2005 at 11:30 AM in Design, Engineering, News, Search, Search Engines, Search Engine Optimization (SEO), Software and Tools, Yahoo! | Permalink | Comments (0) | TrackBack
Flickr Tips: Monitoring Comments and Configuring Alerts
Monitoring Comments and Conversations
After I used Flickr for a while, I started to pay more and more attention to the social and community aspects. I haven't ventured onto the message boards or chat yet, but I enjoy leaving comments on photos and having conversations there.
In several instances, I've asked for travel advice and questions about the locations and people in certain photos. Other times I've inquired about the techniques used to capture wonderful photographs or after-effects. In all these cases, it's easy to comment but it had always been hard for me to remember where I'd commented, and notice when a reply was posted.
Then I discovered the Photos you've commented on page. This page solves all those problems for me: in a clean way, it presents all the photos you've commented on. It's ordered by most recent activity, so you see photos you've recently commented on, as well as those that have been recently replied to. It works great, and has encouraged me to contribute and participate even more.
Notes and also Comments are shown in this nicely-integrated view.
Configuring Flickr Alerts
The Flickr mailbox is OK, but it doesn't' really fit into my personal online workflow. I prefer to receive my notifications in email. To set it up so Flickr sends you email instead of only adding to your Flickr mailbox, click My Account from the top of any page. From there click Notifications from Flickr (which you'll see on the right, under the Privacy Settings header) and adjust the settings. For the four choices on the page, I have "Yes", "Yes", "As soon as it happens" and "Yes please!".
To modify which email address these messages are sent to, click "Edit your email address" from back on the My Account page. (I set up an Address Guard on Yahoo Mail, which allows you to create a unique mail address, which I use to keep "alert" messages like this out of my main inbox.)
If you haven't played with Flickr for at least 10 hours, start now. You'll discover cooler and cooler features the more you use it. In fact, this "discoverability" aspect of Flickr is one of it's great strengths and attributes.
Posted by Nate Koechley on March 30, 2005 at 09:30 PM in HOWTO's and Tutorials, Idea, Knowledge & Content Management, Metadata, Photos, References, Social Networking and Community, Software and Tools | Permalink | Comments (2) | TrackBack
[Invites] Filangy - Your Personal Search Engine
Filangy is a personal search engine. There are a few startups and companies playing in this space right now, but Filangy is my early favorite. Other's have written about it, including John Battelle's Search Blog, Larry Borsato, and a thorough write-up on Rob's Blog. (You can always check the latest murmurings by running a Technorati search.
Filangy is an intelligent search tool integrated with a search engine to make searching productive. We offer features that allow users to personalize their search experience. Two of the features that we have launched in our beta products are WebMarks and WebCache.
- This is a secure, web-enabled archive of all your visited webpages.
- These are your portable favorites that are accessible from anywhere.
In other words, Filangy captures every page you visit (while it's enabled -- its' easy to pause it if you're feeling secretive), and also allows for instantaneous bookmarking while you're on a page. When you use Filangy to search, you can limit it to either of these groups: pages you've been on before; pages you've bookmarked.
I've got a few extra invites. Leave a comment or send me an email if you'd like one of them. Please include a sentence or two on the root of your curiosity and why you'll be a good recipient. (I just want to make sure that, like extra pets, they're going to good homes.)
Like most of my favorite apps these days, the value of the services is only slowly revealed. The more you use it, the more help it's able to provide. The more you use it, the more advanced features on the interface become visible... While it's somewhat counter-intuitive to hide value initially, this wonder and dare-i-say glee of discovery pays huge dividends. Anyways, let me know what you think if you've been using it, and like I said, let me know if you need an invite.
Posted by Nate Koechley on March 17, 2005 at 03:26 PM in Gadgets, Knowledge & Content Management, Metadata, References, Search, Search Engines, Search Engine Optimization (SEO), Software and Tools | Permalink | Comments (1) | TrackBack
Total Recall -- Desktop Search Products Reviewed
PC Magazine has a nice review of the desktop search space.
Desktop search tools really can make our lives easier, and since so many of them are free, there's little reason not to give one a try. Your mailbox isn't getting any more manageable, your hard drive isn't getting emptier, and after all, finding something on the PC right in front of you should be as easy as finding something on the Web.
And, I'm happy to spoil with their conclusion: "Our favorite, Yahoo! Desktop Search, is actually based on the same core software as the $75 X1 Desktop Search, and it offers almost all the same features." (The main feature that Yahoo! didn't pick up in their free version of X1 is the ability to index email outside of Outlook, specifically Eudora and Mozilla/Thunderbird.)
Posted by Nate Koechley on March 16, 2005 at 10:30 AM in Knowledge & Content Management, Metadata, Search, Search Engines, Search Engine Optimization (SEO), Software and Tools, Yahoo! | Permalink | Comments (0) | TrackBack
Blogging and Culture at Yahoo!
Mark Jen was fired from Google for blogging. The is old news. What's interesting now is that he reports on his conversations with two prominent bloggers (and yahoo employees) about blogging at work, yahoo's policy/stance on worker-blogging, at last week's 106 Miles community meeting. It's nice to see that Yahoo gets blogs and blogging.
after dave's talk, i met russ. he apparently had been doing contract work at yahoo and just recently joined there full time. i took the opportunity to chat with him a little bit; mostly, i wanted to know why he chose to join yahoo out of all the other companies in the area. immediately, russ focused in on the culture and working environment. i thought, wow, a place that's working on bringing revolutionary web technologies to the masses and a great atmosphere? sounds like a dream come true.
then, i met jeremy zawodny. since my story had started making rounds with the press, i had been compared to jeremy and scoble, but i had never expected to meet them in person. we got to talking and he shared with me his experience at yahoo, which also sounded great. jeremy told me that yahoo is extremely blog friendly and that posting their personal work experiences was perfectly acceptable - given, of course, that confidential information and NDAs aren't breached. i left with his contact info and an invite to tour the yahoo campus.
Posted by Nate Koechley on February 18, 2005 at 02:17 AM in Blogging, RSS, Knowledge & Content Management, My life..., Social Networking and Community, Software and Tools, Yahoo! | Permalink | Comments (0) | TrackBack