Monday, 15 March 2010

Read all about it - we are exiting the recession

My primary source of news nowadays is Google Reader which I have configured to pull news stories from all the sources I feel publish content relevant to me and The Hatchery. Last week I noticed a change that made me think - can we use the news to quickly predict economic fluctuations?

Well of Course You Say

The aforementioned statement may sound silly and obvious but the simplicity of the indicator I am referring to struck me as slightly different. On Saturday morning I opened Google Reader to find 486 unread news articles. Wow. On average, the number of unread articles I receive every morning is somewhere between 200 and 280, but on Saturday (and ever since), that number has more than doubled.

After reading (or at least scanning) them all over the past 3 days, I can say that I am struck by the amount of positivity in many of the articles and blog posts. The underlying sentiment is not as dreary and filled with doom and gloom outlooks and predictions. Can we deduce that we might be seeing a turning point? Could the most simplistic economic indicator be the number of news articles published across a random selection of sources?

The Indicator

In the past it was pretty difficult to determine the quantity of news published by multiple sources. One might have noticed a slightly thinner newspaper or fewer ads in print, but generally the comparisons we could draw were limited to a single source and their historical track record. Google Reader throws that limitation out of the window and I for one am excited by the insight I feel it provides.

The economic indicator I believe I may have stumbled upon needs context - like all other useful indicators. For example, approximately 60% of my news comes from Silicon Valley or the USA and another 10% from South Africa. So a rise in the number of articles or improvement in general sentiment may be just that - general; and may only be relevant to the region(s) in which the majority of one's news articles are published.

What do you think? Until the economies of the world have recovered and an approximate turning point identified, can this potentially be used as a simple indicator?

Monday, 8 March 2010

Offshore Development - Where are the landmines?

Choosing an offshore design and / or development company over a specialist agency based in the UK can potentially save thousands of pounds; but unless you have the expertise to manage the remote team and the technical know-how to perform adequate QA on the delivered product you may be setting yourself up for failure and wasted expense.

Benefits of Offshoring

  1. Price. Hiring developers in India, China or South Africa can be significantly cheaper. On average we have found offshore development to cost 30% less than hiring staff in London to do the job, but some of that saving is offset by the cost of a suitable project manager with technical know-how to ensure the offshoring process saves, rather than costs, money.
  2. A full team instead of just one resource. Most offshore companies now offer customers pricing based on time spread across multiple resources. You might get a part time project manager, full time developer, part time designer and test specialist in a package that is attractively priced. This is great. In fact, it is vitally important, but the benefit is negated if you use a specialist web design / development agency in London as their team will provide the same benefit - and often with more experienced, value adding resources that have a good understanding of your target market.

Disadvantages of Offshoring

  1. Timezone Differences A 5 hour (or so) time difference with India might not seem like a problem but adding up the delays in communication across an entire project development lifecycle can easily double the expected time required to deliver a completed product. You will be required to sign off on deliverables on a regular basis and any delays in that sign off will directly impact on the delivery date. Make sure you can afford slippages in your product or site launch or plan according to the likelihood that timezone differences will cause slippages.
  2. Language Difficulties Adequately communicating requirements and managing a project from start to finish with native, English-speaking developers and designers is a challenge at the best of times. Doing this with limited-English speaking teams can be a nightmare.
  3. Consistency Many offshore companies rotate resources between projects and one can quite easily receive a project that only just hangs together in both design and code consistency. While your website or product may appear to do the job, it is vital that you look under the hood and make sure the delivered project is reasonably constructed and easy to maintain. Our experience is that often this is not the case.
  4. International Experience Many designers and developers in the commonly used offshore countries have little or no international work experience. We regularly undertake projects that are fundamentally unfit for purpose but only because the designer or developer didn't understand the market in which the product or website was to be used. A good example of this comes in the form of e-commerce websites. The rules and requirements governing e-commerce (and in particular, payment processing) in the UK can be quite different to other countries, and often those requirements are overlooked and therefore render an offshore project useless - especially if maintaining or changing the code provided by the offshore company is a mess.
  5. Lack of Professionalism There is also a definite difference in professionalism between in-country and offshore providers. Ensure that you match the right resource with your requirements and don't just accept the offshore provider's recommendations. It really will help to have a specialist project manager consult locally to help you navigate the technical jargon that is thrown your way.

