<?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>millerjam</title>
	<atom:link href="http://millerjam.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://millerjam.com/blog</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Mon, 05 Mar 2012 04:06:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>National Park Dorling Cartogram</title>
		<link>http://millerjam.com/blog/2010/11/dorling-cartogram-protovis-example/</link>
		<comments>http://millerjam.com/blog/2010/11/dorling-cartogram-protovis-example/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 16:40:37 +0000</pubDate>
		<dc:creator>admin1</dc:creator>
				<category><![CDATA[MainMenu]]></category>

		<guid isPermaLink="false">http://www.millerjam.com/blog/?p=135</guid>
		<description><![CDATA[Lately I&#8217;ve been doing a lot of work with data visualization and learning how to use the Protovis JavaScript library. Here is an example that I have been working on of a Dorling Cartogram. This Dorling Cartogram encodes the size of the national parks as the size of the circle; and the percentage of attendance [...]]]></description>
			<content:encoded><![CDATA[<p>Lately I&#8217;ve been doing a lot of work with data visualization and learning how to use the <a href="http://vis.stanford.edu/protovis/">Protovis JavaScript library</a>. Here is an <a href="http://www.millerjam.com/nps/nps-example.html">example</a> that I have been working on of a Dorling Cartogram. This Dorling Cartogram encodes the size of the national parks as the size of the circle; and the percentage of attendance as the circle&#8217;s color. The National Park data comes from <a href="http://www.nature.nps.gov/stats/park.cfm">The National Park Service Public Use Statistics Reports.</a> It is based on the <a href="http://vis.stanford.edu/protovis/ex/cartogram.html">Dorling Cartogram example</a> from the Protovis examples. The circles are roughly positioned based on the National Park&#8217;s geographic location. The attendance figures come from 2009, I hope to update the map once the data for 2010 is complete.   </p>
<p><a href="http://www.millerjam.com/nps/nps-example.html"><img src="http://test.millerjam.com/blog/wp-content/uploads/2010/11/nps-cartogram-300x169.png" alt="" title="nps-cartogram" width="300" height="169" class="alignnone size-medium wp-image-136" /></a><br />
See the example here: <a href="http://www.millerjam.com/nps/nps-example.html">National Park Dorling Cartogram</a><br />
You can get the source code on <a href="https://gist.github.com/603846">github</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://millerjam.com/blog/2010/11/dorling-cartogram-protovis-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using YUI Get Module for cross-domain JSON</title>
		<link>http://millerjam.com/blog/2008/08/using-yui-get-for-cross-domain-json/</link>
		<comments>http://millerjam.com/blog/2008/08/using-yui-get-for-cross-domain-json/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 03:07:45 +0000</pubDate>
		<dc:creator>admin1</dc:creator>
				<category><![CDATA[MainMenu]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mashup]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://www.millerjam.com/blog/?p=61</guid>
		<description><![CDATA[Intro The Get Utility is one of the smaller YUI modules. Despite its size, how and when to use it can be quite complicated. It is used with css and javascript files to provide progressive loading of functionality and cross-site data retrieval. Progressive loading is a technique to load resources as they are needed on [...]]]></description>
			<content:encoded><![CDATA[<h3>Intro</h3>
<p>The <a href="http://developer.yahoo.com/yui/get/">Get Utility</a> is one of the smaller YUI modules. Despite its size, how and when to use it can be quite complicated. It is used with css and javascript files to provide progressive loading of functionality and cross-site data retrieval. Progressive loading is a technique to load resources as they are needed on the page and not before. Cross-site data retrieval is useful for creating mashups, it allows you to request third party data. Unlike normal ajax applications, security issues prevent you from using XMLHttpRequest to call third party APIs that are hosted on different domains. In order to use XMLHttpRequests you would need to setup a proxy server hosted on your website. The Get Utility avoids this by appending a script or link tag directly to the page to retrieve the resource.  It has the advantage of being lightweight, but it could also be a security issue and you shouldn&#8217;t use it without understanding the risks. Be sure you trust the 3rd party APIs you are calling and you are not exposing users to malicious javascript.</p>
<p><span id="more-61"></span></p>
<h3>Example: Get for cross-domain JSON</h3>
<p>The following example is based on the <a href="http://developer.yahoo.com/common/json.html#callbackparam">&#8220;Using JSON with Yahoo! Web Services&#8221;</a> callback examples, but uses the Get Utility to request the JSON data. </p>
<p>First, add the YUI source files to your webpage</p>
<pre name="code" class="javascript">
<!-- YUI Dependencies -->
<script type="text/javascript" src="http://yui.yahooapis.com/2.5.2/build/yahoo/yahoo-min.js" ></script>
<script type="text/javascript" src="http://yui.yahooapis.com/2.5.2/build/get/get-min.js" ></script>
</pre>
<p>The method for loading javascript with the Get Utility is <code><a href="http://developer.yahoo.com/yui/docs/YAHOO.util.Get.html#method_script">script</a></code>. It takes a URL location for a javascript resource. <code>Script</code> has an optional parameter for a callback function that is called once the resource is loaded. In the example, the callback <code>onSuccess</code> is called by Get when the javascript resource is loaded. This callback is different from the <code>ws_results</code> callback that is defined in the data request which is also called when the javascript is loaded.</p>
<pre name="code" class="javascript">

function ws_results(obj) {
	alert(obj.ResultSet.totalResultsAvailable);
}
var searchDataReq = 'http://search.yahooapis.com/ImageSearchService/V1/imageSearch?appid=YahooDemo&#038;query=Madonna&#038;output=json&#038;callback=ws_results';

//make Cross Domain request, callback method is onSuccess
var objTransaction = YAHOO.util.Get.script(searchDataReq,
                              { onSuccess: function() {alert("file loaded"); }});
</pre>
<p>Here is a live example running this code:<a href="http://www.millerjam.com/demo/getDemo.html"> YUI Get Utility JSON Demo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://millerjam.com/blog/2008/08/using-yui-get-for-cross-domain-json/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Garden Photos</title>
		<link>http://millerjam.com/blog/2008/07/new-garden-photos/</link>
		<comments>http://millerjam.com/blog/2008/07/new-garden-photos/#comments</comments>
		<pubDate>Mon, 07 Jul 2008 00:53:31 +0000</pubDate>
		<dc:creator>admin1</dc:creator>
				<category><![CDATA[MainMenu]]></category>
		<category><![CDATA[garden]]></category>
		<category><![CDATA[photos]]></category>

		<guid isPermaLink="false">http://www.millerjam.com/blog/?p=54</guid>
		<description><![CDATA[The garden is looking great, I harvested the first potatoes this week. It looks like the squash are just a couple weeks away. A pretty little lady bug]]></description>
			<content:encoded><![CDATA[<p>The garden is looking great, I harvested the first potatoes this week.  It looks like the squash are just a couple weeks away.<br />
A pretty little lady bug<br />
<a href="http://www.flickr.com/photos/jam01/2643719074/" title="garden photos"><img src="http://farm4.static.flickr.com/3188/2643719074_9e7f872a9f.jpg" style="solid 2px #000000;" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://millerjam.com/blog/2008/07/new-garden-photos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Garden</title>
		<link>http://millerjam.com/blog/2008/05/garden/</link>
		<comments>http://millerjam.com/blog/2008/05/garden/#comments</comments>
		<pubDate>Mon, 26 May 2008 02:03:06 +0000</pubDate>
		<dc:creator>admin1</dc:creator>
				<category><![CDATA[MainMenu]]></category>
		<category><![CDATA[garden]]></category>
		<category><![CDATA[photos]]></category>

		<guid isPermaLink="false">http://www.millerjam.com/blog/2008/05/25/garden/</guid>
		<description><![CDATA[Garden Originally uploaded by jam123 Early spring in the garden, its already getting crowded!]]></description>
			<content:encoded><![CDATA[<div style="10px;">
<a href="http://www.flickr.com/photos/jam01/2522369843/" title="photo sharing"><img src="http://farm3.static.flickr.com/2331/2522369843_2e7da19bf0_m.jpg" alt="" style="solid 2px #000000;" /></a><br />
<br />
<span style="0px;"><br />
<a href="http://www.flickr.com/photos/jam01/2522369843/">Garden</a><br />
<br />
Originally uploaded by <a href="http://www.flickr.com/people/jam01/">jam123</a><br />
</span>
</div>
<p>Early spring in the garden, its already getting crowded!<br /></p>
]]></content:encoded>
			<wfw:commentRss>http://millerjam.com/blog/2008/05/garden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Refactoring with style</title>
		<link>http://millerjam.com/blog/2007/08/refactoring-with-style/</link>
		<comments>http://millerjam.com/blog/2007/08/refactoring-with-style/#comments</comments>
		<pubDate>Tue, 14 Aug 2007 04:12:18 +0000</pubDate>
		<dc:creator>admin1</dc:creator>
				<category><![CDATA[MainMenu]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[refactoring]]></category>

		<guid isPermaLink="false">http://www.millerjam.com/blog/2007/08/13/refactoring-with-style/</guid>
		<description><![CDATA[I&#8217;ve been using Checkstyles lately to enforce my Java code style. I choose checkstyles over the similar tools based on the Eclipse plug-in. I think that the eclipse plug-in is a great tool. It is easy to setup and doesn&#8217;t intrude on other activities. I was able to modify the defaults to match my coding [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using <a href="http://checkstyle.sourceforge.net/">Checkstyles</a> lately to enforce my Java code style. I choose checkstyles over the similar tools based on the Eclipse plug-in.  I think that the <a href="http://eclipse-cs.sourceforge.net/">eclipse plug-in</a> is a great tool. It is easy to setup and doesn&#8217;t intrude on other activities. I was able to modify the defaults to match my coding style and the plug-in also has the nice feature that it can be enabled on a <strong>per-project basis</strong>. With Checkstyles running, I have one less thing to think about. It catches all the easy to over look errors and frees me up to worry about logic and design issues.  </p>
<p>One thing that I&#8217;ve been experimenting with is using Checkstyles to help with refactoring legacy code.  I use the following checks to identify areas of the code that can use some clean up.</p>
<p><strong>Refactoring Checks</strong></p>
<ul>
<li><a href="http://checkstyle.sourceforge.net/config_coding.html#ReturnCount">ReturnCount</a></li>
<li><a href="http://checkstyle.sourceforge.net/config_sizes.html#MethodLength">MethodLength</a></li>
<li><a href="http://checkstyle.sourceforge.net/config_sizes.html#FileLength">FileLength</a></li>
<li><a href="http://checkstyle.sourceforge.net/config_metrics.html#CyclomaticComplexity">CyclomaticComplexity</a></li>
</ul>
<p>I have a check configuration just for refactoring that I turn on for legacy projects.  That way I can easily identify areas where I should be spending my time and I&#8217;m not overwhelmed by multiple Checkstyle warnings within the code.</p>
]]></content:encoded>
			<wfw:commentRss>http://millerjam.com/blog/2007/08/refactoring-with-style/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Incremental Improvements in Code</title>
		<link>http://millerjam.com/blog/2007/08/incremental-improvements-in-code/</link>
		<comments>http://millerjam.com/blog/2007/08/incremental-improvements-in-code/#comments</comments>
		<pubDate>Fri, 10 Aug 2007 04:34:38 +0000</pubDate>
		<dc:creator>admin1</dc:creator>
				<category><![CDATA[MainMenu]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.millerjam.com/blog/2007/08/09/incremental-improvements-in-code/</guid>
		<description><![CDATA[I think this post about &#8220;Beautiful code in the Real World&#8221; is really good. I can&#8217;t wait for the next installment. It is little overwhelming to look at undocumented, non-tested code and think about all the &#8220;best practices&#8221; being ignoring. At first I got stressed out every-time I thought of all the time it would [...]]]></description>
			<content:encoded><![CDATA[<p>I think this post about <a href="http://beautifulcode.oreillynet.com/2007/08/beautiful_code_in_the_realworl.php">&#8220;Beautiful code in the Real World&#8221;</a> is really good. I can&#8217;t wait for the next installment. It is little overwhelming to look at undocumented, non-tested code and think about all the &#8220;best practices&#8221; being ignoring. At first I got stressed out every-time I thought of all the time it would take to turn around an ugly piece of&#8230; Now when I read about test coverage, continuous integration and design patterns, I remind myself that any improvement is better than none. I like to pick out small goals that are easy to accomplish, like unit testing a critical set of components or any new methods.  Being able to meet mini-goals gives me a positive attitude and a starting point for adding slightly bigger goals.</p>
]]></content:encoded>
			<wfw:commentRss>http://millerjam.com/blog/2007/08/incremental-improvements-in-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programming Perspective</title>
		<link>http://millerjam.com/blog/2007/08/programming-perspective/</link>
		<comments>http://millerjam.com/blog/2007/08/programming-perspective/#comments</comments>
		<pubDate>Wed, 08 Aug 2007 04:14:41 +0000</pubDate>
		<dc:creator>admin1</dc:creator>
				<category><![CDATA[MainMenu]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.millerjam.com/blog/2007/08/07/programming-perspective/</guid>
		<description><![CDATA[Recently, something clicked that changed my perspective on being a programmer. It was more an understanding of where I want to go than anything actually happening. I&#8217;ve always been good at programming. I put a lot of my effort into learning the flashy newest and latest, but not the non-sexy fundamentals. So, I grabbed some [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, something clicked that changed my perspective on  being a programmer. It was more an understanding of where I want to go than anything actually happening.  I&#8217;ve always been good at programming. I put a lot of my effort into learning the flashy newest and latest, but not the non-sexy fundamentals.  So, I grabbed some academic books and reread the <a href="http://www.amazon.com/gp/product/0201633612/ref=wl_it_dp/002-6186115-9837624?ie=UTF8&#038;coliid=I1SLQXS0SVYDSL&#038;colid=Y7RGZX4SZDYB">gang of 4</a> and fowler&#8217;s book: <a href="http://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672/ref=pd_bbs_sr_2/002-6186115-9837624?ie=UTF8&#038;s=books&#038;qid=1186546206&#038;sr=8-2">Refactoring</a>. This time I brought a lot more experience to the table and I&#8217;ve really gotten inspired.  There is something exciting about pure design that permeates everything from bug fixes to new features to language differences.  Hopefully, I&#8217;ll be able to keep this perspective as deadlines loom and its tempting to get caught up in the minutiae.</p>
]]></content:encoded>
			<wfw:commentRss>http://millerjam.com/blog/2007/08/programming-perspective/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Appfuse notes: Classpath stikes again!</title>
		<link>http://millerjam.com/blog/2007/08/appfuse-notes-classpath-stikes-again/</link>
		<comments>http://millerjam.com/blog/2007/08/appfuse-notes-classpath-stikes-again/#comments</comments>
		<pubDate>Tue, 07 Aug 2007 04:14:45 +0000</pubDate>
		<dc:creator>admin1</dc:creator>
				<category><![CDATA[MainMenu]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.millerjam.com/blog/2007/08/06/appfuse-notes-classpath-stikes-again/</guid>
		<description><![CDATA[I&#8217;ve been working through the AppFuse2 Spring MVC Basic tutorial. I&#8217;m afraid that its been slow going so far. A combination of new technology and little free time is making this take a lot longer than I thought. Tonight I ran into a classpath issue which I think was caused by an bug and my [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working through the <a href="http://appfuse.org/display/APF/Home">AppFuse2</a> Spring MVC Basic tutorial.  I&#8217;m afraid that its been slow going so far.  A combination of new technology and little free time is making this take a lot longer than I thought. Tonight I ran into a classpath issue which I think was caused by an bug and my unfamiliarity with Maven.<br />
I was just about finished with the persistence portion of the tutorial when I couldn&#8217;t get my unit tests to pass.  I kept getting the following error no matter what I did.</p>
<p><code><br />
testFindPersonByLastName(com.mycompany.app.dao.PersonDaoTest)  Time elapsed: 3.198 sec  <<< ERROR!<br />
org.springframework.orm.hibernate3.HibernateQueryException: Person is not mapped [from Person where lastName=?]; nested exception is org.hibernate.hql.ast.QuerySyntaxException: Person is not mapped [from Person where lastName=?]<br />
Caused by: org.hibernate.hql.ast.QuerySyntaxException: Person is not mapped [from Person where lastName=?]<br />
</code></p>
<p>After poking around for a while, I found a hibernate.cfg.xml under 'src/test/resources' and I copied the changes from 'src/main/resources' to this location.  Then the test ran perfectly, but I thought this was odd.  It looks like the hibernate.cfg.xml without the changes was found on the classpath before the other one. (It would be nice if java could warn you about finding duplicate files on the classpath somehow???)</p>
<p>Now that I knew the solution is was easy to find this page in the forums.<br />
<a href="http://www.nabble.com/Failed-unit-test-in-Appfuse-Hibernate-tutorial-tf3918759s2369r4.html ">http://www.nabble.com/Failed-unit-test-in-Appfuse-Hibernate-tutorial-tf3918759s2369r4.html </a></p>
<p>The good news is that this <a href="http://issues.appfuse.org/browse/APF-794">bug</a> is already fixed , so I hope no one else needs this <img src='http://millerjam.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://millerjam.com/blog/2007/08/appfuse-notes-classpath-stikes-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Refreshing Your Java Fundamentals</title>
		<link>http://millerjam.com/blog/2007/04/refreshing-your-java-fundamentals/</link>
		<comments>http://millerjam.com/blog/2007/04/refreshing-your-java-fundamentals/#comments</comments>
		<pubDate>Tue, 03 Apr 2007 03:43:14 +0000</pubDate>
		<dc:creator>admin1</dc:creator>
				<category><![CDATA[MainMenu]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.millerjam.com/blog/2007/04/02/refreshing-your-java-fundamentals/</guid>
		<description><![CDATA[Today I saw some code that made me think about Java fundamentals. I always see a lot written about java&#8217;s newest features and libraries, but the code in question involved two methods: one to sort a Vector, and the other method reversed the order. Without any other details a Java programmer should start thinking about [...]]]></description>
			<content:encoded><![CDATA[<p>Today I saw some code that made me think about <a href="http://java.sun.com">Java</a> fundamentals.  I always see a lot written about java&#8217;s newest features and libraries, but the code in question involved two methods: one to sort a Vector, and the other method reversed the order.  Without any other details a Java programmer should start thinking about using the <a href="http://java.sun.com/javase/6/docs/api/java/util/Collections.html">Collections package</a> .  Surprisingly, this code went into the arduous task of performing it&#8217;s own sort.  The Collections is a library that a beginner or intermediate programmers might not know much about.  It is a great real-world example of <a href="http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programming">polymorphism</a> and I figured that I would add an example to show just how easy the Collections package is to use.<br />
<em>(This example compiles under java1.4)</em></p>
<p><code><br />
//create sample vector and fill with data<br />
Vector sampleVector = new Vector(5);<br />
sampleVector.add("dddddddd");<br />
sampleVector.add("a");<br />
sampleVector.add("ccccc");<br />
sampleVector.add("bbbbbbbbbbbbbbb");<br />
sampleVector.add("eeeee");</p>
<p>//custom compare function over loads defaults,<br />
//can be used to compare any kind of Object<br />
Comparator stringLengthCompare = new Comparator() {<br />
	public int compare(Object string1, Object string2) {<br />
		return ((String)string2).length() - ((String)string1).length();<br />
	}<br />
};</p>
<p>//results<br />
System.out.println("unsorted:" +sampleVector);<br />
//default sort<br />
Collections.sort(sampleVector);<br />
System.out.println("sorted:"+sampleVector);<br />
//reverse vector<br />
Collections.reverse(sampleVector);<br />
System.out.println("reversed:"+sampleVector);<br />
//custom sort<br />
Collections.sort(sampleVector, stringLengthCompare);<br />
System.out.println("sorted by length:"+sampleVector);<br />
</code></p>
<p>There&#8217;s nothing ground breaking in this code, but I feel like its always good to have a refresher in some of Java&#8217;s fundamentals.  If you&#8217;re a beginner or just enjoy a refresher check out these links:</p>
<p><a href="http://java.sun.com/docs/books/tutorial/collections/algorithms/index.html ">Examples using java 5 </a></p>
<p><a href="http://java.sun.com/j2se/1.4.2/docs/guide/collections/">More documentation on java1.4</a></p>
<p><a href="http://java.sun.com/docs/books/tutorial/collections/index.html">Java Trails: Collections</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://millerjam.com/blog/2007/04/refreshing-your-java-fundamentals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Naming Features</title>
		<link>http://millerjam.com/blog/2007/03/naming-features/</link>
		<comments>http://millerjam.com/blog/2007/03/naming-features/#comments</comments>
		<pubDate>Sat, 31 Mar 2007 14:40:37 +0000</pubDate>
		<dc:creator>admin1</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.millerjam.com/blog/2007/03/31/naming-features/</guid>
		<description><![CDATA[Robert Kaye has a great example of how to name a feature in his write up of Joshua Schachter presentation at ETech, Lessons Learned in Scaling and Building Social Systems. Joshua was talking about a feature for del.icio.us that allows users to keep bookmarks private. An important feature, but in contrast with the goal of [...]]]></description>
			<content:encoded><![CDATA[<p>Robert Kaye has a great example of how to name a feature in his write up of Joshua Schachter presentation at ETech, <a href="http://www.oreillynet.com/conferences/blog/2007/03/session_lessons_learned_in_sca.html">Lessons Learned in Scaling and Building Social Systems.</a>  Joshua was talking about a feature for <a href="http://del.icio.us">del.icio.us</a> that allows users to keep bookmarks private.  An important feature, but in contrast with the goal of del.icio.us, which is sharing your bookmarks.  Originally the feature was labeled &#8220;Private,&#8221; but it was later changed to &#8220;do not share&#8221; because they saw too many people using incorrectly.  I think this brings up an important consideration when naming a feature.  Not only do we need to accuratly describe the feature, but we need to think of describing it in the context of the application. In this example the label &#8220;Private&#8221; is good, but it doesn&#8217;t describe what will happen with the bookmark.  On the other hand &#8220;do not share&#8221; tells the user exactly what will happen.</p>
]]></content:encoded>
			<wfw:commentRss>http://millerjam.com/blog/2007/03/naming-features/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

