2005.07.20

Opera 8: Max Value for Text Indent

Nick Rigby discovers and writes that Opera 8 has a maximum text-indent value of 32697 pixels.

Clearly this is an edge case and not all that common, but those that use the "off-left" technique might find something familiar in his quote:

There would be no need to ever use a value this large, but I happened to be using -9999em originally, which, depending on the default font-size of the document, is a lot more than this limit value. Hence, it did not work in Opera 8.

Anyways, just a little tip for your toolbox.

Posted by Nate Koechley on July 20, 2005 at 02:55 PM in Accessibility, Internationalization, CSS Media Types, Browsers, Web Development | Permalink | Comments (2) | TrackBack

2005.07.19

Faster DHTML in 12 Steps

As Microsoft's IEblog points out, their Faster DHTML is 12 Steps isn't entirely new but does have some valuable information. Obviously some of the info is quite IE-specific, but it's still worth a read.

Here are the tips included in the article:

Posted by Nate Koechley on July 19, 2005 at 02:31 PM in Browsers, Engineering, Web Development | Permalink | Comments (0) | TrackBack

2005.07.18

DOM Scripting Task Force - WaSP

Once again the fine folks at the Web Standards Project are helping us all move the industry forward, this time with the launch of their DOM Scripting Task Force as announced in their buzz archive today.

"The skillset of a front end programmer is a three-legged stool: structure (XHTML) is the first leg, presentation (CSS) the second, and behavior (DOM Scripting) the third," said Peter-Paul Koch, a prominent scripting expert and one of the founders of the task force. "These three legs should be equal, but at the moment the behavior leg is the shortest, least-valued and least-understood of the three, even though the DOM has been a W3C specification for seven years and enjoys relatively solid browser support."

They have a press release, a manifesto, and of course a website.

These topics aren't anything new necessarily, but it's good to see more and more developers picking up the torch. For more reading on this/these topics, check out these other posts from my blog: The Behavior Layer, Unobtrusively, and Semantic Markup - Create, Support and Extract.

If you eat and breath these topics, I'd love to hear from you and your resume.

Posted by Nate Koechley on July 18, 2005 at 05:17 PM in Accessibility, Internationalization, CSS Media Types, Browsers, Engineering, Layered Semantic Markup, Web Development | Permalink | Comments (0) | TrackBack

DOM Scripting Task Force - WaSP

Once again the fine folks at the Web Standards Project are helping us all move the industry forward, this time with the launch of their DOM Scripting Task Force as announced in their buzz archive today.

"The skillset of a front end programmer is a three-legged stool: structure (XHTML) is the first leg, presentation (CSS) the second, and behavior (DOM Scripting) the third," said Peter-Paul Koch, a prominent scripting expert and one of the founders of the task force. "These three legs should be equal, but at the moment the behavior leg is the shortest, least-valued and least-understood of the three, even though the DOM has been a W3C specification for seven years and enjoys relatively solid browser support."

They have a press release, a manifesto, and of course a website.

These topics aren't anything new necessarily, but it's good to see more and more developers picking up the torch. For more reading on this/these topics, check out these other posts from my blog: The Behavior Layer, Unobtrusively, and Semantic Markup - Create, Support and Extract.

If you eat and breath these topics, please send me your resume.

Posted by Nate Koechley on July 18, 2005 at 12:25 AM in Accessibility, Internationalization, CSS Media Types, Browsers, Design, Engineering, Layered Semantic Markup, Web Development | Permalink | Comments (0) | TrackBack

2005.06.27

Changes for Mozilla Extension Developers

On the Inside Firefox blog, ben writes about Changes for Extension Developers. The changes are must-know for extension developers, but also provide some nice benefits for users.

Posted by Nate Koechley on June 27, 2005 at 01:09 AM in Browsers, Software and Tools, Web Development | Permalink | Comments (0) | TrackBack

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:

  1. The elements must be in the same mouse state (e.g., one can't be in :hover while the other isn't)
  2. Neither element should have an id
  3. The tag names should match
  4. The class attributes should match
  5. The set of mapped attributes must be identical
  6. The link states must match
  7. The focus states must match
  8. 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
  9. There must be no inline style attribute on the elements
  10. 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

2005.05.11

NY Times Launches CSS Redesign of Article Pages

The New York Times launched CSS-based article pages this week (http://nytimes.com, then click into an article page). It's excellent to see them moving forward with such great improvements!

Congrats to the whole New York Times Digital staff for this launch. Well done.

Posted by Nate Koechley on May 11, 2005 at 08:37 AM in Web Development | Permalink | Comments (2) | TrackBack

2005.04.08

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

2005.04.07

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


Working Draft: SVG's XML Binding Language (sXBL)

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)

