<?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>Geoff Evason &#187; upgrade</title>
	<atom:link href="http://geoff.evason.name/tag/upgrade/feed/" rel="self" type="application/rss+xml" />
	<link>http://geoff.evason.name</link>
	<description></description>
	<lastBuildDate>Wed, 30 Nov 2011 03:41:06 +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>Lite and Full Versions of Apps &#8211; There is a Better Way</title>
		<link>http://geoff.evason.name/2011/08/12/lite-and-full-versions-of-apps-there-is-a-better-way/</link>
		<comments>http://geoff.evason.name/2011/08/12/lite-and-full-versions-of-apps-there-is-a-better-way/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 12:34:05 +0000</pubDate>
		<dc:creator>Geoff</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://geoff.evason.name/2011/08/12/lite-and-full-versions-of-apps-there-is-a-better-way/</guid>
		<description><![CDATA[Consumers obviously love free apps, and app developers obviously love to make money.  To bridge the divide &#8211; there seem to be 2 common ways to offer a consumer a free trial of an app.
1. Offer a free &#8216;lite&#8217; version and a paid for &#8216;full&#8217; version.
2. Offer in app purchases (eg free app with [...]]]></description>
			<content:encoded><![CDATA[<p>Consumers obviously love free apps, and app developers obviously love to make money.  To bridge the divide &#8211; there seem to be 2 common ways to offer a consumer a free trial of an app.</p>
<p>1. Offer a free &#8216;lite&#8217; version and a paid for &#8216;full&#8217; version.</p>
<p>2. Offer in app purchases (eg free app with basics, but can buy extra levels).</p>
<p>  I cant find any real stats comparing the two ways, but there are obvious problems with both.</p>
<p>The ipad App store has (at the time of writing) about 109,000 apps in it. A search for &#8220;lite&#8221; apps showed 4400 results.  That&#8217;s 4% of the apps!! (more if you consider that all those apps are essentially duplicated in the app store because they have &#8216;lite&#8217; and &#8216;full&#8217; versions.</p>
<p>So when browsing the app store &#8211; 8% of the apps you&#8217;ll see are duplicates with arbitrary separation between trial and full.  Each of these apps appears in the app store twice (noise) with separate reviews (inconsistency).</p>
<p>For the in app purchase &#8211; the common metaphor is buying extra levels, widgets, or content.  Technically it is a lot more work, which will prevent a lot of developers from doing it just to offer a trial and full version i the same app. Secondly &#8211; although I can&#8217;t find any info comparing this, my hunch from my own behavior is to avoid apps that offer in app purchases unless they are content based (eg buy a new book).  I don&#8217;t like the idea of paying for new levels or add-ons.</p>
<p>Here is what I&#8217;d like to see: an Apple sanctioned way of offering in app upgrades.  When a user searches for an app they see a single app in the app store. They can install it as either the lite or full version.  Either way, the same app is installed, and the app itself has an API call to check what &#8216;level&#8217; it is.  Eg &#8211; [theApplication isServiceLevelLite]. There would also need to be an API to upgrade from within the app.</p>
<p>This type of solution has a lot of benefits.</p>
<p>- cleans up the mess of doubled up applications (again &#8211; 8% of the app store)</p>
<p>- consolidates incorrectly segregated reviews</p>
<p>- a consistent way of upgrading apps if they are upgradeable</p>
<p>- a less intimidating way (than in app purchases) to offer an upgraded version of an app</p>
<p>- a consistent trial/full paradigm </p>
<p>I think it&#8217;s a big win for both developers and consumers.  The lite/full app versions is clearly a paradigm that has become commonplace &#8211; and I can&#8217;t wait until app decides to properly streamline it.</p>
<p>&#8212;</p>
<p>Update : Aparently 66% of in-app revenue is from &#8216;consumable&#8217; goods. (At least for apps that are games).: <a href="http://techcrunch.com/2011/08/16/what-ios-android-gamers-actually-spend-money-on/">http://techcrunch.com/2011/08/16/what-ios-android-gamers-actually-spend-money-on/ </a></p>
]]></content:encoded>
			<wfw:commentRss>http://geoff.evason.name/2011/08/12/lite-and-full-versions-of-apps-there-is-a-better-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrading from Rails 2.2.2 to Rails 2.3.2</title>
		<link>http://geoff.evason.name/2009/05/04/upgrading-from-rails-222-to-rails-232/</link>
		<comments>http://geoff.evason.name/2009/05/04/upgrading-from-rails-222-to-rails-232/#comments</comments>
		<pubDate>Mon, 04 May 2009 11:32:44 +0000</pubDate>
		<dc:creator>Geoff</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[2.3.2]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://geoff.evason.name/?p=67</guid>
		<description><![CDATA[I recently upgraded one of my apps from Rails 2.2.2 to Rails 2.3.2.  It was actually a really easy upgrade, but there were  few little gotchas I had to watch out for, so I thought I&#8217;d share my experience.
Upgrading Rails
I imagine there is probably a better way to do this, but since I [...]]]></description>
			<content:encoded><![CDATA[<p>I recently upgraded one of my apps from Rails 2.2.2 to Rails 2.3.2.  It was actually a really easy upgrade, but there were  few little gotchas I had to watch out for, so I thought I&#8217;d share my experience.</p>
<p><strong>Upgrading Rails</strong></p>
<p>I imagine there is probably a better way to do this, but since I change the version of rails so infrequently I&#8217;m not sure.  (If there is a better way, please let me know). My flow is as follows:</p>
<p>Install the new version of the rails gems:</p>
<pre><code>
sudo gem install rails
</code></pre>
<p>Branch your app</p>
<pre><code>
git branch newrails
git co newrails
</code></pre>
<p>Remove the old version of frozen gems</p>
<pre><code>
git rm -rf vendor/rails
</code></pre>
<p>Update your config/environment.rb file to the new version of rails:</p>
<pre><code class='ruby'>
RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION
</code></pre>
<p>freeze the new gems</p>
<pre><code>
rake rails:freeze:gems
</code></pre>
<p>Please note, that if instead of installing the new gems and freezing them from your local gems, it looks as though you need to be careful if using rake rails:freeze:gems.  You can read more about it in the <a href="http://weblog.rubyonrails.org/2009/3/20/this-week-in-edge-rails" title="rails 2.3.2.1">official post</a> or in <a href="http://afreshcup.com/2009/03/18/rails-2321/" title="rails 2.3.2.1">this post</a> which I found more understandable.</p>
<p><strong>Testing Your App</strong></p>
<p>The first and most obvious error you will run into is this:</p>
<pre><code class='ruby'>
uninitialized constant ApplicationController
</code></pre>
<p>This is because as of <a href="http://guides.rubyonrails.org/2_3_release_notes.html#application-controller-renamed">Rails 2.3 application.rb is now application_controller.rb</a>.  To fix this just do</p>
<pre><code>
git mv app/controllers/application.rb app/controllers/application_controller.rb
</code></pre>
<p>The next error I got was</p>
<pre><code>
undefined method `relative_url_root' for #<actionController::Request:0x373adf4>
</code></pre>
<p>I narrowed this down to a stylesheet_link_tag call.  I got around this by updating the <a href="http://synthesis.sbecker.net/pages/asset_packager" title="asset packager">asset_packager</a> plugin, and updating HAML to 2.0.9.  By the way, if you&#8217;re not using asset packager, you should be.</p>
<p>That&#8217;s it!  It overall was a very easy upgrade that took much less time to test than my <a href="http://geoff.evason.name/2009/01/15/upgrading-an-app-from-rails-21-to-rails-222/">rails 2.1 to rails 2.2.2 upgrade</a>.</p>
<p>Here are <a href="http://giantrobots.thoughtbot.com/2009/4/15/rails-2-3-2-upgrade-gotchas">some other rails 2.3 gotchas</a> to watch out for courtesy of thoughtbot.</p>
]]></content:encoded>
			<wfw:commentRss>http://geoff.evason.name/2009/05/04/upgrading-from-rails-222-to-rails-232/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