I have highlighted a few of the obvious benefits of offshoring your next design / development project and mentioned a few of the mines you need to avoid if you decide to do so.

If price is your only consideration then dealing with the risks associated with offshoring won't worry you too much. If quality, maintainability and time are your most important considerations then our suggestion is that you manage the risk of offshoring by contracting an experienced, local, technical consultant with experience of the process and project requirements to get the job done properly.

If offshoring isn't for you then contact us (info@thehatchery.co.uk) for an all-inclusive package that is affordable, unique and professional.

Monday, 1 March 2010

The Confusion Virus

As a child I had no idea what I wanted to be when I grew up. As an adult, I still don't, and I believe this confusion virus is spreading like wildfire. The media (all types), big business, Universities (perhaps even schools) and now social media breathe the virus into all of us...and I wonder if anyone is working on a cure? Is this a virus without a cure? Is it a virus that does more good than harm?

We read about headline success stories, the 'one in a million' person that achieves something incredible, and we can almost taste it for ourselves. Should we do what they did?...we can do that...we should do that! We are constantly comparing and moulding ourselves to a benchmark that doesn't exist - at least not outside our own minds and the media frenzy.

On observation, in business it seems that the new form of entrepreneurship is not about setting up a physical store or offering an on-site service, but rather doing something on the Internet and something for ourselves...and our benchmark for success is presented by the media in headlines, by Universities in case studies and in social media by word of mouth. We believe we don't have to sell because the internet is so big it sells itself; we believe it is easier working from home than commuting to work every morning; we believe that raising $10 million for our business is just a matter of time; we believe all the millionaires in the headlines achieved their success with little or no help; we believe it is all too easy. We are confused by the signals of mass media and the reality of life.

Last night, Canada beat the USA in the ice hockey final at the Olympics 3-2 in overtime. Their victory was stunning and deserved but the headlines only reflect the glory, not the blood, sweat and tears that have got the team to that point in history. The headlines make us focus on Crosby and propel him disproportionately ahead of all the other players, as if he was the only person on the team. The problem with the virus I am writing about is that it blurs our vision and doesn't allow us to appreciate the full picture.

I have seldom been one to compete with anyone else for status, money, and possessions (a rare character trait my Dad has blessed me with) but I would be lying if I said that it isn't a struggle to avoid doing so. In my life, the confusion virus presents as a different strain. I haven't been led to believe that I deserve or need what others have, but I have been buoyed into believing that anything is possible and why should I not do the best I possibly can to achieve wealth and material riches? Without this belief I know that progress in the world is unachievable; but with it, I wonder how many people are struggling to provide?...how many marriages are crumbling under the pressures of debt?...and how many heart attacks and strokes are induced by the realities of failure?

Are we on a collision course with reality or can we concentrate our energies sufficient enough to realise that life and all it's rewards demand dedication, single-mindedness, and all the other strong character traits?...and what of the softer traits - selflessness, sincerity, humility, love, care, compassion? Has the virus crushed those already or might they be our only hope for a cure?

Thursday, 25 February 2010

Your site should degrade gracefully

Browsers all interpret your web site slightly differently. Should the aim be to have your site look identical across multiple browsers, or for your site to take advantage of the latest enhancements offered by modern browsers while still covering the basics for the older ones?