Last Call: XQuery, XPath and XSLT

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)

Working Draft: Compound Document Use Cases and Requirements

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)

Last Call: Web Services Addressing

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)

XML Binary Characterization Notes Published

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)

Upcoming W3C Talks

2005-03-31: Browse W3C presentations and events also available as an RSS channel. (News archive)

Last Call: XML Schema Component Designators

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)

Working Draft: RDF/Topic Maps Interoperability

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)

RDF Data Access Use Cases and Requirements Updated

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

all for Participation: W3C Workshop on XML Schema 1.0 User Experiences

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)

Last Call: Timed Text Distribution Profile

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)

Working Draft: Compound Document Use Cases and Requirements

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)

Working Draft: Timed Text Distribution Profile

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)

Call for Participation: W3C Workshop on Frameworks for Semantics in Web Services

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

2005.04.06

More Mac, More Firefox

John Battelle points to the updated Yahoo! toolbar and let's out a big "Yeeeehaw!" because it supports Mac users via 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

2005.03.17

Carpool Conversations - Trip #1

Background Information

This is the first dispatch from Carpool Conversations. I live in San Francisco, but work in Sunnyvale about 43 miles south, in the heart of Silicon Valley. The long drive sucks, but the great thing about it is that it's an protected time to think, to reflect, to brainstorm, and to explore. There are no distractions in the car; no Internet connection and nobody popping into my cube.

I often carpool with my friend Jon Koshi, and we have great conversations about the web, design, interface, the future, and the present. We both tend to bring complimentary sides of the same topics to the conversation. We both like to think big, and, if I do say so myself, we're more aware than average of current events, practices, trends, and developments. Jon is a visual designer by practice and I'm a technologist by practice, so we've got both sides covered in that regard too. (We talk politics and currents and news and life too, but this series will largely focus on technology and human beings.)

Koshi and I both believe in words and word smithing. We believe that examining and designing frameworks for ideas to operate within creates stronger ideas while helping to vet the root concepts. We like to discuss nuance and subtle distinctions, and in the process gain a deeper understanding.

I'm writing this from the road right now. I'd like to resist editing too much, and instead share the thoughts as they appear in the carpool. Hopefully this will be on interest to some of my good readers.

And with that, I can't resist saying, "start your engines!".

Posted by Nate Koechley on March 17, 2005 at 07:52 PM in Idea, Location: San Francisco, My life..., Visual Design, Web Development, Yahoo! | Permalink | Comments (1) | TrackBack

2005.03.09

Internet Explorer and Accessibility

From the IEBlog:

Today I wanted to talk about three aspects of accessibility as they relate to IE and Windows in general. First is access to the Windows OS for individuals with disabilities, second are a couple of hints for users of screen readers using IE in XPSP2 and finally is a request for feedback to help guide our development in IE7 and beyond.

While it's fun to pan Microsoft, and particularily, in my circles at least, Internet Explorer, I have to give them some credit for leaving comments enabled on their blog. It would be even better if they responded to some of the comments - a comment is more valuable if it initiates dialog - but at least they're doing an ok job experimenting in the blog space. It can't be a bad thing.

Posted by Nate Koechley on March 9, 2005 at 03:09 PM in Accessibility, Internationalization, CSS Media Types, Blogging, RSS, Browsers, Web Development | Permalink | Comments (0) | TrackBack

W3C: Working Draft: CSS3 Backgrounds and Borders

The CSS Working Group has released a Working Draft of CSS3 Backgrounds and Borders Module. The Cascading Style Sheets (CSS) language is used to render structured documents like HTML and XML on screen, on paper and in speech. Replacing two separate CSS3 modules, the draft proposes CSS Level 3 functionality including borders consisting of images and backgrounds with multiple images. (emphasis mine)

It's great to see work continue in these areas. It's due to their move to modularity that components can be released independently like this. I know I'm not alone in my excitment at the possibility of better control of backgrounds and borders (since so much of CSS design comes down to backgrounds and border tweaks).

Posted by Nate Koechley on March 9, 2005 at 01:44 PM in Accessibility, Internationalization, CSS Media Types, Browsers, References, Web Development | Permalink | Comments (0) | TrackBack

W3C: Specifying the Language of XHTML and HTML Content

