<?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>Software Sweden &#187; Software</title>
	<atom:link href="http://www.softwaresweden.com/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.softwaresweden.com</link>
	<description>It&#039;s not just code - Programming is about managing complexities</description>
	<lastBuildDate>Wed, 06 Jul 2011 20:49:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Drupal 7 Youtube videos as fields in content type</title>
		<link>http://www.softwaresweden.com/2011/07/06/drupal-7-youtube-videos-as-fields-in-content-type/</link>
		<comments>http://www.softwaresweden.com/2011/07/06/drupal-7-youtube-videos-as-fields-in-content-type/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 20:45:45 +0000</pubDate>
		<dc:creator>Erik Starck</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.softwaresweden.com/?p=127</guid>
		<description><![CDATA[I have been doing quite a lot of work with Drupal 7 the last couple of months. It has its ups and downs but one thing that it always tries to do is to prevent you from having to write your own code to solve problems. It gets quite annoying then when simple things don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>I have been doing quite a lot of work with Drupal 7 the last couple of months. It has its ups and downs but one thing that it always tries to do is to prevent you from having to write your own code to solve problems.<br />
It gets quite annoying then when simple things don&#8217;t work. In my case I wanted a content type with nothing but a title and a video field that shows Youtube videos that the editor pasted the URL to. That should work, right?</p>
<p>Well, yes, it should, but not without problems. First, I installed the <a href="http://drupal.org/project/media">Media module</a> and then the <a href="http://drupal.org/project/media_youtube">Media:Youtube</a> module. I set up a content type with a field of the type Multimedia Asset.</p>
<p>Then comes the kicker: without doing the following things didn&#8217;t work. The videos didn&#8217;t show up at all. It took me quite some time to figure this out.</p>
<p>At the Manage Display tab I had to first remove the video (make it Hidden) and then add it again so that I could choose a file view mode. See screenshot below.</p>
<p><img src="https://img.skitch.com/20110706-xcnujyjmjnmcbuisnnkji8j5m4.jpg" alt="" /></p>
<p>The display types are defined in Config > File Types > Manage file display. Here I can choose Youtube video and after making sure the content type chooses a file view mode the video was displayed. *phew!*</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwaresweden.com/2011/07/06/drupal-7-youtube-videos-as-fields-in-content-type/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Lean Startup Books</title>
		<link>http://www.softwaresweden.com/2011/06/01/lean-startup-books/</link>
		<comments>http://www.softwaresweden.com/2011/06/01/lean-startup-books/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 09:29:09 +0000</pubDate>
		<dc:creator>Erik Starck</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.softwaresweden.com/?p=122</guid>
		<description><![CDATA[Speaking of books, I just set up a new blog focused on books about lean startup. In case you don&#8217;t know, a lean startup is an organization in search of a scalable business model. It is heavily influenced by the agile software movement. (I even wrote a manifesto for it! So far, I&#8217;ve only added [...]]]></description>
			<content:encoded><![CDATA[<p>Speaking of <a href="http://www.softwaresweden.com/2011/03/01/programming-books/">books</a>, I just set up a new blog focused on <a href="http://www.leanstartupbooks.com">books about lean startup</a>.<br />
In case you don&#8217;t know, a <a href="http://en.wikipedia.org/wiki/Lean_Startup">lean startup</a> is an organization in search of a scalable business model. It is heavily influenced by the agile software movement. (I even wrote a <a href="http://www.startupmanifesto.org">manifesto</a> for it! <img src='http://www.softwaresweden.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
So far, I&#8217;ve only added four books but I will add more later and also categorize the books into sections such as software development processes, good living, marketing etc.<br />
These are basically the books I&#8217;m reading myself so I thought I might as well collect it all and put it on a web site.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwaresweden.com/2011/06/01/lean-startup-books/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programming books</title>
		<link>http://www.softwaresweden.com/2011/03/01/programming-books/</link>
		<comments>http://www.softwaresweden.com/2011/03/01/programming-books/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 20:14:07 +0000</pubDate>
		<dc:creator>Erik Starck</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.softwaresweden.com/?p=119</guid>
		<description><![CDATA[There was a thread on Hacker News about influential books for programmers. I wrote a comment which I might as well rewrite for this blog because it&#8217;s an interesting subject. So&#8230; the answer to this question depends a lot on in what stage of programming maturity you are. The thing is, I remember the exact [...]]]></description>
			<content:encoded><![CDATA[<p>There was a thread on Hacker News about <a href="http://news.ycombinator.com/item?id=2272722">influential books for programmers</a>. I wrote a <a href="http://news.ycombinator.com/item?id=2275055">comment</a> which I might as well rewrite for this blog because it&#8217;s an interesting subject.</p>
<p>So&#8230; the answer to this question depends a lot on in what stage of programming maturity you are.</p>
<p>The thing is, I remember the exact moment I &#8220;got&#8221; what a class in C++ was. It was a true relevation. Even though I had been programming for a few years (on my Commodore 64 and Amiga &#8211; mostly BASIC and some assembler) it wasn&#8217;t until I was 19 that I fully understood the concept of a class.</p>
<p>I can definitely say that I was a different programmer after that day. It was like leveling up in an RPG.</p>
<p>It took me a few more years to get object oriented design&#8230;</p>
<p>Yeah, maybe I&#8217;m a slow learner (although I have seen enough of other people&#8217;s code to conclude that I&#8217;m not alone) but the point is that at different stages of my journey to learn the programming craft I have been open to different ideas and insights.</p>
<p>I don&#8217;t think there&#8217;s one book that alone would have taken me all the way. The right book at the right moment can push you over a cliff of insight but software development is truly a craft of the mind and it takes many years to be really good at. I&#8217;m not there yet. </p>
<p>What&#8217;s your favorite programming books?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwaresweden.com/2011/03/01/programming-books/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Startups in Sweden</title>
		<link>http://www.softwaresweden.com/2011/02/21/startups-in-sweden/</link>
		<comments>http://www.softwaresweden.com/2011/02/21/startups-in-sweden/#comments</comments>
		<pubDate>Mon, 21 Feb 2011 20:33:00 +0000</pubDate>
		<dc:creator>Erik Starck</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.softwaresweden.com/?p=116</guid>
		<description><![CDATA[Following up on my post about working as a developer in Sweden&#8230; there was a question on Quora about hot startups in Sweden and just recently a new reply was posted with a list of a few companies. The entire thread might be worth checking out if you want to work at a cool startup.]]></description>
			<content:encoded><![CDATA[<p>Following up on my post about <a href="http://www.softwaresweden.com/2011/01/09/working-as-a-programmer-in-sweden/">working as a developer in Sweden</a>&#8230; there was a question on Quora about hot startups in Sweden and just recently a new reply was posted with a list of a few companies. The <a href="http://www.quora.com/What-are-the-hot-internet-tech-startups-in-Stockholm-Sweden">entire thread</a> might be worth checking out if you want to work at a cool startup.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwaresweden.com/2011/02/21/startups-in-sweden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Working as a programmer in Sweden</title>
		<link>http://www.softwaresweden.com/2011/01/09/working-as-a-programmer-in-sweden/</link>
		<comments>http://www.softwaresweden.com/2011/01/09/working-as-a-programmer-in-sweden/#comments</comments>
		<pubDate>Sun, 09 Jan 2011 11:07:05 +0000</pubDate>
		<dc:creator>Erik Starck</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.softwaresweden.com/?p=112</guid>
		<description><![CDATA[This blog ranks quite high on searches related to software in Sweden (gee, I wonder why ) so I sometimes get email from people who&#8217;s interested in moving to Sweden to work as a programmer. I just replied to such an email and thought that the answer might be interesting for others to read as [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://farm3.static.flickr.com/2462/3721750394_c0e98b2c0d_z.jpg"><img src="http://farm3.static.flickr.com/2462/3721750394_c0e98b2c0d_z.jpg" alt="Sweden Software" /></a></p>
<p>This blog ranks quite high on searches related to software in Sweden (gee, I wonder why <img src='http://www.softwaresweden.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ) so I sometimes get email from people who&#8217;s interested in moving to Sweden to work as a programmer. </p>
<p>I just replied to such an email and thought that the answer might be interesting for others to read as well, so here you go.</p>
<blockquote><p>Great to hear about your moving plans. Even though the weather here right now makes you dream of warmer places, Sweden is a great place for a career in tech.</p>
<p>The job market for programmers is really good at the moment &#8211; at least in the Stockholm area. I&#8217;m not so sure about the rest of the country but Gothenburg seems to be doing fine as well. The Malmö/Lund area is still suffering from layoffs at the larger companies in the area (Sony Ericsson, Astra Zeneca, Ericsson) but there is a thriving mobile business growing there. They also benefit from having Copenhagen so close. Danish salaries are higher so Swedish programmers are a bargain in Denmark.</p>
<p>In Stockholm there are lots of headquarters, naturally, which means quite a lot of <a href="http://www.softwaresweden.com/2010/04/28/picking-a-programming-language-based-on-personality/">Big Systems written in Java or .Net</a>. This is also where most of the marketing departments are located which means quite a lot of work for web agencies, CMS vendors etc. </p>
<p>In southern Sweden (Malmö/Lund) as I mentioned there is a strong mobile culture with Sony Ericsson at the epicenter. Lots of smaller spinoffs but also competitors or partners that&#8217;s establishing in the area. Sony Ericsson is almost always looking for embedded C-programmers with Android development growing a lot lately.</p>
<p>When it comes to the spoken language that varies a lot. The bigger international companies like Ericsson I&#8217;d say it&#8217;s no problem to speak English. The same goes for smaller firms like web or mobile agencies or startups. Most people in Sweden knows English. It can, however, be a problem once you leave the tech sphere. I currently work for a consultancy business in Stockholm and Swedish is a must for some of our clients. We have clients in the insurance, finance and retail business and they&#8217;re not as international as for example the telecom business.</p></blockquote>
<p>I will probably write more about this subject in the future. Sweden needs more good software developers so please come here! <img src='http://www.softwaresweden.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwaresweden.com/2011/01/09/working-as-a-programmer-in-sweden/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>nginx and WordPress permalinks in subfolder</title>
		<link>http://www.softwaresweden.com/2010/09/27/nginx-and-wordpress-permalinks-in-subfolder/</link>
		<comments>http://www.softwaresweden.com/2010/09/27/nginx-and-wordpress-permalinks-in-subfolder/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 09:17:25 +0000</pubDate>
		<dc:creator>Erik Starck</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.softwaresweden.com/?p=103</guid>
		<description><![CDATA[I&#8217;m playing around with nginx, a light weight http server. One of the first things I tried was to get PHP and WordPress up and running on an Ubuntu 10.4 machine. To do that I followed the following instructions. First I had to get PHP working so I followed these instructions for PHP-fpm. The next [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m playing around with <a href="http://nginx.org/">nginx</a>, a light weight http server. One of the first things I tried was to get PHP and WordPress up and running on an Ubuntu 10.4 machine. To do that I followed the following instructions.</p>
<p>First I had to get PHP working so I followed <a href="http://www.howtoforge.com/installing-php-5.3-nginx-and-php-fpm-on-ubuntu-debian">these instructions</a> for <a href="http://php-fpm.org/">PHP-fpm</a>. </p>
<p>The next thing is MySQL and connecting with PHP. This &#8220;just worked&#8221; after installing php5-mysql.</p>
<p>Finally WordPress which also worked fine &#8211; except for permalinks which in the default installation relies on Apache .htaccess redirects. After <a href="http://www.thinkbohemian.com/2010/01/31/pretty-permalinks-with-wordpress-and-nginx/">doing this</a> things sort of worked, but I&#8217;m running WordPress in a subfolder (http://localhost/wordpress) so I had to modify the redirect to look like this:</p>
<p><code><br />
    location / {<br />
&nbsp;        root   /var/www;<br />
&nbsp;          index index.html index.htm index.php;<br />
&nbsp;          if (!-e $request_filename) {<br />
&nbsp;  &nbsp;              rewrite ^.*$ /wordpress/index.php last;<br />
 &nbsp;         }<br />
   }<br />
</code></p>
<p>&#8230;and now it works with any permalink structures.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwaresweden.com/2010/09/27/nginx-and-wordpress-permalinks-in-subfolder/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Gotcha with jsTree</title>
		<link>http://www.softwaresweden.com/2010/06/02/gotcha-with-jstree/</link>
		<comments>http://www.softwaresweden.com/2010/06/02/gotcha-with-jstree/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 13:21:29 +0000</pubDate>
		<dc:creator>Erik Starck</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.softwaresweden.com/?p=98</guid>
		<description><![CDATA[If you get the javascript error: &#8220;$.vakata.context.cnt.delegate is not a function&#8221; when using jsTree and jQuery you need to upgrade your jQuery to the latest version. I had 1.3.2 and got the error, upgraded to 1.4.2 and it works fine.]]></description>
			<content:encoded><![CDATA[<p>If you get the javascript error: </p>
<blockquote><p>&#8220;$.vakata.context.cnt.delegate is not a function&#8221;</p></blockquote>
<p>when using <a href="http://code.google.com/p/jstree/">jsTree</a> and jQuery you need to upgrade your jQuery to the latest version. I had 1.3.2 and got the error, upgraded to 1.4.2 and it works fine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwaresweden.com/2010/06/02/gotcha-with-jstree/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Picking a programming language based on personality</title>
		<link>http://www.softwaresweden.com/2010/04/28/picking-a-programming-language-based-on-personality/</link>
		<comments>http://www.softwaresweden.com/2010/04/28/picking-a-programming-language-based-on-personality/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 08:39:29 +0000</pubDate>
		<dc:creator>Erik Starck</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.softwaresweden.com/?p=94</guid>
		<description><![CDATA[There are many ways to pick what programming language to use in a project or which one to learn and dedicate ones career to. Most programmers are naturally techie people who loves to argue for hours about the merits of certain syntax of a particular language or programming style. But I think that&#8217;s the wrong [...]]]></description>
			<content:encoded><![CDATA[<p>There are many ways to pick what programming language to use in a project or which one to learn and dedicate ones career to. Most programmers are naturally techie people who loves to argue for hours about the merits of certain syntax of a particular language or programming style. </p>
<p>But I think that&#8217;s the wrong way of approaching the question. Instead you should ask the more fundamental question: <em>where do I want to work for the rest of my life?</em></p>
<p>They don&#8217;t tell you this in school, but there&#8217;s a certain <em>organizational personality</em> connected to each language. For example:</p>
<ul>
<li><strong>C++.</strong> Very techie, if you want to work in the engineering department in a large industrial company, pick C++. Also the language of choice for most games.</li>
<li><strong>Java EE.</strong> Software architects love Java EE. It is used mostly in the financial world, banks, insurance companies, large web sites usually use Java. If you enjoy writing PTS reports and working in a cubicle, pick Java. Expect to spend a lot of time going through huge log files with debug exception print-outs.</li>
<li><strong>C.</strong> Also very techie and close to hardware. There are usually wires and expensive prototype equipment involved when you program C. Expect to spend a lot of time chasing memory leaks or optimizing code to fit in to a finger nail.</li>
<li><strong>PHP.</strong> Rapid development of web sites, pretty common amongst web hackers, startups and PR agencyes building WordPress sites for customers who wants to &#8220;get in to social media&#8221;. Usually a fun and relaxing atmosphere &#8211; or total chaos depending on your point of view. Many PHP programmers are self-taught &#8211; and that shows.</li>
<li><strong>Ruby.</strong> This is the smarter sibling of PHP. Common in startup environments or web agencys. </li>
<li><strong>Scala.</strong> Java EE refreshed. You can probably get away with using Scala in a Java organization, making your life in the cubicle a little less miserable but don&#8217;t count on it showing up in a job ad &#8211; yet.</li>
<li><strong>Java SE / Java ME / Android Java</strong>. A completely different beast than Java EE. Java SE on the desktop is hardly used anymore but Java on mobile phones is of course a growing opportunity. Java ME is a dying breed of Java and most of the development is done in India or Eastern Europe. Android Java will be huge the coming years and the kind of organization that will want Android developers is wide and varied.</li>
</ul>
<p>These are just a few programming languages but I hope my point goes through: every language has a certain personality and a certain type of organization that uses the language. You have to pick a language that fits your own personality. I am myself a Java developer who started out as a C++ developer but now coming to realize that I actually like the more fast paced world of PHP and Android development better. </p>
<p>It&#8217;s not a matter of the powers of the languages themselves but how they are used and who uses them and what kind of projects will you be doing with the language. Just try to keep that in mind if you&#8217;re thinking about becoming a programmer.</p>
<p>I should also add that you definitely should learn more than one language for precisely the same reason: to learn different ways of thinking and widen your perspective.</p>
<p>Update: as always, good discussion on <a href="http://news.ycombinator.com/item?id=1301089">Hacker News</a>.</p>
<p>Linus G Thiel <a href="http://twitter.com/yesbabyyes/status/12996349728">points out</a> that Javascript is <a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html">up and coming</a>. I agree.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwaresweden.com/2010/04/28/picking-a-programming-language-based-on-personality/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>How to build a web service in 8 hours</title>
		<link>http://www.softwaresweden.com/2010/02/21/how-to-build-a-web-service-in-8-hours/</link>
		<comments>http://www.softwaresweden.com/2010/02/21/how-to-build-a-web-service-in-8-hours/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 10:51:04 +0000</pubDate>
		<dc:creator>Erik Starck</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[mashups]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.softwaresweden.com/?p=89</guid>
		<description><![CDATA[I was a big fan of Jaiku (here I am) and didn&#8217;t &#8220;get&#8221; Twitter until about a year ago when a friend showed me Tweetdeck. Aha! So that&#8217;s how you&#8217;re supposed to use it! Not through the web page twitter.com but by using a third party tool. I got so excited that I proclaimed Twitter [...]]]></description>
			<content:encoded><![CDATA[<p>I was a big fan of <a href="http://jaiku.com">Jaiku</a> (<a href="http://erikstarck.jaiku.com/">here</a> I am) and didn&#8217;t &#8220;get&#8221; Twitter until about a year ago when a friend showed me <a href="http://tweetdeck.com">Tweetdeck</a>. Aha! So <em>that&#8217;s</em> how you&#8217;re supposed to use it! Not through the web page twitter.com but by using a third party tool. I got so excited that I proclaimed <a href="http://www.mobilewebtablet.com/2009/02/21/why-twitter-is-the-future-of-search-communication-and-discovery-and-thus-the-web-itself/">Twitter the future of the web</a>. </p>
<p>And I stopped using Jaiku.</p>
<p>One thing I did miss from the Jaiku-days, though, was the long discussion threads under each &#8220;jaik&#8221; (the Jaiku version of a &#8220;tweet&#8221;). Here&#8217;s an <a href="http://jyri.jaiku.com/presence/a1b8f1743c5a4244bc55a3fbcbd8d005">example</a>. This provided Jaiku with <em>depth</em>, something you can hardly accuse Twitter of.</p>
<p>So an idea emerged: what if you could build a web service that made it possible to comment and discuss each tweet just like you did in the Jaiku-days.</p>
<p>Thus, <a href="http://discussatweet.com">Discuss a Tweet</a> was born.</p>
<p>Or, well, at least the domain was registered. I did this April 17 2009. It then ended up in my pile of great-ideas-I-should-one-day-implement and nothing happened.</p>
<p>Until&#8230; last weekend.</p>
<p>I knew that it would be possible to put it all together quite fast. I had used <a href="http://www.disqus.com">Disqus</a> when we built <a href="http://ratemypit.ch">Rate My Pitch</a> during <a href="http://24hbc.com">24 hour business camp</a> &#8211; so I knew that the commenting system, the most difficult part, I would get for &#8220;free&#8221;. I wouldn&#8217;t even need a database. It was all about putting things together in a slightly new way. A classic mashup.</p>
<p>So, I started hacking away. A couple of hours later, the result is a mashup of the following services:</p>
<ul>
<li><a href="http://disqus.com">Disqus</a>, for the commenting system.</li>
<li><a href="http://jquery.org">JQuery</a>, the Javascript framework to do some AJAX magic and UI manipulation.</li>
<li><a href="http://malsup.com/jquery/corner/">JQuery Corner</a> to get the rounded corners.</li>
<li><a href="http://typekit.com">Typekit</a>, better looking web fonts.</li>
<li><a href="http://www.blueprintcss.org/">BluePrint CSS</a>, a CSS framework that simplifies layout.</li>
<li><a href="http://twitter.com">Twitter</a>, of course. I used the <a href="http://classes.verkoyen.eu/twitter/">Twitter PHP class</a> by Tijs Verkoyen to simplify the API.</li>
<li><a href="http://bit.ly">Bit.ly</a> the URL shortener. I used this <a href="http://www.dennismadsen.com/2010/01/bit-ly-api-class-for-php/">Bit.ly PHP class</a> by Dennis Madsen to makes things even easier.</li>
<li><a href="http://simplehtmldom.sourceforge.net/">Simple HTML DOM</a> to parse HTML.</li>
<li><a href="http://google.com/analytics">Google Analytics</a>, let&#8217;s not forget this visitor statistics tool.</li>
</ul>
<p>This is just a tiny little hack but I think it serves as a good example of how modern web development is done. You pick bits and pieces from all over the web, some open source components, some embedded web services. You put things together and something new emerges.</p>
<p>I used PHP and this is also worth noting. People <a href="http://www.google.se/search?hl=sv&#038;source=hp&#038;q=php+sucks&#038;btnG=Google-sökning&#038;meta=&#038;aq=f&#038;oq=">complain about PHP</a> but one of its biggest strengths is its user base and size. When you&#8217;re doing a mashup such as <a href="http://discussatweet.com">Discuss a Tweet</a> you can be sure someone else has done about the same things you need and there is code out there ready to be used. You can&#8217;t say that about <a href="http://www.scala-lang.org/">Scala</a> or <a href="http://ftp.sunet.se/pub/lang/erlang/">Erlang</a> regardless of how powerful and beautiful the languages are. (Things are changing of course as the popularity of the language grows.)</p>
<p>Another thing happened while Discuss-a-Tweet was in my idea-pool: Google Buzz launched. According to Mr Jaiku himself, <a href="http://www.zengestrom.com/blog/2010/02/the-buzz-is-out.html">Jyri Engeström</a>, Buzz is the continuation of Jaiku. And, yes, it allows you to comment and discuss tweets. </p>
<p>Maybe a usage pattern is emerging in how we <a href="http://blog.opportunitycloud.com/2009/08/15/twitter-is-my-living-room-facebook-my-kitchen-how-i-use-different-social-networks/">use different social networks</a>. Twitter for quick news updates and cool links, Facebook for our friends and Buzz for the discussions. Maybe the <a href="http://opportunitycloud.com">Opportunity Cloud</a> for a service such as Discuss-a-Tweet is dispersing. We&#8217;ll see. It was fun building it anyway &#8211; and it only took a few hours after all. <img src='http://www.softwaresweden.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>(PS. Follow me on <a href="http://twitter.com/erikstarck">Twitter</a>.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwaresweden.com/2010/02/21/how-to-build-a-web-service-in-8-hours/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mobile Development SDKs compared: MoSync, PhoneGap and AppWhirl</title>
		<link>http://www.softwaresweden.com/2010/02/16/mobile-development-sdks-compared-mosync-phonegap-and-appwhirl/</link>
		<comments>http://www.softwaresweden.com/2010/02/16/mobile-development-sdks-compared-mosync-phonegap-and-appwhirl/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 21:01:52 +0000</pubDate>
		<dc:creator>Erik Starck</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.softwaresweden.com/?p=79</guid>
		<description><![CDATA[Ever since I started my first consultancy business back in 1998, I&#8217;ve been thinking &#8220;next year will be the Year Of Mobile&#8221;. I&#8217;ve been wrong every year. Of course the sales of mobile phones have been great but in terms of mobile applications and the mobile web, things were more or less stuck in black [...]]]></description>
			<content:encoded><![CDATA[<p>Ever since I started my first consultancy business back in 1998, I&#8217;ve been thinking &#8220;next year will be the Year Of Mobile&#8221;.</p>
<p>I&#8217;ve been wrong every year.</p>
<p>Of course the sales of mobile phones have been great but in terms of mobile applications and the mobile web, things were more or less stuck in black &#038; white text mode. But, the last couple or years, things have finally started to change &#8211; and change fast!</p>
<p>So, it is a very good time to get in to mobile development. This is like the early days of the web all over again. Opportunities are plenty! Before you know it, every company will want a mobile application to accompany their <a href="http://www.frankfami.ly">social web site</a>. If you don&#8217;t know mobile yet, now is the time to start learning.</p>
<p>The obvious first question is: where do I start?</p>
<p>There are many mobile development tools out there. This blog post is a little deeper look in to three different approaches that will give you an app running in less than an hour.</p>
<p><img src="http://farm5.static.flickr.com/4052/4362694210_a852e88eb1_o.jpg" alt="" /></p>
<p>By far the simplest approach is taken by tools such as <a href="http://www.appwhirl.com/">AppWhirl</a>. This is an online tool that generates a complete application for you. Not only that, it sends the app to the Apple App Store for approval. That&#8217;s right, AppWhirl is only for iPhone. </p>
<p>It is also extremely limited in that you can only generate apps from existing RSS feeds, making it less of an application toolkit and more of a mobile RSS reader-generator. Nothing wrong with that, you just need to be aware of the limitations.</p>
<p>AppWhirl is:</p>
<ul>
<li>Extremely simple to use &#8211; anyone can generate an application with this tool.</li>
<li>Extremely limited &#8211; this is <strong>not</strong> an application SDK but a very simple way to publish your RSS feed as an application.</li>
<li>Only supports iPhone.</li>
</ul>
<p><img src="http://farm3.static.flickr.com/2736/4363343924_ae023d3c5d_o.jpg" alt="" /></p>
<p><a href="http://www.phonegap.com">PhoneGap</a> is far more advanced. This is how they describe themselves:</p>
<blockquote><p>PhoneGap is a development tool that allows web developers to  take advantage of the core features in the iPhone, Android, BlackBerry, and Symbian with a unified JavaScript API.</p></blockquote>
<p>Now, while PhoneGap is a cross platform tool, the development process and setup is slightly different for the different platforms. You need to install all the different SDKs to fully use this tool. This can be quite a hassle.</p>
<p>What is PhoneGap? It&#8217;s basically a bridge that enables Javascript to call native functionality not normally accessible to a web page running in a browser. It does this by packaging the PhoneGap framework, your HTML/CSS/JavaScript-files and a magic JavaScript-file called &#8220;phonegap.js&#8221; in an application package. It then uses the built in browser component to render the &#8220;pages&#8221; of the app.</p>
<p>This means if you&#8217;re used to web development you will be up and running quickly on PhoneGap. It also means you can use nice frameworks such as <a href="http://www.jqtouch.com/">JQuery</a> for that AJAX mojo.</p>
<p>Unfortunately the <a href="http://phonegap.pbworks.com/Getting-started-with-Android-PhoneGap-in-Eclipse">documentation</a> wasn&#8217;t exactly up to date so I had some problems getting things up and running on my Android Developer Phone. If this is the same on the other platforms, you&#8217;re in for a couple of hours of tweaking settings and installing SDKs and googling around for fixes if you want your app running on more than one platform.</p>
<p>To summarize, PhoneGap is:</p>
<ul>
<li>Cross platform, works on many devices &#8211; but will require setup for each.</li>
<li>Web developer friendly. People familiar with HTML and JavaScript will feel right at home.</li>
<li>Capable but still limited by browser. With the upcoming HTML5 PhoneGap will become really interesting, though!</li>
</ul>
<p>Next in line is <a href="http://mosync.com">MoSync</a>. (First a disclaimer: I have worked for the company behind MoSync.) The platform recently became <a href="http://www.mosync.com/contributions">open source</a> and received an investment from none other than the <a href="http://www.mosync.com/the_company">MySQL founders</a>, Michael “Monty” Widenius and David Axmark. Like MySQL, MoSync is based in Stockholm. </p>
<p>You don&#8217;t need to install any other SDK than the MoSync IDE to get started. Programming is done in C++ which means you will feel at most at home if you&#8217;re coming from the embedded or gaming world. In fact, MoSync can run legacy games like Castle Wolfenstein just fine:</p>
<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/wSgTCq8N_D8&#038;hl=en_US&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/wSgTCq8N_D8&#038;hl=en_US&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
<p>(That&#8217;s me speaking in the background, by the way.)</p>
<p>So far, MoSync is Windows only (although the IDE is based on Eclipse) so Mac- and Linux-users are out of luck. <a href="http://www.mosync.com/mosync/device-profile-database">Supported platforms</a> include Symbian S60, Java ME, Moblin and Windows Mobile. Android, iPhone and Maemo are &#8220;coming soon&#8221;.</p>
<p>MoSync is cross platform but obviously you won&#8217;t get more features than the underlying platform supports. Best support you&#8217;ll get for basic graphics, sound, simple Bluetooth access and networking. Without a doubt the best feature of all is the promise of one codebase, multiple platforms, but your mileage may vary.</p>
<p>MoSync is:</p>
<ul>
<li>Cross platform, works on many devices &#8211; Android and iPhone &#8220;coming soon&#8221;.</li>
<li>C++ based, suitable for porting old embedded apps to native but a little higher barrier to cross for the beginner (but C++ isn&#8217;t <em>that</em> difficult).</li>
<li>Still a bit untested, MoSync needs a few more success stories that proves their claims.</li>
<li>One codebase, one tool!</li>
</ul>
<p>All in all, three completely different approaches to mobile development. Which one suits you? Well, that&#8217;s for you to decide. They all have their strengths and drawbacks and I think it will be quite obvious for you which one fits your bill. </p>
<p>Now, get out there and create great stuff for mobile!</p>
<p><strong>Updated</strong>: MoSync just announced <a href="http://www.mosync.com/blog/2010/02/whats-mosync-23">Android support</a>.</p>
<p><strong>Updated 2</strong>: David Wood wrote an <a href="http://dw2blog.com/2010/03/04/choosing-intermediate-mobile-platforms/">overview</a> of some other cross platform tools.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwaresweden.com/2010/02/16/mobile-development-sdks-compared-mosync-phonegap-and-appwhirl/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

