Monthly Archives: December 2011

Why don’t people use styles in Microsoft Word?

… or any word processor for that matter. What I am talking about is the difference between using Microsoft Word the same way you used a typewriter, and using it properly by declaratively marking regions of text with styles that control formatting. Let me give you a concrete example using text generated from cupcake ipsum, one without styles in use, and one with.

Styling the WRONG way


In this first image you can see some cupcake ipsum generated text. There are two paragraphs with reasonable spacing between them. Unfortunately the styling in this simple document is incorrect. If you look at the following screenshot of the same document with paragraph marks turned on you can see that there is a paragraph mark that doesn’t need to be there.


This document only has two paragraphs, but the presence of three paragraph marks indicates that there are three. If a program were to automatically process this document and output the paragraphs you’d probably get an empty one somewhere in your output stream. In this case the user wanted to add a space between the two paragraphs, so they used Microsoft Word like it was a type writer and inserted another carriage return. This is one of my pet peeves and the thing that really burns is that you have to go out of your way to generate text this way. If you just use the paragraph formatting styles that word includes out of the box, you get automatic spacing between paragraphs. So what does it look like if you do it correctly?

Styling the RIGHT way

Pretty much the same. There is slightly less space between the first and second paragraphs because it is just a paragraph space, not a new line, plus two sets of line spacing. The end result is just as pleasing but more correct.


If we look at the correctly formatted document with paragraph marks turned on you can see the middle paragraph mark has now been removed.



So who cares? Really – what are the consequences of getting this wrong. Often times, nothing. In a world where documents are written and never read who really cares whether you have invoked a level of craftsmanship producing a document – other than yourself. One practical example of when this will hurt you is when you start restyling documents that have inconsistent style usage. Because you have forced specific paragraphs into different styles, if you want to uniformly increase the spacing between paragraphs, or headers and trailing paragraphs you’ll find that some re-style, and others don’t.

You can’t work in a professional services firm without coming across at least one discussion about document templates. The sad fact is that consultants need to write reports to represent findings to customers. You don’t want to always start from scratch so you want to have document templates. I do find it strange however that in an organisation of people that talk about software craftsmanship and semantic mark-up that so many people still can’t achieve either when using Microsoft word.


The ultimate irony about this post is that no matter how hard I try to stick to semantic mark-up when using Windows Live Writer and Word Press that you’ll end up with either strange looking posts, or non-semantic mark-up. Sometimes you have to decide which is more important. For example, the headers in this post are way out of proportion of the rest of the text, but the CSS template of the site layout I use in Word Press really controls how they look. I should probably err towards semantic mark-up but I know I haven’t always. So I’ll pay the price when I decide to export my content and push it to another blogging platform.

Skype: Dealing with poor phone reception at home.

Unfortunately for me, my Samsung Omnia 7 has terrible reception where my desk is located at home (I work from home a lot so this is important). Strangely it doesn’t seem to be purely a tower coverage issue as my wife’s iPhone works pretty well without any signal strength problems.

Anyway, until I get my next phone, I thought I might try out a Skype Online Number. So here is what I have done:

  1. Get a Skype Online Number at $80 per annum.
  2. Set-up call forward on my phone for missed and busy calls, redirecting to that number.
  3. Set-up voicemail on Skype.
  4. Set-up caller ID for outbound calls from Skype so it looks like it comes from my mobile.

My next step is to get a decent Skype handset/headset for home. Ideally something that will work of a wireless connection, or off our living room PC which is almost always on.

The Economics of Windows Store

Over the last few days Microsoft has announced their plans around Windows Store, the component in Windows 8 that will directly compete with the application download functionality delivered on iOS devices through AppStore. I’ve been looking forward to details about the Window Store because its where Microsoft has an opportunity to “do better for us” than Apple has with its AppStore policies.

Price to Play

According to the Windows Store blog, it’ll cost you 49.00 USD to get registered to publish on the application store, however, if you are a company it’ll cost you 99.00 USD. Presumably this is the cost of the verification process. Here’s hoping that they have the internal error handling processes sorted out, but my advice is don’t make a typo on registration or you might find yourself in a bad place (note, this issue was never resolved, and I had to create a second Live ID). Here’s how the registration fees compare.


