<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/rss-style.xsl" type="text/xsl"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	     xmlns:dc="http://purl.org/dc/elements/1.1/"
	   xmlns:atom="http://www.w3.org/2005/Atom"
	     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	  xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>hashtags &#8211; Terence Eden’s Blog</title>
	<atom:link href="https://shkspr.mobi/blog/tag/hashtags/feed/" rel="self" type="application/rss+xml" />
	<link>https://shkspr.mobi/blog</link>
	<description>Regular nonsense about tech and its effects 🙃</description>
	<lastBuildDate>Wed, 25 Feb 2026 08:49:27 +0000</lastBuildDate>
	<language>en-GB</language>
	<copyright>© Terence Eden. 🄯 CC BY-SA. See https://shkspr.mobi/blog/copyright-and-copyleft/</copyright>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://shkspr.mobi/blog/wp-content/uploads/2023/07/cropped-avatar-32x32.jpeg</url>
	<title>hashtags &#8211; Terence Eden’s Blog</title>
	<link>https://shkspr.mobi/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title><![CDATA[Hashtag Standards (part deux)]]></title>
		<link>https://shkspr.mobi/blog/2024/12/hashtag-standards-part-deux/</link>
					<comments>https://shkspr.mobi/blog/2024/12/hashtag-standards-part-deux/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Wed, 04 Dec 2024 12:34:34 +0000</pubDate>
		<category><![CDATA[BlueSky]]></category><category><![CDATA[hashtags]]></category><category><![CDATA[mastodon]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=54180</guid>

					<description><![CDATA[What is a hashtag?  Fifteen years ago (fuck, I&#039;m old) I started documenting what Twitter&#039;s nascent hashtags could and couldn&#039;t do.  Back in 2010, this is how the official Twitter site linked hashtags.    Notably, punctuation symbols didn&#039;t &#34;count&#34; as part of a tag.  How does modern social media handle something like #Fish&#38;Chips?   Mastodon links directly to #Fish&#38;Chips BlueSky links directly to…]]></description>
										<content:encoded>&lt;p&gt;What is a hashtag?&lt;/p&gt;

&lt;p&gt;Fifteen years ago (fuck, I'm old) I started documenting &lt;a href="https://shkspr.mobi/blog/2010/02/hashtag-standards/"&gt;what Twitter's nascent hashtags could and couldn't do&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Back in 2010, this is how the official Twitter site linked hashtags.&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2010/02/Twitter-Website-Hashtag.png" alt="Screenshot from the Twitter website showing hashtags being linked." width="407" height="214" class="aligncenter size-full wp-image-25902"&gt;

&lt;p&gt;Notably, punctuation symbols didn't "count" as part of a tag.&lt;/p&gt;

&lt;p&gt;How does modern social media handle something like #Fish&amp;amp;Chips?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mastodon links directly to &lt;a href="https://mastodon.social/tags/Fish&amp;amp;Chips"&gt;#Fish&amp;amp;Chips&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;BlueSky links directly to &lt;a href="https://bsky.app/hashtag/Fish%26Chips"&gt;#Fish&amp;amp;Chips&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Threads links to a &lt;em&gt;search&lt;/em&gt; for &lt;a href="https://www.threads.net/search?q=Fish%26Chips&amp;amp;serp_type=tags&amp;amp;tag_id=18413420497040775"&gt;Fish &amp;amp; Chips&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What about normalisation?&lt;/p&gt;

&lt;p&gt;Should #Romeo link to #ROMEO and #rOMeO?&lt;/p&gt;

&lt;p&gt;On all three of the major social networks, case is insensitive.&lt;/p&gt;

&lt;p&gt;But what about the vagueries of &lt;a href="https://www.unicode.org/reports/tr15/"&gt;Unicode normalisation&lt;/a&gt;?&lt;/p&gt;

&lt;p&gt;Is #Ŕöméø&amp;amp;Jülíèt the same as #Romeo&amp;amp;Juliet?&lt;/p&gt;

&lt;p&gt;Both &lt;a href="https://www.threads.net/search?q=%C5%94%C3%B6m%C3%A9%C3%B8%26J%C3%BCl%C3%AD%C3%A8t&amp;amp;serp_type=tags&amp;amp;tag_id=18475178065037431"&gt;Threads&lt;/a&gt; and &lt;a href="https://mastodon.social/tags/%C5%94%C3%B6m%C3%A9%C3%B8&amp;amp;J%C3%BCl%C3%AD%C3%A8t"&gt;Mastodon&lt;/a&gt; do some form of decomposition - turning the various accents into their accentless versions.&lt;/p&gt;

&lt;p&gt;But &lt;a href="https://bsky.app/hashtag/%C5%94%C3%B6m%C3%A9%C3%B8%26J%C3%BCl%C3%AD%C3%A8t"&gt;BlueSky links to the &lt;em&gt;literal&lt;/em&gt; version&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Is that the right thing to do? I don't know.&lt;/p&gt;

&lt;p&gt;This literal interpretation of the text in hashtags &lt;a href="https://shkspr.mobi/blog/2019/12/hashtag-steganography/"&gt;allows for some interesting steganography&lt;/a&gt; - which can be fun, but I wonder if it is what users expect?&lt;/p&gt;

&lt;p&gt;And that's what it comes down to. What is &lt;em&gt;technically&lt;/em&gt; correct isn't always the same as what users &lt;em&gt;need&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Perhaps most users prefer #ROMEO to link to the same posts as #romeo.  Perhaps they think #Romeó should link there too.  But no social network, as far as I am aware, has done any user research into the behaviour that users want when interacting with hashtags.&lt;/p&gt;

&lt;p&gt;I'd love someone to do some actual research on how people expect a &lt;a href="https://www.vanderwal.net/folksonomy.html"&gt;folksonomy&lt;/a&gt; to work.&lt;/p&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=54180&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2024/12/hashtag-standards-part-deux/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Hashtag Standards]]></title>
		<link>https://shkspr.mobi/blog/2010/02/hashtag-standards/</link>
					<comments>https://shkspr.mobi/blog/2010/02/hashtag-standards/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Thu, 25 Feb 2010 17:35:38 +0000</pubDate>
		<category><![CDATA[API]]></category><category><![CDATA[geek]]></category><category><![CDATA[hashtags]]></category><category><![CDATA[standards]]></category><category><![CDATA[twitter]]></category>		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=1730</guid>

					<description><![CDATA[This is one of the longest and geekiest posts I&#039;ve done. It&#039;s a work in progress. All comments and abuse welcome.  #hashtag – As long has there has been a way to search Tweets* people have been adding information to make the easy to find. The #hashtag syntax has become the standard for attaching a succinct tag to Tweets.  &#60;  p&#62;The Twitter Engineering Blog  That&#039;s all well and good, but as I d…]]></description>
										<content:encoded>&lt;pre&gt;This is one of the longest and geekiest posts I've done.
It's a work in progress.
All comments and abuse welcome.&lt;/pre&gt;

&lt;blockquote&gt;&lt;p&gt;#hashtag – As long has there has been a way to search Tweets* people have been adding information to make the easy to find. The #hashtag syntax has become the standard for attaching a succinct tag to Tweets.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;&amp;lt;&lt;/p&gt;

&lt;p&gt;p&amp;gt;&lt;a href="https://blog.twitter.com/engineering/en_us/a/2010/introducing-the-open-source-twitter-text-libraries"&gt;The Twitter Engineering Blog&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's all well and good, but &lt;a href="https://shkspr.mobi/blog/2010/02/hashtags-and-implicit-knowledge/"&gt;as I discovered yesterday&lt;/a&gt;, without standardisation the ability to search falls apart.&lt;/p&gt;

&lt;p&gt;I'm not talking about whether you should use the #&lt;span style="text-decoration: underline;"&gt;LondonFire&lt;/span&gt;&lt;strong&gt; &lt;/strong&gt;tag rather than #&lt;span style="text-decoration: underline;"&gt;FireOfLondon&lt;/span&gt;&lt;strong&gt; &lt;/strong&gt;or #&lt;span style="text-decoration: underline;"&gt;LDNfire&lt;/span&gt;. Rather; how does a computer recognise what a &lt;em&gt;valid&lt;/em&gt; tag is?&lt;/p&gt;

&lt;h2 id="why-does-this-matter"&gt;&lt;a href="https://shkspr.mobi/blog/2010/02/hashtag-standards/#why-does-this-matter"&gt;Why Does This Matter?&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Search and tracking quickly break down if they are inconsistent.
For example, if you are using #&lt;span style="text-decoration: underline;"&gt;Romeo&amp;amp;Juliet&lt;/span&gt; to mark all your conversations about the play you are watching, different Twitter clients will link through to either #&lt;span style="text-decoration: underline;"&gt;Romeo&lt;/span&gt;, #&lt;span style="text-decoration: underline;"&gt;Romeo&amp;amp;&lt;/span&gt;, or #&lt;span style="text-decoration: underline;"&gt;Romeo&amp;amp;Juliet&lt;/span&gt;.&amp;nbsp; Each search returning potentially different conversations.&lt;/p&gt;

&lt;h2 id="whats-the-convention"&gt;&lt;a href="https://shkspr.mobi/blog/2010/02/hashtag-standards/#whats-the-convention"&gt;What's The Convention?&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Twitter's website &lt;em&gt;ought&lt;/em&gt; to be the definitive source of how hashtags work.  This is their main site.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/edent/status/9594091070"&gt;&lt;img class="size-full wp-image-1738" title="Twitter Website Hashtag" src="https://shkspr.mobi/blog/wp-content/uploads/2010/02/Twitter-Website-Hashtag.png" alt="Twitter Website Hashtag" width="407" height="214"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yet, when we visit their mobile site - we get a completely different experience.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://mobile.twitter.com/edent/status/9594091070"&gt;&lt;img class="size-full wp-image-1731" title="Mobile.Twitter's hashtags" src="https://shkspr.mobi/blog/wp-content/uploads/2010/02/snap20100225_151129.png" alt="Mobile.Twitter's hashtags" width="320" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2 id="application-confusion"&gt;&lt;a href="https://shkspr.mobi/blog/2010/02/hashtag-standards/#application-confusion"&gt;Application Confusion&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Because there aren't any widely publicised definitions for what hashtags are, some applications have a significantly different attitude to hashtags&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;div id="attachment_1732-2" style="width: 490px" class="wp-caption aligncenter"&gt;&lt;img aria-describedby="caption-attachment-1732-2" class="size-full wp-image-1732" title="SocialScope Hashtags" src="https://shkspr.mobi/blog/wp-content/uploads/2010/02/Capture8_1_53.jpg" alt="SocialScope Hashtags" width="480" height="320"&gt;&lt;p id="caption-attachment-1732-2" class="wp-caption-text"&gt;SocialScope Hashtags&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;

&lt;h2 id="ubertwitters-hashtag-support"&gt;&lt;a href="https://shkspr.mobi/blog/2010/02/hashtag-standards/#ubertwitters-hashtag-support"&gt;

&lt;div id="attachment_1771-2" style="width: 490px" class="wp-caption aligncenter"&gt;&lt;img aria-describedby="caption-attachment-1771-2" class="size-full wp-image-1771" title="UberTwitter's Hashtag Support" src="https://shkspr.mobi/blog/wp-content/uploads/2010/02/x2_c38906.jpeg" alt="UberTwitter's Hashtag Support" width="480" height="360"&gt;&lt;p id="caption-attachment-1771-2" class="wp-caption-text"&gt;UberTwitter's Hashtag Support&lt;/p&gt;&lt;/div&gt;&lt;/a&gt;&lt;/h2&gt;

&lt;h2 id="standardisation"&gt;&lt;a href="https://shkspr.mobi/blog/2010/02/hashtag-standards/#standardisation"&gt;Standardisation&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;To be fair, the Twitter team do have a standard.&amp;nbsp; Even if they don't use it themselves.&lt;/p&gt;

&lt;p&gt;They even have some &lt;a href="http://github.com/mzsanford/twitter-text-conformance"&gt;limited test cases&lt;/a&gt; and libraries in Ruby and Java.&lt;/p&gt;

&lt;p&gt;So, given that Twitter, their implementation and apps all disagree on what a hashtag is, let's try to work our what they &lt;em&gt;should&lt;/em&gt; be.&lt;/p&gt;

&lt;h2 id="anatomy-of-a-tag"&gt;&lt;a href="https://shkspr.mobi/blog/2010/02/hashtag-standards/#anatomy-of-a-tag"&gt;Anatomy of a Tag&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;To begin at the beginning.&amp;nbsp; A hashtag starts with a hash. #.&amp;nbsp; Simple, no? No.&lt;/p&gt;

&lt;p&gt;There are two different hash symbols! There's the # we all know and love, and there's ＃.&amp;nbsp; Looks pretty similar, but in fact it's the unicode symbol [U+FF03]&lt;/p&gt;

&lt;p&gt;Actually, that's not the beginning.&amp;nbsp; What comes before the # of the hashtag?&lt;/p&gt;

&lt;p&gt;Consider the following examples - which should be hashtags?&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;#tag - the # starts off the Tweet&lt;/li&gt;
    &lt;li&gt;This is my tweet #test - the # comes after a space.&lt;/li&gt;
    &lt;li&gt;This is it.#tag - the # is pushed against some punctuation, perhaps for reasons of space.&lt;/li&gt;
    &lt;li&gt;Here we go-#LiftOff - the # is pushed against a -&lt;/li&gt;
    &lt;li&gt;I've run out of space#OhNo - the # is pushed against some text&lt;/li&gt;
    &lt;li&gt;&amp;amp;#nbsp; - the # is part of an HTML entity&lt;/li&gt;
    &lt;li&gt;text　#hashtag - the # comes after a "wide space" (U+3000)&lt;/li&gt;
    &lt;li&gt;Should I use #tag/#hashtag? The # comes after a /&lt;/li&gt;
    &lt;li&gt;Is this valid ##tag - there are two #s&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, we can see it's a little more complicated than we first thought.&lt;/p&gt;

&lt;h2 id="the-end"&gt;&lt;a href="https://shkspr.mobi/blog/2010/02/hashtag-standards/#the-end"&gt;The End&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Let's skip over what's &lt;em&gt;in&lt;/em&gt; a hashtag and as "how do we know that a tag has finished?"&lt;/p&gt;

&lt;p&gt;Consider the following examples -&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;New album #OMG! - should the ! be part of the hashtag?&lt;/li&gt;
    &lt;li&gt;#BreakingNews: dog bites man - should the : be part of the hashtag?&lt;/li&gt;
    &lt;li&gt;(is this a #tag) - should the ) be part of the hashtag?&lt;/li&gt;
    &lt;li&gt;I like #tags#&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We probably don't want to have any punctuation at the end of our tag.&amp;nbsp; Can you think of any counter examples?&lt;/p&gt;

&lt;h2 id="yummy-filling"&gt;&lt;a href="https://shkspr.mobi/blog/2010/02/hashtag-standards/#yummy-filling"&gt;Yummy Filling&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Our language is more than just the letters A-Z. We've got punctuation, numbers, symbols and all manner of other glyphs.&amp;nbsp; Which of them count as part of a hashtag?&lt;/p&gt;

&lt;p&gt;Take a look at these examples&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Vote Bush! #Don't&lt;/li&gt;
    &lt;li&gt;My dog died #:-(&lt;/li&gt;
    &lt;li&gt;Einstein #e=mc^2&lt;/li&gt;
    &lt;li&gt;I'm on bus #123&lt;/li&gt;
    &lt;li&gt;I'm giving #110%&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Using Twitter's standards, &lt;strong&gt;none&lt;/strong&gt; of the above render as complete tags.&lt;/p&gt;

&lt;h2 id="foreign-languages"&gt;&lt;a href="https://shkspr.mobi/blog/2010/02/hashtag-standards/#foreign-languages"&gt;Foreign Languages&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;We've mentioned accents above.&amp;nbsp; As we can see in the first example, "funny" characters can cause problems.&amp;nbsp; Broadly speaking, there are three issues.&lt;/p&gt;

&lt;ol&gt;
    &lt;li&gt;Accents.&amp;nbsp; Should the é on #Café be linked?&lt;/li&gt;
    &lt;li&gt;Accents.&amp;nbsp; Is #Romeo the same as #Ŕöméø?&lt;/li&gt;
    &lt;li&gt;Japanese, and some other languages, don't use spaces.&amp;nbsp; Is #tagの valid? What about # 会議中 ?&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id="exhausted"&gt;&lt;a href="https://shkspr.mobi/blog/2010/02/hashtag-standards/#exhausted"&gt;Exhausted&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;These are a fraction of the possible problems.&amp;nbsp; It's exhausting trying to find all the possible textual combinations and permutations which could lead into a hashtag.&amp;nbsp; No wonder there is confusion!&lt;/p&gt;

&lt;p&gt;Search is a complex, profitable, and useful business.&amp;nbsp; It's of vital importance that there is a legitimate, comprehensive standard which &lt;strong&gt;all&lt;/strong&gt; sites and applications can follow.&lt;/p&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=1730&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2010/02/hashtag-standards/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Hashtags and Implicit Knowledge]]></title>
		<link>https://shkspr.mobi/blog/2010/02/hashtags-and-implicit-knowledge/</link>
					<comments>https://shkspr.mobi/blog/2010/02/hashtags-and-implicit-knowledge/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Wed, 24 Feb 2010 16:58:27 +0000</pubDate>
		<category><![CDATA[API]]></category><category><![CDATA[dabr]]></category><category><![CDATA[documentation]]></category><category><![CDATA[hashtags]]></category><category><![CDATA[tags]]></category><category><![CDATA[twitter]]></category><category><![CDATA[usability]]></category>		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=1706</guid>

					<description><![CDATA[What is &#34;Implicit Knowledge&#34;?  Essentially it&#039;s stuff that everyone knows, but no one has written down.  Usually it&#039;s something that people have worked out through their own experiences.  This sort of knowledge is common in life - but is fatal in computing and design.  Take the following tweet I received.                                                          Mark Hawkins                        …]]></description>
										<content:encoded>&lt;p&gt;What is "Implicit Knowledge"?  Essentially it's stuff that everyone knows, but no one has written down.  Usually it's something that people have worked out through their own experiences.&lt;/p&gt;

&lt;p&gt;This sort of knowledge is common in life - but is fatal in computing and design.  Take the following tweet I received.&lt;/p&gt;

&lt;blockquote class="social-embed" id="social-embed-9582463562" lang=""&gt;        &lt;header class="social-embed-header"&gt;        &lt;a href="https://twitter.com/Mawkins" class="social-embed-user"&gt;            &lt;img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRj4BAABXRUJQVlA4IDIBAACwCACdASowADAAPrVQnksnJKKhpy7Y4BaJaQAOhlZvKiBqWlTYfwY+/LT+Lr5GJ/LTTHAXHYvchgLKHbRDRdOqggYmnAPtwwh0GxPZnwAA/v4S5nB6XBake6jr/oaDTDP110md+xvy6nksvzgV20eOUH6fpGTw4t3wpALwpA5aKpsOwfGzu10bRgYjZZUnbxXbVLI9m2/ANnDtVW+VJzoAzv9rszKR6KcCdNq1hoAkc5QfsfonHp8FpBy9g2AewNUVW8wvUI+ektZlY5690ryOfeTPUkAqRlOakdEUKMz7oRL2oPvRphgw47TMfV77XcPgWjz4aReffwKrJhby4swi8nMhQWo8typProOSYoZ9UrhZ/Nz9pNVJXu/On60EPpAT6yfxkJfBqvPC1EjksYAAAAA=" alt=""&gt;            &lt;div class="social-embed-user-names"&gt;                &lt;p class="social-embed-user-names-name"&gt;Mark Hawkins                &lt;/p&gt;                @Mawkins            &lt;/div&gt;        &lt;/a&gt;        &lt;img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"&gt;    &lt;/header&gt;    &lt;section class="social-embed-text"&gt;                    &lt;small class="social-embed-reply"&gt;&lt;a href="https://twitter.com/edent/status/9581804744"&gt;Replying to @edent&lt;/a&gt;&lt;/small&gt;                &lt;a href="https://twitter.com/edent"&gt;@edent&lt;/a&gt; &lt;a href="https://twitter.com/dabr"&gt;@dabr&lt;/a&gt; you folks aware ampersands / &amp;amp;s don't seem to work as part of hashtag links?                            &lt;/section&gt;    &lt;hr class="social-embed-hr"&gt;    &lt;footer class="social-embed-footer"&gt;        &lt;a href=""&gt;            &lt;span aria-label="0 likes" class="social-embed-meta"&gt;❤️ 0&lt;/span&gt;            &lt;span aria-label="0 replies" class="social-embed-meta"&gt;💬 0&lt;/span&gt;            &lt;span aria-label="0 reposts" class="social-embed-meta"&gt;🔁 0&lt;/span&gt;            &lt;time datetime="{tweet_date}"&gt;16:27 - Wed 24 February 2010&lt;/time&gt;        &lt;/a&gt;    &lt;/footer&gt;&lt;/blockquote&gt;

&lt;p&gt;The complaint was that #tfm&amp;amp;a should be rendered as &lt;span style="text-decoration: underline;"&gt;#tfm&amp;amp;a&lt;/span&gt; not &lt;span style="text-decoration: underline;"&gt;#tfm&lt;/span&gt;&amp;amp;a.&lt;/p&gt;

&lt;h2 id="everyone-knows-thats-how-hashtags-work"&gt;&lt;a href="https://shkspr.mobi/blog/2010/02/hashtags-and-implicit-knowledge/#everyone-knows-thats-how-hashtags-work"&gt;Everyone knows that's how hashtags work!&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;On Twitter's website, find the page which discusses hashtag syntax.  Find where they explain how they should be styled.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You can't.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And thus implicit knowledge is born.  Dabr only looks at letters and numbers in a hashtag.  It assumes that any other character is the end of the tag.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;div id="attachment_1708-2" style="width: 490px" class="wp-caption aligncenter"&gt;&lt;img aria-describedby="caption-attachment-1708-2" class="size-full wp-image-1708" title="Dabr's Hashtag" src="https://shkspr.mobi/blog/wp-content/uploads/2010/02/Capture16_35_30.jpg" alt="Dabr's Hashtag" width="480" height="320"&gt;&lt;p id="caption-attachment-1708-2" class="wp-caption-text"&gt;Dabr's Hashtag&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Without official guidance - implicit knowledge develops.&lt;/p&gt;

&lt;h2 id="has-dabr-got-it-wrong"&gt;&lt;a href="https://shkspr.mobi/blog/2010/02/hashtags-and-implicit-knowledge/#has-dabr-got-it-wrong"&gt;Has Dabr Got It Wrong?&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;No.  I don't think so.  Take a look at how Twitter on the web renders hashtags...&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;div id="attachment_1710-2" style="width: 392px" class="wp-caption aligncenter"&gt;&lt;img aria-describedby="caption-attachment-1710-2" class="size-full wp-image-1710" title="Twitter's Web Site" src="https://shkspr.mobi/blog/wp-content/uploads/2010/02/Twitters-Web-Site.png" alt="Twitter's Web Site" width="382" height="312"&gt;&lt;p id="caption-attachment-1710-2" class="wp-caption-text"&gt;Twitter's Web Site&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;

&lt;p&gt;...and on the mobile.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;div id="attachment_1707-2" style="width: 490px" class="wp-caption aligncenter"&gt;&lt;img aria-describedby="caption-attachment-1707-2" class="size-full wp-image-1707" title="Twitter Mobile" src="https://shkspr.mobi/blog/wp-content/uploads/2010/02/Capture16_34_33.jpg" alt="Twitter Mobile" width="480" height="320"&gt;&lt;p id="caption-attachment-1707-2" class="wp-caption-text"&gt;Twitter Mobile&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;

&lt;h2 id="so-where-does-render-the-full-tag"&gt;&lt;a href="https://shkspr.mobi/blog/2010/02/hashtags-and-implicit-knowledge/#so-where-does-render-the-full-tag"&gt;So Where Does Render The Full Tag?&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Several applications don't render tags in the same way as Twitter.  Take a look at SocialScope&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;div id="attachment_1709-2" style="width: 490px" class="wp-caption aligncenter"&gt;&lt;img aria-describedby="caption-attachment-1709-2" class="size-full wp-image-1709" title="SocialScope Hashtags" src="https://shkspr.mobi/blog/wp-content/uploads/2010/02/Capture16_34_56.jpg" alt="SocialScope Hashtags" width="480" height="320"&gt;&lt;p id="caption-attachment-1709-2" class="wp-caption-text"&gt;SocialScope Hashtags&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;div id="attachment_1727-2" style="width: 330px" class="wp-caption aligncenter"&gt;&lt;img aria-describedby="caption-attachment-1727-2" src="https://shkspr.mobi/blog/wp-content/uploads/2010/02/jsfe.jpg" alt="Tweetie2" title="Tweetie2" width="320" height="480" class="size-full wp-image-1727"&gt;&lt;p id="caption-attachment-1727-2" class="wp-caption-text"&gt;Tweetie2&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;

&lt;p&gt;I'll upload more screenshots if I find examples of "badly behaved" hashtags.&amp;nbsp; Please let me know if you find any.&lt;/p&gt;

&lt;h2 id="what-does-twitter-say"&gt;&lt;a href="https://shkspr.mobi/blog/2010/02/hashtags-and-implicit-knowledge/#what-does-twitter-say"&gt;What Does Twitter Say?&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Twitter has one page devoted to hashtags.&amp;nbsp; It is a &lt;a href="https://web.archive.org/web/20100212023033/http://help.twitter.com/forums/10711/entries/49309-what-are-hashtags-the-symbol"&gt;support page for hashtags&lt;/a&gt;.&amp;nbsp; This explains to people what hashtags are.&amp;nbsp; There's no detail on valid characters, maximum length, or any of the things which might be useful for a developer or designer.&lt;/p&gt;

&lt;h3 id="edit-2010-02-25"&gt;&lt;a href="https://shkspr.mobi/blog/2010/02/hashtags-and-implicit-knowledge/#edit-2010-02-25"&gt;Edit 2010-02-25&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;David Dorward has &lt;a href="https://web.archive.org/web/20150523002321/https://twitter.com/dorward/status/9584777039"&gt;pointed out that there is an official resource&lt;/a&gt;. On the Twitter Engineering blog - which isn't linked to from the developer site - there is a &lt;a href="https://web.archive.org/web/20100209102432/http://engineering.twitter.com/2010/02/introducing-open-source-twitter-text.html"&gt;page discussing hashtags and how to validate them&lt;/a&gt;.  You'll notice that they are rather circumspect on what should constitute a hashtag.&lt;/p&gt;

&lt;h2 id="conclusion"&gt;&lt;a href="https://shkspr.mobi/blog/2010/02/hashtags-and-implicit-knowledge/#conclusion"&gt;Conclusion&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Standards and guidelines allow developers to create compatible applications.&lt;/p&gt;

&lt;p&gt;Without explicit recommendations, developers will diverge as widely as possible.&amp;nbsp; Twitter - and everyone with an interest in compatibility and usability - needs to ensure that the knowledge they impart is &lt;em&gt;explicit&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Letting people make it up as they go along leads to confusion.&lt;/p&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=1706&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2010/02/hashtags-and-implicit-knowledge/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