The W3C's Internationalization GEO (Guidelines, Education & Outreach) Working Group has published an updated Working Draft of Specifying the Language of Content. Part of a series designed for authors, the document is an aid to specifying the language of content for an international audience.

This is still a working draft, so comments are welcome!

Posted by Nate Koechley on March 9, 2005 at 01:40 PM in Accessibility, Internationalization, CSS Media Types, Browsers, References, Web Development | Permalink | Comments (0) | TrackBack

2005.02.18

Evolution vs Revolution in Web Standards

CNet's Paul Festa filed a story today, Fight over 'forms' clouds future of Net applications, with a subhead of "As Net heavyweights vie to define the next generation of Web applications, the Web's main standards body is facing a revolt within its own ranks over electronic forms, a cornerstone of interactive documents."

The article sheds some light on the WHAT-WG, as well as some of the players in this general saga. The most interesting section to me:

WHAT-WG members say the forms dispute illustrates a larger conflict over whether the W3C should proceed in a "revolutionary" mode, tackling problems from square one and coming up with technically elegant solutions--even if that results in the loss of backward-compatibility with older browsers--or an "evolutionary" mode, maintaining older technologies like HTML 4 and extending the usefulness of current browsing software.

I also enjoyed Steven Pemberton's comments:

"The WHAT approach works OK for small examples," Pemberton said. "But actors like the Department of Defense say 'no scripting.'"

And:

"I understand where WHAT is coming from, but they are browser makers, not forms experts," Pemberton said. "It is important to build something that is future-proof and not a Band-Aid solution. Forms (technology) is the basis of the e-commerce revolution and so it is important to do it right."

[All emphasis mine.]

Posted by Nate Koechley on February 18, 2005 at 01:56 AM in Accessibility, Internationalization, CSS Media Types, Browsers, Engineering, Layered Semantic Markup, Software and Tools, Web Development | Permalink | Comments (0) | TrackBack

2005.02.15

News from the World Wide Web Consortium

For better or worse, I only catch up on my W3 reading every month or so. That said, here's the stuff that caught my eye recently:

Posted by Nate Koechley on February 15, 2005 at 04:58 PM in Accessibility, Internationalization, CSS Media Types, Browsers, Engineering, Layered Semantic Markup, References, Software and Tools, Web Development | Permalink | Comments (0) | TrackBack

2005.02.13

Browser Speed Comparisons

"There is a speed war on the web. Browsers compete on many fronts; security, standards support, features and speed. Most people are aware of which major browser fails on three of these, but one of them is still open for grabs. Speed."

Posted by Nate Koechley on February 13, 2005 at 12:28 PM in Accessibility, Internationalization, CSS Media Types, Browsers, Engineering, Sandbox Stuff, Ugly Experiments, Software and Tools, Web Development | Permalink | Comments (0) | TrackBack

2005.02.09

Semantic Markup - Create, Support and Extract

Semantic Data Extractor

As Kevin Ryan pointed out at work yesterday, the W3's Semantic Data Extractor is a pretty sweet tool. I've been steadily promoting Layered Semantic Markup at work -- the importance of meaningful markup as the core of web development. This is a great tool to show that value, and remind that the reason you put meaning in is to get meaning out.

The tool tries to extract information from a semantically-rich HTML document. It only uses information available through the good usage of the semantics provided by HTML. “The aim is to show that providing semantically rich HTML gives much more value to your code: using semantically rich HTML allows a better use of CSS, and makes your HTML intelligible to a wider range of user agents (especially search engines bots).”

To see it in action, check out the new next.yahoo.com page. The Extractor handles it pretty well, showing a clear document hierarchy.

What is Layered Semantic Markup?

Today’s Wrong Solution is Tomorrow’s Constraint

Layered Semantic Markup (LSM) is not a technology, but a framework comprised of HTML, XHTML, Cascading Style Sheets (CSS), Javascript, DOM and other Web technologies. LSM allows for appropriately implemented principles and standards.

LSM is a development framework for creating Web documents and experiences. LSM builds for the least capable devices first, then enhances those documents with separate logic for presentation, in ways that do not place an undue burden on baseline devices but which allow a richer experience for those users with modern graphical browser software. LSM supports all user agents, and is inclusive by design. (Progressive Enhancement - Unobtrusive Javascript)

LSM has structural semantic markup at its core, which provides lean, meaningful, accessible pages. This well-built core and the clear separation of structural, presentational and behavioral layers make this development philosophy superior to many short-sighted approaches.

