Tuesday, 28 June 2011

The creative side of IT

Even the most deeply technical parts of IT can be as creative as the work of artists and musicians.

When I first started out as a computer programmer I still lived with my parents. I went out with them to visit some of their arty friends, who had a son the same age as me. Hearing what job I was doing, they were very dismissive, and condescending, saying that they would rather their children did something more creative, and not just a button-pushing job like computers.

I kept my peace, but it did annoy me. I felt then, and still feel, that working in IT is very creative, in fact one of the most creative jobs there is.

I do not just mean using IT for arty activities, like graphic art or music technology. I think boring commercial IT is an extremely creative process. It involves inventing new things, the application of skill, and communicating ideas through different media.

This is easiest to see in the work business analysts do. They have to create new ways for businesses to function, and communicate these. It is as much an art as a science. The same applies to the management of people and of projects.

But even the most technical jobs in IT are creative. Technical work involves making hundreds or thousands of micro-decisions about the solution. This is deeply creative and has a huge impact on the outcome.

To show what I mean, I have been working on some of the core metadata for our MA2 product. This may seem to be just technical work, and some parts of it are. There has to be a minimum set of metadata which the underlying engine can interpret, and the design of this is an almost mathematical engineering task, creating the most concise and most flexible set of core capabilities.

However, the system supports dynamic metadata, allowing us to create new, more specialised metadata layers to support different ways of working. To make the system more usable, I have been defining a layer of more user-friendly metadata. This involves defining the capabilities and paradigms that we want to support, and working out how best to arrange and present these to the user.

The actual ideas we are working with may seem technical, such as:

  • Objects have descriptions to aid documentation.
  • Objects are automatically classified to make it easier to find.
  • Object definitions support inheritance.
  • Object definitions are arranged in libraries.
  • Container objects can specify how data changes are propagated through the container.

However, like a lot of technical work, what is going on behind the specialised technology is actually a deeply creative process. It involves communicating how the solution can be used for different purposes. It uses different media, in this case the media of logical structures and attributes. It requires a good deal of invention, and the application of skill.

This may not be everybody's idea of creativity, but for me, technical work like this is every bit as creative as music and art.

© Copyright 2011 Minimal IT Ltd. See the Minimal IT website for the original newsletter and copyright information.

Tuesday, 21 June 2011

User interfaces, style and art

A lot of user interface styling has nothing to do with art.

I am a words person, not a picture person. I do not understand the artistic aspects of design. I simply don't see what other people see.

For me, then, it has been very interesting to see the styling changes that my colleagues have been making to our MA2 software. As I have tried to make sense of these changes, I think I am beginning to understand a little bit about style.

To show you what I mean, here are some of the changes that we have made:

  • We have adopted a bolder, stronger colour scheme, with more contrast, and a lot less corporate light blue.
  • We have increased the font size, and centred the content on the page.
  • We have removed a list of links on the left of the page. We have put more frequently used links at the top of the page, and less frequently used links on a pull-down panel which is only visible when the user selects it.
  • Similarly, we have taken a lot of details off the page, such as data references, author details and permission information, and put these on the pull-down panel.
  • We have moved our logo from the top-left of the page and put it at the bottom.
  • We have added colour to buttons on forms. We have one colour for the button that does something, one colour for the cancel button, and a different colour for buttons that navigate between pages.
  • We have made the pages for different types of data (such as people, licenses, and questions) look as similar as possible, using the same layout and the same styling.
  • We have made the style of all tabular data the same, and added the same effects for sorting, paging and filtering.

Although these are mostly visual changes, they have hugely improved the system. Even though I completely understood the system before the changes and I think I do not see visual aspects of design like other people, I found the system easier to use after these changes.

A lot of the changes have been to focus the pages on the main task. We need to think what the user has come to that page to do, and use layout and style to make that obvious and uncluttered in front of them. Other information and other options should be de-emphasised or a click or two away. A words person like me can understand this.

Most of the other changes are about consistency. By being consistent in how pages are laid out and what things look like, we are creating a visual terminology for the user. When they come to a new page, they already know how to use it.

I am sure these design insights are obvious to professional designers. But part of the reason that people like me find it hard to understand visual design is that even the more tangible aspects of design are hidden behind artistic language of style, colour and mood. If we want to improve usability, we have to discuss it in tangible terms that even the least artistic of us can grasp.

© Copyright 2011 Minimal IT Ltd. See the Minimal IT website for the original newsletter and copyright information.

Tuesday, 14 June 2011

The MA2 story 3: whatever next?

What would you do if you found yourself in charge of an exciting new product?