Overall, for individuals the price to play is competitive with Apple, but not as cheap as Android, the other rising star in the mobile marketplace. That said, the Microsoft eco-system is (potentially) much larger. I say potentially because although Microsoft cited Gartner as saying that there was a reach of 500M PCs (compared to 247M and 152M for Android and iOS respectively), it will take some time for the user base to switch over to Windows 8 – this is especially true in the Enterprise space. Windows 7 had impressive license sales, lets hope the same is true for Windows 8 and it carries through to deployments.

The 70/30 Split on Application Sales

I’ll let you read the detail about price increments yourself, but in essence application sales via the Windows Store will attract a 30% commission to Microsoft (channel), with the remaining 70% going to the publisher. If you are lucky enough to get over 25k USD in sales then Microsoft will reduce their commission to 20%. Other than the commission cut I just mentioned this is pretty much the same as AppStore.


Ultimately the commission isn’t the biggest factor in the commercial success of your application. Adoption is, if you are planning on retiring on beach off the back of your first Windows Store application you are going to have to get used to being disappointed, either that or you are exceptionally lucky.

To give you some idea of what breakeven looks like for a 5.00 USD application at various development cost levels, I present the following spread sheet (shoot me an e-mail if you want a copy of the actual spread sheet).


That means, that on the back of a 50k USD investment, you could need to sell 13,150 copies of your application. That takes into account the commission discount once you reach 25k USD in revenue. The only real benchmark we have as to whether that is achievable is what application sales in the iOS device market looks like. TechCrunch has posted some data from last year – let me know if you can find some more complete, and up to date information.

The general consensus is that whilst some applications do well, the vast majority don’t end up with too many sales, and you have to factor in other costs associated with delivering a complete application such as hosting costs for backend processing as well as the ongoing support of the application (assuming you care about your reputation). That leads us onto other revenue generation models to help you get to where you want to go faster – in particular In-App purchases.

In-App Purchases

A little while ago posted that Microsoft needs to have a policy around Windows Phone 7 in-app purchases. I’m pleased that Microsoft has started publishing policies for Windows 8 on their web-site. By the looks of it the 20-30% commission applies to in-app purchases when you use Microsoft as the payment provider. But according to this article on the Windows Store blog, you can continue to use your own payment systems. This is huge! Unlike Apple who wants 30% of every transaction, regardless of which payment platform you use, Microsoft is going to play fair. With this model I think that Microsoft will end up dropping down the hefty 20-30% in-app purchase tax because they are exposing themselves to competition – I guess time will tell. One problem in this space isn’t the policies themselves but actually comparing them.


The economics of building applications for Windows 8, or any other marketplace is going to depend a lot on how popular your application is. Previously on the Windows platform there was no charge that Microsoft levied on you for the distribution of applications, but at the same time they didn’t help you do it. Today, they are introducing a new distribution mechanism and will charge you between 20-30% for accessing that platform benefit. With the 20% fee over 25k USD, Microsoft is rewarding successful applications whilst still preserving a healthy cut for building the platform. The real promise is in the in-app purchase policies. Hopefully we’ll see content producers with existing payment systems rush to the Windows platform.

What value does a tester add to a team?

It’s an open question. I don’t have a precise answer. For years we’ve been told that “you have to do testing”. But really what value does testing give you beyond someone saying “its broken”, or “50% of it is broken” for the statistically minded among my readers.

If I have a tester on one of my teams, I want them to be quality focused, not necessarily test result focused. So what does a tester do, day-to-day to improve quality. Surely some of the work involves:

  • Making sure that test cases can be traced back to requirements.
  • Making sure that tests are passing, or progressing towards a pass state.

But perhaps the more interesting work is what you do once you get that information:

  • What classes of test failures are the most common? Bad data, bad code, bad specifications?
  • What automated repeatable processes can be added to a project to improve quality at a lower cost?

Finally – is the tester the ultimate arbiter of DONE in an agile team? Do we even have a role of tester in an agile team, and if we don’t, how do we focus development team members on quality enough to spend the time doing stuff that isn’t just about writing code? How do you encourage developers to fix broken windows, and keep them fixed.

Wineology Technology Refresh #1: What is Wineology?

