<?xml version="1.0" encoding="UTF-8"?>
<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>Search Nuggets &#187; User Experience</title>
	<atom:link href="http://blog.comperiosearch.com/blog/category/ux/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.comperiosearch.com</link>
	<description>A blog about Search as THE solution</description>
	<lastBuildDate>Mon, 13 Jun 2016 08:59:45 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=3.9.40</generator>
	<item>
		<title>Search: better user experience with one line of JavaScript</title>
		<link>http://blog.comperiosearch.com/blog/2015/05/18/search-better-user-experience-with-one-line-of-javascript/</link>
		<comments>http://blog.comperiosearch.com/blog/2015/05/18/search-better-user-experience-with-one-line-of-javascript/#comments</comments>
		<pubDate>Mon, 18 May 2015 13:59:01 +0000</pubDate>
		<dc:creator><![CDATA[Espen Klem]]></dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[enterprise search]]></category>
		<category><![CDATA[focus]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[search box]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[website search]]></category>

		<guid isPermaLink="false">http://blog.comperiosearch.com/?p=3680</guid>
		<description><![CDATA[What&#8217;s the cheapest trick you can do to get a better user experience on your search solution, and make your users do better search queries? Add a small line of JavaScript in your template&#8217;s document ready function: [crayon-69d7e4da06b10625188183/] This will do two things for the user: It&#8217;ll be easier to see the search box . [...]]]></description>
				<content:encoded><![CDATA[<p>What&#8217;s the cheapest trick you can do to get a better user experience on your search solution, and make your users do better search queries?</p>
<p><img class="alignnone wp-image-3683 size-full" src="http://blog.comperiosearch.com/wp-content/uploads/2015/05/search-box.png" alt="Illustration: A standard search box" width="598" height="66" /></p>
<p>Add a small line of JavaScript in your template&#8217;s document ready function:</p><pre class="crayon-plain-tag">$("#MySearchBox").focus();</pre><p>This will do two things for the user:</p>
<ol>
<li>It&#8217;ll be easier to see the search box .</li>
<li>The user can start typing without having to click inside the search box.</li>
</ol>
<p><a href="http://blog.comperiosearch.com/wp-content/uploads/2015/05/anim-just-cursor.gif"><img class="alignnone wp-image-3682 size-full" src="http://blog.comperiosearch.com/wp-content/uploads/2015/05/anim-just-cursor.gif" alt="Illustration: Better user experience ny setting focus on the search box" width="598" height="66" /></a></p>
<p>Next issue is that most intranet and websites are more than just a search solution. Maybe you don&#8217;t want that much attention on the search box on your homepage. The solution is then to do this on your search result page.</p>
<p><a href="http://blog.comperiosearch.com/wp-content/uploads/2015/05/anim-one-word.gif"><img class="alignnone wp-image-3685 size-full" src="http://blog.comperiosearch.com/wp-content/uploads/2015/05/anim-one-word.gif" alt="Illustration: Better user experience ny setting focus on the search box" width="598" height="66" /></a></p>
<p>This will make it easier for your users to enhance their search query when they&#8217;re not happy with the search result at hand.</p>
<p><a href="http://blog.comperiosearch.com/wp-content/uploads/2015/05/anim-more-words.gif"><img class="alignnone wp-image-3684 size-full" src="http://blog.comperiosearch.com/wp-content/uploads/2015/05/anim-more-words.gif" alt="Illustration: Better user experience ny setting focus on the search box" width="598" height="66" /></a></p>
<p>Do you have any other examples on other quick fixes that could make an even better user experience for your search solution?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.comperiosearch.com/blog/2015/05/18/search-better-user-experience-with-one-line-of-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Search without search box: Recipe App  &#8211; Alpha version</title>
		<link>http://blog.comperiosearch.com/blog/2014/12/02/search-without-search-box-recipe-app-alpha/</link>
		<comments>http://blog.comperiosearch.com/blog/2014/12/02/search-without-search-box-recipe-app-alpha/#comments</comments>
		<pubDate>Tue, 02 Dec 2014 14:44:48 +0000</pubDate>
		<dc:creator><![CDATA[Espen Klem]]></dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[recipe app]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[search box]]></category>
		<category><![CDATA[search interface]]></category>
		<category><![CDATA[search ux]]></category>
		<category><![CDATA[search without search box]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[ux]]></category>

		<guid isPermaLink="false">http://blog.comperiosearch.com/?p=3078</guid>
		<description><![CDATA[First thing first: I really like search as a technology. Not so much because how it helps us today, but how it can help us tomorrow. Especially on the UX front, stuff moves slowly. One of the biggest issues, in my mind, is the empty search box. That&#8217;s why I tend to look for solutions [...]]]></description>
				<content:encoded><![CDATA[<p>First thing first: I really like search as a technology. Not so much because how it helps us today, but how it can help us tomorrow. Especially on the UX front, stuff moves slowly. One of the biggest issues, in my mind, is the empty search box. That&#8217;s why I tend to look for solutions where you have search without search box, or functions and tools that extends the search box.</p>
<div id="attachment_3102" style="width: 609px" class="wp-caption alignnone"><img class="wp-image-3102 size-full" src="http://blog.comperiosearch.com/wp-content/uploads/2014/12/Screen-Shot-2014-12-02-at-13.34.13.png" alt="Illustration: The empty search box by Google" width="599" height="95" /><p class="wp-caption-text">The empty search box by Google</p></div>
<h2>The problem with an empty search box</h2>
<p>So, what&#8217;s the biggest problem with the empty search box? In my mind it doesn&#8217;t give a hint about what&#8217;s the possible outcome of asking a question to the search engine. Think about these five questions being different search boxes:</p>
<ol>
<li>Soooo&#8230;?</li>
<li>What would you like?</li>
<li>What would you like for desert?</li>
<li>Do you like ice cream for desert?</li>
<li>Do you like pistachio ice cream for desert?</li>
</ol>
<p>The first question is the most open ended, and is the equivalent of the empty search box in a general search engine. The one with all of the worlds knowledge at hand. Second one hints that the answers of your request lies within your likings. Third, the questions get semi-concrete, and fourth and fifth, you&#8217;re asked a yes/no-question.</p>
<h2>A search without search box working quite well</h2>
<p>The recipe app asks you if you like any of these recipes based on two variables (time of year + place you harvest the food). We know the date and make an assumption about place and tell you that we&#8217;ve chosen these variables. Then we give you a couple of extra variables to play with to refine the search a bit more.</p>
<p>So far, the content seems to trigger peoples imagination and the swipe interaction is easy enough to do many times, although not very well communicated so far. When I normally give people a working search prototype, they do 2 &#8211; 5 search queries. Now I see between 5 &#8211; 15. That&#8217;s great stuff, and maybe a search without search box is actually a good idea?</p>
<div></div>
<div id="attachment_3088" style="width: 610px" class="wp-caption alignnone"><a href="http://recipe.comperiosearch.com/"><img class="wp-image-3088" src="http://blog.comperiosearch.com/wp-content/uploads/2014/12/Screen-Shot-2014-12-01-at-15.51.27.png" alt="Illustration: Screenshot of Recipe App - Search without search box." width="600" height="411" /></a><p class="wp-caption-text">A screenshot of the Recipe App search solution without a search box</p></div>
<h2></h2>
<h2>Known bugs and weaknesses</h2>
<ul>
<li><strong>URL stays the same</strong><br />
No way of sharing a specific search (month+place+filters)</li>
<li><strong>Buggy visual relevance</strong><br />
For desktop and pad, all recipes with match on three ingredients or more should have full width result view.</li>
<li><strong>Not all recipes indexed</strong><br />
HTML for the recipes has changed. We didn&#8217;t have time to figure out all the new characteristics of the new HTML, so a lot of recipes were not indexed.</li>
<li><strong>Visual snag on time navigator</strong><br />
When selecting &#8220;short&#8221;, &#8220;medium&#8221; or &#8220;long&#8221; time to prepare recipe it should collapse as with the type navigator.</li>
<li><strong>Swipe hangs every now and then</strong><br />
The swipe library is either not tuned perfectly or a little fragile. Easy to get into a state where it stops working.</li>
<li><strong>All ingredients equally important<br />
</strong>&#8220;Oregano&#8221; and &#8220;Chicken wings&#8221; equally important. That results in some not-so-desired search results.</li>
<li><strong>Google Analytics and single page app not fixed</strong><br />
We log one pageview per user since it&#8217;s a single page app. With a rewriting of the URL this can be easily fixed.</li>
<li><strong>Design and UX</strong><br />
It&#8217;s just a makeshift design to communicate the idea. It should better explain interaction and season+place.</li>
</ul>
<p>Any comments? We&#8217;d love to get your input! Check out the solution, <a href="http://recipe.comperiosearch.com/">the actual recipe app</a>, or you can check out the other blog posts about the <a href="http://blog.comperiosearch.com/blog/tag/recipe-app/">Recipe App</a>. There&#8217;s a lot of both search domain-, tech- and UX-stuff.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.comperiosearch.com/blog/2014/12/02/search-without-search-box-recipe-app-alpha/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Idea: Your life searchable through Norch &#8211; NOde seaRCH, IFTTT and Google Drive</title>
		<link>http://blog.comperiosearch.com/blog/2014/11/26/idea-your-life-searchable-norch-node-search-ifttt-google-drive/</link>
		<comments>http://blog.comperiosearch.com/blog/2014/11/26/idea-your-life-searchable-norch-node-search-ifttt-google-drive/#comments</comments>
		<pubDate>Wed, 26 Nov 2014 14:33:08 +0000</pubDate>
		<dc:creator><![CDATA[Espen Klem]]></dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[crawl]]></category>
		<category><![CDATA[Document Processing]]></category>
		<category><![CDATA[Elasticsearch]]></category>
		<category><![CDATA[Google Drive]]></category>
		<category><![CDATA[IFTTT]]></category>
		<category><![CDATA[Index]]></category>
		<category><![CDATA[Json]]></category>
		<category><![CDATA[Life Index]]></category>
		<category><![CDATA[Lifeindex]]></category>
		<category><![CDATA[node]]></category>
		<category><![CDATA[Node Search]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[nodejs]]></category>
		<category><![CDATA[norch]]></category>
		<category><![CDATA[Personal Search Engine]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[search engine]]></category>
		<category><![CDATA[search-index]]></category>
		<category><![CDATA[sharepoint]]></category>
		<category><![CDATA[Small Data]]></category>
		<category><![CDATA[Solr]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://blog.comperiosearch.com/?p=3069</guid>
		<description><![CDATA[First some disclaimers: This has been posted earlier on lab.klemespen.com. Even though some of these ideas are not what you&#8217;d normally implement in a business environment, some of the concepts can obviously be transferred over to businesses trying to provide an efficient workplace for its employees. Norch is developed by Fergus McDowall, an employee of [...]]]></description>
				<content:encoded><![CDATA[<p><strong>First some disclaimers</strong>:</p>
<ul>
<li>This has been posted earlier on <a href="http://lab.klemespen.com/2014/11/25/idea-your-life-searchable-with-norch-node-search-ifttt-and-google-drive-spreadsheets/">lab.klemespen.com</a>.</li>
<li>Even though some of these ideas are not what you&#8217;d normally implement in a business environment, some of the concepts can obviously be transferred over to businesses trying to provide an efficient workplace for its employees.</li>
<li><a href="https://github.com/fergiemcdowall/norch">Norch</a> is developed by <a href="http://blog.comperiosearch.com/blog/author/fmcdowall/">Fergus McDowall</a>, an employee of Comerio.</li>
</ul>
<p>What if you could index your whole life and make this lifeindex available through search? What would that look like, and how could it help you? Refinding information is obviously one of the use case for this type of search. I&#8217;m guessing there&#8217;s a lot more, and I&#8217;m curious to figure them out.</p>
<h2>Actions and reactions instead of web pages</h2>
<p>I had the lifeindex idea for a little while now. Originally the idea was to index everything I browsed. From what I know and where <a href="https://github.com/fergiemcdowall/norch">Norch</a> is, it would take a while before I was anywhere close to achieving that goal. <a href="http://codepen.io/nickmoreton/blog/using-ifttt-and-google-drive-to-create-a-json-api">Then I thought of IFTTT</a>, and saw it as a &#8216;next best thing&#8217;. But then it hit me that now I&#8217;m indexing actions, and that&#8217;s way better than pages. But what I&#8217;m missing from most sources now are the reactions to my actions. If I have a question, I also want to crawl and index the answer. If I have a statement, I want to get the critique indexed.<span id="more-3069"></span></p>
<p>IFTTT and similar services (like Zapier) is quite limiting in their choice of triggers. Not sure if this is because of choices done by those services or limitations from the sites they crawl/pull information from.</p>
<p>A quick fix for this, and a generally good idea for Search Engines, would be to switch from a preview of your content to the actual content in the form of an embed-view. Here exemplified:</p>
<blockquote class="twitter-tweet" data-width="500"><p lang="en" dir="ltr">Will embed-view of your content replace the preview-pane in modern <a href="https://twitter.com/hashtag/search?src=hash&amp;ref_src=twsrc%5Etfw">#search</a>  <a href="https://twitter.com/hashtag/engine?src=hash&amp;ref_src=twsrc%5Etfw">#engine</a> solutions? Why preview when you can have the real deal?</p>
<p>&mdash; Espen Klem (@eklem) <a href="https://twitter.com/eklem/status/536866049078333440?ref_src=twsrc%5Etfw">November 24, 2014</a></p></blockquote>
<p><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<h2>Technology: Hello IFTTT, Google SpreadSheet and Norch</h2>
<p>IFTTT is triggered by my actions, and stores some data to a series of spreadsheets on Google Drive. <a href="http://jsonformatter.curiousconcept.com/#https://spreadsheets.google.com/feeds/list/1B-OFzKIMVNk_3xMX_jBToGGyxSKv6FoyFYTHpGEy5O0/od6/public/values?alt=json">These spreadsheets can deliver JSON</a>. After a little document processing these JSON-files can be fed to the <a href="https://github.com/fergiemcdowall/norch#norch-indexer">Norch-indexer</a>.</p>
<h2>Why hasn&#8217;t this idea popped up earlier?</h2>
<p>Search engines used to be hardware guzzling technology. With Norch, the &#8220;NOde seaRCH&#8221; engine, that has changed. Elasticsearch and Solr are easy and small compared to i.e. SharePoint Search, but still it needs a lot of hardware. Norch can run on a Raspberry Pi, and soon it will be able to run in your browser. Maybe data sets closer to <a href="http://en.wikipedia.org/wiki/Small_data">small data</a> is more interesting than <a href="http://en.wikipedia.org/wiki/Big_data">big data</a>?</p>
<p><a href="http://youtu.be/ijLtk5TgvZg"><img src="http://blog.comperiosearch.com/wp-content/uploads/2014/11/Screen-Shot-2014-11-26-at-16.42.27-300x180.png" alt="Video: Norch running on a Raspberry Pi" width="300" height="180" class="alignnone size-medium wp-image-3075" />Norch running on a Raspberry Pi</a></p>
<h2>Why using a search engine?</h2>
<p>It&#8217;s cheap and quick. I&#8217;m not a developer, and I&#8217;ll still be able to glue all these sources together. Search engines are often a good choice when you have multiple sources. IFTTT and Google SpreadSheet makes it even easier, normalising the input and delivering it as JSON.</p>
<h2>How far in the process have I come?</h2>
<p><a href="https://testlab3.files.wordpress.com/2014/11/15140752323_1f69685449_o.png"><img class="alignnone size-full wp-image-118" src="https://testlab3.files.wordpress.com/2014/11/15140752323_1f69685449_o.png" alt="Illustration: Setting up sources in IFTTT." width="660" height="469" /></a></p>
<p>So far, I&#8217;ve set up a lot of triggers/sources at IFTTT.com:</p>
<ul>
<li>Instagram: When posting or liking both photos and videos.</li>
<li>Flickr: When posting an image, creating a set or linking a photo.</li>
<li>Google Calendar: When adding something to one of my calendars.</li>
<li>Facebook: When i post a link, is tagged, post a status message.</li>
<li>Twitter: When I tweet, retweet, reply or if somebody mentions me.</li>
<li>Youtube: When I post or like a video.</li>
<li>GitHub: When I create an issue, gets assigned to an issue or any issues that I part take in is closed.</li>
<li>WordPress: When new posts or comments on posts.</li>
<li>Android location tracking: When I enter and exit certain areas.</li>
<li>Android phone log: Placed, received and missed calls.</li>
<li>Gmail: Starred emails.</li>
</ul>
<p><a href="https://testlab3.files.wordpress.com/2014/11/screen-shot-2014-11-24-at-13-27-57.png"><img class="alignnone size-full wp-image-127" src="https://testlab3.files.wordpress.com/2014/11/screen-shot-2014-11-24-at-13-27-57.png" alt="Screen Shot 2014-11-24 at 13.27.57" width="660" height="572" /></a></p>
<p><a href="https://testlab3.files.wordpress.com/2014/11/screen-shot-2014-11-24-at-13-31-46.png"><img class="alignnone size-full wp-image-128" src="https://testlab3.files.wordpress.com/2014/11/screen-shot-2014-11-24-at-13-31-46.png" alt="Screen Shot 2014-11-24 at 13.31.46" width="660" height="194" /></a></p>
<p>And gotten a good chunk of data. Indexing my SMS&#8217;es felt a bit creepy, so I stopped doing that. And storing email just sounded too excessive, but I think starred emails would suit the purpose of the project.</p>
<p>Those Google Drive documents are giving me JSON. Not JSON that I can feed directly Norch-indexer, it needs a little trimming.</p>
<h2>Issues discovered so far</h2>
<h3>Manual work</h3>
<p>This search solution needs a lot of manual setup. Every trigger needs to be set up manually. Everytime a new trigger is triggered, I get a new spreadsheet that needs a title row added. Or else, the JSON variables will look funny, since first row is used for variable names.</p>
<p>The spreadsheets only accepts 2000 rows. After that a new file is created. Either I need to delete content, rename the file or reconfigure some stuff.</p>
<h3>Level of maturity</h3>
<p><a href="https://testlab3.files.wordpress.com/2014/11/screen-shot-2014-11-24-at-13-41-34.png"><img class="alignnone size-full wp-image-129" src="https://testlab3.files.wordpress.com/2014/11/screen-shot-2014-11-24-at-13-41-34.png" alt="Screen Shot 2014-11-24 at 13.41.34" width="660" height="664" /></a></p>
<p>IFTTT is a really nice service, and they treat their users well. But, for now, it&#8217;s not something you can trust fully.</p>
<h3>Cleaning up duplicates and obsolete stuff</h3>
<p>I have no way of removing stuff from the index automatically at this point. If I delete something I&#8217;ve added/written/created, it will not be reflected in the index.</p>
<h3>Missing sources</h3>
<p>Books I buy, music I listen to, movies and TV-series I watch. Or Amazon, Spotify, Netflix and HBO. Apart from that, there are no Norwegian services available through IFTTT.</p>
<h3>History</h3>
<p>The crawling is triggered by my actions. That leaves me without history. So, i.e. new contacts on LinkedIn is meaningless when I don&#8217;t get to index the existing ones.</p>
<h2>Next steps</h2>
<h3>JSON clean-up</h3>
<p>I need to make a document processing step. <a href="https://github.com/fergiemcdowall/norch-document-processor">Norch-document-processor</a> would be nice if it had handled JSON in addition to HTML. <a href="https://github.com/fergiemcdowall/norch-document-processor/issues/6">Not yet, but maybe in the future</a>? Anyway, there&#8217;s just a small amount of JSON clean-up before I got my data in and index.</p>
<p>When this step is done, a first version can be demoed.</p>
<h3>UX and front-end code</h3>
<p>To show the full potential, I need some interaction design of the idea. For now they&#8217;re all in my head. And these sketches needs to be converted to HTML, CSS and Angular view.</p>
<h3>Embed codes</h3>
<p>Figure out how to embed Instagram, Flickr, Facebook and LinkedIn-posts, Google Maps, federated phonebook search etc.</p>
<h3>OAUTH configuration</h3>
<p>Set up <a href="https://github.com/ciaranj/node-oauth">OAUTH NPM package</a> to access non-public spreadsheets on Google Drive. Then I can add some of the less open information I have stored.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.comperiosearch.com/blog/2014/11/26/idea-your-life-searchable-norch-node-search-ifttt-google-drive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Discovery engine that actually works? Recipe app to the rescue!</title>
		<link>http://blog.comperiosearch.com/blog/2014/07/18/discovery-engine-that-actually-works/</link>
		<comments>http://blog.comperiosearch.com/blog/2014/07/18/discovery-engine-that-actually-works/#comments</comments>
		<pubDate>Fri, 18 Jul 2014 11:26:57 +0000</pubDate>
		<dc:creator><![CDATA[Espen Klem]]></dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[instant search]]></category>
		<category><![CDATA[recipe app]]></category>
		<category><![CDATA[suggestion engine]]></category>

		<guid isPermaLink="false">http://blog.comperiosearch.com/?p=2738</guid>
		<description><![CDATA[Great day, our seasonal food recipe search app, or just &#8220;Recipe app&#8221; for short, is in public beta&#8230; or maybe only a late alpha release. Anyway, it&#8217;s mature enough so you can get an idea of how it will look and work. Seeing others use it, I&#8217;m inclined to call it a recipe discovery engine. [...]]]></description>
				<content:encoded><![CDATA[<p>Great day, our seasonal food recipe search app, or just &#8220;Recipe app&#8221; for short, is in public beta&#8230; or maybe only a <a href="http://en.wikipedia.org/wiki/Software_release_life_cycle">late alpha release</a>. Anyway, it&#8217;s mature enough so you can get an idea of how it will look and work. Seeing others use it, I&#8217;m inclined to call it a recipe discovery engine.</p>
<p><strong>Recipe app link: <a href="http://recipe.comperiosearch.com">recipe.comperiosearch.com</a></strong></p>
<div id="attachment_2765" style="width: 510px" class="wp-caption alignnone"><a href="http://youtu.be/w5zC8EiPfkU"><img class="wp-image-2765 size-full" src="http://blog.comperiosearch.com/wp-content/uploads/2014/07/Screen-Shot-2014-07-18-at-13.19.03-e1405682496908.png" alt="Illustration - responsive design for the discovery engine" width="500" height="298" /></a><p class="wp-caption-text">Responsive design test done in HTML5, CSS3 and JavaScript. A discovery engine in the making?</p></div>
<p>We have gotten a lot of knowledge, both tech and UX. Latest of many findings was <a href="http://blog.comperiosearch.com/blog/2014/07/11/dictatorial-control-recipe-search-results-using-elasticsearch-function_score/">the custom scoring function in elasticsearch</a>. Hopefully, we&#8217;ll learn something within the business of food recipes, and we&#8217;ve received a lot of info from <a href="https://www.facebook.com/sjuves.oppskrift?fref=ts">Christopher Sjuve at Klikk.no</a>, the site we crawl for content to our search index. All blog posts on the app available under the <a href="http://blog.comperiosearch.com/blog/tag/recipe-app/">&#8220;recipe app&#8221; tag</a>.</p>
<h2>Takeaways</h2>
<p>The main intent of the app, when the idea was born back in 2011 or 2010, was to discover recipes or more general: To make a real content discovery engine based on search. Recipes that you didn&#8217;t know of or think of when planning a meal. And recipes that uses ingredients in season, thus making it relevant. In other words, the best, cheapest and most tasteful ingredients. While we continue to discover a lot of issues with how we thought the app should work technically, it really seems it can work for the end user.</p>
<h2>A general and common issue with search solved</h2>
<p>Mostly, with search, you get no real discovery. You rediscover stuff you already knew where there, or you find stuff you anticipated where there. But what with all the content unknown or not anticipated by the user? Nowhere in that process will regular search find stuff suitable for you that you initially didn&#8217;t think of. That&#8217;s a problem because you never touch a vast majority of possibly valuable content in your search index.</p>
<h2>A real content discovery engine</h2>
<p>So, what does this have to do with our recipe app? By picking the app, we know two facts upfront: The user wants food recipes, or make/serve food, to be more specific. And we know the time of year. This puts us in the position to make do a real instant search. The first screen you see is a search query already executed. The questions (search query) asked by the app to the index are then &#8220;recipes with the most in season ingredients for this month found on i.e. a farm&#8221;. We choose the farm since this is what resembles a supermarket the most. After that we let the user play with known constraints like type of meals and preparation time in addition to change place where ingredients are found and time of year.</p>
<p>More playfull approach. People swipe (when they understand that they can swipe, yes one of the UX issues) a lot from what we have seen. We&#8217;ll add some Google Analytics to the app soon, so we can track actual use.</p>
<div style="width: 323px" class="wp-caption alignnone"><img src="https://farm4.staticflickr.com/3853/14688396223_829d8d9709.jpg" alt="Illustration - testing the recipe discovery engine" width="313" height="500" /><p class="wp-caption-text">Testing on a Sony Xperia Tab Z. A lot of small bugs and a bit noisy.</p></div>
<h2>We&#8217;d love your feedback!</h2>
<p>So, what do you think of our recipe discovery engine? Is it just that, a discovery engine? Are we on to something? Do you think it would work? What should we change? Don&#8217;t be shy, give us a real uppercut feedback in the comment field below!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.comperiosearch.com/blog/2014/07/18/discovery-engine-that-actually-works/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Crawl interfaces for Forage running inside your browser</title>
		<link>http://blog.comperiosearch.com/blog/2014/05/21/crawl-interfaces-for-forage-running-inside-your-browser/</link>
		<comments>http://blog.comperiosearch.com/blog/2014/05/21/crawl-interfaces-for-forage-running-inside-your-browser/#comments</comments>
		<pubDate>Wed, 21 May 2014 14:55:25 +0000</pubDate>
		<dc:creator><![CDATA[Espen Klem]]></dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[crawl]]></category>
		<category><![CDATA[crawler]]></category>
		<category><![CDATA[forage]]></category>
		<category><![CDATA[Forage Fetch]]></category>
		<category><![CDATA[Forage Search Engine]]></category>
		<category><![CDATA[nodejs]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[user interface]]></category>
		<category><![CDATA[user interfaces]]></category>

		<guid isPermaLink="false">http://blog.comperiosearch.com/?p=2337</guid>
		<description><![CDATA[Got an idea a while back on how we could use the JavaScript/Nodejs Search Engine Forage so that the users would have their own search server inside the browser. The main takeaway from this would be that you don&#8217;t need to install anything to test the search engine. Since last time, I&#8217;ve made a quick [...]]]></description>
				<content:encoded><![CDATA[<p>Got an idea a while back on how we could use the JavaScript/Nodejs Search Engine <a href="https://github.com/fergiemcdowall/forage/">Forage</a> so that the users would <a href="http://blog.comperiosearch.com/blog/2014/04/29/idea-search-server-running-inside-your-browser/">have their own search server inside the browser</a>. The main takeaway from this would be that you don&#8217;t need to install anything to test the search engine. Since last time, I&#8217;ve made a quick logo for Forage, and drawn some more user interfaces. The mockups are mainly about crawl interfaces setting up the crawler, which in Forage terms is called Forage Fetch.</p>
<h2>Crawl interfaces, suggested</h2>
<p><a href="https://www.flickr.com/photos/eklem/14257669113/in/photostream/">Initial Crawl-window</a><br />
<a href="https://www.flickr.com/photos/eklem/14257669113/in/photostream/"><img class="alignnone" style="border: 1px solid black" src="https://farm3.staticflickr.com/2906/14257669113_822d5b524b.jpg" alt="javascript crawl interfaces" width="500" height="313" /></a></p>
<p>To crawl most pages elegantly and easily, you need five information elements:</p>
<ol>
<li>Somewhere to start. Which place do you want your crawler to start. You don&#8217;t have to specify the domain, we pick the domain name  from the page you&#8217;re visiting.</li>
<li>Which links to follow. This is not necessarily the pages you want to crawl. Typically these pages have lists of pages you want to crawl.</li>
<li>Which links not to follow. To not make the crawler go wild, you set some boundaries. Often a page has several URLs.</li>
<li>Which links to crawl. These are the actual pages you&#8217;re looking for.</li>
<li>Which links not to crawl.</li>
</ol>
<p>A simple illustration on the above rules. Forage Fetch doesn&#8217;t have all these features yet, but they&#8217;re <a href="https://github.com/fergiemcdowall/forage-fetch/issues/6">suggested as enhancements</a>.<br />
<a href="https://github.com/fergiemcdowall/forage-fetch/issues/6"><img class="alignnone" src="https://farm4.staticflickr.com/3731/12933582163_509b0e56ed.jpg" alt="" width="500" height="325" /></a></p>
<p><a href="https://www.flickr.com/photos/eklem/14257669223/in/set-72157643790505944">Selecting which rule type to add<br />
</a><a href="https://www.flickr.com/photos/eklem/14257669223/in/set-72157643790505944"><img class="alignnone" style="border: 1px solid black" src="https://farm3.staticflickr.com/2912/14257669223_bf7c7f179e.jpg" alt="javascript crawl interfaces" width="500" height="313" /></a></p>
<p>To ensure you&#8217;re adding valid rules, <a href="https://www.flickr.com/photos/eklem/14050882680/in/set-72157643790505944/">it&#8217;s a good ting to test first.<br />
</a><a href="https://www.flickr.com/photos/eklem/14050882680/in/set-72157643790505944/"><img class="alignnone" style="border: 1px solid black" src="https://farm6.staticflickr.com/5594/14050882680_4f6168e1c0.jpg" alt="javascript crawl interfaces" width="500" height="313" /></a></p>
<p><a href="https://www.flickr.com/photos/eklem/14050906527/in/set-72157643790505944/">Start URL added<br />
</a><a href="https://www.flickr.com/photos/eklem/14050906527/in/set-72157643790505944/"><img class="alignnone" style="border: 1px solid black" src="https://farm3.staticflickr.com/2897/14050906527_6b77d3977b.jpg" alt="javascript crawl interfaces" width="500" height="313" /></a></p>
<p><a href="https://www.flickr.com/photos/eklem/14235224692/in/set-72157643790505944/">The minimum amount of rules needed to start the crawler<br />
</a><a href="https://www.flickr.com/photos/eklem/14235224692/in/set-72157643790505944/"><img class="alignnone" style="border: 1px solid black" src="https://farm3.staticflickr.com/2898/14235224692_f79d48b310.jpg" alt="javascript crawl interfaces" width="500" height="313" /></a></p>
<p>Next tasks will be to make a clickable prototype in HTML/CSS and read up on HTML5 local storage/web storage.</p>
<p><strong>All comments on the idea are welcome! </strong>Here&#8217;s <a href="http://blog.comperiosearch.com/blog/tag/forage/">what we&#8217;ve blogged about Forage</a> so far.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.comperiosearch.com/blog/2014/05/21/crawl-interfaces-for-forage-running-inside-your-browser/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Main navigation for recipe app user interface ready</title>
		<link>http://blog.comperiosearch.com/blog/2014/05/16/main-navigation-user-interface-for-recipe-app-ready/</link>
		<comments>http://blog.comperiosearch.com/blog/2014/05/16/main-navigation-user-interface-for-recipe-app-ready/#comments</comments>
		<pubDate>Fri, 16 May 2014 13:37:26 +0000</pubDate>
		<dc:creator><![CDATA[Espen Klem]]></dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[pad]]></category>
		<category><![CDATA[photo carousel]]></category>
		<category><![CDATA[recipe app]]></category>
		<category><![CDATA[search navigation]]></category>
		<category><![CDATA[swipe]]></category>
		<category><![CDATA[swipe UI]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[user interface]]></category>
		<category><![CDATA[ux]]></category>

		<guid isPermaLink="false">http://blog.comperiosearch.com/?p=2318</guid>
		<description><![CDATA[Our seasonal food recipe app is getting closer to some front end hacking. Just finished making a navigation sprite where you&#8217;re supposed to swipe horizontal to change place of food foraging, and vertical to change time of year (month). It&#8217;s based on our earlier created mental model and Christine Hørven&#8217;s interpretation. When you open the web [...]]]></description>
				<content:encoded><![CDATA[<p>Our <a href="http://blog.comperiosearch.com/blog/tag/recipe-app/">seasonal food recipe app</a> is getting closer to some front end hacking. Just finished making a navigation sprite where you&#8217;re supposed to swipe horizontal to change place of food foraging, and vertical to change time of year (month). It&#8217;s based on <a href="http://blog.comperiosearch.com/blog/2014/02/07/the-seasonal-recipe-app-tapping-into-the-mental-model/">our earlier created mental</a> model and Christine Hørven&#8217;s interpretation. When you open the web app, current month and farm will be selected for you.</p>
<h2>Main recipe app user interface</h2>
<p><a href="https://www.flickr.com/photos/eklem/14011595248"><img class="alignnone" src="https://farm3.staticflickr.com/2909/14011595248_fb1a697323.jpg" alt="Main recipe app user interface" width="500" height="402" /></a></p>
<p>First off I&#8217;ll just make a clickable test, doing some modulo stuff so that the edge-cases will wrap (December -&gt; January). Then try <a href="http://www.idangero.us/sliders/swiper/demos.php">Awwwards Touch Swipe library</a>. It has the ability to register both horizontal and vertical swipe motion. They also have a <a href="http://www.awwwards.com/demo/touchSwipe-gallery-demo.html">image gallery swipe demo</a>. It only shows horizontal swiping, but I&#8217;m guessing it will be possible to expand that to vertical swiping as well.</p>
<p>When we have a swipe navigation that works good enough it&#8217;s time to build that in to our Angular app and use it to change the search query. Then we have to do some front end code on <a href="http://blog.comperiosearch.com/blog/2014/05/08/how-to-visualize-absolute-search-result-quality/">the actual search results and search result items</a>.</p>
<p>That&#8217;s all for today. <a href="http://en.wikipedia.org/wiki/Norwegian_Constitution_Day">Happy 17th of May</a>. Sounds nice? This is work in progress, so <a href="http://blog.comperiosearch.com/blog/tag/recipe-app/">check back every now and then for new blog posts</a>.</p>
<p>Any comments? Feedback on the recipe app user interface is more than welcome!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.comperiosearch.com/blog/2014/05/16/main-navigation-user-interface-for-recipe-app-ready/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>User Experience for the Recipe App on Ipads and Android Tablets</title>
		<link>http://blog.comperiosearch.com/blog/2014/05/08/user-experience-for-the-recipe-app-on-ipads-and-android-tablets/</link>
		<comments>http://blog.comperiosearch.com/blog/2014/05/08/user-experience-for-the-recipe-app-on-ipads-and-android-tablets/#comments</comments>
		<pubDate>Thu, 08 May 2014 17:57:57 +0000</pubDate>
		<dc:creator><![CDATA[Espen Klem]]></dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[drilldown]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[filters]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[pad]]></category>
		<category><![CDATA[pad first]]></category>
		<category><![CDATA[qbox]]></category>
		<category><![CDATA[recipe app]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[search navigation]]></category>
		<category><![CDATA[tablet]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[ux]]></category>

		<guid isPermaLink="false">http://blog.comperiosearch.com/?p=2282</guid>
		<description><![CDATA[More than half the traffic for the recipe site we&#8217;re indexing comes from Ipads and Android Tablets. Because of this we&#8217;ve chosen to do pad first, mobile second and regular laptop/desktop third. So first up are Ipads and Android Tablets. Recipe App User Experience on Ipads and Androids How to sort the result set The [...]]]></description>
				<content:encoded><![CDATA[<p>More than half the traffic for the <a href="http://oppskrift.klikk.no/">recipe site</a> we&#8217;re indexing comes from Ipads and Android Tablets. Because of this we&#8217;ve chosen to do pad first, mobile second and regular laptop/desktop third. So first up are Ipads and Android Tablets.</p>
<h2>Recipe App User Experience on Ipads and Androids</h2>
<h2></h2>
<p><a href="https://www.flickr.com/photos/eklem/14158563123/in/photostream/"><img class="alignnone" src="https://farm8.staticflickr.com/7311/14158563123_00370d39d0.jpg" alt="recipe app user experience" width="500" height="406" /></a></p>
<p><strong>How to sort the result set</strong></p>
<p>The relevance model is now down to two variables:</p>
<ol>
<li>Amount of in-season ingredients in a recipe</li>
<li>Date (year) that recipe was published.</li>
</ol>
<p>Date will only be used to rank recipes with same amount of in-season ingredients.</p>
<p><strong>Filters and drill-down possibilities</strong></p>
<p>Main filters will be:</p>
<ol>
<li>Light meal</li>
<li>Dinner</li>
<li>Desert</li>
</ol>
<p>On these three filters you will be able to do a second filtering based on how short the recipe preparation time is:</p>
<ol>
<li>Quick (40 minutes or less)</li>
<li>Slow/Thorough (more than 40 minutes)</li>
</ol>
<p><strong>Auto selected filters</strong></p>
<p>The actual search is done without the user needing to do or type anything. An OR search for the current months ingredients is done when you enter the page. Default place will be &#8220;The Farm&#8221;, since that&#8217;s the closest thing to what you find in the supermarket.</p>
<p>The filters will also be automatically picked. During work days the &#8220;Dinner&#8221; and &#8220;Quick&#8221; filters will be set. Late Friday the meal type filter will change to &#8220;Light meal&#8221; and &#8220;Slow/Thorough&#8221;. Sometime after 12 o&#8217;clock on Saturday, the meal type will change to &#8220;Dinner&#8221;.</p>
<p><a href="https://www.flickr.com/photos/eklem/14135558552/in/photostream/"><img class="alignnone" src="https://farm6.staticflickr.com/5074/14135558552_5611ceed58.jpg" alt="recipe app user experience" width="500" height="333" /></a></p>
<p>Based on <a href="http://blog.comperiosearch.com/blog/2014/05/08/how-to-visualize-absolute-search-result-quality/">the ideas for visualization of the search result</a>, this is how I imagine the UX for our Seasonal Food Recipe App. To the left you have a search result for &#8220;The Sea&#8221; in May, to the right &#8220;The Sea&#8221; in January. We&#8217;ll have a new prototype running soon. Next task will be to make the navigation sprite with a combination of the five places and 12 months (sun in different position for each month). Then HTML-prototype the three different search result types: Large (full width), medium and small.</p>
<p><a href="http://qbox.io/">Thanks to Qbox</a> for letting us use one of their Elasticsearch instances!</p>
<p><a href="http://qbox.io/"><img class="alignnone wp-image-2287 size-medium" src="http://blog.comperiosearch.com/wp-content/uploads/2014/05/Screen-Shot-2014-05-08-at-19.56.22-300x173.png" alt="Qbox hosted Elasticsearch" width="300" height="173" /></a></p>
<p><a href="http://blog.comperiosearch.com/blog/tag/recipe-app/">The recipe app is work in progress</a>. Check back every now and then for new blog posts on the subject.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.comperiosearch.com/blog/2014/05/08/user-experience-for-the-recipe-app-on-ipads-and-android-tablets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to visualize absolute search result quality</title>
		<link>http://blog.comperiosearch.com/blog/2014/05/08/how-to-visualize-absolute-search-result-quality/</link>
		<comments>http://blog.comperiosearch.com/blog/2014/05/08/how-to-visualize-absolute-search-result-quality/#comments</comments>
		<pubDate>Thu, 08 May 2014 16:51:56 +0000</pubDate>
		<dc:creator><![CDATA[Espen Klem]]></dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[recipe app]]></category>
		<category><![CDATA[relevance]]></category>
		<category><![CDATA[relevance tuning]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://blog.comperiosearch.com/?p=2278</guid>
		<description><![CDATA[Earlier, I&#8217;ve looked into how I could use the Phi spiral to possibly get a better display of what&#8217;s most relevant in a search result. A former colleague of mine, Johannes Hoff Holmedahl, did a quick test on the theory, and it may actually work. For the recipe app I want to do something slightly [...]]]></description>
				<content:encoded><![CDATA[<p>Earlier, I&#8217;ve looked into how I could <a href="http://blog.comperiosearch.com/blog/2013/07/05/a-better-search-result-a-visual-relevancy-hierarchy-building-on-the-phi-spiral/">use the Phi spiral to possibly get a better display of what&#8217;s most relevant</a> in a search result. A former colleague of mine, Johannes Hoff Holmedahl, <a href="//blog.comperiosearch.com/blog/2013/08/07/redesigning-netflix-using-the-phi-spiral/">did a quick test on the theory</a>, and it may actually work.</p>
<p>For the recipe app I want to do something slightly different, showing the absolute search result quality for each result. In other words: If the best search result in a result set is not very good, make it smaller than if it has higher value, thus showing an absolute value for each result. The dialogue equivalent comparing i.e. two movies would be to define the best of them better than the other, but not the best you&#8217;d seen.</p>
<h2>Absolute search result quality</h2>
<p>aka. Absolute visual relevance hierarchy</p>
<p>How do we then measure absolute quality? In an earlier post I described <a href="http://blog.comperiosearch.com/blog/2014/03/07/recipe-app-relevance-tuning-what-is-it-exactly/">what would be our relevancy hierarchy</a>. The more in-season ingredients in a recipe, the better quality.</p>
<p><a href="https://www.flickr.com/photos/eklem/14158409963/"><img class="alignnone" src="https://farm8.staticflickr.com/7349/14158409963_dc2463f1f7.jpg" alt="Visualization of absolute search result quality" width="500" height="281" /></a></p>
<p>I&#8217;ve defined three quality groups for absolute search result quality so far (number of ingredients: n):</p>
<ol>
<li>n &gt;= 4</li>
<li>1 &lt; n &lt; 4</li>
<li>n = 1</li>
</ol>
<p>Here are three different examples on search results set. First has two results with four or more in-season ingredients and second has only one. Third has none, typically something that would happen during the winter months in Norway:</p>
<p><a href="https://www.flickr.com/photos/eklem/14115310566/sizes/l"><img class="alignnone" src="https://farm8.staticflickr.com/7375/14115310566_375a0d5936.jpg" alt="Visualization of absolute search result quality" width="500" height="237" /></a></p>
<p><a href="http://blog.comperiosearch.com/blog/tag/recipe-app/">The recipe app is work in progress</a>. Check back every now and then for new blog posts on the subject.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.comperiosearch.com/blog/2014/05/08/how-to-visualize-absolute-search-result-quality/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Idea: search server running inside browser</title>
		<link>http://blog.comperiosearch.com/blog/2014/04/29/idea-search-server-running-inside-your-browser/</link>
		<comments>http://blog.comperiosearch.com/blog/2014/04/29/idea-search-server-running-inside-your-browser/#comments</comments>
		<pubDate>Tue, 29 Apr 2014 18:15:36 +0000</pubDate>
		<dc:creator><![CDATA[Espen Klem]]></dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[forage]]></category>
		<category><![CDATA[Forage Document Processor]]></category>
		<category><![CDATA[Forage Search Engine]]></category>
		<category><![CDATA[Forage Search Server]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[node]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[search engine]]></category>

		<guid isPermaLink="false">http://blog.comperiosearch.com/?p=2232</guid>
		<description><![CDATA[Got an idea to use the browser as a virtual machine for Forage Forage is Fergus McDowall&#8217;s pet project: A search server written in JavaScript and based on Node.js and LevelDB. Since it&#8217;s JavaScript, and HTML5 local storage has the same key/value storage as levelDB (HTML5 local storage for Chrome actually is levelDB) it has the [...]]]></description>
				<content:encoded><![CDATA[<p>Got an idea to use the browser as a virtual machine for Forage <a href="https://github.com/fergiemcdowall/forage">Forage is Fergus McDowall&#8217;s pet project</a>: A search server written in JavaScript and based on Node.js and LevelDB. Since it&#8217;s JavaScript, and HTML5 local storage has the same key/value storage as levelDB (HTML5 local storage for Chrome actually is levelDB) it has the possibility to run inside any modern browser. This would mean that the user could get a search server running inside browser.</p>
<p>Forage could then be added with a bookmarklet to any page (A bookmark adding a javascript to the page you&#8217;re on). With some simple UI-stuff you could define the Forage Document Processor Adapter, set up rules for Forage Crawler, crawl, process, index and then search within your indexed documents. All without using any servers, on premises or in the cloud. When the user is satisfied she or he could download the JSON-file with processed documents + scripts for adding a search box,  search result and navigators to a page.</p>
<h2>Possible use cases for search server running inside browser:</h2>
<ul>
<li><strong>Easy site search setup<br />
</strong>One real benefit, and the initial idea, would be that the user would not need any server to test Forage and actually crawl a site. When page crawled the user can download JSON ready to be indexed + setup-files for a search box, navigators and search result. Or add it to a cloud service and there continue the work you started in your browser.</li>
<li><strong>A easy and modern search solution behind the firewall<br />
</strong>Behind the firewall, almost all software looks a bit duller, more beige and basically not modern. But through the browser you could easily combine the strength of  Forage and all the hidden gems behind a firewall. There would be some big issues with security, but for intranet and people search it could be a great solution.</li>
<li><strong>Ad hoc search on a site that is not yours<br />
</strong>Say you&#8217;re looking for something on a site. How about ad hock index it and then search it. Yes, it&#8217;s a bandwidth abuse waiting to happen, but could make a good tool for a lot of situations.</li>
<li><strong>Your life, searchable<br />
</strong>This may need a browser add on, but then again, maybe not. Anyway: How about your whole online life, searchable. Today you have your browser history. It shows you page title and page link. What if all the text and images was searchable?</li>
</ul>
<h2>Some UX sketches of the idea:</h2>
<p><a href="https://www.flickr.com/photos/eklem/14233858701/in/set-72157643790505944">The user finds a page to crawl &#8230;<br />
</a><a href="https://www.flickr.com/photos/eklem/14233858701/in/set-72157643790505944"><img class="alignnone" style="border: 1px solid black" src="https://farm6.staticflickr.com/5492/14233858701_eeae399a87.jpg" alt="Search server running inside browser: The user finds a page to crawl ..." width="500" height="313" /></a></p>
<p><a href="https://www.flickr.com/photos/eklem/14050545130/in/set-72157643790505944/">&#8230; clicks the bookmarklet &#8230;<br />
</a><a href="https://www.flickr.com/photos/eklem/14050545130/in/set-72157643790505944/"><img class="alignnone" style="border: 1px solid black" src="https://farm3.staticflickr.com/2934/14050545130_c6ae387c88.jpg" alt="Search server running inside browser: The user finds a page to crawl ..." width="500" height="313" /></a></p>
<p>.<a href="https://www.flickr.com/photos/eklem/14257334383/in/set-72157643790505944/">.. that adds Forage JavaScript-stuff to the page &#8230;<br />
</a><a href="https://www.flickr.com/photos/eklem/14257334383/in/set-72157643790505944/"><img class="alignnone" style="border: 1px solid black" src="https://farm3.staticflickr.com/2908/14257334383_41deb607f7.jpg" alt="Search server running inside browser: Bookmarklet added" width="500" height="313" /></a></p>
<p><a href="https://www.flickr.com/photos/eklem/14257334533/in/set-72157643790505944/">&#8230; much like a browser plugin or add on &#8230;<br />
</a><a href="https://www.flickr.com/photos/eklem/14257334533/in/set-72157643790505944/"><img class="alignnone" style="border: 1px solid black" src="https://farm6.staticflickr.com/5157/14257334533_ff97de13ef.jpg" alt="Search server running inside browser: Works much like a browser addon or plugin" width="500" height="313" /></a></p>
<p><a href="https://www.flickr.com/photos/eklem/14236885594/in/set-72157643790505944/">&#8230; tests a jQuery selector statement &#8230;<br />
</a><a href="https://www.flickr.com/photos/eklem/14236885594/in/set-72157643790505944/"><img class="alignnone" style="border: 1px solid black" src="https://farm3.staticflickr.com/2899/14236885594_441d1c7f35.jpg" alt="Search server running inside browser: Defining item" width="500" height="313" /></a></p>
<p><a href="https://www.flickr.com/photos/eklem/14237149605/in/set-72157643790505944/">&#8230; and adds the field to the item when satisfied. Repeated until a full item is defined.<br />
<img class="alignnone" src="https://farm6.staticflickr.com/5240/14237149605_b8d0f6be3e.jpg" alt="" width="500" height="313" /></a></p>
<p>Here&#8217;s the <a href="https://github.com/fergiemcdowall/forage/issues/32">feature suggestion at the Forage GitHub page</a>. Ideas or comments are more than welcome! Want to know more about Forage? Check out the <a href="https://github.com/fergiemcdowall/forage">Forage GitHub-pages</a> or <a href="http://blog.comperiosearch.com/blog/tag/forage/">stuff we&#8217;ve written about Forage</a>.</p>
<p>EDIT: <a href="http://blog.comperiosearch.com/blog/2014/05/21/crawl-interfaces-for-forage-running-inside-your-browser/">Drawn some new mock ups on the crawler part: Forage Fetch</a> and written about the <a href="http://blog.comperiosearch.com/blog/2014/05/28/5-reasons-lebron-future-forage-search-engine-will-rock/">killer combo Lebron and what it will mean for search</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.comperiosearch.com/blog/2014/04/29/idea-search-server-running-inside-your-browser/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Relevance tuning in the search domain. What is it exactly?</title>
		<link>http://blog.comperiosearch.com/blog/2014/03/07/recipe-app-relevance-tuning-what-is-it-exactly/</link>
		<comments>http://blog.comperiosearch.com/blog/2014/03/07/recipe-app-relevance-tuning-what-is-it-exactly/#comments</comments>
		<pubDate>Fri, 07 Mar 2014 16:26:06 +0000</pubDate>
		<dc:creator><![CDATA[Espen Klem]]></dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[filters]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[recipe app]]></category>
		<category><![CDATA[relevance]]></category>
		<category><![CDATA[relevancy tuning]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[user story]]></category>
		<category><![CDATA[ux]]></category>

		<guid isPermaLink="false">http://blog.comperiosearch.com/?p=2032</guid>
		<description><![CDATA[First thing first! Let&#8217;s get rid of the bullshit bingo lingo: &#8220;Relevancy tuning&#8221; in search is a fancy description for something that&#8217;s not very magical, even if it sounds like just that. It&#8217;s about getting the right results on top of your search result. End of story. If somebody asks you a question, you should [...]]]></description>
				<content:encoded><![CDATA[<p>First thing first! Let&#8217;s get rid of the bullshit bingo lingo: &#8220;Relevancy tuning&#8221; in search is a fancy description for something that&#8217;s not very magical, even if it sounds like just that. It&#8217;s about getting the right results on top of your search result. End of story. If somebody asks you a question, you should start by giving that person the most likely answer first. Most search engines seems to be digressing. It&#8217;s because we haven&#8217;t told in a clear manner what to be expected from them. And because we often use generic tools to solve specific problems.</p>
<p>One generic tool for getting the right results on top is the &#8220;<a href="http://en.wikipedia.org/wiki/Tf%E2%80%93idf">term frequency–inverse document frequency</a>&#8220;, or <a href="https://www.google.no/?gfe_rd=ctrl&amp;ei=_NAZU7qjL8-AwAP6_oCgBg&amp;gws_rd=cr#q=tf-idf&amp;safe=off">tf-idf</a> for short. It&#8217;s a combination of how often a term is mentioned in a document compared to how often it&#8217;s mentioned in all of your documents in the index. So, rare terms within the whole index used often in one document makes it a good search result when searching for that term. But most likely, not good enough. You need to figure out what&#8217;s the characteristics of your content, and what are the most characteristic use cases and user stories for your users. Only then can you achieve great relevancy, &#8230;  I mean get the right result on top of your search result.</p>
<h2>Model for relevance tuning</h2>
<p>We&#8217;ll use our Recipe app as an example&#8230;</p>
<p><img class="alignnone" src="http://farm4.staticflickr.com/3122/12989606394_97436f539e_z.jpg" alt="Model for relevance tuning" width="360" height="640" /></p>
<p>So, for our food recipe app, we have some obvious content characteristics:</p>
<ul>
<li>The more ingredients in-season for one recipe is good. We&#8217;re doing an OR-search on all ingredients in-season so this comes out-of-the-box &#8230; almost.</li>
<li>Quite a lot of recipes doesn&#8217;t stand the test of time. We know that most of the recipes at oppskrift.klikk.no from 2008 or newer are quite good and have nice photos.</li>
<li>We&#8217;re not sure if we need this, but we know whom of the writers to trust. This may be an overkill when we already have a boosting on newer recipes.</li>
</ul>
<p>And we know a lot about our users as well:</p>
<ul>
<li>Most grown up people in Norway have a job, thus limited time to prepare a meal. This means that recipes that takes shorter preparations should be boosted from Monday through Thursday. The verdict on Friday is still not decided.</li>
<li>During the weekend people have more time to make dinner. The recipes that takes a short time to prepare most probably cut some corners, and are not that good compared to recipes that takes a little longer time. So for the weekends, we should do a demotion of really quick recipes, at least for dinners.</li>
</ul>
<p>This is the info we&#8217;re going to use to sort our search result. But we have more knowledge about our users that we can use to auto-set filters for certain times of the day:</p>
<ul>
<li>Most work days, people don&#8217;t plan a breakfast meal or lunch. The whole day we can auto-set the main &#8220;course&#8221; filter.</li>
<li>During the weekend, people may also plan a lunch. We&#8217;ve decided to auto-set the &#8220;light meal&#8221;-filter during weekends up until lunch time. After that the &#8220;main course&#8221; filter is auto-set. We&#8217;ll log if the first thing our users do is to set another filter.</li>
<li>On Friday and Saturday a lot of Norwegians drink beer, wine or liquor. After some hours of drinking, they get hungry. Maybe we should have an &#8220;afterparty, quick and greasy and tasty-meal&#8221;-filter auto-set for late Fridays and Saturdays?</li>
</ul>
<p>So, what&#8217;s the filters we&#8217;ve decided on:</p>
<ul>
<li>Light meals</li>
<li>Starters</li>
<li>Main courses</li>
<li>Deserts</li>
<li>&#8230; and maybe the Afterparty-thingy</li>
</ul>
<p>What do you think?</p>
<p><img class="alignnone" src="http://farm4.staticflickr.com/3143/12988485805_d1a693e95c_z.jpg" alt="Model for relevance tuning" width="640" height="360" /></p>
<p>Sounds nice? This is work in progress, so <a href="http://blog.comperiosearch.com/blog/tag/recipe-app/">check back every now and then for new blog posts</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.comperiosearch.com/blog/2014/03/07/recipe-app-relevance-tuning-what-is-it-exactly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
