Thursday, 26 September 2013

The problem with Yahoo!

It has been a few weeks since Mayer blogged about spending all weekend re-creating the Yahoo! logo. I must admit, at the time I didn't like the post but felt that it was all too easy to bash it. I have tried hard not too but can no longer prevent myself from making one point which has been irritating me.

In her post she stated that the aim was to make Yahoo! appear fresh, cool and whimsical. This got me thinking about Yahoo! and what it (as a brand) meant to me. Low and behold, I could not put my finger on it. So I did something that I never do, and probably haven't done in years; I visited their website. This made me none the wiser. It was just a cluttered mash up of advertisements and links for email, games, news, search. This brings me to Yahoo!'s biggest problem (and my beef). I, as a potential customer could not tell you what they do. As such I am unable to find a reason to visit their website. Yahoo! does not know it's arse from it's elbow so to speak. It appears as an organisation which has been caught up in trying to keep it's fingers in so many pies that it has lost all of it's brand and identity. Google does not have this problem. Whatever else Google does, the one thing that sticks out is search. The homepage reflects this, and their other products are arranged around it. This is presumably part of the reason that the company has verb status. Before Yahoo! becomes fresh, cool and whimsical it needs to work out what it is doing and why it is here. Spring cleaning the homepage would be where I'd start.

Friday, 12 April 2013

Are Google trying to dump GMail?

TL;DR - GMail UI deteriorating at speed of Halley's Comet, as easy to use as a Pineapple, only one conclusion, trying to get users to self-host.

I do not know if anyone else has experienced this change, Google are notorious for testing UI changes on their users without them knowing, but recently the GMail UI for email composition has changed from the traditional full screen affair to the following pop-up window:


What a waste of screen space! The last thing I want to look at whilst I am writing an email is other emails that I have. I have rarely been in the situation where I am writing an email about the contents of my inbox.

Email is becoming increasingly informal and conversational. Replies are often quick responses to quick questions or part of a discussion involving several people. As such when writing a reply I want to see what I am writing (necessary, otherwise I would be writing blindly) and what others have written previously. A conversational stream may be a good way to present this information. From what I can recall, this is exactly what GMail used to do. It presented the stream in reverse order, with my response at the top and the conversation below. This worked wonderfully with the scroll bar. Everything was visible, I just needed to scroll. With a good idea of the length of conversation, I could make a pretty good guess at how far I would need to scroll in order to reference a particular response. GMail have since decided that my response should appear at the bottom and only the most recent email should be presented above this, collapsing all other previous emails into single expandable lines above (oldest at the top). Compressing information is fine but I am hardly likely to be able to determine which of the 10 responses contains the information I seek from the first line of each response. Wait! I hear you say. Why not just use the browsers find feature. Ctrl+F and hash in what it is that I seek. I would, if this new system didn't mean that I had to expand every single response by clicking on it and then scrolling to find the next one. Ridiculous! I could go on and list other negative changes but I feel I have gone on long enough and that a conclusion is imminent.

In conclusion I can only assume that they are trying to force me to self-host. UI changes as ill thought out and terrible as these can surely have only one result; angry, frustrated users. I have resisted leaving GMail for a long time in the hope that it would improve. Though as I dumped Chrome when it became slow and bloated,  I expect to dump GMail as it becomes totally unusable.

Friday, 5 April 2013

Quick Now is Slow Later

Introduction


This week I have been thinking a lot about the conflicts in interest between short term and long term goals. A good example of a short term goal might be to implement a particular feature or piece of functionality. These can be market or customer driven and usually require quick turn around. Longer term goals are typically farther reaching across a product, range of products, processes or a combination of the two. A good example of a long term goal might be to integrate unit testing into legacy code or to ensure portability across platforms.

The Problem

In my experience project managers, salesmen and directors are more interested in goals which provide tangible products e.g. short term goals. This can mean that long term goals are over-looked as resources are directed to short term goals which tangible products. As such long term goals which require continual investment are over-looked and over-shadowed by short term goals. This leads to the situation where long term goals are placed on a 'to-do' list which more than often grows exponentially and never gets done.

The Effect

The overall effect is a negative one in which the product/code-base gradually deteriorates and the back log of technical debt and 'to-dos' mounts up. This usually means that the development of new features takes longer as integration is more difficult; hampered by under developed processes and a sub-par code base. This also deteriorates the mental attitude/state of staff as they become frustrated and irritated as they do not feel that they are moving forward in a positive and constructive way.

The Solution

Try your level-best to convince those who are influential that long term goals require continual investment. This may be difficult and require a large amount of justification, but if successful this is by far the best way to ensure continual investment. Only those in influential positions are able to guarantee that time is regularly/continually allocated for the implementation of long term goals. Break down long term goals into sub-tasks so that they are less threatening to tackle. Use short term goals as an excuse to perform part of a long term goal and clearly outline the benefit of doing so. This is an easier way to ensure that progress is made (however limited) without the endorsement of influential characters.

Friday, 23 November 2012

The Myth of Internal Code

Around the world in many companies of different sizes, within different sectors you may hear the phrase 'internal code'. This is the term given to code which does not leave the building. It may be code written as part of test harnesses or simply some prototype code. In many cases code which is internal is not subjected to the same test procedures and rigorous checks that are targeted at production code. It is often sloppy and 'write-only'.

From my experience I believe that there is no such thing as internal code; that all code is ultimately external and should be treated as such. After all, how many times have you heard the sentence:

"If we just extend the prototype then we can release it as a product and deal with the technical debt later."

More and more I find myself believing that branding code as internal just affords (some - let us be careful not to tarnish everyone) developers the option to code something which is of poor quality. Generally speaking a good programmer will write high quality code all of the time; code which is flexible, maintainable, readable, testable and ultimately reusable. Therefore if you afford yourself the convenience of writing poor code you are not a good programmer.