<?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>Addicted To New by John Nunemaker &#187; Software</title>
	<atom:link href="http://addictedtonew.com/archives/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://addictedtonew.com</link>
	<description>John Nunemaker\'s thoughts and such</description>
	<lastBuildDate>Wed, 26 Aug 2009 11:56:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Rails and Mint</title>
		<link>http://addictedtonew.com/archives/356/rails-and-mint/</link>
		<comments>http://addictedtonew.com/archives/356/rails-and-mint/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 04:26:46 +0000</pubDate>
		<dc:creator>jnunemaker</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[mint]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://addictedtonew.com/?p=356</guid>
		<description><![CDATA[Mint is a fabulous analytics application that you install on your own server. It requires PHP and MySQL and the license key is tied to your domain. This led me to believe that I needed to have Mint installed on the same server as the website or application I wanted to track. Fact is, you [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://haveamint.com">Mint</a> is a fabulous analytics application that you install on your own server. It requires PHP and MySQL and the license key is tied to your domain. This led me to believe that I needed to have Mint installed on the same server as the website or application I wanted to track. Fact is, you can put Mint on a subdomain and then just link to that in your site or application. </p>
<h2>The Problem</h2>
<p>How about an example so this makes sense? Railstips uses Mephisto, which is written in Ruby On Rails. It is kind of bad form to install Rails and PHP on the same server (some would say it is bad form to install PHP at all, but I digress). When I switched Railstips to use mod_rails, I lost my rewrites that told requests for /mint to go to mint instead of Rails (as mod_rails recommends turning mod_rewrite off). The solution, though not obvious at first, was simple. </p>
<h2>The Solution</h2>
<p>I setup mint.railstips.org on a PHP server and installed mint there. Then on Railstips.org, which uses mod_rails, I simply linked to the full mint install url in the tracking code, ie:</p>
<pre><code class="html">&lt;script src="http://mint.railstips.org/mint/?js" type="text/javascript"&gt;&lt;/script&gt;</code></pre>
<p>I swear originally when Mint came out you couldn&#8217;t do that, but Shaun must have made a change. I actually noticed that this was possible from the <a href="http://haveamint.com/faqs/compatibility/from_another_server">FAQ&#8217;s on the Mint website</a>. </p>
<p>So, in the future, if you want to use Inman&#8217;s awesome analytics software, all you need to do is setup PHP on a server somewhere and install Mint. It doesn&#8217;t need to be on the same server/domain as the site or application you wish to track.</p>
<p><strong>Note:</strong> Be sure that whatever domain Mint is installed at matches the domain on your Mint license. For example, if Mint is installed at mint.railstips.org, be sure that your mint license is for mint.railstips.org. If it isn&#8217;t, login at <a href="http://haveamint.com">HaveAMint.com</a> and transfer the license to where you intend to install Mint.</p>
]]></content:encoded>
			<wfw:commentRss>http://addictedtonew.com/archives/356/rails-and-mint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Browser Support Is Too Hard</title>
		<link>http://addictedtonew.com/archives/261/browser-support-is-too-hard/</link>
		<comments>http://addictedtonew.com/archives/261/browser-support-is-too-hard/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 22:50:38 +0000</pubDate>
		<dc:creator>jnunemaker</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[37signals]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://addictedtonew.com/?p=261</guid>
		<description><![CDATA[Supporting multiple browsers is too hard. I give up. From now on, I will only support the latest browser. No, not the latest version of each browser, but rather just the most recently released browser. For now, I will support Firefox 3 as it was just recently released. Safari 4 is in the works, so [...]]]></description>
			<content:encoded><![CDATA[<p>Supporting multiple browsers is too hard. I give up. From now on, I will only support the latest browser. No, not the latest version of each browser, but rather just the most recently released browser. For now, I will support Firefox 3 as it was just recently released. Safari 4 is in the works, so when that comes out I&#8217;ll update my apps to that. Also, I&#8217;ll be sure to add sniffers and detectors to redirect you to an unsupported browsers page. The next browser I support after that will probably be Internet Explorer 8. Actually, Webkit has nightly builds. I&#8217;ll just only support the latest nightly build of Webkit. </p>
<p>Hopefully, by now, you realize that last paragraph should be wrapped in a <code>&lt;sarcasm&gt;</code> tag. It seems like browser support, or rather lack there of, has been a hot topic amongst developers lately. I don&#8217;t have much to say but let me present with good and bad examples of handling browser support.</p>
<h2>Good Example</h2>
<p><img src="http://addictedtonew.com/wp-content/uploads/2008/07/37signals-product-blog.jpg" alt="37signals_product_blog.jpg" class="image full" /></p>
<p>Recently, 37Signals announced that they will be <a href="http://37signals.blogs.com/products/2008/07/basecamp-phasin.html">discontinuing support of Internet Explorer 6</a> in their products. The first thing they say in the post is when support is discontinued.</p>
<blockquote><p>On August 15th, 2008 we will begin phasing out support for Internet Explorer 6 across all 37signals products.</p>
</blockquote>
<p>Then they explain the implications of this decision.</p>
<blockquote><p>If you are using IE 7, Firefox 2 or 3, or Safari, you don&#8217;t have to do anything â€” everything will continue as is for you.</p>
</blockquote>
<p>Lastly, they explain why they made the decision.</p>
<blockquote><p>Supporting IE 6 means slower progress, less progress, and, in some places, no progress. We want to make sure the experience is the best it can be for the vast majority of our customers, and continuing to support IE 6 holds us back.</p>
</blockquote>
<p>I don&#8217;t know how intentional the order of that information was but it is pretty smart. The first thing people care about is when and what. They get that out of the way to assuage the fears that any may have that a product they pay for can no longer be used. Once they get those immediate needs covered, they discuss the why. People don&#8217;t care about the why until they know how it affects them. </p>
<p>IE 6 is an extremely outdated browser. It has performance issues and a newer version has been out since 2006. There is absolutely no reason to support IE6 for web applications anymore. 37Signals made a good decision and properly communicated it to their customers.</p>
<h2>Bad Example</h2>
<p><img src="http://addictedtonew.com/wp-content/uploads/2008/07/mobileme-login.jpg" alt="mobileme_login.jpg" class="image full" /></p>
<p>With much hype and excitement Apple recently launched <a href="http://www.apple.com/mobileme/">MobileMe</a>. Being a fanboy, I fired up my browser and signed up. Once into the app, I quickly became frustrated because nothing I clicked seemed to do anything. I know how the web works but I couldn&#8217;t get anything to do anything. Then it hit me. I wasn&#8217;t in Safari, I was in a version of Webkit (the engine that powers Safari). I closed Webkit and opened up Safari to find that everything worked. All the problems I had went away. Also, open up the app in IE7 and you get this message.</p>
<p><img src="http://addictedtonew.com/wp-content/uploads/2008/07/mobileme-ie7-message.jpg" alt="mobileme_ie7_message.jpg" class="image full" /></p>
<p>I can understand not supporting IE6 but IE7? Granted they say you can still use it but that it just doesn&#8217;t work as well. </p>
<blockquote><p>Internet Explorer 7 has known compatibility issues with modern web standards which affect Web 2.0 applications such as MobileMe.</p>
</blockquote>
<p>To me that is a total cop out. Maybe IE7 won&#8217;t perform as well but it is not so difficult to support that a message needs to be shown and users should be forced to click continue to actually use the app.</p>
<p>On top of the IE7 stuff, there are several little things that bother me about MobileMe. In an effort to make it feel more desktoppy, some normal web expectations were thrown to the wayside such as tab indexes and text selection. </p>
<h2>&lt;/rant&gt;</h2>
<p>Go ahead and drop support for IE6 in your web app. You deserve a break from it, but IE7? IE7 is not that difficult to support. There are several ways to skin a cat (or so I&#8217;ve heard) and usually one of them will work in all the major browsers.</p>
]]></content:encoded>
			<wfw:commentRss>http://addictedtonew.com/archives/261/browser-support-is-too-hard/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Google UnFAIL</title>
		<link>http://addictedtonew.com/archives/248/google-unfail/</link>
		<comments>http://addictedtonew.com/archives/248/google-unfail/#comments</comments>
		<pubDate>Thu, 22 May 2008 04:39:07 +0000</pubDate>
		<dc:creator>jnunemaker</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[applications]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[reader]]></category>

		<guid isPermaLink="false">http://addictedtonew.com/?p=248</guid>
		<description><![CDATA[
I have a love/hate relationship with the iPhone version of Google Reader. A little over a week ago, Google launched a beta version of the iPhone interface for Google Reader and tears of joy ran down my face as I leapt through fields of clovers with puppies and bunnies. 
Ok, maybe there wasn&#8217;t that much [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://addictedtonew.com/wp-content/uploads/2008/05/mobilescroll-small.jpg" alt="mobilescroll-small.jpg" class="image right" /></p>
<p>I have a <a href="http://addictedtonew.com/archives/213/how-the-mobile-web-has-forced-me-to-re-think-interface/">love</a>/<a href="http://addictedtonew.com/archives/220/google-mobile-iphone-specific-fail/">hate</a> relationship with the iPhone version of Google Reader. A little over a week ago, Google launched a <a href="http://google.com/reader/i/">beta version</a> of the iPhone interface for Google Reader and tears of joy ran down my face as I leapt through fields of clovers with puppies and bunnies. </p>
<p>Ok, maybe there wasn&#8217;t that much fanfare in the Nunemaker household, but it is a killer, I repeat, killer update. I love seeing perfect touches of JavaScript that make web applications more usable, for usability&#8217;s sake and not to prove that the developer knows how to read the <a href="http://github.com/madrobby/scriptaculous/wikis">Script.aculo.us wiki</a>. </p>
<p>The new version (pictured above right) shows a list of items with nice bold headers and faded intro lines of text, which is cool, but that is not where the Reader engineers earn free beer. The perfect touch is literally a touch a way. Tap on an item and it expands, right in line, with the full post. There is a nice big star that is easy to hit if you want to favorite the post and you can do the typical share, keep unread and see original goodness. A few glides of your my mouse-click, strengthened, programmer finger later and I&#8217;m down to the next article. From there, I can continue to scan until I see something interesting, or I can touch the item and read another interesting post. </p>
<p>Granted, it&#8217;s not my job to create an iPhone interface for Google Reader, but I was so unhappy with the previous one, <a href="http://github.com/jnunemaker/googlereader/tree/master">that I started too</a>. I say that to give props where they are due. I don&#8217;t know if I could have come up with such a perfect interface interaction but I&#8217;m glad the Reader team did. Once again I love reading my feeds on my iPhone. Thanks Google. Also, I&#8217;m wondering how long until there are a crap load of iPhone web apps that use the interaction in a similar fashion.</p>
]]></content:encoded>
			<wfw:commentRss>http://addictedtonew.com/archives/248/google-unfail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Teach Me My Ways</title>
		<link>http://addictedtonew.com/archives/246/teach-me-my-ways/</link>
		<comments>http://addictedtonew.com/archives/246/teach-me-my-ways/#comments</comments>
		<pubDate>Mon, 12 May 2008 02:37:10 +0000</pubDate>
		<dc:creator>jnunemaker</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[graphs]]></category>
		<category><![CDATA[information]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://addictedtonew.com/?p=246</guid>
		<description><![CDATA[
My favorite thing about software is when it teaches me something about myself that I didn&#8217;t know. That something doesn&#8217;t need to be important, it just needs to be something. I&#8217;m a huge fan of twitter so I was pretty excited when I came across this twitter mashup. It uses Yahoo Pipes (to parse data [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://xefer.com/twitter/jnunemaker"><img src="http://addictedtonew.com/wp-content/uploads/2008/05/twitter-charts.jpg" alt="twitter_charts.jpg" class="image" style="width:450px;" /></a></p>
<p>My favorite thing about software is when it teaches me something about myself that I didn&#8217;t know. That something doesn&#8217;t need to be important, it just needs to be something. I&#8217;m a <a href="http://twitter.com/jnunemaker/statuses/798073032">huge fan of twitter</a> so I was pretty excited when I came across <a href="http://xefer.com/twitter/">this twitter mashup</a>. It uses <a href="http://pipes.yahoo.com/">Yahoo Pipes</a> (to parse data client side) and <a href="http://code.google.com/apis/chart/">Google Charts</a> (to present data) to show you a scatter chart of when you typically tweet and bar charts of your tweets by month, day of week and hour.</p>
<p>It&#8217;s a really interesting representation of my twitter activity and technologically it is a sweet use of both Yahoo and Google tools. So what did those charts teach me? Simple: I tweet most between 8 and 10PM on Wednesday and Thursday. I find that interesting. Also, Saturday around 2PM seems to be popular for whatever reason. </p>
<p>I write all this for one reason. The next app that you build, think about this. Think about how you can use the data that your users are entering to teach them something about themselves. It can be something silly, like when they tweet the most, or something more profound that they would have never noticed without your help. Every time someone clicks or types in your app, it&#8217;s a chance for you to collect data and teach the user something about themselves or teach you something about how they are using your app. Don&#8217;t just build something to collect data. Build something that learns what your users are doing and adds value to their lives.</p>
<h2>Some Related Links</h2>
<ul>
<li><a href="http://www.google.com/history/">Google Web History</a> &#8211; what months, days and such you search the most on, what terms you search for the most, suggests searches you might be interested in based on your habits</li>
<li><a href="http://googlereader.blogspot.com/2007/01/i-like-big-charts-and-i-cannot-lie.html">Google Reader Trends</a> &#8211; shows you which days you read feeds on, which feeds post the most items, which feeds you read the most or the least, etc.</li>
<li><a href="http://blog.flickr.net/2007/12/13/stats-stats-baby/">Flickr Stats</a> &#8211; stats on your photos views, but also on which photos you&#8217;ve tagged, put in sets, etc.</li>
<li><a href="http://www.last.fm/">Last.fm</a> &#8211; shows you what music you listen to and suggests stuff you might like</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://addictedtonew.com/archives/246/teach-me-my-ways/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox 3 Usability Improvements</title>
		<link>http://addictedtonew.com/archives/240/firefox-3-beta-5-thoughts/</link>
		<comments>http://addictedtonew.com/archives/240/firefox-3-beta-5-thoughts/#comments</comments>
		<pubDate>Sun, 06 Apr 2008 18:00:39 +0000</pubDate>
		<dc:creator>jnunemaker</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://addictedtonew.com/?p=240</guid>
		<description><![CDATA[A few days back Firefox 3 beta 5 was released. I just got around to downloading it and a few things struck me. 
The Back Button
The back button is probably the most clicked button in a web browser. I&#8217;m amazed when I watch my family and friends that aren&#8217;t &#8220;webbies&#8221; continually hit the back button. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://developer.mozilla.org/devnews/index.php/2008/04/02/firefox-3-beta-5-now-available-for-download/">A few days back Firefox 3 beta 5</a> was released. I just got around to downloading it and a few things struck me. </p>
<h2>The Back Button</h2>
<p><img src="http://addictedtonew.com/wp-content/uploads/2008/04/firefox3-beta-screenshot-1.jpg" alt="firefox3_beta_screenshot-1.jpg" class="image right" />The back button is probably the most clicked button in a web browser. I&#8217;m amazed when I watch my family and friends that aren&#8217;t &#8220;webbies&#8221; continually hit the back button. I&#8217;m more of an &#8220;open a new tab&#8221; kind of guy, than a &#8220;click and wait for something and then it&#8217;s not what I want so hit the back button&#8221; kind of guy. Anyway, everyone knows the bigger something is, the easier it is to click. Firefox 3 thought about that and made the back button twice the size of the forward button. Really nice touch.</p>
<h2>The Address Bar</h2>
<p>Another nice touch is when you click in the address bar, it auto-selects the entire url. The Firefox crew probably thought (correctly in my opinion) that people more often replace the entire url than modify the one currently there. </p>
<p>Also, the address bar now is a bit contextual. As you type it searches through your history by url and by page title. This means I could type in &#8216;addictedtonew&#8217; or &#8216;about me&#8217; and my about page would likely show up in the results. You can see the example in the screenshot below.</p>
<p><img src="http://addictedtonew.com/wp-content/uploads/2008/04/firefox3-beta5-contextual-address-bar.jpg" alt="firefox3_beta5_contextual_address_bar.jpg" class="image" /></p>
<h2>Overall</h2>
<p>Overall, it feels a lot faster and lighter. It still doesn&#8217;t feel like a Mac application but it seems to be getting better.</p>
]]></content:encoded>
			<wfw:commentRss>http://addictedtonew.com/archives/240/firefox-3-beta-5-thoughts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Idea for Website Management</title>
		<link>http://addictedtonew.com/archives/237/an-idea-for-website-management/</link>
		<comments>http://addictedtonew.com/archives/237/an-idea-for-website-management/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 04:20:33 +0000</pubDate>
		<dc:creator>jnunemaker</dc:creator>
				<category><![CDATA[Notre Dame]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[applications]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[ideas]]></category>

		<guid isPermaLink="false">http://addictedtonew.com/?p=237</guid>
		<description><![CDATA[You may or may not know that I&#8217;ve been building a pretty sweet (in my opinion) website management system at Notre Dame. Every content management system of any sort on the web always starts with a text field for a title and a text area for content. Knowing this, that&#8217;s how Conductor started. Each page [...]]]></description>
			<content:encoded><![CDATA[<p>You may or may not know that I&#8217;ve been building a pretty sweet (in my opinion) website management system at Notre Dame. Every content management system of any sort on the web always starts with a text field for a title and a text area for content. Knowing this, that&#8217;s how Conductor started. Each page was made up of at least a title and some content. </p>
<h2>The Trend</h2>
<p>Now, with 13 sites live and another 16 in development, I am seeing a trend. Most pages on the web are more than just a title and some content. Thankfully, when originally developing Conductor, I tweaked some ideas that I liked from other systems and created page parts. Basically, we can put a page part in a template and a new tab will appear in the page editing area. The picture below has a main content area and three page parts (info, thumbnail and url).</p>
<p><img src="http://addictedtonew.com/wp-content/uploads/2008/04/page-parts.jpg" alt="page_parts.jpg" class="image" /></p>
<h2>The Problem</h2>
<p>Nothing seems wrong with that idea, right? It allows us to store content in smaller chunks which gives developers more control over markup, which in turn gives designers more control over layout. Wrong. Exhibit #1: the edit window for a page using a faculty template on the <a href="http://law.nd.edu/">law school</a> website.</p>
<p><img src="http://addictedtonew.com/wp-content/uploads/2008/04/faculty-parts.jpg" alt="faculty_parts.jpg" class="image" /></p>
<p>Below is an example page rendered in the template above.</p>
<p><a href="http://law.nd.edu/people/faculty-and-administration/teaching-and-research-faculty/john-h-robinson"><img src="http://addictedtonew.com/wp-content/uploads/2008/04/faculty-page.jpg" alt="faculty_page.jpg" class="image" /></a></p>
<p>We wanted to show things like biography, courses, and contact information in unique ways but not force content owners to mark things up uniquely. Because I assumed that all pages will be made up of huge content regions and not tiny pieces of data, the only way we could do that is by creating a page part for each item we wanted to store separately. This, as you can see in the screenshot above, caused a very tab happy interface. While this works, I believe it creates a sub par experience for the content owner (who does all of the updates). One reason I believe that is now the content owner has an entire text area, to fill in something as small as a website url, which could be better represented by a small text field.</p>
<h2>The Solution</h2>
<p>All of the above has led me to an idea. It might be something that sounds good as an idea but in reality would be awkward. It might also not be my original idea, as someone else could have used it somewhere in the same fashion I speak of, unbeknownst to me, but here it goes. <strong>All you need is a way to store data and a way to present data. Also, those two things are completely intertwined.</strong> How you want to display data affects how you want to store it. The more control you need when displaying data means the more separated the data needs to be stored.</p>
<p><strong>Each piece of content that makes up a website needs two templates: one that determines how it is stored and the other how it is displayed.</strong> There could also be a third template that is how it behaves but I&#8217;ll leave that out for now. I think the ideal website management system has almost a form builder interface for developers to define what they need stored. From there, the developer should also be able to create the xhtml or xml or json templates that determine how the data will be consumed. The final piece of administration would be an area where content owners can fill in those created forms with glorious content.</p>
<h2>The Use Case</h2>
<p>Here is an example use case. Content owner wants to show courses on their website. Developer creates new content template called &#8216;Course&#8217;. They define the storage half of the template to be name and number as text fields, professor and semester as selects (from comma separated list of options), summary as a text area and order the fields how they should be presented to content owner. At this point, the content owner can begin entering name, number, professor, semester and summary for all their courses, while developer starts creating the other half of the template, which is how it should be viewed by site visitors. Developer dumps in xhtml, css, and javascript to view all the courses styled up to meet a designer&#8217;s every whim.</p>
<p>You might be thinking, uh, duh, this is what happens on every web application. Someone needs something stored, so you create your model and your controller and your views and you are good to go. You&#8217;re right, but that stuff always happens at the programmer level and requires a programmer to do it. What I&#8217;m thinking about would be at the software level and could be done by anyone with front end web development skills (xhtml, css and javascript).</p>
<h2>The Conclusion</h2>
<p><strong>Once this beast was created, a front end web developer could build dynamic websites very easily tailored to a content owners needs</strong> and the administration of the website could be left in the hands of the content owners. The bad news is that I would have to start from scratch to build a pure version of what I just explained. The good news is I can get close to the same result using what I&#8217;ve already built in Conductor (more on this at a later date).</p>
]]></content:encoded>
			<wfw:commentRss>http://addictedtonew.com/archives/237/an-idea-for-website-management/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The Difference Between Good and Bad Software</title>
		<link>http://addictedtonew.com/archives/232/the-difference-between-good-and-bad-software/</link>
		<comments>http://addictedtonew.com/archives/232/the-difference-between-good-and-bad-software/#comments</comments>
		<pubDate>Sat, 22 Mar 2008 14:18:19 +0000</pubDate>
		<dc:creator>jnunemaker</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Notre Dame]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://addictedtonew.com/archives/232/the-difference-between-good-and-bad-software/</guid>
		<description><![CDATA[I&#8217;ve been working on a really cool new feature for our website management system, Conductor. Initially, I drafted up the database tables I was going to need. I poured over them, making sure that I wasn&#8217;t forgetting anything. The whiteboard with the database tables is pictured below. Once I was satisfied with how I was [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on a really cool new feature for our website management system, Conductor. Initially, I drafted up the database tables I was going to need. I poured over them, making sure that I wasn&#8217;t forgetting anything. The whiteboard with the database tables is pictured below. Once I was satisfied with how I was going to store the data, I dove into the code and started implementing the whiteboard drawing I had created.</p>
<h2>Bad Start</h2>
<p><img src="http://addictedtonew.com/wp-content/uploads/2008/03/bad-start.jpg" alt="bad_start.jpg" width="415" height="267" class="photo" /></p>
<p>About three or four hours in, I realized that things weren&#8217;t going the way I wanted and that it was going to take a lot longer than expected to implement. The solution that I had come up with felt complex and was going to require a big rewrite to our theme system. Anytime something feels complex, I go back to the whiteboard because it usually means I haven&#8217;t fully thought it through. A bit frustrated, I went back to the whiteboard. This time instead of starting with how I would store the data, I focused on how I wanted to present the data (the interface that the end user would see). Again, you can see my scratching below.</p>
<h2>Good Start</h2>
<p><img src="http://addictedtonew.com/wp-content/uploads/2008/03/good-start.jpg" alt="good_start.jpg" width="415" height="267" class="photo" /></p>
<p>As I framed in the interface on the board, the problem started to seem simple and I came up with a new way of doing it that would require no alteration to our theme system or any other existing part of Conductor. Also, this new way makes more sense.</p>
<h2>Conclusion</h2>
<p>So what am I trying to get at? I think this has taught me the difference between good software and bad software. Bad software starts with the developer thinking how they are going to store the data and technically make it work. Good software starts with the end user. It firsts figures out what will be the easiest way for the user to learn and use the feature and then figures out technically how to do it. I don&#8217;t think this is a revelation or that I&#8217;ve never built anything in this manner. I am sure, though, that I wasn&#8217;t as aware of this before when building applications.</p>
<p><strong>Don&#8217;t start technical and force implementation. Start with the interface and let things come naturally.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://addictedtonew.com/archives/232/the-difference-between-good-and-bad-software/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Some Thoughts On Twitter</title>
		<link>http://addictedtonew.com/archives/224/some-thoughts-on-twitter/</link>
		<comments>http://addictedtonew.com/archives/224/some-thoughts-on-twitter/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 07:45:40 +0000</pubDate>
		<dc:creator>jnunemaker</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://addictedtonew.com/archives/224/some-thoughts-on-twitter/</guid>
		<description><![CDATA[Twitter is most likely one of my favorite web applications. The thing that I believe has made Twitter so popular and the thing that will keep it growing is it&#8217;s ease of use. It&#8217;s one of the first web applications that the majority of it&#8217;s requests come not from the actual website. 
I&#8217;ve been thinking [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://twitter.com">Twitter</a> is most likely one of my favorite web applications. The thing that I believe has made Twitter so popular and the thing that will keep it growing is it&#8217;s ease of use. It&#8217;s one of the first web applications that the majority of it&#8217;s requests come not from the actual website. </p>
<p>I&#8217;ve been thinking for a while now, &#8220;Ok, twitter is great but where to next?&#8221; What could they possibly do that would make me want to use it more? Could I use it more is probably a valid question as well. :) </p>
<h2>Information Overload</h2>
<p>One of the things that is rampant online now, especially in my life, is information overload. I spend most of my days online and I process a butt load of information. Over the past month, I&#8217;ve been working to streamline how I receive and partake in this information using services such as <a href="http://del.icio.us/jnunemaker/">del.icio.us</a> (<a href="http:/ma.gnolia.com/people/jnunemaker/">ma.gnolia</a> before that), <a href="http://instapaper.com/">instapaper</a> and google reader and ideas such as <a href="http://inboxzero.com/">zero inbox</a>, <a href="http://en.wikipedia.org/wiki/Getting_Things_Done">gtd</a> and a few I&#8217;ve come up with on my own. This has helped, but since I&#8217;ve began to branch out on twitter, I&#8217;ve noticed that it takes a lot of time for me to keep up with all the people I follow. </p>
<p>Now, you might say, &#8220;Information overload is self-induced&#8221; and you would be correct but even still, I&#8217;d like to find a better way to process the information rather than cut it out all together. The main reason for this is that though I often am strapped for time and have to really be choosy about what I soak in that day, there are also, occasionally, days that I can&#8217;t find something to read if I try. Not sure what brings about those days but it happens.</p>
<h2>A Little History</h2>
<p>The first place that information overload hit me was Google Reader. <a href="http://twitter.com/jnunemaker/statuses/429520982">My feeds got out of control</a> not too long ago so I started unsubscribing. That helped for a while but I&#8217;m creeping back up again. I started to think about how I read my feeds and realized that though it is not documented and exists only in my head, each feed has a rating. Not necessarily a 1-10 rating, but more of a no matter what, when i have time, and when i am bored scale. There are some feeds, like those in the label friends, that I read no matter how busy I am. Likewise, there are others, that even when I have time, I tend to avoid them for whatever reason, but I&#8217;m not yet ready to unsubscribe. My coping mechanism in GReader is to label things in particular ways and that helps me process that information more efficiently. </p>
<h2>A Few Suggestions</h2>
<p>So I say all of that to help twitter how? Well, I&#8217;ve noticed that lately I wish I could cluster twitter in the same way I often do other web applications by tags or labels, so that I can better throttle and sort through information on a busy day, and yet still enjoy all those fabulous tweets on a more relaxed day. First off, I was thinking it would be cool to categorize those I follow by entity type. Show me only the tweets from real people. Show me only the tweets from companies. Show me only the tweets from magazines or rss to twitter bots. Those types of classifications would be handy. Twitter is by far the quickest way to get news about anything. Often links, news and such appear on my iphone 30 minutes before they hit Google Reader and other types of media I consume.</p>
<p>Also, just in the twitterers I follow that are people, there are different circles. I have my friends circle, which I follow most closely and even send to my phone. I have my rails circle which I follow for updates on what people in the community are working on or what they think are cool. I have my web dev circle, which is noticeably smaller than I would like it to be, as I don&#8217;t want to over commit myself to twitter. Heck, I even am starting to follow those in a higher ed circle. I&#8217;d really like to be able to  see these groups separately. One reason is, as in google reader&#8217;s case, to be able to assign importance (even if it is mentally) to certain followings. Another reason, a bit more important, is that often these groups have conversations amongst themselves and it would just be easier to follow if I could see them separated.</p>
<p>So that is it. My suggestion to twitter is, recognize that you are becoming people&#8217;s chat and feed reader and inbox all in one and start working on helping them organically organize that inbox. The end. Oh, and plz give me ridiculous stats about myself based on my twitters along the lines of google reader trends and web history. kthxbai.</p>
]]></content:encoded>
			<wfw:commentRss>http://addictedtonew.com/archives/224/some-thoughts-on-twitter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Mobile iPhone Specific: FAIL</title>
		<link>http://addictedtonew.com/archives/220/google-mobile-iphone-specific-fail/</link>
		<comments>http://addictedtonew.com/archives/220/google-mobile-iphone-specific-fail/#comments</comments>
		<pubDate>Thu, 13 Dec 2007 02:50:10 +0000</pubDate>
		<dc:creator>jnunemaker</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://addictedtonew.com/archives/220/google-mobile-iphone-specific-fail/</guid>
		<description><![CDATA[So Google Mobile just announced an iPhone specific version. Just two weeks ago I talked about Google&#8217;s Mobile reader and that I actually liked it much better than the full web version (known as &#8220;scroll&#8221;). So what are my thoughts of the update? Suck. I hate it. I almost find it unusable. Here&#8217;s why.
Broken Back [...]]]></description>
			<content:encoded><![CDATA[<p>So <a href="http://googlemobile.blogspot.com/2007/12/google-on-iphone-fast-and-fluid.html">Google Mobile just announced an iPhone specific version</a>. Just two weeks ago <a href="http://addictedtonew.com/archives/213/how-the-mobile-web-has-forced-me-to-re-think-interface/">I talked about Google&#8217;s Mobile reader</a> and that I actually liked it much better than the full web version (known as &#8220;scroll&#8221;). So what are my thoughts of the update? Suck. I hate it. I almost find it unusable. Here&#8217;s why.</p>
<h2>Broken Back Button</h2>
<p>I understand why Google provides a stripped down version of the site when you click on an item and I like that they provide a &#8216;See Original&#8217; link. The problem now is when I click the see original, which I often do, I can no longer get back to where I was in my unread items. If I hit the back button, it takes me all the way back to the Google iPhone home and not to where I was in my feeds. I understand that the iPhone is Ajax-capable but that doesn&#8217;t mean use it everywhere and if you do, please don&#8217;t break the back button in an app as simple as a feed reader.</p>
<h2>Width Issues</h2>
<p>With this latest update, the stripped down version never seems to be the correct width (as it previously almost always was). I constantly have to scroll left and then back right to read the whole line of a paragraph. For longer articles, I have to do this so much that I tend to just star it and come back to it in the full web version to read later. If you are going to set a width and it&#8217;s not correct, don&#8217;t turn off the zoom in/out feature of the iphone. I&#8217;d rather squint than scroll.</p>
<p>These two issues may not seem huge but they have made it a pain in the butt to read my feeds on the go (or sitting on my couch to lazy to open up my laptop).</p>
<h2>On Ajax</h2>
<p>I was one of the first people to jump on the Ajax bandwagon. I remember playing with it before there were libraries that did it all for you. Heck, it might not have been officially coined Ajax back then. That said, I&#8217;m starting to think it has all been a mistake. Don&#8217;t get me wrong. There are times when it is not just ok but actually vastly improves user experience. However, the number of developers who understand when those times are seems to be few.</p>
<p>Next time you go to throw some Ajax in an application or website, be sure to not break expectations (such as the back button) and that it actually improves user experience. Anyway, I&#8217;m off the soap box for now. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://addictedtonew.com/archives/220/google-mobile-iphone-specific-fail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Giving MarsEdit A Try</title>
		<link>http://addictedtonew.com/archives/219/giving-marsedit-a-try/</link>
		<comments>http://addictedtonew.com/archives/219/giving-marsedit-a-try/#comments</comments>
		<pubDate>Tue, 11 Dec 2007 03:54:25 +0000</pubDate>
		<dc:creator>jnunemaker</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[mac]]></category>

		<guid isPermaLink="false">http://addictedtonew.com/archives/219/giving-marsedit-a-try/</guid>
		<description><![CDATA[So I have never been one to blog from the desktop. Heck, I&#8217;ve never been one to blog from anything but the administration area that comes with the blog software I use. I came across a link to MarsEdit tonight and decided to give it a try. I threw in the settings for this blog, [...]]]></description>
			<content:encoded><![CDATA[<p>So I have never been one to blog from the desktop. Heck, I&#8217;ve never been one to blog from anything but the administration area that comes with the blog software I use. I came across a link to <a href="http://www.red-sweater.com/marsedit/">MarsEdit</a> tonight and decided to give it a try. I threw in the settings for this blog, which runs on wordpress and rails tips, which runs on mephisto. The wordpress one, just worked. Simply put in the url and I was good to go. It took a wee bit of research to get mephisto rolling but nothing a few minutes of googling couldn&#8217;t solve.</p>
<p>At any rate, I don&#8217;t really have anything important to say, I just wanted to try out the software and see what I thought. For the sake of adding some value in this post, I&#8217;ll link to a few things I have found interesting the past while.</p>
<ul>
<li><a href="http://todoist.com">ToDoist.com</a> &#8211; Simple and fast task management. There are a few things I would improve but these guys nailed the bulk of it on the head.</li>
<li><a href="http://code.google.com/apis/chart/">Google Chart API</a> &#8211; Looks interesting. Haven&#8217;t played with it yet, but rest assured that I will.</li>
<li><a href="http://www.apple.com/macosx/">Mac OSX Leopard</a> &#8211; Several have said that this was not worthy of a major release. I tend to think they haven&#8217;t really given Leopard an in depth look. I&#8217;m a week in and each day I find a new thing that I really like. I&#8217;ll probably collect a list and post an article here before too long. Oh, I&#8217;m also digging my <a href="http://www.apple.com/iphone/">iphone</a>.</li>
<li><a href="http://petdance.com/ack/">Ack</a> &#8211; Ack is a tool for programmers similar to grep but designed to search through big source code trees. It is quick and does nice search term highlighting all from the terminal.</li>
<li><a href="http://www.explosm.net/comics/">Explosm Comics</a> &#8211; These are appalling and hilarious.</li>
<li><a href="http://www.jakeandamir.com/">Jake and Amir</a> &#8211; Appalling and hilarious as well. My favorite is &#8220;<a href="http://www.jakeandamir.com/post/14263111">The Burp.</a>&#8220;</li>
</ul>
<p>Anyway, that is all for now.</p>
<p><strong>Update:</strong> MarsEdit is impressive. Everything worked, even editing to do this update.</p>
]]></content:encoded>
			<wfw:commentRss>http://addictedtonew.com/archives/219/giving-marsedit-a-try/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How The Mobile Web Has Forced Me To Re-think Interface</title>
		<link>http://addictedtonew.com/archives/213/how-the-mobile-web-has-forced-me-to-re-think-interface/</link>
		<comments>http://addictedtonew.com/archives/213/how-the-mobile-web-has-forced-me-to-re-think-interface/#comments</comments>
		<pubDate>Wed, 28 Nov 2007 06:08:58 +0000</pubDate>
		<dc:creator>jnunemaker</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://addictedtonew.com/archives/213/how-the-mobile-web-has-forced-me-to-re-think-interface/</guid>
		<description><![CDATA[I read a good article tonight by Snook on &#8220;What does Accessibility Mean?&#8220;. What he put into words, I&#8217;ve been mulling over in my head for a while now. This web 2.0 (for lack of a better branded term of what has happened over the past few years) movement has really raised the barrier to [...]]]></description>
			<content:encoded><![CDATA[<p>I read a good article tonight by Snook on &#8220;<a href="http://snook.ca/archives/accessibility_and_usability/what_does_accessibility_mean/">What does Accessibility Mean?</a>&#8220;. What he put into words, I&#8217;ve been mulling over in my head for a while now. This web 2.0 (for lack of a better branded term of what has happened over the past few years) movement has really raised the barrier to entry for users in a lot of web apps. Expectations are that when you click something you&#8217;ll go to a new page, so when things start popping up and moving around, it tends to freak people a bit. It surprises even me and I would consider myself a power user. </p>
<h2>Simplicity</h2>
<p>One of the things I&#8217;ve noticed since getting an iPhone is that I love the simplicity of Mobile apps. Take Google Reader&#8217;s mobile version for example. </p>
<p><img src='http://addictedtonew.com/wp-content/uploads/2007/11/google_reader_mobile.jpg' alt='google_reader_mobile.jpg' class="photo" /></p>
<p>I have three choices for reading my feeds &#8212; all merged together in one reading list, individually by feed or individually by tag. I don&#8217;t know about you, but I have a <a href="http://twitter.com/jnunemaker/statuses/429520982">crap load of feeds</a> which means that I will never read by individual feed. This leaves me with two options &#8212; by tag or all merged together. <strong>I love it. Two options.</strong> One or the other. </p>
<p>If I have time, I simply meander through my reading list. If I don&#8217;t, I start with the tags that are most important to me, like friends or ruby-and-rails. Call me old school but I actually prefer this to the full ajaxy Google Reader scroll version that you get if you visit <a href="http://google.com/reader">google.com/reader</a>.</p>
<p><img src='http://addictedtonew.com/wp-content/uploads/2007/11/google_reader_web.jpg' alt='google_reader_web.jpg' class="photo" /></p>
<p>Take a sec and look at the two images I have added to this post thus far. Which one do you prefer? I <strong>choose the mobile version</strong> for a few reasons:</p>
<h2>1) Light on Resources</h2>
<p>Extremely light on resources which means all the browser has to do is load the html which means it&#8217;s lightning fast, even on my phone. I don&#8217;t need pretty. This doesn&#8217;t mean I need ugly, it just means that simple design is ok (and is most often better design, flashy design masks crappy skills).</p>
<h2>2) Context is King</h2>
<p>When I&#8217;m reading my feeds, I just want to read my feeds. I think too often we (app developers) are forcing users to multi-task or, at least, are rewarding them for multi-tasking (which is just as bad) with the interfaces we create. Let&#8217;s start rewarding people for single-tasking. Let&#8217;s reward those who have the ability to focus and attempt not to distract them. Or, another way to look at it might be, let&#8217;s starting teaching those who are in a state of continual partial attention (<a href="http://www.newsweek.com/id/46982">newsweek</a>, <a href="http://continuouspartialattention.jot.com/WikiHome">linda stone</a>) to actually focus.</p>
<h2>3) Expectations</h2>
<p>As Snook puts it, &#8220;<em>the web is founded on a limited set of interactions: links, buttons and forms&#8230;Once we&#8217;ve created a barrier to usability, either through understanding or technology, we have to work to eliminate those barriers while still maintaining the new interaction.</em>&#8221;</p>
<p>Usability, at least in the terms I&#8217;m talking about in this post, has a lot to do with expectations. The more a user is surprised by an interaction, the more afraid they are to explore. I guess what I&#8217;m trying to get at is I would like to see a lot more web apps using standard interactions and a lot more work on slowly introducing new ones. <strong>Let&#8217;s start focusing on context and expectations rather than scriptaculous and wow factors</strong> (not that they don&#8217;t have their place). If you aren&#8217;t sure where to start, I would recommend <a href="http://garrettdimon.com/">Garrett Dimon&#8217;s</a> absolutely fricken amazing slides on <a href="http://www.slideshare.net/garrettdimon/application-interface-design">Application Interface Design</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://addictedtonew.com/archives/213/how-the-mobile-web-has-forced-me-to-re-think-interface/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Edit Textareas Using Textate in Firefox</title>
		<link>http://addictedtonew.com/archives/190/edit-textareas-using-textate-in-firefox/</link>
		<comments>http://addictedtonew.com/archives/190/edit-textareas-using-textate-in-firefox/#comments</comments>
		<pubDate>Sun, 17 Dec 2006 01:13:40 +0000</pubDate>
		<dc:creator>jnunemaker</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://addictedtonew.com/archives/190/edit-textareas-using-textate-in-firefox/</guid>
		<description><![CDATA[I cam across this article yesterday on how to edit textareas using textmate in firefox that stirred me to whip up a quick screencast demonstrating its setup and use.
In fact, I&#8217;m actually using Textmate as I write this. You can view the screencast here. Note: the screencast has a boring spot you can skip where [...]]]></description>
			<content:encoded><![CDATA[<p>I cam across <a href="http://olifante.blogs.com/covil/2006/04/firefox_editing.html">this article</a> yesterday on how to edit textareas using textmate in firefox that stirred me to whip up a quick screencast demonstrating its setup and use.</p>
<p>In fact, I&#8217;m actually using Textmate as I write this. <a href="http://addictedtonew.com/examples/textmate_firefox_combo.mov">You can view the screencast here</a>. Note: the screencast has a boring spot you can skip where firefox is restarting. I&#8217;m too lazy to edit it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://addictedtonew.com/archives/190/edit-textareas-using-textate-in-firefox/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://addictedtonew.com/examples/textmate_firefox_combo.mov" length="4848893" type="video/quicktime" />
		</item>
		<item>
		<title>Crazy Egg Heatmapping is Crazy Cool</title>
		<link>http://addictedtonew.com/archives/136/crazy-egg-heatmapping-is-crazy-cool/</link>
		<comments>http://addictedtonew.com/archives/136/crazy-egg-heatmapping-is-crazy-cool/#comments</comments>
		<pubDate>Thu, 16 Mar 2006 06:55:11 +0000</pubDate>
		<dc:creator>jnunemaker</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[statistics]]></category>

		<guid isPermaLink="false">http://addictedtonew.com/archives/136/crazy-egg-heatmapping-is-crazy-cool/</guid>
		<description><![CDATA[I have always thought heatmaps were wicked cool. Tracking the eye as it absorbs the page fascinates me. As of yet there is no way to track eye movement through a webserver and a monitor (obviously), but <a href="http://crazyegg.com/">Crazy Egg</a> has the accomplished the next best thing.]]></description>
			<content:encoded><![CDATA[<p><a href="http://crazyegg.com/"><img src="http://addictedtonew.com/images/articles/crazy_egg.jpg" alt="Crazy Egg" class="photo right" /></a>I have always thought heatmaps were wicked cool. Tracking the eye as it absorbs the page fascinates me. As of yet there is no way to track eye movement through a webserver and a monitor (obviously), but <a href="http://crazyegg.com/">Crazy Egg</a> has the accomplished the next best thing.</p>
<p>Using a JavaScript include, they track clicks on one of your pages and create a heatmap of those clicks for you to view. This is flat out cool. Simple idea, simple product (only three ways to consume the stats&#8211;overlay, list and heatmap), but I don&#8217;t even want to think about what it took to create this tracking beast. Below is a heat map of my homepage after being tracked for a few days. It&#8217;s really interesting to see not only what people are clicking on, but where on the link they are clicking. Seems like most of my site&#8217;s visitors like the middle.</p>
<p><img src="http://addictedtonew.com/images/articles/addictedtonew_heatmap.jpg" alt="Heatmap" class="photo" /></p>
<p><img src="http://addictedtonew.com/images/articles/addictedtonew_overlay.jpg" alt="Overlay" class="photo" /></p>
<p>The only issue I have is the initial capture of your site is not changeable once you start to track clicks. The reason this sucks is if you care about your blog, you are updating it, which means new articles will appear, but not in the capture that shows the heatmap. You can see in the image that &#8216;<a href="http://addictedtonew.com/archives/134/screw-you-kodak/">Screw You Kodak</a>&#8216; is the first post, but at the time of this writing &#8216;<a href="http://addictedtonew.com/archives/135/getting-real/">Getting Real</a>&#8216; is actually my newest post (not including the one you are reading).</p>
<p>I&#8217;m very curious as to what, if any, will be the pay scale once they are out of beta. This is definitely something I would pay for.</p>
]]></content:encoded>
			<wfw:commentRss>http://addictedtonew.com/archives/136/crazy-egg-heatmapping-is-crazy-cool/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Fantastic Textmate Bundle</title>
		<link>http://addictedtonew.com/archives/132/a-fantastic-textmate-bundle/</link>
		<comments>http://addictedtonew.com/archives/132/a-fantastic-textmate-bundle/#comments</comments>
		<pubDate>Wed, 22 Feb 2006 03:52:08 +0000</pubDate>
		<dc:creator>jnunemaker</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[textmate]]></category>

		<guid isPermaLink="false">http://addictedtonew.com/archives/132/a-fantastic-textmate-bundle/</guid>
		<description><![CDATA[<p>It started out last weekend with a <a href="http://blog.inquirylabs.com/2006/02/18/the-syncpeople-on-rails-bundle-for-textmate/">couple of features</a> and now the <a href="http://blog.inquirylabs.com/2006/02/21/syncpeople-on-rails-09-wow-what-a-weekend/">syncPEOPLE on Rails bundle</a> has really become a must have for Textmate if you do any programming in <a href="http://rubyonrails.com/">Rails</a>. </p>]]></description>
			<content:encoded><![CDATA[<p>It started out last weekend with a <a href="http://blog.inquirylabs.com/2006/02/18/the-syncpeople-on-rails-bundle-for-textmate/">couple of features</a> and now the <a href="http://blog.inquirylabs.com/2006/02/21/syncpeople-on-rails-09-wow-what-a-weekend/">syncPEOPLE on Rails bundle</a> has really become a must have for Textmate if you do any programming in <a href="http://rubyonrails.com/">Rails</a>. </p>
<h2>keypad &#8216;enter&#8217;: Intelligent Go To File</h2>
<p>Ever get tired of traversing rails directory structure when trying to find a view or partial? This shortcut check the current line you are on upon pressing the enter key to see if there is a render or redirect statement. If one is found, it automatically opens this file up. As if that wasn&#8217;t enough, it also works for stylesheets, javascripts and in between controller actions and views. Yes, it is that cool.</p>
<h2>command-option-p (with selection): Create Partial from Selection</h2>
<p>This shortcut takes a selection, asks for a name and creates a partial. Not only that, but it creates the <samp>&lt;%= render :partial => &#8220;whatever&#8221;%&gt;</samp> method call to the partial that is created.</p>
<h2>command-option-p (without selection): Inline Partial Edit Mode</h2>
<p>This shortcut is flat out amazing. Simply hit command-option-p and all your partial calls are replaced with the actual code from the partial. Make your changes, hit command-option-p again, and the render partial method call is put back in its place and the partial is saved with the changes. I dinked around with it abit and definitely got the geek snorts.</p>
<h2>command-option-g: Rails Generator</h2>
<p>No need to even open up the terminal with this shortcut. It gives you stupid easy access to the Rails <samp>script/generate</samp> while remaining in Textmate.</p>
<h2>ctrl-option-command-\: Install a Bundled Plugin</h2>
<p>This automatically installs a plugin to your current project. Currently there are only two plugins bundled with it, but I can imagine it would be easy to add your own. I really like this feature.</p>
<h2>Snippets</h2>
<p>Not only does the bundle come with all the above cool shortcuts, but it also has several snippets which are helpful for migration. You can read all about these in the features once you download the bundle but I wanted to at least mention it.</p>
<h2>Plugins</h2>
<p>The bundle also comes with two plugins. One, textmate_footnotes: Clickable Web Pages and Backtrace, does two really cool things. First, it makes the line number and file name error messages clickable. Upon clicking, it opens up the file in Textmate. If you have done much debugging, this is really handy. The second feature is also pretty cool. It adds links to the bottom of the page when in development mode. These links open up the exact controller or view that rendered the page. Nice.</p>
<h2>Final Thoughts</h2>
<p>Have you downloaded it yet? I&#8217;m serious, this thing is awesome. Duane has been posting updates to it like crazy so I look forward to some really cool features in the coming weeks.</p>
<div class="update">
<h2>Update</h2>
<p>The textmate bundle is now at <a href="http://syncpeople.com/downloads">verson 1.0 and has its own screencast</a>.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://addictedtonew.com/archives/132/a-fantastic-textmate-bundle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Odd MySQL Error</title>
		<link>http://addictedtonew.com/archives/116/odd-mysql-error/</link>
		<comments>http://addictedtonew.com/archives/116/odd-mysql-error/#comments</comments>
		<pubDate>Fri, 13 Jan 2006 17:19:57 +0000</pubDate>
		<dc:creator>jnunemaker</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://addictedtonew.com/archives/116/odd-mysql-error/</guid>
		<description><![CDATA[MySQL was recently updated on the server addicted to new resides. Everything went smooth and was working fine until out of nowhere I was getting this error: Can&#8217;t open file: &#8216;wp_comments.MYI&#8217; (errno: 144). Google to the rescue. I pasted in the error and 10 or 15 minutes later I found this thread in the wordpress [...]]]></description>
			<content:encoded><![CDATA[<p>MySQL was recently updated on the server addicted to new resides. Everything went smooth and was working fine until out of nowhere I was getting this error: <samp>Can&#8217;t open file: &#8216;wp_comments.MYI&#8217; (errno: 144)</samp>. Google to the rescue. I pasted in the error and 10 or 15 minutes later I found <a href="http://wordpress.org/support/topic/22037#post-125383">this thread in the wordpress forums</a>. I ran the query (<samp>REPAIR TABLE tablename USE_FRM</samp>) and all was well.</p>
<p>Whenever I have a weird issue, I like to post about it so that it is easier for others having the same problem to find a solution.</p>
]]></content:encoded>
			<wfw:commentRss>http://addictedtonew.com/archives/116/odd-mysql-error/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