Today’s wrong solution is tomorrow’s constraint. A holistic vision - an underlying philosophy - must guide technical decisions. LSM provides the strategy for a sound and future-ready approach.

LSM embraces Graded Browser Support by using one markup document, subsequently layered with stylesheets and scripts that provide a gradually enhanced experience across a wide variety of browsers and devices.

This approach has profound advantages over other browser support approaches such as graceful degradation. Graded Browser Support recognizes that advanced technology support is not a guarantee of the future, and that legacy software as well as alternative devices (mobile) must always be considered. Graded Browser Support defines support in terms of current capabilities, not in terms of legacy or obsolete software; it embraces accessibility, universality, and peaceful coexistence with more feature-rich browsers/devices; and it allows for adoption of new technology and strategies without leaving any browser/device behind.

Credits

This work is heavily influenced and contains directly passages from Debra Chamra's "Progressive Enhancement: Paving the Way for Future Web Design", Steven Champeon and Nick Finck's presentation "Inclusive Web Design For the Future with Progressive Enhancement", and Steven Champeon's "Progressive Enhancement and the Future of Web Design", all of which may be found here.

Thanks also to the great people who have endlessly debated and developed these topics with me: James Berry, Sean Imler, Todd Kloots, Jon Koshi, Mike Lee, Thomas Sha, Matt Sweeney, Chanel Wheeler, and Christina Wodtke; and everybody else; and to everybody who puts their ideas online so that others may be inspired. Thanks.

Posted by Nate Koechley on February 9, 2005 at 03:22 PM in Accessibility, Internationalization, CSS Media Types, Browsers, Design, Engineering, Idea, Information Architecture, Interaction Design, Layered Semantic Markup, References, Search, Search Engines, Search Engine Optimization (SEO), Software and Tools, Visual Design, Web Development | Permalink | Comments (7) | TrackBack

2005.02.08

Analyze HTTP Headers and Smart Keyword Search with Firefox

There are several good ways to check out a file's HTTP headers. Tonight I was using http://www.forret.com/projects/analyze/, which is just a simple web form that you enter your URL into.

I know there are more snazzy ways, including Firefox's great extension LiveHTTPHeaders, but sometimes an always-available web page is a fine solution. And, while I totally love the ability to extend and modify Firefox with the ever-growing supply of extensions, I've been trying to keep my browser as lean as possible by only installing ones I really need. For services that require a query to be submitted -- a map request, dictionary lookup, feed subscription or web search -- I've been opting lately to set up Keyword Search in Firefox (as I described several months ago).

