CINXE.COM
<?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title><![CDATA[Mattias Hising - Product and Web Developer]]></title> <link href="http://hising.net/atom.xml" rel="self"/> <link href="http://hising.net/"/> <updated>2012-11-08T12:18:46+01:00</updated> <id>http://hising.net/</id> <author> <name><![CDATA[Mattias]]></name> </author> <generator uri="http://octopress.org/">Octopress</generator> <entry> <title type="html"><![CDATA[Fixing SASS --watch on OS X Lion]]></title> <link href="http://hising.net/2011/11/fixing-sass-watch-on-os-x-lion.html"/> <updated>2011-11-12T09:51:23+01:00</updated> <id>http://hising.net/2011/11/fixing-sass-watch-on-os-x-lion</id> <content type="html"><![CDATA[<p>I have had problem with my <a href="http://sass-lang.com/">SASS</a>-styles not being compiled automatically when I change a partial file, so first I got help from <a href="http://twitter.com/#!/chriseppstein">@chriseppstein</a>, Sass Core Developer via Twitter suggesting I should watch the directory instead of the file. Then I ran into this:</p> <pre><code><code>sass --watch public_html/css >>> Sass is watching for changes. Press Ctrl-C to stop. overwrite public_html/css/style.css /Library/[...]/fsevents.rb:27: [BUG] Segmentation fault ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0] </code> </code></pre> <p>@chriseppstein suggested I try to reinstall fsevents, I did not get that to work so I searched some more, and found <a href="http://miekd.com/articles/how-to-make-sass-not-crash-on-lion/">this resource</a> suggesting running this command:</p> <pre><code><code> gem install fssm </code> </code></pre> <p>When that has finished and you start watching a folder you get promted to:</p> <pre><code><code> FSSM -> An optimized backend is available for this platform! FSSM -> gem install rb-fsevent </code> </code></pre> <p>So, just do what you are told</p> <pre><code><code> gem install rb-fsevent </code> </code></pre> <p>Now it works. Thanks for helping. Just putting this down for people experience the same issues (and myself when I have forgot the solution)</p> ]]></content> </entry> <entry> <title type="html"><![CDATA[Mumrik 2 - Work has started]]></title> <link href="http://hising.net/2011/11/mumrik-2-work-has-started.html"/> <updated>2011-11-04T18:37:30+01:00</updated> <id>http://hising.net/2011/11/mumrik-2-work-has-started</id> <content type="html"><![CDATA[<p>For a long time (2 years+) I have had the intention to start working on Mumrik 2, a web framework and Wordpress theme aiming at getting a good looking web up quickly. Today I started working on it. It will be a web framework mainly and the wordpress theme will be based on the framework. If you are interested, make sure you follow the project on Github:</p> <p><a href="https://github.com/hising/m2">https://github.com/hising/m2</a></p> <p>Mumrik 2 is a follow-up to my old <a href="http://wordpress.org/extend/themes/mumrik">Wordpress theme named Mumrik</a></p> ]]></content> </entry> <entry> <title type="html"><![CDATA[If Developers Were To Try a Real Job - Carpenter]]></title> <link href="http://hising.net/2011/06/if-developers-were-to-try-a-real-job-carpenter.html"/> <updated>2011-06-07T07:41:15+02:00</updated> <id>http://hising.net/2011/06/if-developers-were-to-try-a-real-job-carpenter</id> <content type="html"><![CDATA[<p>“How many hours do you need to build this interior wall, it is 2.40 x 5 meters. Just a standard wall with 2-by-4 studs and covered with plasterboard?”</p> <p>“I don’t like plasterboards, I try to solve the wall problems with plain particleboard.”</p> <p>“OK, good for you, but back to reality, I want a 2.40 x 5 meter interior wall with plasterboard. Can you do it?”</p> <p>“Of course I can, but I wont, only idiots use plasterboard.”</p> <p>“OK, why is that?”</p> <p>“Plasterboard was invented 1938 as a solution to another problem, and it has come to my attention that it is not perfect in all conditions. You must use another solution in order to create a better quality. That is why I use glue and particleboard on steel studs. It is the smartest and best solution.”</p> <p>“But that was not what I wanted.”</p> <p>“You want wrong”</p> <p>“No, I WANT A 2.40 x 5 meter interior wall with tree 2-by-4 studs and plasticboard, because that is the freaking standard!”</p> <p>“Standards are compromizes, I DO NOT COMPROMIZE.”</p> <p>“So, you cant do it?”</p> <p>“I wont do it.”</p> <p>“You cant”</p> <p>“I can, but I suggest you go to India, hrrm, sorry Poland because they just build what you want with high skills and quality at a good price. If you want something expensive and not what you expected, please call me.”</p> ]]></content> </entry> <entry> <title type="html"><![CDATA[Action is the Killer App]]></title> <link href="http://hising.net/2011/04/action-is-the-killer-app.html"/> <updated>2011-04-16T19:47:58+02:00</updated> <id>http://hising.net/2011/04/action-is-the-killer-app</id> <content type="html"><![CDATA[<p>Everybody is looking for the killer app. Everyone wants the billion dollar idea, sell it to Google and sit back and just watch the money roll in. I got a question a couple a weeks ago on how much value I would be able to generate as a developer if I got to work 100% on developing new stuff together with one of the best guys in the industry. I have not worked for more than 4 hours focused the last couple of years due to enterprise architecture, meetings and family. My answer was:</p> <blockquote><p>If I get to work on something 100% for three months with skilled people I am sure I will be able to create a new religion.</p></blockquote> <p>It felt so absurd. Once when time was an infinite factor action was just something that came along. Now when time is finite and is competed for, a timespan such as three months is just absurd.</p> <p>Whether you have 4 hours a week to focus or three months, there is only one hidden secret for creating great value and moving towards the billion dollar idea. Action. There are probably 1000 reasons for not being able to deliver the idea you have. Below I have listed a few, just to show that it is all about mindset. Dont take the items to serious, they are just examples of the 1000 reasons people use in order to not get things done.</p> <ul> <li><p><strong>I need a designer!</strong> - Solution: Call one and give him/her percentage on the product if you dont have any money</p></li> <li><p><strong>The pricing model is not set yet</strong> - Solution: Pricing and income should not be the key elements for building a product from the beginning, user expectations and experience should. Go with the first pricing model you have in mind, if you dont have one in mind, start without.</p></li> <li><p><strong>There may be legal problems with the product</strong> - Solution: Yep, there may be, do your best to find out, start, this will only be a problem if usage picks up, then you can hire people for this, of course you should avoid things that are illegal to start with, like selling drugs, offer online poker to americans or similiar.</p></li> <li><p><strong>There may be scaling issues if we get 100,000 users</strong> - Solution: If you have 100,000 users that is a good thing, fix it when you have 100,000 users, IF it is a problem (choose your tech solution wisely)</p></li> <li><p><strong>I will only be able to support payments in USD, I would like to offer a solution that works for all</strong> - Solution: Offer only payments in USD, prioritize other currencies in your product backlog after launch</p></li> <li><p><strong>I need to get me a computer with Windows XP and Internet Explorer and test that everything works</strong> - Solution: Do it or use your users. There are a lot of users using Internet Explorer, they will contact you if stuff doesn’t work, or be a pioneer and dont give a f**k about user of IE8 and below. You should build the product according to some development principle such as accessible, mobile first, graceful degradation or progressive enhancement, so this shouldnt be a big problem.</p></li> <li><p><strong>I have written inline styles, inline scripts and run business code in the view</strong> - Solution: Hell yeah! The thing with products is that the user buys the product not the components it was built of. Forget it, or fix it when you have the time and money to fix it. Sometimes problem solving forces ugly solutions, hard fact, so forget it.</p></li> <li><p><strong>There are someone who does the same thing online already</strong> - Yeah, as there is only one brand of cereals or toothpaste. Do your thing, find your niche and execute it better than the competition.</p></li> </ul> <p>The important thing with the list is not the actual problems or the solutions, but the thing that there is always a way to move forward when you run into trouble. Think <strong>action</strong> and <strong>get things done</strong>. It is better to release a product that fails than not to release a product at all. You are not that smart that you can think it all out. Get it out there, let people feel it. If they dont like it, build something new. If you still believe in your product, keep building, but release often in order to be able to fail early. Sooner or later your product will be good, and if it is good you will gain users. The big problem is that a lot of people has to move away from the idea that the idea is the killer app, when it is action. Any idea is the killer application with action bundled into its implementation. Now go and build what you love and users will show their love.</p> ]]></content> </entry> <entry> <title type="html"><![CDATA[You Can't Fight Youth]]></title> <link href="http://hising.net/2011/03/you-cant-fight-youth.html"/> <updated>2011-03-09T14:22:26+01:00</updated> <id>http://hising.net/2011/03/you-cant-fight-youth</id> <content type="html"><![CDATA[<p>I am not old. If you ask my sons, they probably say I am though. A couple of days ago my oldest son said that when he is a grown up, me and my wife will be an old man and an old woman. True in it is simplicity of course and not so much to argue about. You can’t fight aging, it will happen whether you like it or not. You can’t fight death either, sooner or later it will occur and you have to leave it to your kids and their kids to make sure the wheels are still spinning. Why not start right away.</p> <p>When I started my walk towards where I am now I was young and thought that I was a pretty smart guy. I was 22, had just started studying at the University and thought that changing stuff was easy, it was all about heart, knowledge and wanting it. I set up some goals, goals that may sound stupid as hell for a 22 year old, those were:</p> <ol> <li><p>I am going to get married and have a family with kids</p></li> <li><p>I am going to build my own house</p></li> <li><p>I am going to have my own business</p></li> </ol> <p>I probably scared of a number of good-looking-20-somethings-potential-wifes communicating these goals after one or two beer too many. 2001 I fooled a woman who now is the mother of my two kids, married to me and live in the house I have built. Right now she is the one who pushes me when I want to quit on running my own business. It took me 15 years to accomplish these goals. Now I am setting three new goals, the big difference is youth. I am not as young anymore and I need that inspiring feeling that everything is possible. I think I am blessed with a lot of heart and focus, but to be honestly true, I am having tougher times now getting things done than I had 10 years ago. How to cure that? With the kids and age I have a different view of myself, I am not that smart as I thought I was 15 years ago, but I try to use my bits and pieces to do good, focus on the things I like and are somewhat talented in. I have realized a couple of things (sometimes the hard way):</p> <ul> <li><p>I cant fix everything by myself</p></li> <li><p>I try to be around people I like</p></li> <li><p>I try to work with smarter people than myself</p></li> <li><p>I try to do things I am good at differently from time-to-time</p></li> <li><p>I focus on stuff I can do something about</p></li> <li><p>I avoid things that burn me</p></li> <li><p>I do not lick frozen lamp posts</p></li> </ul> <p>I have hundreds of different business ideas. I know that ideas alone just sucks. You need to get them out there. You need to stop thinking and start building, otherwise it will all just be ideas. But what if there are 22-year-olds with the same ideas, better stamina, more risk taking tendency and new skills acquired by the life they have lived, which I have not. There are two options:</p> <ul> <li><p>Try to do a better job than the young, skilled and risk taking youth</p></li> <li><p>Join them or make them join you</p></li> </ul> <p>Stop thinking that your brilliant idea together with your long experience is superior to the idea of the younger and less experienced. It is not. But it may be one hell of an idea to go for together with younger minds.</p> <p>It is a rule so simple it is easy to forget. The young ones today will be the older ones tomorrow with a lot of experience. Why not join forces with these people giving them your excellent ideas and experience and get heart, inspiration and getting-things-done mentality in return. Lets face it, they are producing young people in numbers you simply can’t fight, it is impossible. Instead of fighting them, join them or make them join you and get fuel enough for you to finish the idea you have come to love.</p> <p>The moral of this story is that it is often a good idea to ally oneself with other people and how experienced you may be you will have a lot to learn from people with less experience. Nothing beats the heart and getting things done mentality from a 20-something. We dont see a lot of 40-years old starting riots. Sometimes it is very helpful to have someone starting the riot and enjoy the ride.</p> ]]></content> </entry> <entry> <title type="html"><![CDATA[Web Performance, Django CMS and Smileys]]></title> <link href="http://hising.net/2011/03/web-performance-django-cms-and-smileys.html"/> <updated>2011-03-03T20:51:18+01:00</updated> <id>http://hising.net/2011/03/web-performance-django-cms-and-smileys</id> <content type="html"><![CDATA[<p>Below is some links I got today in my inbox after different discussions on Twitter (<a href="http://twitter.com/hising">follow me on Twitter</a>). Putting them here for two reasons, first for myself, I may forget to read them otherwise, second, if any of you are interested in reading.</p> <ul> <li><p><a href="http://www.webperformancetoday.com/2010/06/15/everything-you-wanted-to-know-about-web-performance/">Cheat Sheet: Everything you wanted to know about web performance but were afraid to ask</a></p></li> <li><p><a href="http://mezzanine.jupo.org/">Mezzanine - Django CMS</a></p></li> <li><p><a href="http://lifehacker.com/#!5574668/get-rid-of-the-smiley-j-problem-in-microsoft-office-applications">The mystic Smiley J</a></p></li> <li><p><a href="https://docs.google.com/document/d/16KltSuXtoPLF42JC2HAPyDVbEsYiVyQAmreqZNBO23I/edit?hl=en&authkey=COTh6McP&ndplr=1&pli=1#">Google are looking for a Graphic/Visual Designer</a></p></li> <li><p><a href="http://events.apple.com.edgesuite.net/1103pijanbdvaaj/event/index.html">Keynote from the iPad 2 Event yesterday</a></p></li> </ul> <p>Hope to deliver more links tomorrow.</p> ]]></content> </entry> <entry> <title type="html"><![CDATA[Redirect www to non-www on nginx]]></title> <link href="http://hising.net/2011/03/redirect-www-to-non-www-on-nginx.html"/> <updated>2011-03-02T07:21:19+01:00</updated> <id>http://hising.net/2011/03/redirect-www-to-non-www-on-nginx</id> <content type="html"><![CDATA[<p>Logging this as a note for myself (and eventually someone else) so I dont forget it. Solves the problem of coexisting contexts www and non-www. With this all requests to www.* are redirected to * on the nginx webserver</p> <pre><code><code>server { listen 80; server_name www.domain.com domain.com; root /var/www/domain.com/public_html; index /index.html; if ($host = 'www.domain.com' ) { rewrite ^/(.*)$ http://domain.com/$1 permanent; } location / { #whatever } location ~ /\.ht { deny all; } }</code> </code></pre> <p>Update. <a href="http://wiki.nginx.org/Pitfalls">According to Nginx</a> the above code is a common pitfall, and should instead read:</p> <pre><code><code>server { server_name www.domain.com; rewrite ^ $scheme://domain.com$request_uri redirect; } server { listen 80; server_name domain.com; root /var/www/domain.com/public_html; index /index.html; location / { #whatever } }</code> </code></pre> <blockquote><p>There are actually three problems here. The first being the if. That’s what we care about now. Why is this bad? Did you read <a href="http://wiki.nginx.org/IfIsEvil">If is Evil</a>? When nginx receives a request no matter what is the subdomain being requested, be it www.domain.com or just the plain domain.com this if directive is always evaluated. Since you’re requesting nginx to check for the Host header for every request. It’s extremely inefficient. You should avoid it. Instead use two server directives like the example below.</p></blockquote> <p>Thanks to Johan as well who pointed me in this direction in his comments. However, if you use the first setup, I dont think you have to hurry to change it, it is almost certain of academic value on 90%+ of all nginx-setups.</p> ]]></content> </entry> <entry> <title type="html"><![CDATA[My Upcoming Posts]]></title> <link href="http://hising.net/2011/02/my-upcoming-posts.html"/> <updated>2011-02-28T21:08:36+01:00</updated> <id>http://hising.net/2011/02/my-upcoming-posts</id> <content type="html"><![CDATA[<p>Below you can find the upcoming blog posts on Frontendbook.com with a short excerpt for them. Please come with input if you find some of them more interesting than others.</p> <h3>jQuery Plugin Template</h3> <p>In this article I will show how easily you can write your own plugin template for jquery plugins. Having a template for this eases development and lets you get up to speed quickly. I will also share this template for Textmate so that you easily can use the best editor out there for writing your jQuery plugins.</p> <h3>Extend Google Analytics</h3> <p>In this post I will go into details on how you can extend Google Analytics to better suit your needs. We will look into custom reports, user types, tracking external links, tracking downloads and more. After reading this article you will be able to better track and analyze the behavior of your visitors.</p> <h3>Writing a SEO-friendly Widget</h3> <p>In this article we will go through the steps needed in order to setup a SEO-friendly widget. If someone is willing to put your content on their website, you should thank them, but you should also take the advantage to send some link-juice back to your site with the preferred keywords you are targeting. I show you how.</p> <h3>Piggybacking API-loading</h3> <p>Sometimes you will have to write some generic JavaScript code that can be used in a wide variety of environments, maybe on platforms not hosted by you (read our Writing a SEO-friendly Widget article) or maybe as script used in a plugin on some CMS or blogging platform. Of course you should make use of any of the nice libraries that exists (jQuery, Prototype, YUI, MooTools or Dojo) but at the same time, you should not distribute these libraries as a lot of websites already have them included, and if not better alternatives exists. I show you how.</p> <h3>The Zen of Internal Linking</h3> <p>Why is internal linking important? I see internal linking as way describing your content in a more dynamic and interactional type of pattern, adding usability to the user. Internal linking done right is very close to the first idea of hypertext or hyperlinking. Look at Wikipedia, they have taken internal linking to perfection. This article will discuss the philosophy and zen behind internal linking and discuss why and who users and search engines likes it.</p> ]]></content> </entry> <entry> <title type="html"><![CDATA[How to get started on HTML5]]></title> <link href="http://hising.net/2011/02/how-to-get-started-on-html5.html"/> <updated>2011-02-17T09:12:57+01:00</updated> <id>http://hising.net/2011/02/how-to-get-started-on-html5</id> <content type="html"><![CDATA[<p><a href="http://frontendbook.com/wp3/wp-content/uploads/2011/02/HTML5_sticker.png"><img src="http://frontendbook.com/wp3/wp-content/uploads/2011/02/HTML5_sticker-300x150.png" alt="" /></a></p> <p>You all have read and heard about <strong>HTML5</strong> and how all this new beauty will change the world. Now is the time for web based applications. Some people even think HTML5 will make native desktop and mobile apps redundant as we will be able to build all our interfaces as web based applications with rich interfaces built on the features and new standards HTML5 offers. The trend is pretty straightforward, <strong>Google</strong> builds an OS on web technology, <strong>Facebook</strong> chooses HTML5 as its common future platform, pushes it as a game platform, <strong>PhoneGap</strong> lets you build web based applications in <strong>JavaScript</strong> and build and deploy them on a wide variety of mobile platforms, such as <strong>iOS</strong>, <strong>Android</strong>, <strong>WebOS</strong>, <strong>Blackberry</strong>, <strong>Symbian</strong>. In this post I try to collect some links and articles for you that makes it easier for you to get started on developing HTML5 based web apps. In the next post I will focus more on how to get started with CSS3 and the post after that will focus on the JavaScript parts of all these new standards available.</p> <h3>Introduction to HTML5 by Robert Nyman</h3> <p><a href="http://twitter.com/robertnyman">Robert Nyman</a> has an thorough article on his blog about HTML5 with examples, pros and cons with the approach and code examples. Head over there and read <a href="http://robertnyman.com/2009/10/14/an-introduction-to-html5/">An introduction to HTML5</a></p> <h3>HTML5 Demos and Examples</h3> <p>On <a href="http://html5demos.com/">html5demos.com</a> by <a href="http://twitter.com/rem">Remy Sharp</a> you find some code examples, table with supported features of HTML5 in different browsers and some experiments with HTML5. The code is Creative Commons and can be <a href="https://github.com/remy/html5demos">forked on GitHub</a>.</p> <h3>Dive into HTML5</h3> <p>“<a href="http://diveintohtml5.org/">Dive Into HTML5</a> seeks to elaborate on a hand-picked Selection of features from the HTML5 specification and other fine Standards”</p> <p>Dive into HTML5 is an online book by <a href="http://twitter.com/diveintomark">Mark Pilgrim</a> where he goes into different bits and pieces of HTML5. He writes about stuff such as <a href="http://diveintohtml5.org/detect.html">Detecting HTML5 features</a>, <a href="http://diveintohtml5.org/canvas.html">Canvas Support</a> and <a href="http://diveintohtml5.org/offline.html">Offline Support</a>. Recommended reading.</p> <h3>HTML5 Showcase by Apple</h3> <p>Apple has made some clear statements the last couple of years supporting HTML5 over proprietary software such as Flash from Adobe. Their top sellers iPhone and iPad does not support Flash and will rely on HTML5 for richer interfaces on web apps. They have set up a landing page where you can find <a href="http://www.apple.com/html5/">HTML5 demos</a> that shows what Safari can do.</p> <h3>HTML5Rocks</h3> <p>Google has a website named <a href="http://www.html5rocks.com/">HTML5Rocks</a> where they push the new standards as well. You can find a studio with examples of what can be done with these standards, a code playground where you can easily start playing with the code behind all this fancy magic. They also offer tutorials and and interactive presentation on HTML5. Feel free to <a href="http://code.google.com/p/html5rocks/wiki/ContributorsGuide">contribute code to the project</a> to show off how HTML5 rocks.</p> <h3>HTML5 Boilerplate</h3> <p>When you just want to start building stuff that works in all major browsers there are some stuff that needs to be set up, a lot of boilerplate code, lucky enough <a href="http://twitter.com/paul_irish">Paul Irish</a> and <a href="http://twitter.com/nimbuin">Divya Manian</a> already did that for you. From time to time I use <a href="http://html5boilerplate.com/">the HTML5 Boilerplate template</a> for getting HTML5-frontends up quick. It is also available <a href="https://github.com/paulirish/html5-boilerplate">directly from GitHub</a>.</p> <h3>Introduction to HTML5 by Mozilla</h3> <p>On MDN there is <a href="https://developer.mozilla.org/en/HTML/HTML5">a list of links to different HTML5 articles</a> covering different parts of the new standards and features that build up HTML5.</p> <h3>Chrome Experiments</h3> <p>Another Google product, focusing on what can be done with JavaScript and tools such as WebGL is <a href="http://www.chromeexperiments.com/">Chrome Experiments - Not your mother’s JavaScript</a>. It is user-driven and they describe the project in this way:</p> <blockquote><p>Chrome Experiments is a showcase for creative web experiments, the vast majority of which are built with the latest open technologies, including HTML5, Canvas, SVG, and WebGL. All of them were made and submitted by talented artists and programmers from around the world.</p></blockquote> <h3>Internet Explorer Test Drive</h3> <p>With Internet Explorer 9 Microsoft finally delivers a browser that more or less supports the standards web developers and designers would like to use in order to utilize the web as it was intended. Microsoft has released a<a href="http://msdn.microsoft.com/en-us/ie/ff468705.aspx"> Internet Explorer 9 Developer Guide</a> and a page for <a href="http://ie.microsoft.com/testdrive/">HTML5 Demos</a> that show off the new browsers capabilities.</p> <h3>Acid3 Browser Test</h3> <p><a href="http://acid3.acidtests.org/">Test how well the different browsers support a subset of the standards</a> available for web developers and designers. Primarily Acid3 is for web browser vendors to ensure that their browsers match a set of features that enable a richer and better web.</p> ]]></content> </entry> <entry> <title type="html"><![CDATA[My Thoughts on Apple Subscriptions]]></title> <link href="http://hising.net/2011/02/my-thoughts-on-apple-subscriptions.html"/> <updated>2011-02-16T14:23:20+01:00</updated> <id>http://hising.net/2011/02/my-thoughts-on-apple-subscriptions</id> <content type="html"><![CDATA[<p><a href="http://frontendbook.com/wp3/wp-content/uploads/2011/02/fat-banker.jpg"><img src="http://frontendbook.com/wp3/wp-content/uploads/2011/02/fat-banker-229x300.jpg" alt="" /></a></p> <p>I have just read the <a href="http://www.apple.com/pr/library/2011/02/15appstore.html">official statement about subscription plans</a> in app store from Apple. On top of that I have had an interesting discussion today on Twitter with <a href="http://twitter.com/nollbit">@nollbit</a>, <a href="http://twitter.com/sinex">@sinex</a>, <a href="http://twitter.com/baskillen">@baskillen</a> and <a href="http://twitter.com/jbripley">@jbripley</a> (all smart guys you should follow) about whether or not this is a good or a bad thing. From what I have read and heard almost everyone thinks it is a bad idea, I on the other hand think that it is a natural step for mazimizing revenue from its application publishing platform. It is quite easy to figure out the arguments against giving Apple 30% on all in-app subscriptions. This has nothing to do with doing good, doing bad or doing no evil. This is pure business and as such Apple is of course tuning all the different revenue streams. After all, why wouldn’t Apple take a fee on all transactions made in their ecosystem, transactions that would not have been made if the Apple app store had not exist.</p> <p>It is not hard to figure out how this change came about. With more and more subscription based apps, free of charge for download in the App store but with premium content available in-app, Apple saw that they offered a market place more or less free of charge if the publisher used their own in-app payment solutions. That is of course a good thing for the publisher, and I am pretty sure that the ones crying out loudest about this change is the ones with their own payment solution.</p> <p>If someone offers a market with millions of daily transactions, the same someone will wanna get payed for handing publishers that system. You might argue that the publisher payed for the iOS Development Program and the user for the iPhone but compared to the revenue streams that Wired, Amazon, Netflix and Sony could generate, the fees are nothing compared to what a revenue share will generate for Apple. Of course, one could argue about the right share for Apple, 30% is pretty high, especially for products that totally rely on incomes from iPhone and subscriptions. One could also argue that having that relationship with one big platform is unhealthy for business, it is not a good thing to rely on revenue streams from one source.</p> <p>My prediction is that all publishers will adapt since there are no marketplace today that offer the same liquidity of paying customers. In two or three weeks we will see apps that climbs high in the top lists that use Apples subscription payments in a smart way. I am pretty sure that this is nothing that Steve Jobs pulled without a second thought, it has nothing to do with monopolizing, since the publishers has the right to leave the marketplace, it is all about monetizing on the user base Apple has managed to put together via hardware, software and revenue sharing. There will always be people who shouts that it should be up to the publisher to decide how he/she handles payments. The thing is that it still is! If you do not like what is on TV, please change the channel or shut down the TV. If you think VISA stores too much information about your payments, stop paying with VISA, if you think that CIA stores too much information about your behaviors online, stop using online services. Everything comes with a price, and there are no such things as companies that do no evil, they are all in it for the money. And I would recommend you all to think what the price is to have a free marketplace with open payment solutions on an application market handled by the worlds largest ad network. The greatest trick the Devil pulled was that he did not exist.</p> ]]></content> </entry> <entry> <title type="html"><![CDATA[What is the Worst Thing That Can Happen]]></title> <link href="http://hising.net/2011/02/what-is-the-worst-thing-that-can-happen.html"/> <updated>2011-02-03T13:16:13+01:00</updated> <id>http://hising.net/2011/02/what-is-the-worst-thing-that-can-happen</id> <content type="html"><![CDATA[<p><a href="http://frontendbook.com/wp3/wp-content/uploads/2011/02/garage.jpg"><img src="http://frontendbook.com/wp3/wp-content/uploads/2011/02/garage-225x300.jpg" alt="" /></a></p> <p>You have probably read one of those Manager e-mails that go out once in a while in bigger organizations:</p> <blockquote><p>I am sorry to announce that John Doe has decided to leave Acme Inc and I wish him the best of luck taking on new challenges and opportunities.</p></blockquote> <p>It could mean anything of course, from John Doe is going to jail to John Doe got fired to John Doe has just decided to leave the building.</p> <p>I am leaving the building in a couple of weeks. I am not going to jail, I wasn’t fired, I just decided it was time to leave the building focusing on the stuff I have always wanted to focus on, building up my own company and trying to bring in enough money to keep me and my family running. The bills will still be there and I need to get up and running pretty quick.</p> <p>My findings in this process are more or less the same as I had when I decided 2 years ago that I was going to build our house myself. First there are a lot of brain ghosts you have to fight:</p> <ul> <li>What happens if [any threat you can think of]</li> <li>Maybe it is a stupid idea to [big project of any kind]</li> <li>I will never have it as good as I have now [panic in any way you see fit]</li> </ul> <p>The house stands on solid ground, we have a warm and nice house to live in, I wouldn’t say that it is 100% done, there are still things to fix and polish on but it is a functional house and it was one hell of a project to take on, but the project was of the kind I need, a project that mustn’t fail. What would have had happened if I in the middle of the house building project just gave up? We would be in a big mess on all levels. Those circumstances kept me going even though there were times during the project I did not sleep more than a couple of hours a night because of all the fears and thoughts about stuff that could go wrong. Thinking back, I cant see any item that went wrong, it just took another direction than I had expected, sometimes for the better, sometimes for worse, always more expensive though.</p> <p>Learnings from that is of course that you shouldn’t think on all the stuff that could go wrong because it is better to deal with problems when they occur and the worst thing that can happen is often manageable.</p> <p>I am now in front of a similar project, building my own business and taking my first steps moving away from the monthly salary life, but I try to have the house building project in mind and just focus on the stuff that I really need to do and try to actually solve the problems when they come or adapt if they are of the non-solvable type.</p> <p>I am going to get this stuff running, it is going to one hell of a ride and I hope I do not have to see any more Middle Management E-mail Templates being sent out about seeking new challenges after mine has been sent out in a couple of weeks.</p> <p>And by the way, I am always looking for people to work with in any way, starting stuff up, freelancing. Just pitch a good idea or project and I will listen.</p> <p>Until next time, just do it and think “What is the worst thing that can happen”</p> ]]></content> </entry> <entry> <title type="html"><![CDATA[Small jQuery plugin for Table of Contents]]></title> <link href="http://hising.net/2010/12/small-jquery-plugin-for-table-of-contents.html"/> <updated>2010-12-04T10:17:13+01:00</updated> <id>http://hising.net/2010/12/small-jquery-plugin-for-table-of-contents</id> <content type="html"><![CDATA[<p>I needed to create a ToC for a FAQ. I wrote a little jQuery plugin for it. Dead simple, no indenting or other magic, just creating anchors for headers, gets the job done.</p> <p>The Script: <a href="http://frontendbook.com/js/jquery.toc-1.0.js">http://frontendbook.com/js/jquery.toc-1.0.js</a></p> <p>Feel free to use, hate, extend or whatever.</p> ]]></content> </entry> <entry> <title type="html"><![CDATA[Follow @hising on Twitter]]></title> <link href="http://hising.net/2010/09/follow-hising-on-twitter.html"/> <updated>2010-09-24T09:48:37+02:00</updated> <id>http://hising.net/2010/09/follow-hising-on-twitter</id> <content type="html"><![CDATA[<p>I am moving my blogging more and more to Twitter (<a href="http://twitter.com/hising">@hising</a>) and other services such as Tumblr (<a href="http://awesome.hising.com">http://awesome.hising.com</a>) and Posterous and will only write longer posts on this blog in the future. However I post a lot of links and are available for discussions daily on Twitter, make sure you follow me (<a href="http://twitter.com/hising">@hising</a>) if you are interested in the stuff I have written about in this blog.</p> ]]></content> </entry> <entry> <title type="html"><![CDATA[10 reasons why Flash sucks]]></title> <link href="http://hising.net/2010/07/10-reasons-i-hate-flash.html"/> <updated>2010-07-12T18:42:35+02:00</updated> <id>http://hising.net/2010/07/10-reasons-i-hate-flash</id> <content type="html"><![CDATA[<h3>It just sucks</h3> <p>First reason is pretty easy. Flash just sucks.</p> <h3>It is not an open standard</h3> <p>Flash sucks, if it was open someone who actually know what they are doing could fix it. Now that is impossible.</p> <h3>It makes my computer sound like a tractor</h3> <p>As soon as I enter some website where they have had a 9 year old writing the code for their obtrusive ads my computer starts sounding worse than any mechanic machine I have ever seen or heard.</p> <h3>People do such awful things with it</h3> <p>Flash “developers” pollutes the web. They build things that hurt my eyes and make me angry. No one wants cool stuff, that is so multi-media. People want good services, build them with the right tools. Using Flash for building web is like building houses of papier-mache, it will look awful, be useless, fall apart and make the user angry.</p> <h3>Good Content are hidden</h3> <p>Lets say, hypothetically, that there would be a website where they had actually added some good content to a Flash implementation. It is impossible for me to find it using the Google on the interwebs! How could someone choose to build stuff in Flash?</p> <h3>It Breaks Conventions</h3> <p>Flash fucks up everything that a user has come to learn about navigation on the web when it comes to hyperlinks. Of course you can build that in Flash, hypothetically, but since there are no good Flash “developers” it just breaks conventions and frustrates users.</p> <h3>It takes too much resources</h3> <p>As there are no good developers developing on the Flash platform, all ads/crap-flash stuff kills any computer.</p> <h3>It is too common</h3> <p>It is everywhere and that makes it difficult for Google, MS and others to ignore it. The only company with a good approach is Apple who actually has started to show the web community that they do not plan to support flash anymore on iphone and ipad.</p> <h3>There are better alternatives</h3> <p>Build accessible HTML5-applications instead with graceful degradation. If you really need desktop functionality, for god sake, use some other solution than Flash. You should be able to use web technology for most of your needs, it is only a definition of support and accessibility for lesser browsers, something Flash “developers” have ignored anyway.</p> <h3>It is a private product</h3> <p>Adobe runs a business. They want to tie in as many users as possible. They do not care about the evolution of web technology. This is the main thing, they dont have to fix things as long as they can sell IDE:s and upgrade to new versions when they need better cash-flow.</p> <p>Flash must die. It just have to.</p> ]]></content> </entry> <entry> <title type="html"><![CDATA[TextMate and Transmit 4 Settings]]></title> <link href="http://hising.net/2010/05/textmate-and-transmit-4-settings.html"/> <updated>2010-05-13T23:35:56+02:00</updated> <id>http://hising.net/2010/05/textmate-and-transmit-4-settings</id> <content type="html"><![CDATA[<p>I upgraded to Transmit 4 a couple of weeks ago and I really missed the functionality I had setup on Transmit 3 and Textmate where I could double click any text file in Transmit and get it to open in TextMate with the functionality to save it back to the server on save. In Transmit 4 it seemed I was forced to use the built in editor even though I was sure I set everything up as on Transmit 3. But now I finally solved it, so in order to remember it myself and help anyone who may have the same problem, here is the solution.</p> <ol> <li><p>Go to <strong>Transmit >> Preferences</strong></p></li> <li><p>Choose the <strong>Files</strong> tab</p></li> </ol> <p><a href="http://frontendbook.com/wp3/wp-content/uploads/2010/05/Screen-shot-2010-05-14-at-08.02.44.png"><img src="http://frontendbook.com/wp/wp-content/uploads/2010/05/Screen-shot-2010-05-14-at-08.02.44-300x220.png" alt="Preference window for Transmit 4" /></a></p> <ol> <li><p>Make Sure TextMate is a Custom Editor</p></li> <li><p>Set TextMate to handle all file extensions</p></li> </ol> <p><a href="http://frontendbook.com/wp3/wp-content/uploads/2010/05/Screen-shot-2010-05-14-at-08.10.03.png"><img src="http://frontendbook.com/wp/wp-content/uploads/2010/05/Screen-shot-2010-05-14-at-08.10.03-300x206.png" alt="Textmate handling all file extensions" /></a></p> <p>Add it with the plus (+) if not available and set File Extension to (*). If already in your list of editors click the pen and do the same.</p> <ol> <li>Add the correct behavior</li> </ol> <p>Now Textmate will handle all types of files, you just need to make sure that Transmit 4 know what to do when you double click a file. In the same window choose <strong>Edit in External Editor </strong>in the <strong>Double Click Action</strong> drop-down. Voila.</p> <p><a href="http://frontendbook.com/wp3/wp-content/uploads/2010/05/Screen-shot-2010-05-14-at-08.16.28.png"><img src="http://frontendbook.com/wp/wp-content/uploads/2010/05/Screen-shot-2010-05-14-at-08.16.28-300x208.png" alt="Choosing double click action for transmit 4" /></a></p> <p>Together with the new Transmit Disk feature you will have a great and quick access to your externally located files.</p> <p><strong>Update</strong>:</p> <p>Got an e-mail as a response from Panic on this:</p> <blockquote><p>Sorry for the confusion. We’re going to expose the “edit all in this editor” functionality in a future version.</p></blockquote> <p>– xxx Panic Inc.</p> ]]></content> </entry> <entry> <title type="html"><![CDATA[Setting up a website with WordPress 3 in 10 minutes]]></title> <link href="http://hising.net/2010/05/setting-up-a-website-with-wordpress-3-in-10-minutes.html"/> <updated>2010-05-13T02:29:46+02:00</updated> <id>http://hising.net/2010/05/setting-up-a-website-with-wordpress-3-in-10-minutes</id> <content type="html"><![CDATA[<p>A good friend of mine is setting up a <a href="http://watchmeme.com">website about watches</a> and I think he has made a good choice of software for the site, he uses <a href="http://wordpress.org">WordPress 3</a> for the development of the site. I think he takes on a good way for a non-tech to solve the evolvment of a website. Start with a lot of content, add functionality, create better searchability/findability and usability as you go. WordPress 3 will make it easy to create great landing pages for things such as <a href="http://watchmeme.com/garmin/barefoot-running-and-garmin-gps-watches/">barefoot running with garmin gps watches</a> because of WordPress 3’s ability to support custom taxonomies and <a href="http://net.tutsplus.com/tutorials/wordpress/10-features-to-look-forward-to-in-wordpress-3-0/">more good stuff</a> will make it possible to gradually create a better user experience with websites such as my friends. With WordPress 3 WordPress is turning into a CMS-platform and less a blogging platform. And it is just a 10 minute work getting up and running, even the <a href="http://2010dev.wordpress.com/">default theme Twenty Ten</a> is looking great! Keep up the job Dave, and if you need help, call me.</p> ]]></content> </entry> <entry> <title type="html"><![CDATA[Weekly Links and Comments]]></title> <link href="http://hising.net/2010/02/weekly-links-and-comments.html"/> <updated>2010-02-28T05:38:44+01:00</updated> <id>http://hising.net/2010/02/weekly-links-and-comments</id> <content type="html"><![CDATA[<h3>Mad Libs Increase Form Conversions with 25-40%</h3> <p>This week saw a lot of discussion on “Mad Libs” on how conversion for forms could increase dramatically by using forms with inline elements and a narrative format. L<a href="http://www.lukew.com/ff/entry.asp?1007">ukeW writes about a test</a> where vast.com saw an increase in form conversions with 25-40%</p> <blockquote><p>Ron and his team ran some A/B testing online that compared a traditional Web form layout with a narrative “Mad Libs” format. In Vast.com’s testing, <strong>Mad Libs style forms increased conversion across the board by 25-40%</strong>.</p></blockquote> <p><a href="http://www.lukew.com/ff/entry.asp?1007">Read the full article on LukeW’s blog</a>.</p> <h3>Mad Libs Do Not Increase Form Conversions</h3> <p>A guy named Patrick McKenzie <a href="http://www.kalzumeus.com/2010/02/27/lesson-from-madlibs-signup-fad-do-your-own-tests/">tried the Mad Libs technique on a form</a> and came to the conclusion that in his case with his users, the result was the opposite. I think that he has a point in that you must test on your users and not just listenting to “facts” from others. But to be honest he could have set his test up better. The best thing with this post is the comments.</p> <p><a href="http://www.kalzumeus.com/2010/02/27/lesson-from-madlibs-signup-fad-do-your-own-tests/">Read the full article at Patrick McKenzie’s blog</a></p> <h3>Buzrr</h3> <p>A colleague of mine, <a href="http://hette.ma">Dennis Hettema</a> has released a Google Buzz Aggregator/Counter named <a href="http://buzrr.com">buzrr</a> that makes it easier to find trending and popular topics posted on Google Buzz. There are some tools as well for integration into you website. Interesting to see where this is heading. Good Job Dennis!</p> <h3>How to get better at UI Design</h3> <p>I found this good article at http://ui-patterns.com on <a href="http://ui-patterns.com/blog/How-to-get-better-at-UI-design">how to get better at UI design</a>. It categorizes parts of the job needed to build and design better UI’s.</p> <h3>Make sure you follow me on Twitter</h3> <p>I post links each and every day with focus on User Experience and Web Development on my two twitter accounts, make sure you follow me there: <a href="http://twitter.com/uxs">@uxs</a> and <a href="http://twitter.com/hising">@hising</a>. UXS is more focused on design, user experience and usability while hising is more on web development in general and somewhat more personal. See you on Twitter!</p> ]]></content> </entry> <entry> <title type="html"><![CDATA[Search - Still the Next Killer Application]]></title> <link href="http://hising.net/2009/12/search-still-the-next-killer-application.html"/> <updated>2009-12-21T08:08:04+01:00</updated> <id>http://hising.net/2009/12/search-still-the-next-killer-application</id> <content type="html"><![CDATA[<p><a href="http://frontendbook.com/wp3/wp-content/uploads/2009/12/search.jpg"><img src="http://frontendbook.com/wp/wp-content/uploads/2009/12/search-150x150.jpg" alt="" /></a>I had a really interesting workshop/discussion the other day at work, discussing how to integrate tags as a way to visualize a vast selection of services we offer. The more I thought about it, the more I came to the conclusion that building the perfect service is a two way rocket, first you find ways to create a lot of content/instances of services that is interesting to your customers. By doing this you will grow for sure, as long as the content you provide, or enables users to provide, is of interest and good quality. People are dragged to good content like flies to …, yeah you know. But what happens when you have 3 billion units of your content, how do you make sure that your customers can actually find all the good content you (or someone else) provide. It is a big risk that they only find the top layer and you as a service/content-provider do not offer as good service as you could if you could show all the things that is a possible match to your customer. In order to actually make use of all your content, you must make it findable. How do you do that? Maybe you just build your website according to Google guidelines and hope that the traffic you build is enough for actually getting both the “premium keyword”-traffic and the “long-tail”-traffic. But what about the people that is actually already converted and fancies your service/content? How do you go about building a service that helps your customers finding the bits and pieces that they never will find using Google, but that would serve you a great value as service provider if they did? I do not think user generated content is the killer application until search has become an even better killer application. You must be able to find all the content that is generated, and in this article I will share my ideas on what I think will make search the ultra killer application used right and enable you to actually make use of ALL the content you have. Search, findability and visualization of data is the number one competitive advantage when you act on a market where the competition is fierce and the content items comes in large numbers.</p> <h3>Tags</h3> <p><a href="http://frontendbook.com/wp3/wp-content/uploads/2009/12/tags.jpg"><img src="http://frontendbook.com/wp/wp-content/uploads/2009/12/tags-150x150.jpg" alt="" /></a>Tags are widely used today in social media and user generated content websites. Tags can be used for an individual to store content logically according to tags the user finds suitable for the content. The cool thing is that the more tags content get from different users, the more diversified and findable it gets because you can use these tags to create navigational solutions such as tag clouds, recommendations based on your most used tags and pushing otherwise hidden content to users that may be interested of things tagged in a special way. Tags are a blessing for finding content, but not always that easy to use, the user actually has to tag the content, that could be a hurdle for a lot of users, it is therefore important to make it easy for the user to tag content, the effort has to be the bare minimum. In order to make this hurdle even smaller, I suggest that you show examples on what other people tagged the content as and possible tags that may suit the content (based on software estimation)</p> <h3>System Tagging</h3> <p><a href="http://frontendbook.com/wp3/wp-content/uploads/2009/12/system.jpg"><img src="http://frontendbook.com/wp/wp-content/uploads/2009/12/system-150x150.jpg" alt="" /></a>When adding content to your system, making it available for your users to interact with, why not automatically tag it and enable a better findability for your content to your users. Typical methods that could be used for extracting these tags could be term extraction, that is extracting entities from the content such as places, names and things that occur in the content. By doing this you get the advantages of tagged content, but you do not only have to trust your users to add the tags, the system takes care of some of the work. This way you can offer a solution to tagged content without having an enormous user base that takes care of your content and tagging it. The good thing with tags is that you do not have to know where you are going with your system when you introduce tags, tags are chaotic and there are absolutely no problem adding more type of tags while the product evolves. If you work with categories or other single-man-made taxonomy you may run into trouble when your content grows and the needs for re-categorizing is increasing.</p> <h3>User Tagging</h3> <p><a href="http://frontendbook.com/wp3/wp-content/uploads/2009/12/rating.jpg"></a>Let the user tag everything, it is good for the user, other users and for your business. It must however, more or less, be effortless to add tags and you have to, preferably intuitively, show the user why tagging is a good thing for him/her. If the user sees no reason for tagging, why would she? A typical way of using tags is to making them clickable in order to find related content. So in order to give the user the incentive to add tags, show how the content is tagged and add an option for the user to add more tags describing the content. Give the user help while they adding tags, maybe remembering old tags the user has added.</p> <h3>Ratings</h3> <p><a href="http://frontendbook.com/wp3/wp-content/uploads/2009/12/rating.jpg"><img src="http://frontendbook.com/wp/wp-content/uploads/2009/12/rating-150x150.jpg" alt="" /></a>Rating content is an interesting topic. You have probably seen everything from small forms for rating to just a thumbs up. Depending on what type of content you have and what type of search you would like to offer to your customer, different types of ratings may be more or less suitable to your solution. It is like setting up a democratic system, depending on how you ask and setup the rules for voting, you will have different outcomes. And depending on outcome you can use the result differently. A system based on the Facebook-like-functionality only indicates whether or not an item has a value to one or many users, while more sophisticated rating-systems can be used to find exactly what you are looking for in a large set of data (products in example). As with tagging, in order to make a rating system valuable for finding new products, the efforts of rating the product must be just enough, or if somewhat time consuming very rewarding to the end user. If the efforts needed for rating are too high, you will have lower frequency on voting users and therefore also a worse product than if the rating system were a tad bit easier.</p> <h3>Long-tail</h3> <p><a href="http://frontendbook.com/wp3/wp-content/uploads/2009/12/long-tail.gif"><img src="http://frontendbook.com/wp/wp-content/uploads/2009/12/long-tail-150x150.gif" alt="" /></a>If you have a large set of data or content that you are offering to your customers, it is of great interest to offer solutions to your customers that makes them not only find the most popular stuff, but also the more very specific items that may be of interest to them. This type of content consumption is called long-tail because there are few items bought of many instances. Companies such as Amazon found out that their long-tail approximately stands for x% of their earnings. The good thing with long-tail offerings is that being online lets you scale cheaply, and having an extra item for sale does not imply the same extra costs as it would in real life with bigger warehouses. So when you have the big set of content to offer to your customer, you should find ways to let them find even the not-so-popular items in your data sets as long as it suits their needs. Tools such as tags, recommendations and user-to-user can help you achieve this long-tail findability online. A complete user-centric search solution must be designed in such a way that it makes it easy to find content that are just not the most popular. You, as a user, must be able to find things that are what you are looking for, even though not so popular. Long-tail findability will create an explorative user experience where users actually feel like they stumble upon content they feel they would never have found if you have not handed them the solution to do so.</p> <h3>Semantic and Personalized</h3> <p>What does the user actually mean when he searches for something? When he writes “Thailand Weather” is the user doing it because he/she is:</p> <ol> <li><p>going on vacation to Thailand</p></li> <li><p>doing research on how the weather is changing due to global warming in eastern Asia?</p></li> <li><p>has just woken up in a hotel room in Bangkok, and needs to know the weather in detail for the day.</p></li> </ol> <p>In order to offer the best possible search solution to your customers you should be able to better understand what the user actually means when he/she tries to find answers to their problems in your content. This is a major task, and often the meaning of something is closely connected to the person it self. In the above case, things such as search history, personal profile and geographic location could act as entities making the search a little more semantic and personalized for the user. There is probably a thin line to walk here as something that is really personalized may trigger personal integrity questions for the user. I would suggest that you carefully measure and ask your customers on the personalized features you add to your search in order to not break the thin line were it gets scary for the user, when they realize how much you actually know about them. Even if Internet is not anonymous, maybe it is important to serve that feeling to the user to some extent. Another suggestion is to make these features possible to turn off in some way, or at least describe why and how you know all these things about the customer and how it benefits the customer.</p> <h3>Real-time</h3> <p><a href="http://frontendbook.com/wp3/wp-content/uploads/2009/12/atom-clock.jpg"><img src="http://frontendbook.com/wp/wp-content/uploads/2009/12/atom-clock-150x150.jpg" alt="" /></a>Twitter took “real-time” to search. Now you do not have to wait 15 minutes or more for the big newsdesks to give you the latest info on what is happening. The problem is that rumors spreads faster and that you have a hard time verifying the truth factor of the things that actually happens real-time. So in order to offer real-time search and give value to the customer, you should have a product that has content constantly added and you feel that it is possible for you to actually find things that may suit your users as they happen. If you offer real-time search and the things you throw at your users do not match their expectations, don’t do it. Content Portals, Gaming Platforms, Newspapers and likes are products that would benefit most from having high quality real time search, that way they can sell whatever is created directly and hopefully increase the chance of creating a better margin on your revenue.</p> <h3>Recommendations</h3> <p>People like to buy stuff other people have bought. People like to buy stuff other people like them have bought. People like to buy stuff that people they look up to have bought. People like to buy things that are similar to things they already like. People like to discover things that are similar to things they already bought and liked. People like to get pointed in a direction when the supply of choices are huge. There are some companies that focus a lot on recommendations when it comes to help the user find more products in their database and to up-sell. Two companies that do this really good is Netflix and Amazon. I believe that this is the next commodity-functionality we will see across almost all online products that offer a big range of products to their end user. The value to the customer and thereby the daily incomes are far to big to not act upon. Today we see recommendations for books, music and movies, but no doubt that the algorithms for selecting products that fits the end user will grow in a lot of different product areas. Today it is very easy to start using recommendation on your online product, there exists different open source libraries that lets you integrate a powerful recommendation engine into your existing product database. An example is the powerful library Voogo running on PHP that is very easy to setup. Today we see websites that are built upon the concept of recommendation; Last.fm and another good example is the swedish site http://iglaset.se, where people can rate and get recommendations for beers, wine and liquors. Spotify has a lot of clickability to thank for the recommended similar artists. ITunes uses Genius to help people find new music based on their music library, and of course to up-sell. Recommendations are really a win-win solution for businesses and customers. If you look at social networks such as Facebook and LinkedIn they use recommendations as well. They ask if you maybe know this person. And they recommend on further actions you can take to further enhance the user experience of the service. There is no end to how you could utilize such a powerful tool as recommendations for your online service.</p> <h3>User-to-user</h3> <p>If all systems fail delivering the answer to a question, why not use other persons to help finding the right answers. This way you can take more detailed and complex questions to your system and have real persons answer them. Today there are some services that offer this kind of help (answers.yahoo.com, answers.com) and of course a lot of big brands offer forums and communities. Another part of user-to-user interaction could be crowdsourcing. Crowdsourcing is the combination of the words crowd, a lot of people, and outsourcing, letting someone else do the job. Lets say you would like to find a book on Amazon that has unicorn on its cover but not in the title or description. Why you would want such a thing is strange, but never the less, how would you go about finding it? It is a time consuming job trying to find it but if 10,000 people did the same search somewhat structured you could probably have your unicorn cover in less than an hour. In order to make this work, you got to give the user incentives to help, either money, status or fun. Google make use of crowdsourcing for labelling images in their image search. They have set up a game (http://images.google.com/imagelabeler/), two persons get shown the same image and they start to tag it. When they tag the image with the same tag, they are shown a new image to tag. This way, people get to play and Google gets better meta-data for their images.</p> <h3>Customer Support</h3> <p><a href="http://frontendbook.com/wp3/wp-content/uploads/2009/12/customer-support.jpg"><img src="http://frontendbook.com/wp/wp-content/uploads/2009/12/customer-support-150x150.jpg" alt="" /></a>Sometimes when you are lost, human help is the only thing that will actually help you find answers to your problems. Why not offer your customer a channel where they can communicate and find what they are looking for by communicating with real people? People cost more than software solutions, but, maybe there are problems that are worth finding solutions to guided by a dedicated customer support. What values do a Customer Support channel serve that software solutions for search do not?</p> <h4>Authority</h4> <p>Customer Support offers authority, they are the company, and the answers you get from them are official answers from the company.</p> <h4>Trust</h4> <p>Sometimes it is difficult to trust the information you get by searching and finding solutions yourself and contacting the official Customer Support offers you as a customer a channel where trust is the key thing they deliver. If Customer Support says that the plane takes off at 1900 on monday, then I trust them more than the table that the company has on their website. Why? Because a human said so.</p> <h4>Integrity</h4> <p>For some people it is easier to go through personal information where integrity is key, together with dedicated personell. Some people still go to banks for some errands even though it is possible to solve these things interactively online. Why? Maybe because they believe that some things are to sensitive to handle for computers and software (even if the customer support probably uses the same tools as are available online), and the feeling of having another official person handling it makes the customer feel more secure.</p> <h4>Verification & Sanity Check</h4> <p>Sometimes the answers you get from the software solutions available doesnt make sense, maybe you get different information from different sources and you as a customer really feel that you would like to know what is the correct data. Then Customer support can act as a channel for verification of data/sanity check. They may not have the answer immediately, but they can take on the role of finding the solution for you.</p> <h3>Conclusion</h3> <p>The more content you have to offer your customer, the better functionality you need to give them for finding the information/products/content that fits their need. In this article I have discussed and shared some ideas on how you can apply search in order to give your users a better user experience.</p> ]]></content> </entry> <entry> <title type="html"><![CDATA[What Are Spotify Doing Right?]]></title> <link href="http://hising.net/2009/12/what-are-spotify-doing-right.html"/> <updated>2009-12-02T05:54:47+01:00</updated> <id>http://hising.net/2009/12/what-are-spotify-doing-right</id> <content type="html"><![CDATA[<p><img src="http://frontendbook.com/wp/wp-content/uploads/2009/12/spotify_logo-150x150.jpg" alt="spotify_logo" />I really like Spotify and I was wondering why I like it and what they are doing well and they could do better in order to become a better product and actually start making money.</p> <h3>3 Different Models for Entering</h3> <p>Spotify created a big buzz when released making people shout out in forums for invites to the new music service that lets you stream almost any music. This helped Spotify grow in a controlled manner AND get a lot of attention as people wants to feel special, that is either knowing peers that can share invites or be a peer that controls how invites are shared. But, it would be stupid to just offer enter via invites. As long as you have a good product, someone are willing to pay for.</p> <p>The free account, which you get via invites is financed with commercials, jingles between songs (every 20 minutes or so) and banners in the client.</p> <p>Spotify offers two different types of payed accounts, one where you pay per day, this is a way for the customer who is running the free version to test the full version for one day. This way the customer gets to touch the premium version for a small fee (9 SEK, approx $1.25). The second payed account is the monthly subscription, where you get all the extras available and no commercials for a monthly fee of 99 SEK ($14). For 99 SEK you get higher bitrate, possibility to use the mobile client, having music available while offline, more invites and some other fringies.</p> <h3>Big partners</h3> <p>Spotify has teamed up with the big players in music, but also with big partners for making their service known. In example Bredbandsbolaget/Telenor offers customers who use and pay for their services to get Spotify (the free version), this is a way for people who do not wanna pay, do not have the contacts to get invites, but still wanna play with the toy because they may have heard about the product.</p> <h3>Premium means premium</h3> <p>Premium members who pay the monthly fee gets better bitrate when listening to music, possibility to use Spotify on their iPhone or Android-enabled phone. They also get invites to share and special offers when tickets for interesting concerts are released etc. They get the possibility to actually make the music available offline (perfect for a flight or mobile users with a subscription plan where data is expensive)</p> <h3>Mobile</h3> <p>Bringing all the music you could think of when you travel by car, going to work, are having a workout or when you are on vacation is a killer application (the nineties called and wanted that saying back). What is even better is that in order to not kill any data-transfer-limit you might have on your mobile subscription, it is possible to sync music via WLAN to your mobile phone, making sure that you do not end up paying to much for the use of Spotify. Today there are clients for iPhone, Android-phones and some Symbian phones as well. There is talk on clients being developed for more mobile platforms.</p> <h3>Personalized and travel friendly</h3> <p>Why do everyone want one account? Couldn’t a family share an account? Of Course they could. But music as a product is very personal and the product Spotify easily lets you personalize your music experience people feel they want their own account and if they want to have some playlists in common they can always share their playlist and even make it collaborative.</p> <h3>Community without a Community</h3> <p>Spotify has one of the biggest communities right now. There are numerous sites out there who offers extra functionality for Spotify customers by letting users share and use playlists. And they do not even have an affiliate program!</p> <h3>Suggestions, Shared Playlists and Ever growing music catalogue = Sticky</h3> <p>The thing with Spotify is that it is growing more and more sticky, the more tools people get to share music in Spotify the more stickier it gets. Today we see people sharing playlists peer to peer, in groups or externally on dedicated websites. This combined with an ever growing catalogue that is pushed on the dashboard will of course make the content and product more and more sticky. I think the solution of actually enabling sharing via standard http-links is exceptionally smart, because if a user who gets the url do not have the product installed, he/she can be offered to buy it, this is something that more products could make use of.</p> <h3>API</h3> <p>Spotify has an API for Premium members (libspotify). This enables integration of Spotify into other solutions, such as websites or desktop applications. The API is a C lib and as such the audience may be smaller than if the API had offered other solutions for integration. But an API is still something that enables Spotify as a product to find distribution ways beyond their own desktop and mobile clients.</p> <h3>Brand Awareness</h3> <p>Creating a new brand is expensive, but now and then someone manages to create really strong brand awareness by offering a product that do not need traditional marketing. Traditional Marketing is often what makes brand awareness something really expensive. Spotify has managed to create a really strong brand within a really short period of time. I am absolutely sure that the somewhat odd name has enabled a better brand awareness than for example the product name had been something of a more generic music keywords.</p> <h3>What could Spotify do to earn more money</h3> <p>I am not sure that Spotify is such a success yet when it comes to make money, but they have the possibility to earn a lot of money as they have a good product, a large user base and the best content you can have. I have listed a couple of things Spotify could do in order to start earn more money and eventually showing positive numbers.</p> <h4>Affiliate Program & Revenue Sharing</h4> <p>Give affiliates 15% of all future revenue generated or a good CPA-deal ($50) for every single user they push into actually start paying for Spotify. This way combined with an open API, Spotify would see a lot of creative ways to use their content and drive traffic back to their product. The good thing with affiliation deals is of course that you only pay for actual paying customers and you leave the marketing efforts to the affiliation. This is a must have from my point of view. Gambling Sites, Amazon and likes would not be the money makers they are without the strong focus on Affiliation.</p> <h4>Sell extras (Lyrics, Genius)</h4> <p>People love music and are willing to pay in order to get something you cant have for free. What can Spotify offer more than mobile clients, offline mode, higher bitrate and more invites for paying customers? I think that selling packages that upsells 5-10% is a way to go. Like the telecoms do with their extra services (answering machine, number presentation etc). I would gladly pay an extra dollar a month to get hold of the lyrics to the music I am listening to. Why not offer the Genius (iTunes) functionality as an account upgrade for $1/month. In Apples case Genius is about upselling similar music and in Spotify’s case maybe an extra dollar a month for such a functionality would suit the product better.</p> <h4>Extended API</h4> <p>Open up the API to all developers and offer not only a C-lib, make sure Web Developers, iPhone and Android developers can integrate their applications with the communication solution that suits their needs best, that will make the third party applications driving traffic back to Spotify explode. Combined with affiliate programs it would for sure help development of smart products we are yet to explore. Create a big development community around the product, I think that we could be amazed what people actually are able to do when they have open API:s and the possibility to earn a dollar or two.</p> <h4>Bundle Premium in other subscription plan</h4> <p>Create subscription plans together with telecoms, broadband, TV-companies where the premium account is bundled into the main product, this could enable users who otherwise do not pay for music, to actually pay for it as those products have an history of actually getting paying customers. The other good thing is that is a win-win situation for Spotify and the company they work together with. Spotify gets a large user base to offer their product to and the companies joining forces with Spotify can differentiate their product offering by adding the hyped product Spotify to it. Lets face it, Spotify must get the ordinary people to pay, otherwise it will be difficult to actually show good numbers, this could be a good way.</p> <h4>Play in Facebook</h4> <p>Today it is difficult to share a song on Facebook. Often a link to Spotify or a video from YouTube is used. Enabling integrated playback in Facebook news stream would make Spotify become the number one service for actually listening to music. The absolutely best thing would be that Facebook recognized spotify urls (http or spotify:) and automatically embedded a Spotify Player in the stream as it does with posted Youtube clips.</p> ]]></content> </entry> <entry> <title type="html"><![CDATA[You Know You Are Doing Things Right When...]]></title> <link href="http://hising.net/2009/11/you-know-you-are-doing-things-right-when.html"/> <updated>2009-11-16T04:04:34+01:00</updated> <id>http://hising.net/2009/11/you-know-you-are-doing-things-right-when</id> <content type="html"><![CDATA[<ul> <li><p>more and more people start to use your product, but you are not doing any direct marketing</p></li> <li><p>people who look like movie stars start to send in their fake CV:s to you</p></li> <li><p>you actually enjoy what you are doing</p></li> <li><p>you use the tools that solves the problem</p></li> <li><p>you actually deliver user value after each sprint</p></li> <li><p>agile is not a process, it is how you actually work</p></li> <li><p>people who speaks of ITIL automatically have to work one week with replying to movie stars.</p></li> <li><p>hierarchy is a word you learned about the hard way at your previous work</p></li> <li><p>you enhance the user experience and listen to the actual users</p></li> <li><p>architecture is part of everybody’s work, not a title</p></li> <li><p>usability is part of your customer experience focus and a responsibility of all involved in the product, not a title or expert role</p></li> <li><p>there are no titles</p></li> <li><p>the people you see when looking up are the actual people you work with</p></li> <li><p>you tune the user experience, not trying to revolutionize it</p></li> <li><p>people do high-fives and shout out over solved problems</p></li> <li><p>middle management still works at Ericsson</p></li> <li><p>you can do live changes, but choose not to</p></li> <li><p>you trust the people working with the product and do not need guidelines and processes for everything</p></li> <li><p>people who do not fit in the group is not promoted, they are either fired or feel that they should try new challenges</p></li> <li><p>you say yes more often than no to new ideas</p></li> <li><p>you really, really, really love your product and the ones using it</p></li> <li><p>you have a feeling that you are privileged to work with what you like and still get money for it</p></li> <li><p>you can try one thing and if it do not work out, change it back</p></li> <li><p>all who work at the office have admin rights on their computer</p></li> <li><p>you answer the question “What type of organization are you?” with “Rock and Roll”</p></li> <li><p>the people who work at the bank office next to your office looks at you in a way that indicates they do not like you and your type</p></li> <li><p>everyone has full insight in the numbers of your product</p></li> <li><p>everyone has equal shares of the company</p></li> <li><p>people come to work and share a new idea, every day</p></li> <li><p>creativity is part of your work, not the responsibility of a group of people</p></li> <li><p>people work in the projects they prefer to work in and can easily change projects if they do not enjoy the current one</p></li> <li><p>there are no meetings, you solve things with the people you work with on a daily basis, both short- and long-term solutions</p></li> <li><p>you celebrate records and highlight achievements on a regular basis</p></li> <li><p>there is only one level in the organizational hierarchy</p></li> <li><p>up to 20% of every employees working time is spent on R&D</p></li> <li><p>“corporate” is a swearing word</p></li> <li><p>Microsoft has nothing to do with something that actually is in proximity to your core business</p></li> <li><p>Oracle has nothing to do with something that actually is in proximity to your core business</p></li> <li><p>you are using a well tested and stable Open Source technology stack</p></li> <li><p>you contribute to Open Source projects</p></li> <li><p>there are a good mixture of people from different background, country, age, sex and experience</p></li> <li><p>people decorate the walls and the desks with things they like</p></li> <li><p>salary, benefits and friday beers are not the stuff that make you stay at the company</p></li> <li><p>pragmatic is not a word, it is how you actually solves things</p></li> <li><p>SWOT-analysis is something they do at the bank office next to you</p></li> </ul> ]]></content> </entry> </feed>