<?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>Martin Kleppmann at Yes/No/Cancel &#187; event report</title>
	<atom:link href="http://www.yes-no-cancel.co.uk/category/event-report/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.yes-no-cancel.co.uk</link>
	<description>Entrepreneurship, web technology and the user experience</description>
	<lastBuildDate>Mon, 30 Aug 2010 23:36:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>10 Crucial Questions for B2B Startup Founders: A Workshop at Business of Software 2009</title>
		<link>http://www.yes-no-cancel.co.uk/2009/11/18/10-crucial-questions-for-b2b-startup-founders-a-workshop-at-business-of-software-2009/</link>
		<comments>http://www.yes-no-cancel.co.uk/2009/11/18/10-crucial-questions-for-b2b-startup-founders-a-workshop-at-business-of-software-2009/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 15:37:35 +0000</pubDate>
		<dc:creator>Martin Kleppmann</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[event report]]></category>
		<category><![CDATA[bos2009]]></category>
		<category><![CDATA[business planning]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[sales]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://www.yes-no-cancel.co.uk/?p=331</guid>
		<description><![CDATA[I have a confession to make. We started a company, developed a product and got hundreds of people using it &#8212; but we still don&#8217;t know where the product is actually going. Ok, the elevator pitch is pretty straightforward: Go Test It helps web developers to test automatically whether their site works correctly in different [...]]]></description>
			<content:encoded><![CDATA[<p>I have a confession to make. We started a company, developed <a href="http://go-test.it/">a product</a> and got hundreds of people using it &#8212; but we still don&#8217;t know where the product is actually going.</p>
<p>Ok, the elevator pitch is pretty straightforward: <a href="http://go-test.it/">Go Test It</a> helps web developers to test automatically whether their site works correctly in different browsers. The technology works well and lots of people are using it successfully.</p>
<p>But how much does that really tell us? Is it really the web developers who need us, or should we aim at the testers, the user experience managers, the web content administrators, or the sysadmins? Are those people in big enterprises, small web consultancies or are they freelancers? Do they use PHP, Ruby on Rails or ASP.NET, and which JavaScript framework to they use? Do they have a dedicated QA team or do the developers do the testing themselves? Does their work have to be signed off by a client or are they doing it for themselves? How do they currently test their application, and how would we fit into their workflow? Do they develop websites for a particular industry, e.g. education, finance or healthcare? Do they need a big consultancy contract, do they require the product to be customised, or do they just want a straightforward self-service sign-up over the web?</p>
<p>It is simply not possible to serve all different market segments and niches at the same time. You&#8217;ve got to choose: resources are limited, and you&#8217;ve got to pick your battles wisely. But I am guilty of not properly thinking through the segmentation and figuring out the best way of targeting a particular niche.</p>
<p style="text-align: center"><a href="http://www.flickr.com/photos/jmpk/4102424024/"><img src="http://www.yes-no-cancel.co.uk/wp-content/uploads/2009/11/joel_bos2009.jpg" alt="Joel Spolsky at Business of Software 2009. By John of Austin on Flickr; Creative Commons." /></a></p>
<p>For the <a href="http://www.businessofsoftware.org/">Business of Software 2009</a>, Joel Spolsky <a href="http://www.joelonsoftware.com/items/2009/09/02.html">organised three startup workshops</a> aimed at covering the main areas of difficulty faced by software and web startups: marketing, product pricing, and finding your first 100 customers. Exactly those areas in which I am guilty of negligence.</p>
<p>Neil Davidson and Simon Galbraith of <a href="http://www.red-gate.com/">Red Gate</a> were in charge of the &#8220;finding your first customers&#8221; workshop, and they asked me to help them design the workshop. Since my startup is one of the companies in <a href="http://blog.businessofsoftware.org/2009/08/the-accidental-incubator.html">Red Gate&#8217;s &#8220;accidental incubator&#8221;</a>, and it&#8217;s at the stage of finding the first 100 paying customers right now, Neil and Simon suggested that we use Go Test It as a case study for the workshop.</p>
<p>What we wanted to do is to ask a number of key questions about the market positioning of a product and aspects of the sales process &#8212; crucial questions for startup founders, but also questions which are easy to ignore if you focus too much on the technology. By discussing a case study in the workshop, the participants could practise thinking about and answering these questions in a fresh and unfamiliar context, and develop tools and techniques which they can apply in their own companies. We chose questions that are relevant to any early-stage B2B software company.</p>
<p>The workshops worked out really well, and so we would like to release the materials we created for this workshop under a <a href="http://creativecommons.org/licenses/by/2.0/uk/">Creative Commons license</a> and make them available to startups everywhere. You can <a href="http://www.yes-no-cancel.co.uk/wp-content/uploads/2009/11/bos-worksheet.pdf">download the worksheet (PDF)</a>. I have also written up <a href="http://www.yes-no-cancel.co.uk/2009/11/17/running-a-workshop-for-startup-founders/">how we structured the workshop and what we learnt in the process</a>.</p>
<p style="text-align: center"><a href="http://www.yes-no-cancel.co.uk/wp-content/uploads/2009/11/bos-worksheet.pdf"><img src="http://www.yes-no-cancel.co.uk/wp-content/uploads/2009/11/bos-worksheet.png"/></a></p>
<p>Below I have added some notes to clarify what we mean with each of the questions. I give several illustrative answers for each, but please remember that they are <b>not multiple-choice questions</b>. The whole point of the exercise is that you come up with your own answers!</p>
<ol>
<li>
<p><b>Sales objective: what are you hoping to get out of your customers?</b></p>
<p>At first sight this seems a pointless question: of course you want your customers&#8217; <b>money</b>! However, think about it a bit harder. Maybe getting some great <b>case studies</b> and <b>testimonials</b> is worth even more than the money, because they will help attract more of the right sort of customers. Maybe you really want <b>feedback</b> to help improve the product (feedback from paying customers is worth much more than feedback from free-riding users, because paying customers really care!), or maybe you want to <b>learn about the sales process</b> &#8212; what does your customer&#8217;s org chart look like, what are their key external relationships, and who are the key people you need to get onto your side? The things you can learn from a customer are potentially worth a lot more than the cash they hand over to you.</p>
</li>
<li>
<p><b>What is the pain point addressed by the product?</b></p>
<p>A standard question, but worth revisiting from time to time, because the answer may not be as obvious as you think. In the case of Go Test It, the obvious answer is <b>&#8220;needing to make sure that the site works in all browsers&#8221;</b>. But ask yourself: why does it need to work in all browsers? To <b>provide a good experience to all users</b>, so that they continue using your site even if they are using an obscure or buggy browser? Or maybe it&#8217;s a matter of <b>meeting a compatibility warranty</b> given to a client, or passing certain <b>acceptance tests</b>? Is it a tool for people to <b>cover their back</b> within their organisation?</p>
<p>Or maybe the customers currently do manual cross-browser testing, and their real pain point is actually the <b>release cycle duration</b> (very slow in manual testing), or the <b>staff requirement</b> (manual testing is too expensive), or <b>staff motivation and turnover</b> (manual testing is repetitive and boring, leading to low job satisfaction)?</p>
</li>
<li>
<p><b>What is the sales process?</b></p>
<p>Startups often worry a lot about marketing (figuring out who to target and how to get on their radar), but neglect the following step: now that you&#8217;ve got people&#8217;s interest, how do you convert them into paying customers? Giving them a <b>form to enter their credit card number</b> is well and good, but what about people who trial the product but never quite get round to signing up to the paid version? Will some <b>follow-up emails</b> be sufficient, or do you need <b>telesales people to get on the phone</b> and talk to the customers? Do the customers require <b>help importing their data into the system</b> or even an <b>integration project</b>? Maybe you need to give <b>demos or seminars at customers&#8217; premises</b>, or even learn to <b>play golf</b>?</p>
</li>
<li>
<p><b>What do you want your marketing to achieve, and how could you measure it?</b></p>
<p>Your end goal is probably &#8220;get lots of paying customers&#8221;, but there are various possible intermediate goals along the way. Depending on your strategy, different things may be important. Do you want to <b>maximise the number of free trials</b> to which people sign up, or the <b>number of newsletter signups</b>, the number of <b>Twitter followers</b> or <b>community members</b>? Or would you rather focus on a small number of customers and optimise for <b>high-quality leads</b> and maximise <b>level of usage</b>? Do you want to go &#8220;viral&#8221; and maximise the <b>number of referrals</b> from each customer while minimising the <b>time to referral</b>?</p>
<p>Intangible but maybe equally important aspects of marketing might be promoting a <b>positive brand image</b>, building a <b>good reputation</b>, and encouraging users to <b>become passionate evangelists</b> for the product. You might still try to measure these kinds of things by <b>monitoring Twitter</b> for keywords and <b>informal surveys</b>, but they are difficult to measure quantitatively. Whatever you want your marketing to achieve, remember that your resources are limited, and hence you should probably focus on two or three achievable and measurable goals.</p>
</li>
<li>
<p><b>What will you do to achieve your marketing goals?</b></p>
<p>This is a question about marketing channels: how are you going to get noticed? <b>Social media and online communities</b>, comprising blogs, Twitter, LinkedIn, Facebook etc. are probably the most hyped these days, and for some market segments they are indeed an excellent marketing channel. But you could also consider <b>networking</b> in the right circles, <b>PR</b> (including connecting with influential bloggers and getting them to write about you), attending <b>conferences and trade shows</b>, creating <b>publicity stunts</b>, <b>competitions</b> and much more. Hey, even <b>advertising</b> isn&#8217;t dead yet.</p>
</li>
<li>
<p><b>How will you allocate money and time over the next 3 months?</b></p>
<p>This does not have to be a detailed budget, but a quick sketch of a pie chart will help you to think consciously about your priorities and make them actionable. How much of your resources should be allocated to engineering, sales activities, various marketing channels, learning from customers, etc.?</p>
</li>
<li>
<p><b>How will you price the product?</b></p>
<p>It&#8217;s easy for engineers like me to spend a lot of time thinking about pricing, because it&#8217;s more within our engineering comfort zone than most of the other questions on this worksheet. Yes, it&#8217;s important (that&#8217;s why we included it), but only in conjunction with the other answers. This is our only multiple-choice question, encouraging you to answer it quickly and move on.</p>
<p>Do you want to publish the pricing on the website for everybody to see, or do you want prospective customers to contact you for a quote? Will you have a fixed price list, or will you negotiate pricing individually per customer? And the most tricky: if you can&#8217;t do flat-rate pricing, how will you split pricing into bands? By number of users? By length of tests? By level of usage? By availability of features?</p>
</li>
<li>
<p><b>What will you change about the product?</b></p>
<p>Once you have settled on a particular market segment and strategy, certain limitations in the product will become apparent: maybe some additional features are needed, maybe the technology needs to be presented differently in order to fit with the users&#8217; point of view, maybe some unnecessary features can be removed. The important point is that product changes should be informed by the market, not just a preconception of what users will want.</p>
</li>
<li>
<p><b>Top 3 things you <em>must</em> do in the next 3 months?</b></p>
<p>This could be anything: marketing, sales or engineering activities. The key is just that these tasks must be <b>actionable</b>: it must be clear how they can be done and they must be feasible now. <em>&#8220;Build a community of 1,000 people working in this field&#8221;</em> is not actionable, but <em>&#8220;set up a Facebook page, blog about it and invite all of our friends to it&#8221;</em> is.</p>
</li>
<li>
<p><b>If your users are superheroes, what is written on their T-shirts?</b></p>
<p>As a final question, remember that users are human beings too. They don&#8217;t particularly care about your product as such, but they probably care about things like doing a good job, looking good with their peers or boss, having a sense of belonging, getting to go home early, and making a difference. Your product should turn your users into superheroes: give them exceptional powers which make them proud! So proud that they will want to wear your product motto on their T-shirt. What will it say? (Hat tip to <a href="http://headrush.typepad.com/">Kathy Sierra</a>, inspiration for this question.) </p>
</li>
</ol>
<p>If you can answer all of those, you will have covered a lot of ground and will have a pretty good idea of how your product fits into a particular market segment. And in case that wasn&#8217;t enough, here are three bonus questions from our drafts which didn&#8217;t make it into our final worksheet:</p>
<ol start="11">
<li>
<p><b>Which key factors determine whether a potential customer will convert?</b></p>
<p>This question complements the sales process (question 3 above). If the sales process is about the <em>actions you can take</em> to convert interested people into paying customers, then this is about <em>setting the right environment</em> for conversions. What do customers care about? Is it the ease of integration with their workflow, the user experience, the amount of learning required, the level of support, references from other customers, key features, integration with systems they already use, reassurance that your company is not going to disappear overnight, or anything else?</p>
</li>
<li>
<p><b>What underlying need is satisfied by the product?</b></p>
<p>We have already talked about the pain point above (question 2), which defines why there is a need for your product. However it can be insightful to look behind the pain point and figure out why it exists: the &#8220;need behind the need&#8221; in the words of <a href="http://oceanlearning.co.uk/">Paul Kenny</a>. When a customer buys this product, are they really buying <b>reassurance</b> (security, peace of mind, covering their back)? Or are they buying <b>ego</b> (competitive advantage, ability to overcome difficult problems)? Are they interested in <b>convenience</b> (making their life easier), <b>saving money</b> or <b>reducing risk</b>? This underlying need should determine the light in which you present your product and how you pitch it.</p>
</li>
<li>
<p><b>What would you consider to be success, and how would you decide whether to abandon the project?</b></p>
<p>This is an interesting one: not many people talk about criteria for success and failure. Usually success is unbounded &#8212; you always feel like you could do better, no matter how well you are doing. And failure is something that is not talked about, as if merely contemplating it would bring about a jinx or induce an unwanted pessimistic vibe. However, if you have a quantitative criterion for deciding when to cut your losses, you avoid giving up too early just because you&#8217;re feeling down.</p>
</li>
</ol>
<p>With all these questions, keep a few principles in mind:</p>
<ul>
<li>Resources are limited, so you should focus on the things which are likely to be most useful.</li>
<li><em>&#8220;Just try it out&#8221;</em> and <em>&#8220;talk to our users&#8221;</em> should be part of any strategy, but they are not strategies in themselves. You&#8217;ve got to know what you are looking for and what questions to ask the customer.</li>
<li>Argue <b>why</b> the actions you chose are the most appropriate, given the product, the market and any constraints.</li>
</ul>
<p><a href="http://www.yes-no-cancel.co.uk/wp-content/uploads/2009/11/bos-worksheet.pdf">Download the worksheet (PDF)</a> and <a href="http://www.yes-no-cancel.co.uk/wp-content/uploads/2009/11/bos-worksheet-example.pdf">an example we filled in</a> (a contrived example based on the fast food industry &#8212; not model answers, just to illustrate the kind of answers we&#8217;re looking for). Please also see my <a href="http://www.yes-no-cancel.co.uk/2009/11/17/running-a-workshop-for-startup-founders/">separate post on how we ran the workshop</a>.</p>
<p>Did you find this useful? Please <a href="http://www.yes-no-cancel.co.uk/2009/11/18/10-crucial-questions-for-b2b-startup-founders-a-workshop-at-business-of-software-2009/#respond">leave a comment</a>, <a href="http://feeds2.feedburner.com/yes-no-cancel">subscribe to my RSS feed</a> or <a href="http://twitter.com/martinkl">follow me on Twitter</a>!</p>
<p style="font: 70% italic">Photo credit: <a href="http://www.flickr.com/photos/jmpk/4102424024/">John of Austin on Flickr</a>; Creative Commons license.</p>
<p><b>Update (2009-12-18):</b> Added scanned example worksheet.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yes-no-cancel.co.uk/2009/11/18/10-crucial-questions-for-b2b-startup-founders-a-workshop-at-business-of-software-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Running a Workshop for Startup Founders</title>
		<link>http://www.yes-no-cancel.co.uk/2009/11/17/running-a-workshop-for-startup-founders/</link>
		<comments>http://www.yes-no-cancel.co.uk/2009/11/17/running-a-workshop-for-startup-founders/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 20:00:52 +0000</pubDate>
		<dc:creator>Martin Kleppmann</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[event report]]></category>
		<category><![CDATA[bos2009]]></category>
		<category><![CDATA[business planning]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[sales]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://www.yes-no-cancel.co.uk/?p=324</guid>
		<description><![CDATA[I helped run a workshop organised by Joel Spolsky at the Business of Software conference last week. It was a very interesting experience, and in this post I&#8217;d like to share some of the ideas we had and things we learnt. The workshop was aimed at startup founders and was centred around the topic of [...]]]></description>
			<content:encoded><![CDATA[<p>I helped run <a href="http://www.joelonsoftware.com/items/2009/09/02.html">a workshop organised by Joel Spolsky</a> at the <a href="http://www.businessofsoftware.org/">Business of Software conference</a> last week. It was a very interesting experience, and in this post I&#8217;d like to share some of the ideas we had and things we learnt.</p>
<p>The workshop was aimed at startup founders and was centred around the topic of finding your first 100 customers. There were also two other workshops: one by <a href="http://onstartups.com">Dharmesh Shah</a> on marketing, and one by <a href="http://www.joelonsoftware.com/">Joel Spolsky</a> on product pricing. Three rotating groups of startup founders participated, and each workshop happened three times, so everyone got to go to each one.</p>
<p>I was to help <a href="http://twitter.com/galbraithsimon">Simon</a> and <a href="http://twitter.com/NeilDavidson">Neil</a>, who wanted to strike a tricky balance in their workshop: they wanted maximum interactivity for the participants, but also provide enough structure for the workshop to make it more than just a chat. Together with <a href="http://twitter.com/amirmc">Amir</a>, and with advice from Pam of <a href="http://www.innoviatech.com/">Innovia Technology</a> we came up with this workshop format:</p>
<ul>
<li>In a workshop of 20&ndash;24 people, allocate people into 6 teams of 3&ndash;4 people each. That&#8217;s the ideal team size: large enough to get an interesting discussion going, small enough to give everybody plenty of &#8220;airtime&#8221;.</li>
<li>The 90 minute workshop is split into about 10 minutes introduction, 45 minutes work in the small teams and 25 minutes presentation of results and discussion. (Yes, the numbers don&#8217;t add up. Some time is always lost in general faffing.)</li>
<li>Each team analyses the same product, but applies a different strategy. That way, when results are presented at the end, everybody is on the same page, but interesting discussion points arise from different teams taking quite different approaches to the same problem. Neil and Simon suggested using my startup&#8217;s product <a href="http://go-test.it/">Go Test It</a> as case study since it is one of the companies in their <a href="http://blog.businessofsoftware.org/2009/08/the-accidental-incubator.html">&#8220;accidental incubator&#8221;</a>.</li>
<li>To structure the group discussion, we give each team a <a href="http://www.yes-no-cancel.co.uk/2009/11/18/10-crucial-questions-for-b2b-startup-founders-a-workshop-at-business-of-software-2009/">worksheet with ten key questions</a>. The worksheet is printed on large-format paper (about A1 poster size) so that it can be filled in with marker pens and all team members can sit around it easily.</li>
<li>Neil, Simon, Amir and I rotate around the room as facilitators. We don&#8217;t just ask &#8220;is everything clear?&#8221;, but stay long enough with each team to get involved in the discussion. If we feel they are getting side-tracked or missing an important point, we inject suggestions to get them back on track.</li>
<li>There should be enough time for team members to get to know each other; the workshop serves a networking purpose as well as an educational purpose.</li>
<li>Participants should learn from each other and develop new ideas and insights through bouncing thoughts off each other, not just off Simon and Neil. The Business of Software conference attracts many bright and motivated people, and with the right framework in place, there is a potential for the workshop to be a lot more than the sum of its parts.</li>
</ul>
<p>We had <a href="http://www.yes-no-cancel.co.uk/2009/11/18/10-crucial-questions-for-b2b-startup-founders-a-workshop-at-business-of-software-2009/">put a lot of thought into the worksheet</a> beforehand, trying to make it a comprehensive but concise summary of the key ingredients to successfully marketing and selling a product. We found that it worked very well, but we had to be very careful at the same time: those boxes on the sheet, designed with open-ended questions to gently lead the direction of the discussion, could easily become a counterproductive limitation.</p>
<p>It&#8217;s strange how people fall into roles depending on the context: when faced with a worksheet and boxes to fill in, I could see some people instinctively falling back into a primary-school, do-what-the-teacher-wants-me-to-do kind of thinking. I don&#8217;t blame them; in a similar situation I would have probably behaved like that too. Fortunately, when we explicitly emphasised that we wanted people to <em>brainstorm freely, to (literally) think outside of the box and not to take the questions too seriously</em>, that barrier fell away and the ideas started flowing.</p>
<p>Some teams even redefined some of the questions, which is great &#8212; startups should always be questioning any apparent rules! But the worksheet was nevertheless helpful, because it gave a structure and a goal to each discussion, allowing the teams to maintain a swift pace and avoiding getting bogged down in minutiae.</p>
<p>As an aside, we asked each team to come up with a name for their team, and also to put their real names on the sheet. It&#8217;s a simple psychological trick which encourages the participants to take ownership of their work and thus care about it more.</p>
<p><b>Defining different teams&#8217; strategies</b></p>
<p>We asked each team to consider <a href="http://go-test.it/">Go Test It</a> as a case study, and to examine different strategies for marketing and selling it. In principle, the technology is appropriate to any web development project, but the world of web development is too big as that we could market to all of it at once.</p>
<p>How do you segment the market and find a niche to focus on? Well, we came up with six different dimensions which you could use for segmentation:</p>
<ul>
<li>Segment by technology (e.g. using .NET, PHP, Rails, Django or Java on the server; and using jQuery, ext.js, YUI, Dojo etc. for the JavaScript)</li>
<li>Segment by job role (e.g. developers, testers, user experience designers, web content managers, product managers)</li>
<li>Segment by company type (e.g. agencies and outsourcing companies, startups, web-based software companies, non-software companies)</li>
<li>Segment by company size (e.g. individual freelancers, &lt;5 people, &lt;20 people, enterprises)</li>
<li>Segment by level of service (e.g. hands-off self-service, per-customer customisation, big consultancy projects)</li>
<li>Segment by industry (people developing web sites e.g. for the finance sector, for healthcare, or for education)</li>
</ul>
<p>We allocated one particular segmentation to each of the six teams, and asked each team to pick one particular segment based on their experience and interest. For example, we would allocate &#8220;segment by company type&#8221; and they might pick e-commerce retailers as their particular segment. That choice then determines their strategy for the rest of the session.</p>
<p>This approach of letting teams choose their own segments worked very well: there was of course some overlap between different teams&#8217; results, but we also saw a broad spectrum of different approaches, including some really creative ideas. This allowed individuals to play to their strengths and bring in experience of their own businesses&#8217; market segments, while at the same time keeping the workshop interesting and inclusive to everyone. I think we managed to strike a good balance here.</p>
<p>If I have a chance to run the workshop again, I think I will focus on improving the discussion phase of the workshop: potentially we could have made more of it by contrasting different approaches, and figuring out why some actions are appropriate to some strategies but not to others. Of course, you never know what the teams are going to come up with, so this is hard to plan in advance.</p>
<p>All in all, I think it was a very useful workshop for everyone, and the feedback we received was uniformly positive. If you have any thoughts, please <a href="http://www.yes-no-cancel.co.uk/2009/11/17/running-a-workshop-for-startup-founders/#respond">leave a comment</a> or <a href="http://twitter.com/martinkl">drop me a note on Twitter</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yes-no-cancel.co.uk/2009/11/17/running-a-workshop-for-startup-founders/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to pull off a slick tech demo (in 5 easy steps)</title>
		<link>http://www.yes-no-cancel.co.uk/2009/09/12/how-to-pull-off-a-slick-tech-demo-in-5-easy-steps/</link>
		<comments>http://www.yes-no-cancel.co.uk/2009/09/12/how-to-pull-off-a-slick-tech-demo-in-5-easy-steps/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 14:35:58 +0000</pubDate>
		<dc:creator>Martin Kleppmann</dc:creator>
				<category><![CDATA[event report]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[automated testing]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[go test it]]></category>
		<category><![CDATA[public speaking]]></category>

		<guid isPermaLink="false">http://www.yes-no-cancel.co.uk/?p=309</guid>
		<description><![CDATA[On Thursday I gave a demo of Go Test It, our cross-browser testing product, at the Cambridge Tech Demo Night. The audience was a mixture of startups, investors, business owners, developers and researchers &#8212; a fantastic group of people. This was a great opportunity to show to a larger group of people that Go Test [...]]]></description>
			<content:encoded><![CDATA[<p>On Thursday I gave a demo of <a href="http://go-test.it/">Go Test It, our cross-browser testing product</a>, at the Cambridge Tech Demo Night. The audience was a mixture of startups, investors, business owners, developers and researchers &#8212; a fantastic group of people. This was a great opportunity to show to a larger group of people that Go Test It is now a solid, usable product. How do you make the best use of such an opportunity?</p>
<p>Demoing alongside me were four other startups: <a href="http://camvine.com/">CamVine</a>, <a href="http://mbed.org/">mbed</a>, <a href="http://www.cyclestreets.net/">CycleStreets</a> and <a href="http://webticketing.net">WebTicketing</a>. I thought that all of them had very slick, impressive and credible demos (and judging by the positive feedback I got, my own one seemed to go down quite well too). I had not seen most of them before, but the message they got across in just seven minutes was so powerful that I&#8217;m immediately convinced of their potential, and since the demo night I&#8217;ve even been going around telling other people how awesome these startups are. That&#8217;s powerful stuff.</p>
<p>So how do you make a demo which will convince others that you are great and that they should tell all their friends about you?</p>
<p>Well, first you actually need something substantial to show. A product, a web application, something which is new and interesting and solidly built. I don&#8217;t believe in vapourware demos; you&#8217;ve got to show the real thing. However, for most companies I know in Cambridge that&#8217;s really not a problem &#8212; many have very impressive products, they just don&#8217;t know how to communicate them.</p>
<p>Even if you have a great product, you can still wreck it with a bad presentation. I&#8217;ve seen that happen and it feels tragic, so please do yourself and your audience a favour and make it a good demo. It&#8217;s not that hard, and these are the guidelines I set myself when preparing my demo. They may not work for everybody, but they worked well for me.</p>
<p><b>1. Know what you&#8217;re going to say</b></p>
<p>When I was at school, the only role I was allowed to play in the drama club was to be the lighting technician at the back of the room &#8212; no chance anyone would let me near acting. That&#8217;s because I can&#8217;t remember scripts word-by-word for the life of me, and even if I could, I feel really silly when reciting learnt lines. Therefore I have no choice but to speak freely.</p>
<p>However, you do need to have a pretty clear idea of what you are going to talk about, and how long it is going to take, if you want your presentation to be slick. You do need a script in the sense that you need to decide beforehand:</p>
<ul>
<li>exactly which buttons you are going to click, and</li>
<li>which topics you are going to address.</li>
</ul>
<p>Then speak the whole thing out loud twice. I find twice is a good number because I get a good feeling for how long the demo is going to take &#8212; essential when the presentation is strictly timed! &#8212; but I don&#8217;t feel over-rehearsed and therefore silly either.</p>
<p>I like things to start with a few slides introducing the issues your product solves. This gives the audience a context and makes your solution look stronger. But I wouldn&#8217;t spend more than 20% of the time in Powerpoint/Keynote mode; for example, in a seven-minute presentation, you should be in the actual demo after about 80 or 90 seconds.</p>
<p>Embrace these time constraints. They force you to be clear and to-the-point. Twitter is so successful precisely <em>because</em> it forces you to be short; it wouldn&#8217;t have worked without the 140 character limit. The same is true in presentations and demos.</p>
<p><b>2. Make it work offline</b></p>
<p>Don&#8217;t underestimate this issue. There are almost always technical problems in any venue, and most usually they are either bad internet access or problems with the projectors. Bad internet access is the most common. There&#8217;s no point in relying on a 3G card either, because probably reception will be bad in the Faraday cage that is your demo venue, and if not, the network will be overloaded because everyone is tweeting. There&#8217;s no way round it: your app has got to work offline.</p>
<p>And even though you probably have a full development environment on your laptop on which you can run your app, there are plenty of places where you&#8217;re accidentally relying on internet access. Some of my favourites:</p>
<ul>
<li>You&#8217;ve copied and pasted the Google Analytics/UserVoice/whatever JavaScript snippet into your page. When you&#8217;re offline, that script won&#8217;t load until the network times out, and so the browser&#8217;s page load event doesn&#8217;t get fired until 30 seconds later. But all your funky graphical effects only get initialised when the page is fully loaded, and suddenly you have no animations, no Ajax, nothing! It&#8217;s almost like the 1990s!</li>
<li>You want to demonstrate clicking a link from an email, which opens a particular feature in your application; however, that email you sent to the test account contains the production site&#8217;s URL, not the address on your local machine.</li>
<li>You are relying on hostnames provided by a DNS server on another network.</li>
<li>Some easily forgotten part of your infrastructure (your mail server, memcached, message queue, mashed-up web service, &#8230;) is not on your own machine.</li>
<li>Your Delicious Bookmarks Firefox extension (or other) tries to connect to its home server via an SSL connection. Since you&#8217;re a new guest to the network, the wireless access point intercepts the connection and inserts its own login page; of course its SSL certificate is invalid though. The result? An annoying SSL certificate warning dialog which pops out of nothing every two minutes.</li>
</ul>
<p>To make sure your application works offline, fully disconnect the network on your laptop (or even better: go to a café with a dodgy public WiFi that intercepts SSL!), clear your browser cache, and make sure every step of your demo still works flawlessly. Make sure you leave enough preparation time to fix things that don&#8217;t work &#8212; it took me the best part of a day to make Go Test It work without an internet connection! And I had to use, believe it or not, various entries in my <code>/etc/hosts</code> file and even an <code>ssh</code> tunnel to localhost (for remapping ports). Yes, a bit crazy, but it worked.</p>
<p>In the demo night on Thursday we actually had the projector problem rather than the internet problem. But you&#8217;re on the web, right? It shouldn&#8217;t be hard for you to demonstrate your application on someone else&#8217;s computer. Even the hardware guys, mbed and CamVine, pulled off their demos smoothly using a computer they had never touched before!</p>
<p><b>3. Make it 100% reproducible</b></p>
<p>An interesting demo probably involves manipulating data somehow, and once data has been manipulated, it usually doesn&#8217;t like going back into the state it previously was.</p>
<p>You, however, should be able to run your demo several times, doing exactly the same steps each time. That means after each run of your demo, you need a way of quickly and reliably getting back to square one. And of course you need a well-defined square one in the first place.</p>
<p>Your development database will probably contain lots of edge-cases: excessively long strings, weird international characters, and other oddities from the times when you&#8217;ve been testing error handling. That&#8217;s not what your typical user&#8217;s data would look like, so I suggest having a separate database for demo purposes, with selected and nice representative example data. </p>
<p>Then you must write down the steps for getting back to the starting state you expect at the start of your demo: the database records you need to delete or add, the files you need to restore, the sessions from which you need to log out, the cookies which you need to clear. Or even write a shell script to do that for you. The last thing you&#8217;d want is that you can&#8217;t demonstrate a key feature of your application because some old data from your last trial run got stuck in there!</p>
<p>Another thing which you should write down, if you haven&#8217;t already, is exactly how to get your development environment up and running after a reboot. For a full <a href="http://go-test.it/">Go Test It</a> development setup I need about a dozen terminal windows open, each running a different process with an arcane command line, each providing a different part of our infrastructure puzzle. When I&#8217;m under stress I probably won&#8217;t remember every command correctly. They are all documented, of course &#8212; on our wiki, which is only accessible on the web. Print it off beforehand.</p>
<p><b>4. Clean laptop setup</b></p>
<p>If you&#8217;re anything like me, you&#8217;ll have tons of files on your desktop, a whole host of applications running, alerts popping up from time to time, and more. Some of this might be confidential. None of this should be appearing on the large projected image of your screen.</p>
<p>The easiest solution, I find, is to have a separate system user account to which I log in only for demos. It is stripped down to the minimum:</p>
<ul>
<li>blank desktop,</li>
<li>menus only contain the apps which are absolutely required,</li>
<li>no unnecessary Firefox extensions (see the Delicious problems above),</li>
<li>screensaver disabled.</li>
</ul>
<p>When using the second user account, you can still stay logged in to your primary account at the same time, and have all your terminal windows and stuff open there. It makes sense though to shut down all applications which are not required for the demo: TweetDeck, for example, is a notorious memory hog, and it would be a shame if one of the pages in your demo suddenly takes 10 seconds to load because a shortage of memory caused Firefox, your application server or your database to be paged out to disk.</p>
<p>Also keep in mind that projectors typically have a resolution of 1024&#215;768 &#8212; make sure you&#8217;ve tested in advance what your website looks like at that width.</p>
<p>If you need to press arcane key combinations on your laptop to enable an external monitor, make sure you know exactly what those keys are, and that you&#8217;ve tried them beforehand.</p>
<p><b>5. And now, enjoy it</b></p>
<p>With all that preparation, there is nothing which could possibly go wrong. Sit back, take a deep breath and relax. Public speaking is an honour and a privilege, something to be enjoyed and relished, not something to be nervous about. Do your best to be focussed and relaxed, speak loudly and clearly, and smile at your audience. And it will work like a charm.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yes-no-cancel.co.uk/2009/09/12/how-to-pull-off-a-slick-tech-demo-in-5-easy-steps/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Invoicing gem at Rails Underground</title>
		<link>http://www.yes-no-cancel.co.uk/2009/07/24/invoicing-gem-at-rails-underground/</link>
		<comments>http://www.yes-no-cancel.co.uk/2009/07/24/invoicing-gem-at-rails-underground/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 16:44:33 +0000</pubDate>
		<dc:creator>Martin Kleppmann</dc:creator>
				<category><![CDATA[event report]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[techie notes]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[invgem]]></category>
		<category><![CDATA[invoicing]]></category>
		<category><![CDATA[railsunder]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.yes-no-cancel.co.uk/?p=302</guid>
		<description><![CDATA[I spoke today at the Rails Underground conference on the Ruby Invoicing Gem, the financial transactions library which we have been developing as a side-effect of our work on Go Test It and some client projects. Unlike my previous talk at LRUG, this was a more slides-based talk with more on general background and motivation. [...]]]></description>
			<content:encoded><![CDATA[<p>I spoke today at the <a href="http://www.rails-underground.com/">Rails Underground conference</a> on the <a href="http://ept.github.com/invoicing/">Ruby Invoicing Gem</a>, the financial transactions library which we have been developing as a side-effect of our work on <a href="http://go-test.it/">Go Test It</a> and some client projects. Unlike <a href="http://www.yes-no-cancel.co.uk/2009/04/24/my-talk-on-the-invoicing-gem-02/">my previous talk at LRUG</a>, this was a more slides-based talk with more on general background and motivation. The <a href="http://www.slideshare.net/martinkleppmann/invoicing-gem-sales-payments-in-your-app">slides are now up on Slideshare</a> and also embedded below:</p>
<div style="width:425px;text-align:left" id="__ss_1760986"><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=railsundergroundinvoicing-090723154443-phpapp02&#038;stripped_title=invoicing-gem-sales-payments-in-your-app" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=railsundergroundinvoicing-090723154443-phpapp02&#038;stripped_title=invoicing-gem-sales-payments-in-your-app" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div>
<p>I believe the talk was also recorded on video, and <del datetime="2009-07-28T12:24:31+00:00">I will update this post when the video becomes available</del> <a href="http://skillsmatter.com/podcast/ajax-ria/the-invoicing-gem-sales-and-payments-in-your-app">has been posted on Skills Matter&#8217;s website</a> (also embedded below) &#8212; thanks for recording it!</p>
<p><object width="550px" height="512px"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=5771395&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=5771395&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="550px" height="512px"></embed></object></p>
<p><strong>Update (28 July 2009)</strong>: I&#8217;m pleased to say that my talk also <a href="http://speakerrate.com/talks/1269-invoicing-gem-sales-payments-in-your-app">received 4.11 out of 5 points on SpeakerRate</a>, clearly above the average of 3.92 out of 5 for that conference.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yes-no-cancel.co.uk/2009/07/24/invoicing-gem-at-rails-underground/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>My talk on the Invoicing Gem 0.2</title>
		<link>http://www.yes-no-cancel.co.uk/2009/04/24/my-talk-on-the-invoicing-gem-02/</link>
		<comments>http://www.yes-no-cancel.co.uk/2009/04/24/my-talk-on-the-invoicing-gem-02/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 00:05:36 +0000</pubDate>
		<dc:creator>Martin Kleppmann</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[event report]]></category>
		<category><![CDATA[techie notes]]></category>
		<category><![CDATA[invgem]]></category>
		<category><![CDATA[invoicing]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[speaking]]></category>

		<guid isPermaLink="false">http://www.yes-no-cancel.co.uk/?p=269</guid>
		<description><![CDATA[On Monday I did a talk in front of 80 or so of London&#8217;s finest Ruby developers at LRUG, to present the new v0.2 release of the Ruby invoicing gem. The main new feature of this release is a Rails generator script which can be invoked with script/generate invoicing_ledger in the root directory of a [...]]]></description>
			<content:encoded><![CDATA[<p>On Monday I did a talk in front of 80 or so of London&#8217;s finest Ruby developers at <a href="http://lrug.org/">LRUG</a>, to present the new v0.2 release of the <a href="http://ept.github.com/invoicing/">Ruby invoicing gem</a>. The main new feature of this release is a <a href="http://rubigen.rubyforge.org/">Rails generator script</a> which can be invoked with <code>script/generate invoicing_ledger</code> in the root directory of a Rails project. This generates a default set of model objects, a database migration, a controller, views and some routes; enough to get started with using the gem&#8217;s features very quickly.</p>
<p>Note that the Invoicing Gem still isn&#8217;t Rails-specific &#8212; although the generator currently only works with Rails controllers and templates, the core of the gem depends only on ActiveRecord and can be used with framework components of your choice.</p>
<p>To demonstrate just quite how quickly the invoicing gem allows you to add commercial features to your application I decided that it would be a good idea to have no slides, but to spend the entire 25 minutes I was allocated to give a live demo. That is rather scary for a speaker because a million things can go wrong (and indeed several things did), but with a forgiving audience it ended up also being a lot of fun.</p>
<p><a href="http://skillsmatter.com/">Skills Matter</a>, who host the LRUG events, kindly <a href="http://skillsmatter.com/podcast/ajax-ria/invoicing-gem">recorded the talk and put it online</a>. I have also embedded the video below:</p>
<p><object width="550px" height="512px"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4279902&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=4279902&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="550px" height="512px"></embed></object></p>
<p>It&#8217;s a bit hard to see exactly what I&#8217;m typing in that video, but you can follow the exact steps from <a href="http://ept.github.com/invoicing/2009/04/21/invoicing-0-2-generator.html">the notes I wrote myself for that presentation</a>, and the example application I used, <a href="http://github.com/ept/cracktastic"><em>cracktastic</em>, is also on GitHub</a>.</p>
<p>I have the feeling that I still need a lot of practise to improve my public speaking, but it&#8217;s not too dreadful either.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yes-no-cancel.co.uk/2009/04/24/my-talk-on-the-invoicing-gem-02/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Semantic web updates</title>
		<link>http://www.yes-no-cancel.co.uk/2008/10/02/semantic-web-updates/</link>
		<comments>http://www.yes-no-cancel.co.uk/2008/10/02/semantic-web-updates/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 12:54:09 +0000</pubDate>
		<dc:creator>Martin Kleppmann</dc:creator>
				<category><![CDATA[event report]]></category>
		<category><![CDATA[techie notes]]></category>
		<category><![CDATA[barcamplondon5]]></category>
		<category><![CDATA[microformats]]></category>
		<category><![CDATA[search monkey]]></category>
		<category><![CDATA[search solutions]]></category>
		<category><![CDATA[semantic web]]></category>

		<guid isPermaLink="false">http://www.yes-no-cancel.co.uk/?p=154</guid>
		<description><![CDATA[A few weeks ago I noted down some links to current developments of the semantic web. After hearing Tom Morris speak again on &#8220;The State of the Semantic Web&#8221; at BarCampLondon5, here are some more: Getting started with the Semantic Web &#8211; Get Semantic Wiki Freebase Parallax, a new user interface for browsing Freebase BBC [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago I <a href="/2008/09/07/barcamp-brighton-notes/">noted down some links to current developments of the semantic web</a>. After hearing <a href="http://tommorris.org/">Tom Morris</a> speak again on &#8220;The State of the Semantic Web&#8221; at <a href="http://barcamp.org/BarCampLondon5">BarCampLondon5</a>, here are some more:</p>
<ul>
<li><a href="http://www.getsemantic.com/wiki/Get_Started_with_the_Semantic_Web">Getting started with the Semantic Web &#8211; Get Semantic Wiki</a></li>
<li><a href="http://mqlx.com/~david/parallax/">Freebase Parallax</a>, a new user interface for browsing <a href="http://www.freebase.com/">Freebase</a></li>
<li>BBC programmes use RDF: e.g. <a href="http://www.bbc.co.uk/programmes/b0074f9p">Doctor Who</a> &#8211; <a href="http://www.bbc.co.uk/programmes/b0074f9p.rdf">in RDF</a></li>
<li><a href="http://sioc-project.org/">SIOC (Semantically-Interlinked Online Communities)</a> is an ontology/vocabulary for expressing social links</li>
<li><a href="http://www.foaf-project.org/">FOAF project</a></li>
<li>Searching semantic web data sources: <a href="http://sindice.com/">Sindice</a></li>
<li><a href="http://jena.hpl.hp.com/~afs/SPARQL-Update.html">SPARQL/Update</a> or SPARUL &#8211; for modifying RDF data stores</li>
<li><a href="http://www.w3.org/2007/powder/">POWDER</a> &#8211; define sets of URLs?</li>
<li><a href="http://www.w3.org/2004/02/skos/">Simple Knowledge Organization System</a> (SKOS) &#8211; simpler than ontologies, without inference?</li>
<li><a href="http://www.w3.org/2005/rules/">Rule Interchange Format</a> (RIF) &#8211; define inference rules</li>
</ul>
<p>(OMG mad W3C acronyms!)</p>
<p>I also heard Sian Clark of Yahoo speak about <a href="http://developer.yahoo.com/searchmonkey/">SearchMonkey</a> at <a href="http://irsg.bcs.org/SearchSolutions/2008/sse2008.php">BCS Search Solutions 2008</a>. This is a very interesting development, allowing site owners to annotate their pages with structured information (using <a href="http://www.w3.org/TR/xhtml-rdfa-primer/">RDFa</a> or <a href="http://microformats.org/">Microformats</a>), allowing them to be presented more meaningfully in the search results. A great idea I think!</p>
<p>This move by Yahoo starts giving a first convincing answer to the chicken-and-egg problem of the semantic web: <em>&#8220;why would anybody bother to annotate their data in a machine-readable way?&#8221;</em> There has got to be some reward attached to it, and doing search engine optimisation (SEO) for Yahoo is a very good reason for creating some semantic metadata! (It&#8217;s unlikely to really fly until Google also adopts the idea, but surely that&#8217;s just a matter of time.)</p>
<p>What I wonder about: what attempts will there be to parse structured data out of unstructured data sources? There are a few companies doing more or less this, for example <a href="http://www.globrix.com/">Globrix</a> extracts structured information about properties (rent or buy, location, price, number of bedrooms and bathrooms, etc.) from plain text descriptions on estate agents&#8217; websites, and <a href="http://mydeco.com/">Mydeco</a> extracts structured information about furniture (type of item, colour, width/depth/height, weight, retailer&#8217;s location, etc.) from similar unstructured text. There is no technical reason why they couldn&#8217;t release that information in a machine-readable RDF format, although there may well be commercial reasons for them wanting to keep it to themselves.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yes-no-cancel.co.uk/2008/10/02/semantic-web-updates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Selenium in real-world projects: Automated testing for web applications</title>
		<link>http://www.yes-no-cancel.co.uk/2008/09/27/selenium-automated-testing-web-applications/</link>
		<comments>http://www.yes-no-cancel.co.uk/2008/09/27/selenium-automated-testing-web-applications/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 21:40:46 +0000</pubDate>
		<dc:creator>Martin Kleppmann</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[event report]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[automated testing]]></category>
		<category><![CDATA[barcamplondon5]]></category>
		<category><![CDATA[cruisecontrol]]></category>
		<category><![CDATA[gomez]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[web testing]]></category>

		<guid isPermaLink="false">http://www.yes-no-cancel.co.uk/?p=150</guid>
		<description><![CDATA[This afternoon I gave a talk at BarcampLondon5 about how we are using the Selenium web test automation tool, amongst other things, for continuous integration/regression testing on the Bid for Wine project which I wrote about before. Here are the slides from my presentation: (View on SlideShare or download as PDF) I had some very [...]]]></description>
			<content:encoded><![CDATA[<p>This afternoon I gave a talk at <a href="http://barcamp.org/BarCampLondon5">BarcampLondon5</a> about how we are using the <a href="http://selenium.openqa.org/">Selenium web test automation tool</a>, amongst other things, for <a href="http://martinfowler.com/articles/continuousIntegration.html">continuous integration</a>/regression testing on the <a href="/2008/09/22/bid-for-wine-online-wine-auctions-coming-soon/">Bid for Wine project which I wrote about before</a>.</p>
<p>Here are the slides from my presentation:</p>
<div id="__ss_621966" style="width: 425px; text-align: left;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=barcamplondon5selenium-1222547324657971-8&amp;rel=0&amp;stripped_title=selenium-in-realworld-projects-automated-testing-for-web-applications-presentation" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://static.slideshare.net/swf/ssplayer2.swf?doc=barcamplondon5selenium-1222547324657971-8&amp;rel=0&amp;stripped_title=selenium-in-realworld-projects-automated-testing-for-web-applications-presentation" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<p>(<a title="Selenium in real-world projects: Automated testing for web applications" href="http://www.slideshare.net/martinkleppmann/selenium-in-realworld-projects-automated-testing-for-web-applications-presentation?type=powerpoint">View on SlideShare</a> or <a href="http://www.slideshare.net/martinkleppmann/selenium-in-realworld-projects-automated-testing-for-web-applications-presentation/download">download as PDF</a>)</p>
<p>I had some very good conversations with several people after this presentation, amongst others <a href="http://jonathanmelhuish.com/">Jonathan Melhuish</a> who pointed out that about two years ago there was a start-up called Autoriginate, founded by <a href="http://lightbody.net/blog/">Patrick Lightbody</a>, which aimed to provide a hosted on-demand Selenium-based testing service called HostedQA. HostedQA does not appear to exist any more in its current form, and I only found <a href="http://web.archive.org/web/20070206184828/http://blog.autoriginate.com/">a bit of information about Autoriginate and HostedQA in the Wayback Machine</a>.</p>
<p>I&#8217;m not completely sure what happened to HostedQA, but the evidence suggests that Autoriginate was acquired by <a href="http://www.gomez.com/">Gomez</a> and became what is now their <a href="http://www.gomez.com/products/functional-testing.php">Reality Check XF</a> product.</p>
<p>We use Selenium quite a bit now, and I know that it&#8217;s a bit of a hassle to set up so that it works neatly; so one might think that I should be attracted to buying their solution. I don&#8217;t mind paying for tools which make us more productive (we pay for <a href="http://www.highrisehq.com/">Highrise</a> and <a href="http://www.fogcreek.com/FogBugz/">FogBugz</a>, for example), but somehow Gomez looks very unappealing to me. At least part of that is because they don&#8217;t provide pricing information on their website, and don&#8217;t have a sign-up button. A while ago I was considering them and actually tried quite hard to find out more from them. They were not particularly responsive by email, and they made me speak to two of their people in a phone conference for 20 minutes before they would tell me how much they charged! Maybe that sort of sales strategy works when selling to large enterprises, but for small development houses like ourselves, the attractiveness is zero. Bizarre. Maybe their technology is fine (if they did acquire Patrick Lightbody&#8217;s work it may even be very good), but for me they are irrelevant because of their sales methods.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yes-no-cancel.co.uk/2008/09/27/selenium-automated-testing-web-applications/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BarCamp Brighton &#8211; Notes</title>
		<link>http://www.yes-no-cancel.co.uk/2008/09/07/barcamp-brighton-notes/</link>
		<comments>http://www.yes-no-cancel.co.uk/2008/09/07/barcamp-brighton-notes/#comments</comments>
		<pubDate>Sun, 07 Sep 2008 15:54:01 +0000</pubDate>
		<dc:creator>Martin Kleppmann</dc:creator>
				<category><![CDATA[event report]]></category>
		<category><![CDATA[techie notes]]></category>
		<category><![CDATA[barcampbrighton3]]></category>
		<category><![CDATA[coworking]]></category>
		<category><![CDATA[semantic web]]></category>

		<guid isPermaLink="false">http://www.yes-no-cancel.co.uk/?p=114</guid>
		<description><![CDATA[Just been to BarCampBrighton 3 and it was awesome. It was my first BarCamp and I&#8217;m definitely taken by the idea. The weekend has been full of new ideas, so I will just jot down a few bullet points and links to some of the most interesting things before I forget. Coworking, social connections between [...]]]></description>
			<content:encoded><![CDATA[<p>Just been to <a href="http://barcampbrighton.org/">BarCampBrighton 3</a> and it was awesome. It was my first BarCamp and I&#8217;m definitely taken by the idea.</p>
<p>The weekend has been full of new ideas, so I will just jot down a few bullet points and links to some of the most interesting things before I forget.</p>
<p>Coworking, social connections between freelancers:</p>
<ul>
<li><a href="http://thewerks.org.uk/">The Werks</a>, a coworking organisation in Brighton</li>
<li>Coworking worldwide on the <a href="http://coworking.pbwiki.com/">Coworking Wiki</a></li>
</ul>
<p>Semantic Web, managing structured/interconnected information (thanks to <a href="http://tommorris.org/">Tom Morris</a> for most of these links):</p>
<ul>
<li><a href="http://www.oneis.co.uk/">ONEIS</a> has an interesting-looking approach for storing internal information within an organisation &#8212; simple and flexible at the same time.</li>
<li><a href="http://dbpedia.org/">DBpedia</a> has extracted structured information from Wikipedia, put it into RDF form and allows various ways of navigating and displaying the information.</li>
<li>Don&#8217;t implement your own RDF parser (it&#8217;s really quite complicated). Use <a href="http://jena.sourceforge.net/">Jena</a> (Java) or <a href="http://librdf.org/">Redland</a> (C).</li>
<li>Use <a href="http://www.w3.org/DesignIssues/Notation3.html">N3 (Notation 3)</a> when writing RDF by hand to avoid XML syntax madness.</li>
<li><a href="http://xmlns.com/foaf/spec/">FOAF</a> &#8211; description of personal connections using RDF. I heard of ages ago, but only gradually beginning to appreciate how useful it may be. (Social networking without being locked into particular sites?)</li>
<li><a href="http://vocamp.org/">VoCamp</a> (Vocabulary Camp), a BarCamp-style meeting in Oxford where people get together to define ontologies for specific subject areas. Another camp planned in London for November?</li>
<li><a href="http://www.w3.org/2005/04/fresnel-info/">Fresnel</a> is a language to describe how to display semantic web data.</li>
<li>The <a href="http://www.kb.se/hjalp/english/">National Library of Sweden</a> makes its catalogue available in RDF. E.g. <a href="http://libris.kb.se/bib/10438681">Pippi</a> in <a href="http://libris.kb.se/data/bib/10438681?format=text%2Frdf%2Bn3">RDF/N3</a> and <a href="http://libris.kb.se/data/bib/10438681?format=application%2Frdf%2Bxml">RDF/XML</a>.</li>
<li>The <a href="http://richard.cyganiak.de/2007/10/lod/">Linking Open Data dataset cloud</a> diagram (linked from <a href="http://linkeddata.org/">linkeddata.org</a>)</li>
</ul>
<p>Tags: barcampbrighton3</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yes-no-cancel.co.uk/2008/09/07/barcamp-brighton-notes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>This is not a review of the iPhone</title>
		<link>http://www.yes-no-cancel.co.uk/2007/11/18/this-is-not-a-review-of-the-iphone/</link>
		<comments>http://www.yes-no-cancel.co.uk/2007/11/18/this-is-not-a-review-of-the-iphone/#comments</comments>
		<pubDate>Sun, 18 Nov 2007 10:13:38 +0000</pubDate>
		<dc:creator>Martin Kleppmann</dc:creator>
				<category><![CDATA[event report]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[user experience]]></category>

		<guid isPermaLink="false">http://www.yes-no-cancel.co.uk/2007/11/18/this-is-not-a-review-of-the-iphone/</guid>
		<description><![CDATA[Last week, when the iPhone was released in the UK, my housemate James came home beaming with delight and cradling Apple&#8217;s shiny new toy, probably the most influential product release of 2007. Since then I have had a few opportunities to play with it too. It&#8217;s certainly nice. But about everyone and anyone has written [...]]]></description>
			<content:encoded><![CDATA[<p>Last week, when the iPhone was released in the UK, my housemate James came home beaming with delight and cradling Apple&#8217;s shiny new toy, probably the most influential product release of 2007. Since then I have had a few opportunities to play with it too. It&#8217;s certainly nice.</p>
<p>But about everyone and anyone has written a review of it already, and there is no need for me to add yet another one. Still, there&#8217;s something special about it. If I mention the words &#8216;mobile&#8217; and &#8216;user experience&#8217; to anybody in conversation, I almost inevitably get &#8216;iPhone&#8217; back. Why?</p>
<blockquote><p>&#8220;First Apple made the hype, and released the hype as a product. Then they released the iPhone as the follow-up product.&#8221;</p></blockquote>
<p align="right">&#8211; <a href="http://www.opera.com/company/speakers/mccathienevile/">Charles McCathieNevile</a> (Opera Software) at <a href="http://www.future-of-mobile.com/">FoM2007</a></p>
<p>Maybe the right question should not be why the iPhone is so good, but rather why the handsets of much more established manufacturers are so bad (in some respects, notably usability). Some interesting insight came from <a href="http://www.tomhume.org/">Tom Hume</a> and <a href="http://www.pmn.co.uk/">Marek Pawlowski</a> on a  <a href="http://www.future-of-mobile.com/">FoM2007</a> panel discussion:</p>
<ul>
<li>The mobile handset industry has a structural problem. The manufacturers are very focused on R&amp;D and on features, and within a single company there may actually be different groups advocating different technologies and features, all competing to be integrated into the next line of handsets. The design process is fundamentally bottom-up, rather than starting from high-level requirements and working down towards the features. The result is a user experience which consists of a bundle of fairly detached features, and is not at all consistent or well structured.</li>
<li>Another problem with handset manufacturers is that they are extremely risk-adverse. This is because managers&#8217; bonuses are calculated based on the number of defective handsets returned to the manufacturer &#8212; a direct incentive to make their products robust and reliable. So far it sounds good. The problem is that there are certain features which carry a higher risk, but have potentially huge benefit &#8212; the most notable one being automatic software updates &#8212; and these features get omitted too. Currently it is still the case with most handsets that once it has left the factory, its software is never updated. As phone software begins to become extremely complicated and time to market is extremely short, major bugs in the software are inevitable. And without software updates, those bugs will only be removed if you manually update the firmware (which hardly anybody does), or when you get a new phone.</li>
<li>Finally, handset manufacturers don&#8217;t usually have their own retail (or have you seen a Nokia store anywhere?). They sell through the mobile operators, and entrust the sales process to people completely outside their control. Moreover, since they don&#8217;t have much direct contact with consumers, they get hardly any useful feedback about their products which could feed back into the design cycle. Instead, they just continue to produce more and more phones based largely on speculation of what people actually want.</li>
</ul>
<p>All three points are different with Apple. The user experience is clearly the most important part of their design, and features are secondary. They regularly update the software, and in fact they have already released a number of improvements which would have never reached the previously shipped devices without this update facility. And they have their own shops, in fact a whole fan base which they actively nurture &#8212; what better way to learn how to improve the next version?</p>
<p>And the model clearly works. The iPhone really is a pleasure to use, the experience is consistent and well thought out &#8212; it simply feels right.</p>
<p>But what will its longer-term effects be?</p>
<p>The iPhone is just one product, and even if Apple&#8217;s highly optimistic sales forecasts were to come true, they would still have less than one per cent market share. I think that the true value of the iPhone lies not in itself, but in the knock-on effects which it is having on the whole mobile ecosystem:</p>
<ul>
<li>It has raised the bar in terms of design and usability, and other manufacturers will be rushing to improve their own designs similarly. (For example, <a href="http://www.nokia.com/A4136001?newsid=1160272">Nokia announced a similar touch screen user interface</a> only a few weeks ago.)</li>
<li>It is helping enormously to raise awareness for the mobile internet &#8212; people are beginning to see the potential in having internet and web access on the go.</li>
</ul>
<p>These effects are both rather good, and although I probably won&#8217;t be getting an iPhone myself anytime soon, I think these are very good developments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yes-no-cancel.co.uk/2007/11/18/this-is-not-a-review-of-the-iphone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Future of Mobile conference</title>
		<link>http://www.yes-no-cancel.co.uk/2007/11/16/future-of-mobile-conference/</link>
		<comments>http://www.yes-no-cancel.co.uk/2007/11/16/future-of-mobile-conference/#comments</comments>
		<pubDate>Fri, 16 Nov 2007 22:00:00 +0000</pubDate>
		<dc:creator>Martin Kleppmann</dc:creator>
				<category><![CDATA[event report]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[user experience]]></category>

		<guid isPermaLink="false">http://www.yes-no-cancel.co.uk/2007/11/16/future-of-mobile-conference/</guid>
		<description><![CDATA[On Wednesday I went to the Future of Mobile conference in London. It was an exciting event &#8212; lots of people had high hopes, in particular for the future of data services on mobile devices (i.e. the internet). Some of my main take-home messages were: The mobile market is HUGE. Seriously. Billions of people worldwide [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.yes-no-cancel.co.uk/wp-content/uploads/2007/11/davidburke.jpg" title="David Burke of Google, talking about Android"><img src="http://www.yes-no-cancel.co.uk/wp-content/uploads/2007/11/davidburke.jpg" alt="David Burke of Google, talking about Android" align="right" /></a>On Wednesday I went to the <a href="http://www.future-of-mobile.com/">Future of Mobile</a> conference in London. It was an exciting event &#8212; lots of people had high hopes, in particular for the future of data services on mobile devices (i.e. the internet). Some of my main take-home messages were:</p>
<ul>
<li>The mobile market is HUGE. Seriously. Billions of people worldwide have mobile phones, and more people worldwide access the web from mobile devices than from desktop or laptop computers. By 2010, half the world&#8217;s population is expected to be subscribed to the mobile web. A lot of this is driven by developing countries, where mobile is a far better solution for communication than a fixed-line telephone infrastructure. But it is also a growing trend in the developed world.</li>
<li>A great user experience is absolutely essential if you want to get people to use your services mobile. The mobile user&#8217;s attention is extremely limited: unlike on a computer or a television, where people are more likely to patiently try to come to terms with bad usability, mobile users have plenty of other things to do. If they can&#8217;t immediately and very quickly find or achieve what they want, they are gone immediately. Mobile content must therefore be extremely clearly and intelligently structured, presented in an engaging way, glanceable, simple, and be fluid to interact with.</li>
<li>Communication is key. People want to talk, create, share, explore &#8212; not just passively consume. A mobile is always with you it, it where your life is happening, it is a point of creation and lies in a rich context. The future possiblities for the social use of mobiles is something we can only just begin to envisage.</li>
</ul>
<p>Amongst the speakers, possibly the most keenly awaited was David Burke of Google, who was the first to present Google&#8217;s new <a href="http://code.google.com/android/">Android</a> platform in Europe. See <a href="http://onandroid.com/2007/11/15/dave-burke-presents-at-future-of-mobile/">this post</a> for more on his presentation.</p>
<p>Finally an interesting quote, very much in rhythm with the drum I am bashing:</p>
<blockquote><p> &#8221;Mobile users are ready and willing to engage with their favourite brands on mobile devices.&#8221;</p>
<p align="right">&#8211; <a href="http://www.future-of-mobile.com/speakers.html#MattMillar">Matt Millar</a>, Director of Mobile and Devices EMEA at Adobe</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.yes-no-cancel.co.uk/2007/11/16/future-of-mobile-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