Earlier this year, myself, Timothy Lakeman and Brady Black started an online wine retailing business called Wineology. The idea is pretty simple, we all like good Australian wines. So we created a site where we could share them with others. We don’t want to have a collection of wines that is so large that its impossible to choose between them, instead we only put up the ones that we would personally recommend.

Since I haven’t given up my day job you can probably guess that we aren’t among the captains of industry that currently dominate the only liquor sales business. We are fine with that, but we do want the business to be successful. To date, the venture has only sold a few cases of wine but its a respectable start especially given that our overheads are fairly low.

Current Technology Stack

From a technology perspective, Wineology has been kept deliberately simple. We didn’t want to over invest in our backend systems until we started to get a feel for the industry that we were moving into, so the following components make up our current technology stack.

  • Domain registration; currently held with Crazy Domains, since you can’t register a domain on GoDaddy, who is who I normally go for.
  • Domain hosting; currently using ZoneEdit. If I was using GoDaddy I’d probably use their domain manager, but ZoneEdit does have some great features like an API for updating records dynamically which may come in useful down the track.
  • Web hosting; currently we’re using AppHarbor which is backended onto Amazon EC2. Because I’m using Appharbor, that also implies…
  • Git & GitHub; our source code is housed inside a Git repository. I use GitHub as a safe place to store source code offsite, and AppHarbor is just a remote that I push to.
  • Web framework; is ASP.NET MVC 3.0 with Autofac as my IoC container. Its a pretty simple site so no rocket science is involved here.
  • Design; is currently a hacked version of the BookPage template from ThemeForest.
  • PayPal; is what we are using for a payment gateway. It nicely separates us from our customer credit cards.
  • Campaign Monitor; is simply one of the best e-mail marketing tools I’ve seen. I’ve used it in the past and we are using it to maintain a list of mailing list subscribers.
  • Email Hosting; currently we are using Google Apps.
  • Saasu; a web-based accounting package. Selected because it had a public API that we could use in the future.

Overall our technology-based overheads are quite low:

  • Domain registration costs about $12 per annum.
  • Domain hosting on ZoneEdit cost about $15 per annum.
  • Web hosting is currently free with AppHarbor within the free usage tier (thanks guys!).
  • GitHub is costing us about $25 per month since we want private repositories.
  • Google Apps is costing us about $150 per annum.

Most organisations would love to have such low costs. But it doesn’t tell the full story.

Current Business Processes

Our real costs are in the level of effort required to be the glue that allows us to successfully take an order, and get it dispatched.

  • Content updates; when a new wine is posted to the site I open up an XML file, input some key values and then push that update to the Git repository on GitHub, I could use service hooks to make it automatically publish from there but at the moment I also push to AppHarbor manually.
  • Purchase processing; when a new order is received via PayPal an e-mail is sent to a generic alias which we then extract key details from and then forward to our suppliers. They pack and send the wine but we would need to manually call them for tracking information if required.
  • Digital photography; for me personally this is probably the most involved part of the process. I’m no professional photographer but I have taken most of the wine shots on the site. It takes me about 1-2 hours to take a few decent wine shots (including set up of the light tent etc).
  • Back-office accounting; I personally don’t do this. But once we’ve sent an order we need to record that sale in Saasu.

That is pretty much it from a business process perspective, the other guys might see a few more, but these are the ones that I have some exposure to.

Opportunities for Improvement

Overall there are lots of places where technology could be used to improve our business processes and introduce more efficiency. In future blog posts I’m going to explore these specific areas as well as evaluate various options. Here are some of the things that I am considering:

  • Improving the site design to better match our requirements (more layouts, and support for promotions etc).
  • Creating a membership system and introducing a customer loyalty program.
  • Tracking all inbound and outbound e-mail communication with customers and suppliers.
  • Listing all products in a product catalogue and using that to drive the site.
  • Hosting some content along with the product details in the
  • Directly post transactions into Saasu once a sale is complete.
  • Build a supplier portal where they can acknowledge orders and provide tracking information.
  • Automate segmentation of customers based on products purchased.
  • Improve social media integration with the site.

All food for thought.

P.S. If you are in Australia looking for some nice wines, check out our site.