Internet browsers all serve the same basic purpose: They display content contained on a web server based on a visitor's request. (The request could be in the form of typing a URL into their browser's address bar or simply clicking on a link.) This process is described below:

  1. A user enters a URL (web address) into the Address Bar of their browser.
  2. The browser then determines which web server hosts the content for the requested URL.
  3. The browser then sends a request to the web server for the relevant content that makes up the website. This could require additional computation by the web server if the document requested is written in an advanced programming language like .NET or PHP.
  4. The resultant HTML document sent back by the server is downloaded to the user's computer.
  5. The browser starts to process the document and may be instructed (by the document itself) to retrieve additional supporting files from the web server. These could include CSS, Javascript, images, and video etc.
  6. The browser then organises all the content into a visually pleasing and logical format for the user, based on the instructions included in the retrieved HTML, CSS, Javascript and other files.

Our problem lies in step 6 - the processing and organisation of the downloaded contents. Each and every browser - be it Chrome, Firefox, Safari or Internet Explorer - will interpret the instructions contained in the HTML and CSS slightly differently. Adding to the confusion is the fact that even various versions of the same browser can display the same element differently.

Web standards and the light at the end of the tunnel

This problem is slowly being negated by a common set of web standards that browsers are meant to adhere to, although even some of these rules seem to be open to interpretation. Web browsers like Firefox, Safari and Chrome all support these standards with only a small handful of quirks. Unfortunately the same cannot be said for Microsoft's Internet Explorer. While this browser continues to improve with each major release, it's older versions - namely Internet Explorer 6 and Internet Explorer 7 (both of which still hold a fairly large market share thanks to lousy IT departments in corporate environments and the lack of high speed Internet to facilitate alternative browser downloads in the developing world) - are nothing short of atrocious in their flagrant disregard for the standards laid out by the W3C.

Browser usage statistics reveal that as at January 2010, 10% of web surfers still use Internet Explorer 6 (released in 2001) and 12% still use Internet Explorer 7 (released in 2006). This means that we cannot easily ignore them when building a site, but rather need to go out of our way to accommodate them. This process is costly and resource intensive, but cannot be avoided.

Building web sites that degrade gracefully

There are two ways to build web sites. You can build a web site specifically for the lowest common denominator, which will almost always be Microsoft's charming Internet Explorer 6. Doing this ensures that the web site not only works but also looks identical in all browsers. Unfortunately this also means that you're ignoring the last nine years of evolution in web design, effectively hamstringing your site.

You can alternatively build it for the strongest browsers on the market (adhering to web standards) and ensure that it degrades gracefully in older browsers. This means using the very latest technology and enhancements available to you, most of which will not be supported in Internet Explorer 6 and possibly 7, but also providing fallback information for the older browsers so that if a command is not understood, there is a backup instruction guaranteed to work. This ensures that your web site can use the very latest tools available, often greatly improving areas such as design or user experience. The down side, if you can call it that, is that your web site will look slightly different across multiple browsers.

The Hatchery will always choose the latter option when building your web site.

How major are these differences?

As I mentioned, most of these enhancements involve either design or user experience, and are thus cosmetic. Examples of this include a heading that could have a text-shadow effect applied to it in modern browsers but would just appear as plain text in Internet Explorer 6, 7 and 8; or a box which could have rounded corners and a gradient background in newer browsers but would appear as a solid rectangle in older ones. Overall structure and colours should not be affected in any way.

Adhering to standards futureproofs your site

Internet Explorer has been around for a long time - too long in most designer's minds! But thankfully it is being phased out. Microsoft will stop supporting it (no more security fixes etc.) in 2011, and many influential web presences like Google Docs and YouTube have formally stopped supporting it already (or will do in the next month or so). Once it is gone you do not want to be amongst a crowd of competitors who chose to to use the latest technology available to them whilst you aimed for a basic Internet Explorer 6 compliant site. The fact that your site may look slightly different across multiple browsers really shouldn't be a major concern.

Monday, 22 February 2010

I'm a Mac and Windows 7 was...sort of...my idea...

