<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Martin Adamek</title>
	
	<link>http://www.martinadamek.com</link>
	<description>here and there</description>
	<lastBuildDate>Mon, 26 Jul 2010 15:59:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/MartinAdamekBlog" /><feedburner:info uri="martinadamekblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>How ad format change doubled the CTR and revenue</title>
		<link>http://feedproxy.google.com/~r/MartinAdamekBlog/~3/8hpB29rK7Z0/</link>
		<comments>http://www.martinadamek.com/2010/07/26/how-ad-format-change-doubled-ctr-revenue/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 15:45:43 +0000</pubDate>
		<dc:creator>Martin Adamek</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[adsense]]></category>
		<category><![CDATA[apndroid]]></category>

		<guid isPermaLink="false">http://www.martinadamek.com/?p=288</guid>
		<description><![CDATA[TweetAbout a week ago I received an email from Google AFMA (AdSense For Mobile Applications) about change of format of AdSense text ads for Android. Instead of fully clickable ad they added dedicated button on the right side of the &#8230; <a href="http://www.martinadamek.com/2010/07/26/how-ad-format-change-doubled-ctr-revenue/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<a href='http://twitter.com/share' class='twitter-share-button' data-text='How ad format change doubled the CTR and revenue' data-url='http://www.martinadamek.com/2010/07/26/how-ad-format-change-doubled-ctr-revenue/' data-count='none' data-via='martinadamek'>Tweet</a><p>About a week ago I received an email from Google AFMA (AdSense For Mobile Applications) about change of format of AdSense text ads for Android. Instead of fully clickable ad they added dedicated button on the right side of the ad with the rest of the ad unclickable. This was introduced as a step that should improve user experience (avoiding random clicks?) but possibly decreasing CTR (click-through rate). This is how ads appeared in my application APNdroid before and now:</p>
<p><img class="aligncenter size-full wp-image-292" title="APNdroid with different ad formats" src="http://www.martinadamek.com/wp-content/uploads/2010/07/apndroid11.png" alt="" width="430" height="336" /></p>
<p>What happened to CTR of APNdroid? It&#8217;s doubled! It is just 8 days since the change, but I think it must be the button that makes the difference. I don&#8217;t think it is content. It is just more asking for the click somehow. I can&#8217;t stop wondering what a huge impact can such a subtle UI change have on the user behavior. Look at the stats from a little bit more that 2 months of ads serving in APNdroid. Unfortunately I can&#8217;t share the numbers, but <a title="Twitter message" href="http://twitter.com/martinadamek/status/18423551992" target="_blank">I can tell you a little secret :-)</a></p>
<p><img class="aligncenter size-full wp-image-294" title="apndroid_adsense_ctr" src="http://www.martinadamek.com/wp-content/uploads/2010/07/apndroid_adsense_ctr.png" alt="" width="426" height="320" /><img class="aligncenter size-full wp-image-295" title="apndroid_adsense_revenues" src="http://www.martinadamek.com/wp-content/uploads/2010/07/apndroid_adsense_revenues.png" alt="" width="426" height="320" /></p>
<a href='http://twitter.com/share' class='twitter-share-button' data-text='How ad format change doubled the CTR and revenue' data-url='http://www.martinadamek.com/2010/07/26/how-ad-format-change-doubled-ctr-revenue/' data-count='none' data-via='martinadamek'>Tweet</a><img src="http://feeds.feedburner.com/~r/MartinAdamekBlog/~4/8hpB29rK7Z0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.martinadamek.com/2010/07/26/how-ad-format-change-doubled-ctr-revenue/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.martinadamek.com/2010/07/26/how-ad-format-change-doubled-ctr-revenue/</feedburner:origLink></item>
		<item>
		<title>Korekt.me closing, failing fast</title>
		<link>http://feedproxy.google.com/~r/MartinAdamekBlog/~3/jJtvJHU_32I/</link>
		<comments>http://www.martinadamek.com/2010/05/01/korekt-me-closing-failing-fast/#comments</comments>
		<pubDate>Sat, 01 May 2010 06:50:55 +0000</pubDate>
		<dc:creator>Martin Adamek</dc:creator>
				<category><![CDATA[Startups]]></category>

		<guid isPermaLink="false">http://www.martinadamek.com/?p=271</guid>
		<description><![CDATA[TweetIt is sad, but true (but not unexpected) &#8211; korekt.me is closed. The reason is simple &#8211; money and passion are gone. No matter what we did (with many mistakes), things were not improving. But don&#8217;t worry, it was strongly &#8230; <a href="http://www.martinadamek.com/2010/05/01/korekt-me-closing-failing-fast/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<a href='http://twitter.com/share' class='twitter-share-button' data-text='Korekt.me closing, failing fast' data-url='http://www.martinadamek.com/2010/05/01/korekt-me-closing-failing-fast/' data-count='none' data-via='martinadamek'>Tweet</a><p>It is sad, but true (but not unexpected) &#8211; <a href="http://www.korekt.me">korekt.me</a> is closed. The reason is simple &#8211; money and passion are gone. No matter what we did (with many mistakes), things were not improving. But don&#8217;t worry, it was strongly defined since beginning how and when the end was coming, so we were prepared for this. We didn&#8217;t make it, but we&#8217;ve learned a lot. Thanks for all your support!</p>
<p><a href="http://www.martinadamek.com/wp-content/uploads/2010/05/stats.png"><img class="aligncenter size-full wp-image-272" title="stats" src="http://www.martinadamek.com/wp-content/uploads/2010/05/stats.png" alt="" width="619" height="156" /></a></p>
<a href='http://twitter.com/share' class='twitter-share-button' data-text='Korekt.me closing, failing fast' data-url='http://www.martinadamek.com/2010/05/01/korekt-me-closing-failing-fast/' data-count='none' data-via='martinadamek'>Tweet</a><img src="http://feeds.feedburner.com/~r/MartinAdamekBlog/~4/jJtvJHU_32I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.martinadamek.com/2010/05/01/korekt-me-closing-failing-fast/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.martinadamek.com/2010/05/01/korekt-me-closing-failing-fast/</feedburner:origLink></item>
		<item>
		<title>Feedback feature in Android Developer Console</title>
		<link>http://feedproxy.google.com/~r/MartinAdamekBlog/~3/MCkwxdVBG_M/</link>
		<comments>http://www.martinadamek.com/2010/05/01/feedback-feature-in-android-developer-console/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 22:10:03 +0000</pubDate>
		<dc:creator>Martin Adamek</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://www.martinadamek.com/?p=259</guid>
		<description><![CDATA[TweetI&#8217;ve just found new feature in Android Market Developer Console &#8211; Feedback. Click on the new link brings you to the list of Freezes and Crashes: Click on a &#8217;1 new&#8217; link gives you a small summary of the crash: &#8230; <a href="http://www.martinadamek.com/2010/05/01/feedback-feature-in-android-developer-console/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<a href='http://twitter.com/share' class='twitter-share-button' data-text='Feedback feature in Android Developer Console' data-url='http://www.martinadamek.com/2010/05/01/feedback-feature-in-android-developer-console/' data-count='none' data-via='martinadamek'>Tweet</a><p>I&#8217;ve just found new feature in Android Market Developer Console &#8211; Feedback. Click on the new link brings you to the list of Freezes and Crashes:</p>
<p><a href="http://www.martinadamek.com/wp-content/uploads/2010/05/user_feedback1.png"><img class="aligncenter size-full wp-image-269" title="user_feedback" src="http://www.martinadamek.com/wp-content/uploads/2010/05/user_feedback1.png" alt="" width="644" height="176" /></a></p>
<p style="text-align: center;">
<p>Click on a &#8217;1 new&#8217; link gives you a small summary of the crash:</p>
<p><a href="http://www.martinadamek.com/wp-content/uploads/2010/05/crash.png"><img class="aligncenter size-full wp-image-261" title="crash" src="http://www.martinadamek.com/wp-content/uploads/2010/05/crash.png" alt="" width="633" height="106" /></a></p>
<p>And finally, click on exception itself lists the whole stack trace with some other useful info:</p>
<p><a href="http://www.martinadamek.com/wp-content/uploads/2010/05/exception.png"><img class="aligncenter size-full wp-image-262" title="exception" src="http://www.martinadamek.com/wp-content/uploads/2010/05/exception.png" alt="" width="624" height="673" /></a></p>
<a href='http://twitter.com/share' class='twitter-share-button' data-text='Feedback feature in Android Developer Console' data-url='http://www.martinadamek.com/2010/05/01/feedback-feature-in-android-developer-console/' data-count='none' data-via='martinadamek'>Tweet</a><img src="http://feeds.feedburner.com/~r/MartinAdamekBlog/~4/MCkwxdVBG_M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.martinadamek.com/2010/05/01/feedback-feature-in-android-developer-console/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.martinadamek.com/2010/05/01/feedback-feature-in-android-developer-console/</feedburner:origLink></item>
		<item>
		<title>Nexus One from Android Device Seeding program</title>
		<link>http://feedproxy.google.com/~r/MartinAdamekBlog/~3/diJuec8pu_0/</link>
		<comments>http://www.martinadamek.com/2010/04/29/nexus-one-from-android-device-seeding-program/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 09:12:49 +0000</pubDate>
		<dc:creator>Martin Adamek</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.martinadamek.com/?p=255</guid>
		<description><![CDATA[TweetWell, what a nice day! FedEx has just delivered my new Nexus One that I&#8217;ve got for free in Android Device Seeding program. Finally also in Europe. Thanks Google! Tweet]]></description>
			<content:encoded><![CDATA[<a href='http://twitter.com/share' class='twitter-share-button' data-text='Nexus One from Android Device Seeding program' data-url='http://www.martinadamek.com/2010/04/29/nexus-one-from-android-device-seeding-program/' data-count='none' data-via='martinadamek'>Tweet</a><p>Well, what a nice day! FedEx has just delivered my new Nexus One that I&#8217;ve got for free in Android Device Seeding program. Finally also in Europe. Thanks Google!</p>
<p><a href="http://www.martinadamek.com/wp-content/uploads/2010/04/IMG_03921.jpg"><img class="aligncenter size-medium wp-image-252" title="IMG_0392" src="http://www.martinadamek.com/wp-content/uploads/2010/04/IMG_03921-300x225.jpg" alt="" width="300" height="225" /></a></p>
<a href='http://twitter.com/share' class='twitter-share-button' data-text='Nexus One from Android Device Seeding program' data-url='http://www.martinadamek.com/2010/04/29/nexus-one-from-android-device-seeding-program/' data-count='none' data-via='martinadamek'>Tweet</a><img src="http://feeds.feedburner.com/~r/MartinAdamekBlog/~4/diJuec8pu_0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.martinadamek.com/2010/04/29/nexus-one-from-android-device-seeding-program/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.martinadamek.com/2010/04/29/nexus-one-from-android-device-seeding-program/</feedburner:origLink></item>
		<item>
		<title>The Startup Story – From an Idea to Our First Customer in 7 Days</title>
		<link>http://feedproxy.google.com/~r/MartinAdamekBlog/~3/Y141xml9QwM/</link>
		<comments>http://www.martinadamek.com/2010/02/02/the-startup-story-from-an-idea-to-our-first-customer-in-7-days/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 14:56:33 +0000</pubDate>
		<dc:creator>Martin Adamek</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.martinadamek.com/?p=225</guid>
		<description><![CDATA[TweetI am a programmer, and while thinking about ideas for a possible startup I always focused on the technical side, thinking it was the only important aspect of it.  A good idea plus good implementation equal success, or maybe not? &#8230; <a href="http://www.martinadamek.com/2010/02/02/the-startup-story-from-an-idea-to-our-first-customer-in-7-days/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<a href='http://twitter.com/share' class='twitter-share-button' data-text='The Startup Story - From an Idea to Our First Customer in 7 Days' data-url='http://www.martinadamek.com/2010/02/02/the-startup-story-from-an-idea-to-our-first-customer-in-7-days/' data-count='none' data-via='martinadamek'>Tweet</a><p>I am a programmer, and while thinking about ideas for a possible startup I always focused on the technical side, thinking it was the only important aspect of it.  A good idea plus good implementation equal success, or maybe not? Seven days after we brought <a href="http://www.korekt.me">Korekt.me</a> to life changed the way I see it now. I&#8217;ll try to sum up the different aspects of a web startup as I saw it. Please keep in mind that this is not a definitive guide, just a diary.</p>
<p><strong>The Idea and The Co-Founder</strong></p>
<p><a href="http://www.korekt.me">Korekt.me</a> is an online English proofreading service, and is a service I realized I needed myself to enhance my blog. I thought it would be a good idea to solve my own problem, and would be something that would help me stay focused on customers needs. The money behind the idea was clear, i.e. serve the customer, collect the money, be happy. No advertising or any other uncertain sources of income involved. Also, I felt the competition wasn&#8217;t getting it right. I wanted interactivity, shorter turnaround times, low prices. The deciding point was that I had a chance to team up with a great editor, Mira. I considered this to be a serious competitive advantage from day one because we wouldn&#8217;t have to fully depend on external editors. The setup seemed ideal &#8211; me as the prototype customer, Mira as the prototype editor.</p>
<p><strong>Competition and Decision</strong></p>
<p>A few days after Mira arrived in Prague from the USA and we had planned to meet and talk about the idea, the list of LeWeb&#8217;09 Startup Competition attendees was published. What do you think I found? A startup called <a href="http://wordy.com">Wordy.com</a> doing exactly what we were about to do. I can tell you that it was quite a disappointment, but then I realized that without competition no new ideas can be born, and that there were many companies offering proofreading on the market anyway. The problem with proofreading companies already on the market is that none of them operate or provide exactly the services we like (Wordy being the exception). We took this as a challenge to launch before LeWeb, and decided to make it in seven days so as to have a few days for testing. I know, I know&#8230; :-)</p>
<p><strong>Name and Domain</strong></p>
<p>Picking the name was surprisingly easy for us. It is a very subjective thing, but I am quite happy with what we have. The more problematic part was making sure the domain related things correctly. Dealing with DNS changes under time pressure is especially painful. Every change took several hours, things were cached here and there, and I ran into problems with Google AppEngine not supporting naked domains. My DNS hosting didn&#8217;t support forwarding from the naked domain to www, so we had to make the switch to a different DNS server. I really hate messing with these DNS things.</p>
<p><strong>Design and Implementation</strong></p>
<p>In parallel with all the discussions and DNS setups, I spent a few evenings doing mockups in Balsamiq. What a great tool that is! It is not just about placing a button up or down, the most important role it plays is it helps you understand user interaction and the way your application is going to work. With this in mind, I removed every single feature that was not essential for the user to finish their order, and ended up with just three user screens, passing this over to <a href="http://cz.linkedin.com/in/martincohen">Martin Cohen</a>, the designer. We then iterated over different versions he published online for me, and step by step managed to get the final design. I asked my friends at <a href="http://inmite.eu">Inmite</a> to work on the implementation aspect, and I think they spent a total of 24 working hours on it. We decided for AppEngine Java runtime because their free limits are very nice, we&#8217;ve had a good experience with Java in the past, and things should scale, right? :-) Of course, I also had my day job, so I was spending all my evenings and late-nights with all of these other tasks. We also performed intensive testing on random blogs of my friends (I think I should send those fixed versions to them) to measure the average time needed for editing, and to define a fair price based on the outcome.</p>
<p><strong>Infrastructure</strong></p>
<p>Here is the list of things I had to setup, register, link, etc.</p>
<ul>
<li>Domain registration &#8211; We use <a href="http://libyanspider.com">libyanspider.com</a> for the .me domain</li>
<li>Version control system &#8211; We use Subversion hosted by our friends</li>
<li>Google Apps &#8211; We use it for email, docs, and AppEngine hosting</li>
<li><a href="http://getsatisfaction.com">GetSatisfaction</a> &#8211; It&#8217;s our customer service of choice</li>
<li><a href="http://code.google.com/appengine/">AppEngine</a> &#8211; We use the Java version</li>
<li>PayPal account &#8211; They have a nice sandbox, but sometimes it is awfully slow</li>
<li>AdWords account &#8211; Very good for finding keywords in your industry</li>
<li>Google Analytics &#8211; You want to be able to see the hockey stick, don&#8217;t you?</li>
<li>Blog &#8211; We run our blog, http://blog.korekt.me on Tumblr</li>
<li>Twitter account and Facebook page</li>
<li>SMS notifications for new order &#8211; We use email forwarding to mobile operator service</li>
<li>Freelance license &#8211; For now, it saves costs</li>
<li>Bank account &#8211; Using <a href="http://mbank.cz">mBank.cz</a></li>
</ul>
<p><strong>The Launch and The Future</strong></p>
<p>Yes, we made it on time, in seven days. Then I asked myself, &#8220;Why on earth should anybody go to our page and use our service? And how will they even know we exist?&#8221; We started with AdWords and after the first day, a few hours after the deployment of the live version &#8211; bang! Our first order arrived. Eight pages of poetry (not exactly the easiest kind of proofreading), our first income! We were quite shocked by how fast it came.</p>
<p>I have to say however, that the coming days have not been as lucky. Once we ran out of credit on AdWords (it eats up money so fast!), visits to our site dropped to a few double digit unique visits per day. We took a sort of break during the Christmas and New Year holiday, and started back up again in January. Our main goal now is to think about marketing, the possible ways we can convince visitors to our site to use our service, the conversion rate, and what things need improvement. We added discount codes, started a blog, and have become active on <a href="http://twitter.com/korektme">Twitter</a> and <a href="http://facebook.com/korektme">Facebook</a>. The technical things seem to me to be less important. The thing I cared so much about &#8211; the implementation &#8211; is done, but we will hardly find any bugs if there won&#8217;t be anyone to try our service out. One thing didn&#8217;t change at all &#8211; the importance of UX design. I really hope we are doing well in that category. We are also talking to several smart guys that could help with the service growth, and I hope to eventually learn a lot more in this field.</p>
<p>I am happy about the feedback we are getting from all sides. What is absolutely incredible is the interest from prospective editors. We receive a new CV almost every day from English native speakers with great experience, relevant degrees and certificates, and we haven&#8217;t even tried to advertise for the position! What is also very interesting is that when I talk to people about the potential of the service, each of them tells me that we should focus on their particular profession because there is a big need for this kind of service. Well, we sure hope so!</p>
<p>This post was verified by <a href="http://www.korekt.me">Korekt.me</a></p>
<a href='http://twitter.com/share' class='twitter-share-button' data-text='The Startup Story - From an Idea to Our First Customer in 7 Days' data-url='http://www.martinadamek.com/2010/02/02/the-startup-story-from-an-idea-to-our-first-customer-in-7-days/' data-count='none' data-via='martinadamek'>Tweet</a><img src="http://feeds.feedburner.com/~r/MartinAdamekBlog/~4/Y141xml9QwM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.martinadamek.com/2010/02/02/the-startup-story-from-an-idea-to-our-first-customer-in-7-days/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://www.martinadamek.com/2010/02/02/the-startup-story-from-an-idea-to-our-first-customer-in-7-days/</feedburner:origLink></item>
		<item>
		<title>Twitter OAuth on Java AppEngine</title>
		<link>http://feedproxy.google.com/~r/MartinAdamekBlog/~3/daZJ4PzE6hc/</link>
		<comments>http://www.martinadamek.com/2010/01/28/twitter-oauth-on-java-appengine/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 08:28:08 +0000</pubDate>
		<dc:creator>Martin Adamek</dc:creator>
				<category><![CDATA[AppEngine]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.martinadamek.com/?p=195</guid>
		<description><![CDATA[TweetAfter a few struggles I finally managed to authenticate to Twitter using OAuth on AppEngine with Java. After trying out a few other options, I used oauth-signpost &#8211; a simple Java OAuth API. Although their desktop application sample worked with &#8230; <a href="http://www.martinadamek.com/2010/01/28/twitter-oauth-on-java-appengine/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<a href='http://twitter.com/share' class='twitter-share-button' data-text='Twitter OAuth on Java AppEngine' data-url='http://www.martinadamek.com/2010/01/28/twitter-oauth-on-java-appengine/' data-count='none' data-via='martinadamek'>Tweet</a><p>After a few struggles I finally managed to authenticate to Twitter using OAuth on AppEngine with Java. After trying out a few other options, I used <a href="http://code.google.com/p/oauth-signpost/">oauth-signpost</a> &#8211; a simple Java OAuth API. Although their desktop application sample worked with no surprises, once I tried the web application, I ran into 401s. The obvious problem was on my Twitter application <a href="http://twitter.com/apps">settings page</a>, I had forgotten to set my application type to &#8216;Browser&#8217;. Also, callback URL is required, so I had to use the right APP_ID and CALLBACK.</p>
<p><img src="http://www.martinadamek.com/wp-content/uploads/2010/01/twitter_apps_settings1.png" alt="Twitter App Settings" title="twitter_apps_settings" width="537" height="238" class="alignnone size-full wp-image-199" /></p>
<p>Then I ran into another problem. In the desktop example, there is one instance of OAuthConsumer, and one instance of OAuthProvider, and they live happily within the main method block. But in the web app, the entire action is split into two parts. First, you have to retrieve a request token and redirect the user to the Twitter OAuth page:</p>
<script src="http://gist.github.com/289247.js"></script>
<p>There are two attributes stored in a session, so don&#8217;t forget to enable sessions in your appengine-web.xml (note that sessions are persisted in datastore):</p>
<script src="http://gist.github.com/289254.js"></script>
<p>Second, you need to retrieve the access token with a new request, processing the callback after successful Twitter authentication. But at this stage, if you don&#8217;t have that earlier created consumer and provider, you need to create them again. But not just create, you need to initialize them to the state they are after retrieving a request token. Simply said, you need to do this:</p>
<script src="http://gist.github.com/289257.js"></script>
<p>That&#8217;s it. Now, you can run your Twitter API queries and hopefully also enjoy announced and increased API rate limits for OAuth in the very near future.</p>
<p>This blog post was verified by <a href="http://www.korekt.me">korekt.me</a></p>
<a href='http://twitter.com/share' class='twitter-share-button' data-text='Twitter OAuth on Java AppEngine' data-url='http://www.martinadamek.com/2010/01/28/twitter-oauth-on-java-appengine/' data-count='none' data-via='martinadamek'>Tweet</a><img src="http://feeds.feedburner.com/~r/MartinAdamekBlog/~4/daZJ4PzE6hc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.martinadamek.com/2010/01/28/twitter-oauth-on-java-appengine/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://www.martinadamek.com/2010/01/28/twitter-oauth-on-java-appengine/</feedburner:origLink></item>
		<item>
		<title>A New Adventure</title>
		<link>http://feedproxy.google.com/~r/MartinAdamekBlog/~3/L7bcOzsyFKY/</link>
		<comments>http://www.martinadamek.com/2009/12/11/a-new-adventure/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 08:14:11 +0000</pubDate>
		<dc:creator>Martin Adamek</dc:creator>
				<category><![CDATA[Startups]]></category>

		<guid isPermaLink="false">http://martin.adamek.sk/?p=171</guid>
		<description><![CDATA[TweetTwo weeks ago I launched my first startup. It is a big moment for me because ever since I left Sun a year ago I have wanted to do so, even though I didn&#8217;t have a concrete idea. I mean, &#8230; <a href="http://www.martinadamek.com/2009/12/11/a-new-adventure/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<a href='http://twitter.com/share' class='twitter-share-button' data-text='A New Adventure' data-url='http://www.martinadamek.com/2009/12/11/a-new-adventure/' data-count='none' data-via='martinadamek'>Tweet</a><p>Two weeks ago I launched my first startup. It is a big moment for me because ever since I left Sun a year ago I have wanted to do so, even though I didn&#8217;t have a concrete idea. I mean, I had a few, but none of them seemed to be the right one.</p>
<p>While writing a blog post a few months ago, I realized how bad my English really is. It&#8217;s not disastrous, but far away from being a pleasing experience for any native speaker. I wished then that there was a service where I could upload my draft and it would be proofread and edited by a skilled editor in a reasonable time, for a reasonable cost. If I am putting such an effort into writing and publishing content, I should also care about how it is presented.</p>
<p>After some time Mira, a cousin of my wife, returned back to Prague from the US and decided to stay here permanently. I knew she was always crazy about spotting English mistakes in restaurants and everywhere else, had the proper certificates and was going to have a period of free time while looking for a new job. It seemed like a good opportunity, so we&#8217;ve put our heads together and decided to try it &#8211; to build an online English proofreading service.</p>
<p><a href="http://korekt.me"><img class="aligncenter size-full wp-image-176" title="Korekt.me" src="http://www.martinadamek.com/wp-content/uploads/2009/12/korekt-shot.png" alt="Korekt.me" width="251" height="189" /></a></p>
<p>Our goal is to build a simple yet useful service that will help bloggers, website makers, students, you name it, to polish their content. To make them feel better and more confident about how they represent themselves to the outside.</p>
<p>We are not raising any capital for this. No angels, no investors, just  pure bootstrapping. And because I am too busy at my daily job, I decided to get it done by somebody else. Sounds crazy I know, I should do it all myself for free in the evenings. But because when I want anything I want it RIGHT NOW, I decided to outsource it. What a good idea that was! Implementation was done by a Prague startup called <a href="http://inmite.eu">Inmite</a> and the design by <a href="http://martincohen.info/blog">Martin Cohen</a>, and both Michal from Inmite and Martin did a really good job. Of course there was so much additional work around it that I spent long nights doing analysis, wireframes, discussions, setups, fixes, etc., sleeping just few hours a day. But, after all, the advice from experienced entrepreneurs to release early and often seems to make sense.</p>
<p>Now we are out of private beta and available to everybody. We are not done yet, many things will come, many things will change, but we are out and we are serving our customers. We want to hear what&#8217;s bad, what should be different, and we will listen. We promised to ourselves to take personal care of everything, and to make your writing as good as if it was our own.</p>
<p>And yes, I am eating my own dog food and this blog post has been checked by <a href="http://korekt.me">Korekt.me</a>.</p>
<a href='http://twitter.com/share' class='twitter-share-button' data-text='A New Adventure' data-url='http://www.martinadamek.com/2009/12/11/a-new-adventure/' data-count='none' data-via='martinadamek'>Tweet</a><img src="http://feeds.feedburner.com/~r/MartinAdamekBlog/~4/L7bcOzsyFKY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.martinadamek.com/2009/12/11/a-new-adventure/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.martinadamek.com/2009/12/11/a-new-adventure/</feedburner:origLink></item>
		<item>
		<title>APNdroid 2.0 coming</title>
		<link>http://feedproxy.google.com/~r/MartinAdamekBlog/~3/MCguBR7Xeik/</link>
		<comments>http://www.martinadamek.com/2009/10/03/apndroid-2-0-coming/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 00:13:53 +0000</pubDate>
		<dc:creator>Martin Adamek</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://martin.adamek.sk/?p=153</guid>
		<description><![CDATA[TweetI am happy to announce first development builds of APNdroid 2.0. Thanks to Dmitry Pavlov (widget, russian translation, code improvements), Julien Muniak (Locale plugin), &#8216;juraad&#8217; (Czech translation) you can download fresh test build of what&#8217;s going to be APNdroid 2.0. &#8230; <a href="http://www.martinadamek.com/2009/10/03/apndroid-2-0-coming/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<a href='http://twitter.com/share' class='twitter-share-button' data-text='APNdroid 2.0 coming' data-url='http://www.martinadamek.com/2009/10/03/apndroid-2-0-coming/' data-count='none' data-via='martinadamek'>Tweet</a><p>I am happy to announce first development builds of APNdroid 2.0. Thanks to Dmitry Pavlov (widget, russian translation, code improvements), Julien Muniak (Locale plugin), &#8216;juraad&#8217; (Czech translation) you can download fresh test build of what&#8217;s going to be APNdroid 2.0.</p>
<p>So what&#8217;s new?</p>
<ul>
<li>We have a home screen widget! I can&#8217;t count how many people requested this.<br />
<table>
<tbody>
<tr>
<td><a href="http://www.martinadamek.com/wp-content/uploads/2009/10/widget-on.png"><img class="alignnone size-medium wp-image-154" title="widget-on" src="http://martin.adamek.sk/wp-content/uploads/2009/10/widget-on-200x300.png" alt="widget-on" /></a></td>
<td><a href="http://www.martinadamek.com/wp-content/uploads/2009/10/widget-off.png"><img class="alignnone size-medium wp-image-155" title="widget-off" src="http://martin.adamek.sk/wp-content/uploads/2009/10/widget-off-200x300.png" alt="widget-off" /></a></td>
</tr>
</tbody>
</table>
</li>
<li>We have Locale plugin. Requested again and again and again&#8230;<br />
<table>
<tbody>
<tr>
<td><a href="http://www.martinadamek.com/wp-content/uploads/2009/10/locale-plugins.png"><img class="alignnone size-medium wp-image-156" title="locale-plugins" src="http://martin.adamek.sk/wp-content/uploads/2009/10/locale-plugins-200x300.png" alt="locale-plugins" /></a></td>
<td><a href="http://www.martinadamek.com/wp-content/uploads/2009/10/locale-settings.png"><img class="alignnone size-medium wp-image-157" title="locale-settings" src="http://martin.adamek.sk/wp-content/uploads/2009/10/locale-settings-200x300.png" alt="locale-settings" /></a></td>
<td><a href="http://www.martinadamek.com/wp-content/uploads/2009/10/locale-situation.png"><img class="alignnone size-medium wp-image-158" title="locale-situation" src="http://martin.adamek.sk/wp-content/uploads/2009/10/locale-situation-200x300.png" alt="locale-situation" /></a></td>
</tr>
</tbody>
</table>
</li>
<li>We would like to add support for MMS exclusion (that means new settings)</li>
<li>Switching data on/off should be much faster, once we will verify one optimization</li>
</ul>
<p>Overall, I am really happy that these guys jumped in. I had really a problem to find some time to work on APNdroid, but new commiters are just awsome. Also, application just passed 50.000 downloads and is getting more and more downloads per day. Increase of downloads is accelerated by articles on <a href="http://www.androidguys.com/2009/09/25/quick-look-apndroid/">AndroidGuys</a> and <a href="http://lifehacker.com/5370950/apndroid-switches-mobile-data-for-better-android-battery-life">Lifehacker</a>!</p>
<p>So if you are brave enough, go to the <a href="http://apndroid.googlecode.com">apndroid.googlecode.com</a> and grab the .apk file from Downloads section and file any bugs or enhancements. Don&#8217;t forget to enable installation from unknown sources in phone settings.</p>
<a href='http://twitter.com/share' class='twitter-share-button' data-text='APNdroid 2.0 coming' data-url='http://www.martinadamek.com/2009/10/03/apndroid-2-0-coming/' data-count='none' data-via='martinadamek'>Tweet</a><img src="http://feeds.feedburner.com/~r/MartinAdamekBlog/~4/MCguBR7Xeik" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.martinadamek.com/2009/10/03/apndroid-2-0-coming/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		<feedburner:origLink>http://www.martinadamek.com/2009/10/03/apndroid-2-0-coming/</feedburner:origLink></item>
		<item>
		<title>Android Market Statistics</title>
		<link>http://feedproxy.google.com/~r/MartinAdamekBlog/~3/3M7QeKjJDgU/</link>
		<comments>http://www.martinadamek.com/2009/08/05/android-market-statistics/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 23:18:09 +0000</pubDate>
		<dc:creator>Martin Adamek</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://martin.adamek.sk/?p=139</guid>
		<description><![CDATA[TweetNow, that I have found few minutes to have a look at APNdroid and released its source code, I will post also some interesting numbers. If you have a look at AndroidStats you can see that APNdroid rank in Market &#8230; <a href="http://www.martinadamek.com/2009/08/05/android-market-statistics/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<a href='http://twitter.com/share' class='twitter-share-button' data-text='Android Market Statistics' data-url='http://www.martinadamek.com/2009/08/05/android-market-statistics/' data-count='none' data-via='martinadamek'>Tweet</a><p>Now, that I have found few minutes to have a look at APNdroid and <a href="http://martin.adamek.sk/?p=133">released its source code</a>, I will post also some interesting numbers. If you have a look at <a href="http://androidstats.com/ranking/application/1948">AndroidStats</a> you can see that APNdroid rank in Market was falling constantly for some time.</p>
<p><a href="http://www.martinadamek.com/wp-content/uploads/2009/08/apndroid-rank-20090804.png"><img class="alignnone size-medium wp-image-141" title="apndroid-rank-20090804" src="http://martin.adamek.sk/wp-content/uploads/2009/08/apndroid-rank-20090804-300x106.png" alt="apndroid-rank-20090804" /></a></p>
<p>I thought it was obvious, as new apps were coming in every day. Interesting thing is that once number of daily downloads of APNdroid touched the values somwhere above 200, situation has changes. Rank is getting higher now. This is APNdroid rank in Market overall:</p>
<p><img class="alignnone size-full wp-image-142" title="apndroid-ranknos-20090804" src="http://www.martinadamek.com/wp-content/uploads/2009/08/apndroid-ranknos-20090804.png" alt="apndroid-ranknos-20090804" width="127" height="76" /></p>
<p>This is visualization of daily downloads:</p>
<p><img class="alignnone size-full wp-image-145" title="apndroid-dloads-20090804" src="http://www.martinadamek.com/wp-content/uploads/2009/08/apndroid-dloads-20090804.png" alt="apndroid-dloads-20090804" width="323" height="270" /></p>
<p>And this is nice view of total downloads/active installs/comments grow since I started to track it back in February. If you are interested in which tracking tool I am using &#8211; it is Google Docs SpreadSheet :-) And yes, there are already 30.000 downloads&#8230;</p>
<p><a href="http://www.martinadamek.com/wp-content/uploads/2009/08/apndroid-stats-20090804.png"><img class="alignnone size-medium wp-image-147" title="apndroid-stats-20090804" src="http://martin.adamek.sk/wp-content/uploads/2009/08/apndroid-stats-20090804-300x244.png" alt="apndroid-stats-20090804" /></a></p>
<a href='http://twitter.com/share' class='twitter-share-button' data-text='Android Market Statistics' data-url='http://www.martinadamek.com/2009/08/05/android-market-statistics/' data-count='none' data-via='martinadamek'>Tweet</a><img src="http://feeds.feedburner.com/~r/MartinAdamekBlog/~4/3M7QeKjJDgU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.martinadamek.com/2009/08/05/android-market-statistics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.martinadamek.com/2009/08/05/android-market-statistics/</feedburner:origLink></item>
		<item>
		<title>APNdroid source code released</title>
		<link>http://feedproxy.google.com/~r/MartinAdamekBlog/~3/iQHWmDK7j-8/</link>
		<comments>http://www.martinadamek.com/2009/08/04/apndroid-source-code-released/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 21:36:06 +0000</pubDate>
		<dc:creator>Martin Adamek</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android apndroid]]></category>

		<guid isPermaLink="false">http://martin.adamek.sk/?p=133</guid>
		<description><![CDATA[TweetI just pushed first revision of APNdroid to Mercurial repository at http://code.google.com/p/apndroid. It is released under GPL v3 license and it corresponds to the APNdroid version 1.2.2, which is actual version at the Android Market. There are many requests from &#8230; <a href="http://www.martinadamek.com/2009/08/04/apndroid-source-code-released/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<a href='http://twitter.com/share' class='twitter-share-button' data-text='APNdroid source code released' data-url='http://www.martinadamek.com/2009/08/04/apndroid-source-code-released/' data-count='none' data-via='martinadamek'>Tweet</a><p>I just pushed first revision of APNdroid to Mercurial repository at <a href="http://code.google.com/p/apndroid/">http://code.google.com/p/apndroid</a>. It is released under GPL v3 license and it corresponds to the APNdroid version 1.2.2, which is actual version at the Android Market. There are many requests from the users to enhance the application in several ways, ignoring MMS APNs is probably the most wanted. Also, several developers asked if they can have access to the source code, so this is the answer &#8211; contribute enhancements, patches, translations and wiki if you wish and first of all &#8211; enjoy!</p>
<p><a href="http://www.martinadamek.com/wp-content/uploads/2009/08/apndroid-1st-revision.png"><img class="alignnone size-medium wp-image-134" title="apndroid-1st-revision" src="http://martin.adamek.sk/wp-content/uploads/2009/08/apndroid-1st-revision-300x186.png" alt="apndroid-1st-revision" /></a></p>
<a href='http://twitter.com/share' class='twitter-share-button' data-text='APNdroid source code released' data-url='http://www.martinadamek.com/2009/08/04/apndroid-source-code-released/' data-count='none' data-via='martinadamek'>Tweet</a><img src="http://feeds.feedburner.com/~r/MartinAdamekBlog/~4/iQHWmDK7j-8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.martinadamek.com/2009/08/04/apndroid-source-code-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.martinadamek.com/2009/08/04/apndroid-source-code-released/</feedburner:origLink></item>
	</channel>
</rss>