When we started developing MA2, we only intended to improve its support for assessment and analysis. Along the way, we accidentally created software with much broader potential. Our next challenge is to turn this software into a viable product and a viable business.The potential of MA2 gives us some interesting opportunities, and we need to make some decisions.
  • Should we promote MA2 as a general-purpose application development tool, or only use it ourselves to develop solutions for other people?

  • Should we keep to our original scope of assessment, analysis and advisory solutions, or should we expand the scope to include related areas such as surveys, content management, online databases and dashboards?

  • Who should we market the product to? Our plan had been primarily to target consultancy companies, but is it time to broaden our horizons?

  • How should we make the product available? Although it could be sold as installable software, we have always in the past offered it as software-as-a-service (SaaS).

Although it is tempting to rush out and promote our product as a revolutionary wonder-tool, we are very aware how hard it is to convince people to use new tools and work in different ways. We have to demonstrate value rather than preach about it. We therefore made some decisions.

  • Initially we are going to be selfish with our technology. We will use it ourselves to deliver solutions, rather than promoting it as a general-purpose tool. It will be much easier to promote the general-purpose nature of the software when we have created many solutions using it.

  • Although we do want to open up the full capabilities initially, we do want customers and partners to create their own solutions. The software allows us to create "metaproducts", or templates for solutions of certain types. We will start with an assessment and advisory metaproduct, which will make it easy to package questionnaires, expert system rules and reports into an easy-to-use product. We can create more metaproducts as the business develops.

  • Users are the lifeblood of software, and we need to increase our user base. We will focus on making the product easy for casual use. We will let people use MA2 for free to try out products and understand the value.

  • We will stick to the SaaS model for now. We will focus our business on creating and marketing a compelling Internet-based offer, rather than diluting our energy on chasing installed software business. Technically, it will allow us to focus on building compelling solutions, rather than supporting packaged software.

  • We will keep an open mind, and be prepared to change direction and try new things as the business develops. MA2 allows us to be very flexible, and we need to exploit this flexibility in our own business.

Having a technical background, I find the move from software development to business development very daunting. Our new technology gives us huge opportunities for success, but there will be challenges along the way. I am scared and I am excited, in equal measure.

© Copyright 2011 Minimal IT Ltd. See the Minimal IT website for the original newsletter and copyright information.

Tuesday, 7 June 2011

The MA2 story 2: burnt-out, friendless and broke

If you are a small company, creating a new product is exhausting, lonely and expensive.

Last week I explained why we decided to base the new version of our Metrici Advisor product, MA2, on a radically different design. Our intention was to build a more flexible engine for delivering assessment and analysis solutions.

We have spent a little more than six months developing MA2. Its main features are:

  • A secure web-based service, based on the architecture of the original Metrici Advisor, supporting multiple branded offers for multiple users in multiple organisations.
  • A general-purpose data structure that can hold any information. This is based on a triple store, with optimisations for performance, security, auditing and version control.
  • Metadata (data definitions) held in the same structure as real data, making it easy to fully represent any solution in data, a feature which we call dynamic metadata.
  • Automated user interface formatting for viewing and updating the data, which can be manually tailored as required.
  • Integration of the jQuery JavaScript library to provide additional user interface capabilities where required. For example, we use it to provide a portal or dashboard interface.
  • Addition of server-side scripting, also using JavaScript, to support additional logic. This includes validation, data derivation, user interfaces, web services, and general scripting.
  • A charting library allowing data to be displayed graphically.
  • Comprehensive security features, such as granular data permissions, HTML filtering to avoid cross-site scripting attacks, exclusive use of prepared SQL to prevent database injection attacks, and so on.

As we built MA2, we began to see the real power of dynamic metadata. We can set up definitions for simple objects, such as web pages, and for complicated objects, such as survey projects, and then set up actual web pages and survey projects, all using the same concepts and the same user interface. Functionality that we would expect to be part of the underlying software, such as account management or product installation, can be represented totally within metadata. We have replicated the functionality of the original Metrici Advisor in a fraction of the time it took us to build the original.

During development, we slowly realised that MA2 is not just an assessment and analysis engine, but is something much more powerful. We have accidentally built a truly general-purpose application.

Technically, I am hugely proud of our achievement with MA2. It is unlike anything I have ever seen, and is fantastically efficient at delivering new IT solutions. However, this achievement has come at a huge cost. We have been working with few breaks for many months. Although our partners, friends and contacts have stayed loyal to us, we have been ignoring them, and have not been seeking out new business partners. Commercially, we have been concentrating on product development rather than bringing in money. We risk being burnt-out, friendless and broke.

The work so far is only the beginning. The next stage is much harder. We have to turn our wonderful new software into a viable product and a viable business. Next week I will describe how we intend to face these new challenges.

© Copyright 2011 Minimal IT Ltd. See the Minimal IT website for the original newsletter and copyright information.