Microsoft's Windows Vista was undeniably a massive failure and fundamentally rocked the foundation on which my house is built. For the past 3 years I have been paralysed. Not physically, but technologically as far as Microsoft technologies are concerned. Having installed Windows 7 this past weekend, I am asking the question - how does Windows 7 change me, and was it really my idea as Microsoft would have me believe?

For 12+ years I have been a Microsoft software developer. To this day, The Hatchery remains a Microsoft Registered Partner and Empower Programme Subscriber. In fact, our incredibly powerful content management and e-commerce engine (Cloudbase™) is built using Visual Studio on the .NET 3.5 framework. So, it is fair to say that I am not anti-Microsoft, but in the past 3 years I have spent more money on Apple hardware and software than I have on any other technology company's products. For a breakdown of my technology spend over the past 3 years please see the Appendix at the end of this blog post.

So how did this keen Microsoft developer turn sweet on Apple and sour on Microsoft?

Quite simple: Windows Vista and the iPhone.

In masterful strokes of genius, Steve Jobs and the team at Apple have identified why their company has struggled for years against Microsoft (the Goliath), and developed technologies that couldn't solve their competitive problems any better than they do.

At the same time, Microsoft has continued to try and be everything to everyone in a world where consumers would prefer devices and software that are built for a particular job and which do that job brilliantly; that are designed, not just engineered; and that make life simpler and more enjoyable.

In my opinion, the iPod was really the turning point for Apple. It put Apple technologies in the hands of millions. With consumers accustomed to using iTunes and Apple software and hardware, the iMac and Mac OS X began their rise to prominence in the home. Then the iPhone smashed onto the scene and put Apple technology in our hands, pockets or at least very nearby for 24 hours a day. With the iPhone, Apple dangled a carrot and many developers scrambled to learn Cocoa and Xcode - the language and environment with which one can build all Mac applications. Now, with Apple stores around the world attracting millions of visitors annually, and innovation such as the iPod, iPhone and the iPad relentlessly making our lives easier and more enjoyable, Apple is undoubtedly a major player in the league of tech giants and developers are actively building software for Mac OS X and Apple's mobile equivalents.

...and how did Microsoft sour our relationship with Windows Vista?

The product was touted as revolutionary and the tech community was treated to functionality promises that dazzled. However, the reality was far from what we were encouraged to dream would be possible with this operating system.

I started this blog post talking about my technology paralysis, and Windows Vista was the cause. For 3 years I have worked on the edge of my seat, expecting Vista to crash at any moment into a blue screen of death and my work to be irreparably lost to the Windows binary monster. It has happened on multiple occasions and cost me a bundle in irrecoverable time and frustration.

Not only was Windows Vista one of the worst operating systems that Microsoft has ever released to market, but the company made further mistakes when it released the product. Some of these mistakes included: a crazy pricing model with a myriad of operating system versions that confused even the tech community, pricing 4+ times the cost of Mac's OS X Leopard, arrogance in their denials that the product had fundamental problems, and the delivery of a product that was oversold and which under-delivered.

So when Microsoft announced that Windows 7 would be released in October last year, I really couldn't have cared. The announcement didn't make me hunt down keynote speeches for more info or make plans to queue for my copy. I just ignored the news. Microsoft's Vista had made me indifferent and paralysed my interest in Redmond's products - perhaps even making an Apostle out of me for the company's competitor in Cupertino.

The problem is that I need Microsoft Windows to build websites on our technology foundation, so when Vista crashed on me on Friday I resolved to take Windows 7 for a spin as my thinking was that anything must surely be better than Vista.

Boy am I pleased that I did. Despite taking 4 hours to upgrade my Vista installation, the first brush of my mouse cursor over the Windows 7 taskbar put a smile on my face and much was forgiven. Windows 7 doesn't look that different to Windows Vista but it feels more solid. User Account Control is more robust and appropriately implemented and the attention to detail that the development team paid to this latest release is obvious. Not only does the system function better but it is quicker and uses fewer system resources to do the job. Brilliant!

So how has this changed me?