(In addition to having less extensions, I find it's just significantly faster to trigger these actions form the keyboard.)

With a few keyword shortcut's set up, my hands are liberated from the mouse to the efficiency and speed of the keyboard. My browser begins to resemble a command line interface. In addition to my newest, headers http://www.yahoo.com, I use these others constantly:

sub http://natek.typepad.com
subscribed to a feed -- fastest possible way to subscribe to an rss feed with bloglines (please don't ruin bloglines Ask!)
ys northern california hiking trails
returns Yahoo Search results page -- 100s of times a day.
wiki Thomas Frank
returns Wikipedia encyclopedia entry -- lots of info types are best answered by an encyclopedia
map [[701 N First Ave, 94089]
returns a Yahoo Maps -- always need for a map
dic efficiency
returns dictionary.com definition
the excitement
returns thesaurus.com entry
by natek
returns my company's intranet (backyard) results -- for looking up coworkers
amaz Talib Kweli
returns Amazon search results -- to grab a book cover or album track listing
imdb War of the Worlds
returns an Internet Movie DataBase (IMDB) search
how to change your car's oil
returns detailed instructions from ehow.com
techno mobilemonday.com
returns blogosphere info on who's talking about http://www.mobilemonday.com/ right now?

Did you notice the ones for Bloglines (sub)? It's great. I am generally motivated to subscribe to some feed while in the midst of being excited or engaged by the content. This time of highest engagement is the time when you least want to interrupt the session to go subscribe -- this shortcut allows me to nearly-instantly subscribe in the heat on the moment.

(In case you're curious, I was looking at headers tonight to verify that the file expiration dates were distant, so that the files would be cached by the client until then.)

Posted by Nate Koechley on February 8, 2005 at 02:33 AM in Blogging, RSS, Browsers, HOWTO's and Tutorials, Idea, My life..., References, Search, Search Engines, Search Engine Optimization (SEO), Software and Tools, Web Development | Permalink | Comments (0) | TrackBack

2005.01.31

Opera Interview; Opera v8 beta; XmlHttpRequest

Opera Watch (The Unofficial Opera Blog) has An Interview with Opera's Berit Hanson. It's a good read. It sounds like Opera plans to stay true to themselves, and if you read between the lines it sounds like they have some cool things just around the corner. Opera has always been the most innovative company and browser, so this comes as no surprise.

XmlHttpRequest support coming

Professional web developers will be glad to hear that the XmlHttpRequest object will be supported in Opera 8. Here's the relevant part of the interview:

Opera Watch: In version 8 beta of Opera, you introduced support for the XmlHttpRequest object, made famous by Gmail. Considering that it is not part of any standard, why did Opera decide to implement it? What are your thoughts in general on features not based on public standards?

Opera: In Opera's case the support for XMLHttpRequest was built on top of our (pioneering) support for the W3C recommendation Dom Level 3 Load and Save. XMLHttpRequest is offered for backwards compatibility with existing Web sites.

XMLHttpRequest started as a proprietary extension to MSIE, then added to Mozilla but with a slightly different initialization since Mozilla didn't support Active-X.

Opera supports both ways of initiating the XMLHttpRequest object, but we DO NOT SUPPORT Active-X, it just looks that way for the Web application, so we can work with existing Web pages written for MSIE. Active-X is not used internally, so you are not exposed to any of the typical risks with Active-X.

Posted by Nate Koechley on January 31, 2005 at 02:37 PM in Accessibility, Internationalization, CSS Media Types, Browsers, Software and Tools, Web Development | Permalink | Comments (0) | TrackBack

2005.01.28

"Search and SEE the Yellow Pages with a9"

I've been meaning to comment on this, but haven't quite got around to it. As a service to my dear readers, I'll just rip Gary's content, so please show him some love and go read it over there (then come back!).

If you haven't checked out the "just released" new yellow pages from Amazon.com's a9 you really should. It's very cool. In a nutshell, a9 have already taken more than 20 million street-level photos (what a9 calls block views) of each and every establishment in yellow page directories for 10 U.S. metro area and associated these images with each entry. You can even virtually walk entire blocks. It will be a real attention getter for a9 and perhaps, even useful! It's a must see for everyone but it's far from complete at this point. You can also browse/search the yellow page directory via this url.

Again, check out Gary's wonderful ResourceShelf.

(I'll add that this isn't a new idea -- several European sites already offer this functionality, and a company I can't recall used to have 360 Quicktime's of every intersection in New York, way back in '99 or 2000 (please leave a comment if you remember the name of that site.)

Posted by Nate Koechley on January 28, 2005 at 12:14 PM in Metadata, References, Search, Search Engines, Search Engine Optimization (SEO), Software and Tools, Web Development | Permalink | Comments (0) | TrackBack

2005.01.26

SMS Clipping with Yahoo! Local Search

Send search results to your phone from your desktop.

Yahoo! Local released a new search feature today, allowing you to quickly send clips of search results to you phone via a free SMS text message. You can do this directly from the search results page - no page reload necessary. It couldn't be easier:

Here's how:

From the front page of Yahoo!, click the "Local" tab to toggle the search box, and enter a local search. (Or use http://local.yahoo.com directly.) Search for anything you'd find in a yellow pages, or anything with an address. All your saved addressed from Y!Maps and other Y! sites should be available as locations to search around.

local-1

From the search results page (SRP), click "Send to Phone" to send the listing to your phone. It's sent via SMS I think.

local-2

The Send interface is straight forward, and let's you enter a phone number, or select a previously used or saved mobile number. (It seems to default to whatever number you've registered with http://mobile.yahoo.com, though that step isn't necessary.)

local-3

From the standard SRP view, you can click "View Results on Map" to see them graphically displayed around your search location. (Viewing results on a map is great, and also lets you quickly find nearby parking, ATMs, restaurants -- even nearby public restrooms.)

local-4

From this map view, click any of the numbered representations for more information, and the option to "Send to Phone".

local-5

Enter the recipient phone number in the same manner as from the SRP list view.

local-6

The resulting message looks something like this:

pt_localstp_silh_lg_2

Give it a shot, it's pretty good. (And if you haven't played with Local search, this is the perfect opportunity.)

Congrats to my friends Chris and Jason, who were both involved with the webdev work on this.

Update: Gary Price at Search Engine Watch has an entry on this now.

Posted by Nate Koechley on January 26, 2005 at 12:11 AM in Accessibility, Internationalization, CSS Media Types, Browsers, Gadgets, HOWTO's and Tutorials, Information Architecture, Interaction Design, Knowledge & Content Management, Search, Search Engines, Search Engine Optimization (SEO), Software and Tools, Web Development, Yahoo! | Permalink | Comments (2) | TrackBack

2005.01.20

Beautiful API

This page is beautiful: http://www.flickr.com/services/api/. Every service-based web site should have a page like this.

This is a great way to understand and communicate your functionality. If you can't describe your site in these terms, well, start trying because you should be able to. (You don't have to make it public.)

I'm not here to talk about the benefits of web services and open APIs -- but at least internally, if you can think about your offerings in these clean and explicit terms you'll be much more successful.

We've moved beyond the "If you build it, they will come" days. We're now in the "If you offer it, they will build it" days. This cool map-based Flickr interface was built because the API existed.

Posted by Nate Koechley on January 20, 2005 at 03:33 PM in Accessibility, Internationalization, CSS Media Types, Design, Engineering, Idea, Software and Tools, Web Development | Permalink | Comments (0) | TrackBack

2005.01.18

Digital-proof that you should stop using Internet Explorer for your browser.

Digital-proof that you should stop using Internet Explorer for your browser.

The goal is simple: to collect a database of every single article ever published on the internet about why one should not use Internet Explorer.

Posted by Nate Koechley on January 18, 2005 at 02:08 AM in Accessibility, Internationalization, CSS Media Types, Browsers, Web Development | Permalink | Comments (1) | TrackBack

Creating Personalized Feeds with Delicious

I have found this a useful way to use http://del.icio.us, the excellent social bookmarking site that is based on tagging.

Let's review quickly. I post all my bookmarks to delicious. They are all viewable by the public. Mine are here: http://del.icio.us/natekoechley. One great thing about delicious is that every page on the site - every node - has an RSS feed. If all my bookmarks are viewable on the web at /username, then the feed of that content is /rss/username.

Looks like this:
http://del.icio.us/natekoechley
http://del.icio.us/rss/natekoechley

The second thing that's great about delicious is that I can quickly and easily annotate my bookmarks with tags. For example, I have bookmarked Industrial Drawings from the Smithsonian. In addition to storing the URL, I have tagged it with the following words: industrial, drawings, smithsonian, museum, design, art, history.

Each tag becomes a node.  When you are viewing my total collection of bookmarks, my username "natekoechley" is the node. It is likewise possible to view all my bookmarks for a particular tag, such as
http://del.icio.us/natekoechley/art
http://del.icio.us/rss/natekoechley/art

If you want to widen your view, you can view all "art" bookmarks for everybody on the network:
http://del.icio.us/tag/art
http://del.icio.us/rss/tag/art

There is no limit to the number of tags you can have, either in general or with a single URL.

As you can see, each node - tag - get's it's own RSS feed. This is the functionality that creates my personalized feeds.

Reduce Email with Personalized Feeds

If you're like me, there are a couple people in your life that you want to send links too. For me that's my girlfriend Aimee and my family. Email isn't perfect for this -- even with family, too many urls can quickly feel like spam. A blog isn't perfect either; links for family and close friends are often boring, in jokes, or off-topic to a wider blog audience. My solution is to use tags and RSS in http://del.icio.us, in conjunction with an RSS aggregator -- My Yahoo! works perfect for this.

Step one is to flag content that they'll like. Tagging makes this super easy, I just create person-specific tags with the format, "attn:aimee". (Use any convention you want; the colon isn't important either, a hyphen, prior or other mark will work fine.)

With sites tagged, the special tags will begin generating RSS feeds. Any aggregator will work of course, but for family I had success recommending My Yahoo!. Now, when every my family checks their My Yahoo! page, they'll see any new links that I flagged for their attention.... To me, this is ">100% Awesome.

While I don't think that RSS will replace email any time soon, this is a great way to remove some unnecessary noise from the inbox while still maintaining intimate and personal relationships.

Disclaimer: I saw the "attn:xxxx" syntax on another site, it is not my original idea. Unfortunately, I haven't been able to re-locate the source. Please send me and help me locate any prior work on this approach, so that I may give proper credit. Thanks!

Update: Here is an earlier mention of this technique, though this still isn't the place I saw the idea first. Thanks for pointing this out in the comments Brian. [2005.01.19 12:01:00]

Posted by Nate Koechley on January 18, 2005 at 01:58 AM in Blogging, RSS, HOWTO's and Tutorials, My life..., References, Social Networking and Community, Software and Tools, Web Development | Permalink | Comments (4) | TrackBack

Great Firefox Resources

Here are two great sites reviewing tips, tricks and extensions for the Firefox browser from the Mozilla Foundation. (You are using Firefox, right?)

First is the thorough article from Scot's Newsletter. Well written, it includes Firefox Extension Recommendations and Firefox Customization Recommendations. The extensions are grouped by type, including "tab-browsing" and "UI-fixing", as well as broad groups for "tried 'em, like 'em" and others.

The second article is "Secret's of Firefox 1.0", from Windows Secrets Newsletter. This one is focused on tweaks available through Firefox's about:config interface. Check it out for many speed tweaks.

(both via)

Posted by Nate Koechley on January 18, 2005 at 12:57 AM in Blogging, RSS, HOWTO's and Tutorials, Software and Tools, Web Development | Permalink | Comments (0) | TrackBack

2005.01.17

Must Provide Volume Controls

Rule: Volume controls and a Mute button must exist for all online audio.

I ended up on a promotion page for American Airlines. I was actually interested in the demo they offered, so I clicked to watch. The demo had an audio track but no way to turn off the volume. Because I couldn't turn it off, I immediately closed the window. For me, this reaction is sometimes nearly automatic - almost a type of panic. In this case, I was listening to music.

Unfortunately for American Airlines, I wasn't as interested in their audio narrative as I was in the music I already had. Plus, I didn't want to switch over to iTunes and then back again. If you want be successful online, forget about the audio. If you really can't, make it opt-in. No matter what, leave the user in charge, or they'll leave you.

Posted by Nate Koechley on January 17, 2005 at 11:11 PM in Accessibility, Internationalization, CSS Media Types, Design, Information Architecture, Interaction Design, Web Development | Permalink | Comments (0) | TrackBack

2004.12.14

Blog Torrents, P2P and the Development of De-centralized Media

Broadband Daily posts an interview with Nicholas Reville of Downhill Battle, which just recently released Blog Torrent, a very exciting new initiative:

Blog Torrent is a key first step of our plan to make software that builds participatory culture. Video (specifically television) is a huge part of culture. But it's still an extremely top-down medium-- even as the tools to make high quality video and animation have become extremely cheap, very few people watch any significant amount of video other than what's on networks and cable. We think homemade video can compete directly against professional television, especially as reality shows have brought down viewers expectations about the production values needed to make engaging TV.

More from the BlogTorrent site:

What is Blog Torrent?: Blog Torrent is software that makes it much easier to share and download files using the bittorrent protocol. Blog Torrent is easy to install on your website: we don't use MySQL so installation is as easy as uploading a folder to your web host, and all administration happens in the web interface. Blog Torrent is easy for users: even if they don't know what bittorrent is, they get an installer that downloads the file they want. But most of all, Blog Torrent makes publishing with bittorrent painless. Just click "upload", pick a file, and you're done. This is our preview release and it has a lot of bugs and rough edges... but we're smoothing them out for the next version, so stay tuned.
Why does Blog Torrent matter?: Making it easy to blog large video files means that people can share their home movies the same way they share their photos or writings. It lets people create vast networks of truly peer-to-peer video content-- video that was made by individuals and shared with individuals, no bandwidth budget or distribution deal needed.

We'll definitely be seeing more torrent news lately, and this convergence with the blogging world / blogging technology can only help.

Posted by Nate Koechley on December 14, 2004 at 12:34 AM in Blogging, RSS, Engineering, Idea, Information Architecture, Interaction Design, Social Networking and Community, Software and Tools, Web Development | Permalink | Comments (0) | TrackBack

2004.12.08

Digital Web Magazine: a Fast Company's 2005 Fast 50 Nominee

If you don't read Digital Web Magazine, you should. If you do, you should leave a testimonial over at the Fast Company's 2005 Fast 50 - their 4th annual - where Nick Finch, DWM's publisher and driving force is nominated this year.

Posted by Nate Koechley on December 8, 2004 at 03:01 PM in Blogging, RSS, Design, Information Architecture, Interaction Design, Visual Design, Web Development | Permalink | Comments (0) | TrackBack

2004.12.01

CSS Hack vs CSS Filter

I was in the midst of some late-night coding. Well, not really late-night I guess. Let me rephrase.

It was 10:30pm and I was just getting started with some nighttime coding. I was searching for something, and ended up reading a july 2003 evolt post. In it, PPK describes the difference between CSS Hacks and CSS Filters. I've read tons about each, but this is the first time that I really noticed their definitions.

CSS Hacks
Techniques and syntax that achieve desired results by exploiting a bug in a particular browsers rendering engine.
CSS Filters
Techniques and syntax that achieve desired results by exploiting a feature that a particular browsers rendering engine does not yet support.

Posted by Nate Koechley on December 1, 2004 at 10:44 PM in Accessibility, Internationalization, CSS Media Types, Browsers, References, Web Development | Permalink | Comments (2) | TrackBack

2004.11.30

New Netscape embraces Firefox, IE

Firefox AND Internet Explorer!?

Apparently the new Netscape browser has a drop-down menu option to toggle between the IE rendering engine and the Gecko rendering engine. (Gecko is the rendering engine shared by Firefox, Mozilla Suite, and Netscape 7.x.)

CNET reports that the Mozilla Foundation "welcomed the release", noting that it's based on the pre-1.0 engine. Apparently the final release of the new Netscape browser will be upgraded to the more recent (1.0) core.

As of 8 a.m. PST Tuesday, Netscape fans were test-driving a prototype Netscape browser that runs on two different browsing engines: the Mozilla Foundation's Gecko engine, which powers up the Mozilla, Firefox and older Netscape browsers, and Microsoft's Internet Explorer engine, which many consider the de facto Web standard.

One great thing about Firefox is its ability to be enhanced though "extensions". Extensions are small add-ons that add new functionality to Firefox. They can add anything from a toolbar button to a completely new feature. They allow the browser to be customized to fit the personal needs of each user if they need additional features, while keeping Firefox small to download. Of the 159 listed on the extensions site, IE View for Windows provides this same functionality, toggling between IE and Firefox rendering engines.

All this Browser Proliferation almost makes me yearn for the easy days of bi-lateral browser wars.

Posted by Nate Koechley on November 30, 2004 at 12:02 PM in Browsers, Web Development | Permalink | Comments (0) | TrackBack

2004.11.28

What does a front-end web developer do?

My business card says I'm a Senior Web Developer. I've been asked a million times what I do, what that title means. It's not easy to explain.

I tell my Grandmother that I'm in publishing. Close enough for somebody in their 90's.

Sometimes I say I'm a Technical Designer or just a Designer. Other times I describe the Web Project Triangle: Project Management on one end, Design (visual, experience) on another, and Engineering (databases, servers) on the third. I say that Web Developers sit in the middle of that triangle, giving and receiving deliverables, and often acting as liason between those groups and practices.

Occassionally I say that "we're the people with the most software", which is really just another way of saying that I'm in the the middle of the Triangle. I often have MS Project, Word and Excel running to look at project plans, Gantt charts and task lists from Project Management. Add to that some combination of Photoshop, Illustrator, Viseo and maybe InDesign to handle deliverables from Design. From the Engineering world, I always have a local web server running with PHP and MySQL running, as well Unix utilities, bug tracking software, debugging suites... So there's all that, plus all the software native to Web Development. (Scores of browsers, Homesite, screen rules and color management tools, diff-ing and testing software, and more....

For another take on the same question, read"What does a front-end web developer do?". Author Christian Heilmann is the mind behind Unobtrusive Javascript and all the other great tools at onlinetools.org.

Posted by Nate Koechley on November 28, 2004 at 10:28 PM in My life..., Software and Tools, Web Development | Permalink | Comments (1) | TrackBack

2004.11.18

CSS Hacks - Collection of Articles and Links

I've been thinking about CSS hacks lately, so I thought I'd gather together some of the resources I've been using and articles I've been considering.

Enjoy.

Posted by Nate Koechley on November 18, 2004 at 11:49 AM in Accessibility, Internationalization, CSS Media Types, Browsers, Web Development | Permalink | Comments (0) | TrackBack

2004.11.04

MIME Type Test Suite

I pointed to Juicy Studio's article It's all in the MIME a few days ago in my mini-blog. Well, Gez Lemon, the author of Juicy Studio, follows that up with some MIME Type Test Suites.

Did you notice the shameless plug for my Mini-Blog? Good. Enjoy it. (The 8 most recent posts to my mini-blog are included in the right column on my main blog.)

Why have a mini-blog? What's the difference? Who's idea was it? First of all, it wasn't my idea. I remember noting it first at my friend Ernie's blog, but it's pretty common and you'll find something similar at mezzoblue and even Digital-Web's What's New area.

Why have a mini-blog? The idea it to be able to quickly blog lots of things, without diluting the quality of the main blog. My mini