<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-10037145</id><updated>2011-07-31T01:58:22.532-07:00</updated><title type='text'>Web Patterns</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://webpatterns.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10037145/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://webpatterns.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Greg Bryant</name><uri>http://www.blogger.com/profile/13408526593029789018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-10037145.post-8782796419094232135</id><published>2009-09-19T13:17:00.000-07:00</published><updated>2009-09-19T19:26:21.807-07:00</updated><title type='text'>HTML gradient</title><content type='html'>&lt;span style="font-style:italic;"&gt;Where&lt;/span&gt;, in the gradient of web patterns, does HTML(XHTML) fit?&lt;br /&gt;&lt;br /&gt;Of course, this is continuously changing. The markup language used to provide:&lt;br /&gt;&lt;br /&gt;(1) identity of the page&lt;br /&gt;(2) classification of content&lt;br /&gt;(3) layout of content&lt;br /&gt;(4) styling of content&lt;br /&gt;&lt;br /&gt;... and of course, with CSS, (4) is now deprecated completely, with (3) actively being pushed out of the door, but keeping a foot in, in the "CSS with Minimal Tables" compromise (see Apple's &lt;a href="http://developer.apple.com/internet/webcontent/bestwebdev.html"&gt;Web Development Best Practices&lt;/a&gt; page).&lt;br /&gt;&lt;br /&gt;That said, it is impossibly difficult to engage in (2) without an existing storyboard (or wireframe or visual outline or mock-up or comp) in mind, on the screen or on paper. In fact, (2) never happens otherwise ... even the most dynamically generated web pages will reveal, in the designer's naming and categorization of classes and ids of elements, some kind of visual arrangement of data -- in fact, usually it was written with some &lt;span style="font-style:italic;"&gt;specific example&lt;/span&gt; in mind.&lt;br /&gt;&lt;br /&gt;Still, both the "Pure CSS" and the "CSS with Minimal Tables" strategies have the same effect: structuring layout sufficiently to begin work on further differentiation, while leaving enough flexibility to change position and emphasis when needed.&lt;br /&gt;&lt;br /&gt;(1) is well-covered &lt;a href="http://developer.apple.com/internet/webcontent/bestwebdev.html"&gt;elsewhere&lt;/a&gt; ... titles, DOCTYPES, meta tags, etc. &lt;br /&gt;&lt;br /&gt;So we need to look more closely at the gradient sequence of (2) or (2)-(3). The key is to understand the early unfolding of good decisions regarding what is most important about the web page.&lt;br /&gt;&lt;br /&gt;* Determine, and order, your ends&lt;br /&gt;* Determine, and order, your means&lt;br /&gt;&lt;br /&gt;The Ends and Means, or the "Purposes and Processes", when spelled-out fully, tend to be intertwined: nouns and adjectives, verbs and adverbs ... Discovering and ordering these can involve quite a bit of deep digging. And, in group situations, some tough-minded facilitating.&lt;br /&gt;&lt;br /&gt;Let's say they've been found. We then need to:&lt;br /&gt;&lt;br /&gt;* Arrange the key elements.&lt;br /&gt;* Ensure their differentiation from each other.&lt;br /&gt;* Ensure that they complement each other.&lt;br /&gt;&lt;br /&gt;If you have more than two things on the page, this usually means:&lt;br /&gt;&lt;br /&gt;* Arrange the elements into categories beneficial to the user.&lt;br /&gt;* Clarify and distinguish elements by level and type of "engagement", such as which elements require the users to be active, and which require them to be passive.&lt;br /&gt;&lt;br /&gt;We now typically have something that would allow us to create a "div" scaffolding. Possibly the most important aspect of this stage is:&lt;br /&gt;&lt;br /&gt;* name the elements&lt;br /&gt;&lt;br /&gt;... with "class" and "id" designations. These might be:&lt;br /&gt;&lt;br /&gt;* unique elements&lt;br /&gt;* categories of elements&lt;br /&gt;* active elements, for example for use with Javascript&lt;br /&gt;&lt;br /&gt;... after this, and before applying CSS, we can lean on HTML's presentation categories for differentiation: not everything is a "div". So, "ul", "ol", "table", "h1", "h2" etc. are perfectly appropriate for categorizing certain types of content. It's just typically LESS important than the NAME of the content, and the POINT of the content. But MORE important than the CSS property:value declarations.&lt;br /&gt;&lt;br /&gt;And besides, technically, we need all the HTML elements differentiated and named before we can even begin to write CSS rules, which use "selectors" that identify standard element types, our element classes and our element ids.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10037145-8782796419094232135?l=webpatterns.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webpatterns.blogspot.com/feeds/8782796419094232135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10037145&amp;postID=8782796419094232135' title='42 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10037145/posts/default/8782796419094232135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10037145/posts/default/8782796419094232135'/><link rel='alternate' type='text/html' href='http://webpatterns.blogspot.com/2009/09/html-gradient.html' title='HTML gradient'/><author><name>Greg Bryant</name><uri>http://www.blogger.com/profile/13408526593029789018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>42</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10037145.post-5269327087823912041</id><published>2009-09-14T15:39:00.001-07:00</published><updated>2009-09-19T00:48:06.000-07:00</updated><title type='text'>Styles</title><content type='html'>When considering the gradient of patterns that makes a website, the &lt;span style="font-weight:bold;"&gt;styles&lt;/span&gt; are patterns that fit into the gradient as lower-level transform functions or methods, applied to the higher-level instances of HTML patterns.&lt;br /&gt;&lt;br /&gt;CSS "rules" or styles are patterns that apply across the whole system, at the appropriate scale. Some are common to groups of pages, some are common to HTML structures, and some are exceptions. &lt;br /&gt;&lt;br /&gt;When applied, the results are different from instance to instance, as they should be. And yet the purpose of the abstraction is consistency. Very unique things can have common properties at different scales -- Shakespearean sonnets, for example, make use of iambic pentameter on a small scale, and a large scale rhyming scheme of ABAB CDCD EFEF GG.&lt;br /&gt;&lt;br /&gt;On the web, patterns at certain scales, having to do with appearance, are styles in the head element of the document, or in Cascading Style Sheet (CSS) files, typically assigned the extension .css. They also can be assigned inline ... which is fine for quick-and-dirty exercises. So, there seems to be a gradient of CSS use:&lt;br /&gt;&lt;br /&gt;* quick page: inline style property&lt;br /&gt;* larger page or small web application: styles defined in "head" section&lt;br /&gt;* serious site of perhaps dynamic pages, or a web application: styles in .css file&lt;br /&gt;* serious web service: in several .css files&lt;br /&gt;* super-serious: dynamically generated .css definitions and files&lt;br /&gt;&lt;br /&gt;With the right tools, you can start at the high-end ("super-serious"). More on that in another post.&lt;br /&gt;&lt;br /&gt;CSS has another gradient for the HTML patterns / elements / features it applies to, or effects, from large scale to small:&lt;br /&gt;&lt;br /&gt;* element morphology (position, size, margin ...)&lt;br /&gt;* HTML large elements (tables, lists, paragraphs, buttons, scroll bars ...)&lt;br /&gt;* visibility&lt;br /&gt;* containers&lt;br /&gt;* colors&lt;br /&gt;* text size&lt;br /&gt;* text font&lt;br /&gt;&lt;br /&gt;etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10037145-5269327087823912041?l=webpatterns.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webpatterns.blogspot.com/feeds/5269327087823912041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10037145&amp;postID=5269327087823912041' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10037145/posts/default/5269327087823912041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10037145/posts/default/5269327087823912041'/><link rel='alternate' type='text/html' href='http://webpatterns.blogspot.com/2009/09/styles.html' title='Styles'/><author><name>Greg Bryant</name><uri>http://www.blogger.com/profile/13408526593029789018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10037145.post-116111380090636265</id><published>2006-10-17T12:33:00.000-07:00</published><updated>2009-09-18T17:39:20.880-07:00</updated><title type='text'>(-) Ads that nobody will click</title><content type='html'>It's brilliant to put click-through advertising in places where people are looking either for something specific (as when they use Google), or at content pages near their target.&lt;br /&gt;&lt;br /&gt;It's brilliant to put web ads where people are socializing, venting or just fooling around (like YouTube).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;It's not so brilliant to put ads in delicate states, like editing states, for webmail or web services generally -- because &lt;i&gt;no one's going to click on a link&lt;/i&gt;, when there's a perfectly reasonable possibility that they will lose their work!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;In the spirit of the currently canonical definition of "anti-pattern", what is a better generic solution to the problem this is trying to resolve?&lt;br /&gt;&lt;br /&gt;The problem: revenue. "Advertising" is the pattern. One version "Display advertising" can be applied all over an application. Another, "click-through advertising", can't be applied everywhere. So, this is really an "anti-pattern" in the sense of a genetic "suppressor" which prevents (based on experience) the "click-through advertising" pattern from being applied to states where the user is editing something. Use "No Advertising", or "Display Advertising", instead.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10037145-116111380090636265?l=webpatterns.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webpatterns.blogspot.com/feeds/116111380090636265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10037145&amp;postID=116111380090636265' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10037145/posts/default/116111380090636265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10037145/posts/default/116111380090636265'/><link rel='alternate' type='text/html' href='http://webpatterns.blogspot.com/2006/10/web-services-nobody-clicks.html' title='(-) Ads that nobody will click'/><author><name>Greg Bryant</name><uri>http://www.blogger.com/profile/13408526593029789018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10037145.post-113202057290888508</id><published>2005-11-14T18:06:00.000-08:00</published><updated>2009-09-14T14:57:52.255-07:00</updated><title type='text'>Profile &amp; Profile Connections</title><content type='html'>A personal profile, along with a way of telling others &lt;span style="font-style:italic;"&gt;about&lt;/span&gt; your personal profile. Also, features that move people towards each other, or towards mutual goals, online or offline, in communities, when their profiles match in some way. Examples abound on friendster, flickr, facebook etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10037145-113202057290888508?l=webpatterns.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webpatterns.blogspot.com/feeds/113202057290888508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10037145&amp;postID=113202057290888508' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10037145/posts/default/113202057290888508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10037145/posts/default/113202057290888508'/><link rel='alternate' type='text/html' href='http://webpatterns.blogspot.com/2005/11/individual-community.html' title='Profile &amp; Profile Connections'/><author><name>Greg Bryant</name><uri>http://www.blogger.com/profile/13408526593029789018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10037145.post-110522930472567054</id><published>2005-01-08T15:55:00.000-08:00</published><updated>2005-01-08T16:08:24.726-08:00</updated><title type='text'>Portal</title><content type='html'>It is important to collect and consolidate access to the web. There are, however, several ways to do this:&lt;br /&gt;&lt;br /&gt;1. Search&lt;br /&gt;&lt;br /&gt;This will continue to be a critically important tool for finding what you need among an ever growing set of data. I expect many changes in search, and many expansions of the notion in the future. For example, people should be able to weigh their search, to use specific analytical tools, to follow the propagation of information, etc.&lt;br /&gt;&lt;br /&gt;2. Ontologies or hierarchies&lt;br /&gt;&lt;br /&gt;As search has improved, these are less used as before, with the exception of the wiki. But this is an area for dynamic growth. Unfortunately, DMOZ (aka the Open Directory) seems very limited in its approach to ontology, mirroring Yahoo's rather narrow apporach to the problem.&lt;br /&gt;&lt;br /&gt;3. Summaries&lt;br /&gt;&lt;br /&gt;Essentially, a Portal is a collection of tools, data and links to further information. Most portals offer customization, so that a summary can reflect the user. They are missing the opportunity to provide this as a way of generating content for others ... summaries that are useful to others. Many speciality portals do exactly that ... they simply summarize the subject at the moment, and the work is often that of a single person. Wikis, again, are making inrads into this arena.&lt;br /&gt;&lt;br /&gt;4. Newspapers&lt;br /&gt;&lt;br /&gt;Many portals are also newspapers, with weighted headlines, taglines, bylines, photos &amp; leads. While blogs have made inroads into the area of columnists, and even groups of columnists, they have yet to really encroach on the true consolidation of information that a newspaper provides. Many smaller web service providers create such automatic consolidation &amp; layout tools. But the big companies have yet to do this, which is odd, since it is the natural extension of the blog phenomenon. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10037145-110522930472567054?l=webpatterns.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webpatterns.blogspot.com/feeds/110522930472567054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10037145&amp;postID=110522930472567054' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10037145/posts/default/110522930472567054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10037145/posts/default/110522930472567054'/><link rel='alternate' type='text/html' href='http://webpatterns.blogspot.com/2005/01/portal.html' title='Portal'/><author><name>Greg Bryant</name><uri>http://www.blogger.com/profile/13408526593029789018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10037145.post-110522837644167212</id><published>2005-01-08T15:43:00.000-08:00</published><updated>2005-01-08T15:52:56.440-08:00</updated><title type='text'>Wiki</title><content type='html'>When you study something, you tend to forget it almost immediately. Unless you &lt;i&gt;do&lt;/i&gt; something with it. Blogs get things written down, and so address this problem some. But a Wiki lets you begin to organize the information permanently, update it, expand upon it, and invite others to do so with you. It is a repository.&lt;br /&gt;&lt;br /&gt;I expect that wiki's will begin to show further levels of protection and versioning for the work done on them. I expect that some companies, such as socialtext, are thinking about making wikis available to the general public, for example through aquisition by Google. The only reason it hasn't is that, as of this writing, wikipedia has created not a &lt;i&gt;plurality&lt;/i&gt; of information, the way blogger did, but a &lt;i&gt;consolidation&lt;/i&gt; of information. This means that communities are more likely to fold their research into wikipedia. But Wikipedia is a public repository, and small groups &amp; individuals can't use it for initiatives they prefer (rightly or wrongly) to keep private. So their is still room for "wiki web service providers", like socialtext, and there's a string possibility that wikis are just at the beginning of their web history.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10037145-110522837644167212?l=webpatterns.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webpatterns.blogspot.com/feeds/110522837644167212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10037145&amp;postID=110522837644167212' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10037145/posts/default/110522837644167212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10037145/posts/default/110522837644167212'/><link rel='alternate' type='text/html' href='http://webpatterns.blogspot.com/2005/01/wiki.html' title='Wiki'/><author><name>Greg Bryant</name><uri>http://www.blogger.com/profile/13408526593029789018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10037145.post-110522771472225399</id><published>2005-01-08T15:33:00.000-08:00</published><updated>2005-01-08T15:41:54.723-08:00</updated><title type='text'>Blog</title><content type='html'>People want to record their impressions.&lt;br /&gt;&lt;br /&gt;A weblog is a diary, but it is also journalism, in the original sense of that "published daily". It can be investigative journalism, because the investigation itself can be published on a daily basis, and the ongoing story can attract readers, and fund further investigation.&lt;br /&gt;&lt;br /&gt;The immediacy of a journal, or a diary, is what makes the writing &amp; reading of weblogs so attractive. Of course, it's as vulnerable to spin and mendacity as any other form of publishing. But when done honestly, it is the opposite of dry reporting of official pronouncements.&lt;br /&gt;&lt;br /&gt;The reasons that "the blog" became successful, and is a web pattern, is that it serves a very critical personal need: to just get your thoughts down, so they aren't lost. Other web patterns will also serve such critical &amp; personal needs. There are untapped patterns, in many other realms. In the sense that the weblog was a generic use of the web years before "blogs" became a web service, is an important consideration in mining patterns from the web, and in anticipating future successes.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10037145-110522771472225399?l=webpatterns.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webpatterns.blogspot.com/feeds/110522771472225399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10037145&amp;postID=110522771472225399' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10037145/posts/default/110522771472225399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10037145/posts/default/110522771472225399'/><link rel='alternate' type='text/html' href='http://webpatterns.blogspot.com/2005/01/blog.html' title='Blog'/><author><name>Greg Bryant</name><uri>http://www.blogger.com/profile/13408526593029789018</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