Many would brand me as an Apple Fan-boy nowadays and there is no doubt that if someone asked me what machine I would recommend they purchase, a Mac / iMac / Macbook would remain my first response in spite of Windows 7, and irrespective of the initial cost. So I am asking myself the question, am I a Mac or a PC and was Windows 7 really my idea?

After much thought, I have determined that I am a Mac. I am not yet a Mac through-and-through as I still wear my PC tie under my uber-cool and relaxed sweatshirt in the form of Windows 7 running inside VMware, but nevertheless, Mac OS X runs in my veins and the iPhone rings in my ears. As great as Windows 7 is in comparison to Vista, it is still no Mac OS X, but to it's credit, it is feeling more and more like OS X to use. So...was Windows 7 my idea?...

I guess to some extent it was. By expressing my favouritism for Apple and Mac OS X along with millions of others around the world, Microsoft has heard the pitter patter of our feet from their door to Apple's and has suddenly sat up and taken note of the features that make Mac OS X so strong. I can only hope that they continue to fight Apple for market share so that both companies remain honest, but I also hope they find the innovation and skills to catch up and start leading the world of technology again, rather than watching Steve Jobs' back as he disappears into the horizon that is the future of computing.

Appendix A (My Technology Spend over the Past 3 Years)

My headline technology spend (approximations) over the past 3 years:

  1. February 2007: Hewlett Packard Pavilion dv9299ea Laptop running Windows Vista - £1,900
  2. 19 June 2007: Queued for the Apple iPhone at Regent Street Store - £269
  3. October 2007: Macbook Pro and Accessories - £2,100
  4. 11 July 2008: Queued for the Apple iPhone 3G - £99
  5. April 2008: Microsoft Empower Subscroption - £260
  6. April 2008: Mac Pro - £1,800
  7. April 2008: Apple 23" Cinema Display, Time Capsule and VMware Fusion - £930
  8. April 2008: iWork Family Pack 2008 - £59
  9. March 2008: Enrolled in the iPhone Development Program - £59
  10. March 2009: Re-enrolled in the iPhone Development Program - £59
  11. April 2009: Re-subscribed to the Microsoft Empower Programme - £260
  12. July 2009: Repairs to HP Laptop (what a waste of time and money this laptop and HP has proven to be) - £267

These figures exclude additional RAM purchases for my Mac's, a Samsung and Epson printer and a few other smaller technology items as well as gifts such as an Apple Magic Mouse that I received this past year for Christmas. It also excludes any carrier payments to Apple for my iPhone contract with O2.

I have also purchased or encouraged family members to buy the following technology in this time (all of which were previously Windows users):

  1. iPhone 3GS (my wife): £149.99
  2. iMac 20" (my folks): approximately £900 (purchased in South Africa)
  3. iMax 20" (my folks-in-law): approximately £900 (purchased in South Africa)
  4. Macbook Pro (my folks): £900

So, in summary my calculations show:

  1. Microsoft: £520 plus the license fee that formed part of the HP laptop purchase (so let's be generous and say that that was £300) = £820
  2. Apple: £5,375 plus approximately £3,000 spent by family members on Apple technology.

Appendix B (What else has changed?)

The fall of Microsoft in my recommendation standings is not an isolated incident in my world. Perhaps an even bigger fall has been Hewlett Packard as I have vowed never to purchase another HP product in my lifetime. Prior to purchasing the HP Pavilion dv9299ea laptop (mentioned above), all my printers and many other bits and pieces were HP products, but since that purchase I have got rid of it all. Not only should that laptop model have been recalled by Hewlett Packard (as they did similar products) given it's faulty graphics card that on two occasions crashed it's motherboard, but the support I received from the company was absolutely abysmal. If I am going to spend £19,00 on a laptop with that spec then I expect much more from the manufacturer. I am not the only one complaining about the same or similar problems and so I am not sure HP will ever redeem itself in my eyes. Only time will tell...

Back to top