Posts Tagged ‘User interface’

Click, touch, wave and talk: UI of the future

May 10, 2012

First there was the Character User Interface (CUI, pronounced cooo-eey) typified by green letters on a black background screen. Then the Graphical User Interface (GUI, pronounced goo-eey) came along with a mouse and icons. Pen interfaces existed in the era of GUI, but now smartphones and tablets are driving many more interaction approaches using touch interfaces.

Now the GUI itself is going through a re-birth on mobile platforms with many more new types of user interface controls than we have seen in the past, we have gone way beyond simple buttons, drop-down lists and edit fields.

Many devices also support the ability to support voice driven operations, and although voice recognition has been around for over two decades, the experience is poor and more recently drastically oversold by the likes of Apple. However this is an area that will is likely to improve radically in the coming years.

The Microsoft Kinnect gaming platform provides yet another innovation in user interaction, a touchless interface using a camera to recognise gestures and movement. Microsoft are already making moves to take this form of user interaction into the mainstream outside of gaming (, as are many other suppliers and we should see phones and TV’s supporting these this year.

However even some old methods of interaction are being given a new lease of life such as Sony’s inclusion of a rear touchpad and dual joysticks.

So, with all these modes of interaction what does this mean to User Interface Designers? Shouldn’t they really be called User Interaction Designers? How do you decide what is the best mode of interaction for an application? Should you support multiple modes of interaction? Should you use different widgets for different interaction? Should the user choose their preferred mode of interaction and the application respond accordingly? Should the mode of interaction be decided by what the device supports? Are there standards for ALL these modes of interaction?

This emerging complexity of different user interaction methods will raise many more questions than I’ve listed above. So far I have only found little research in this area, but this is a moving target. The other evidence from the mobile world is the rapid change in user behaviour as users get used to working in different ways.

Initially I would imagine most applications to use basic interactions like touch/click so that the widest possible range of devices can be used. However those targeting specific devices will be the “early adopters” for the common interaction mode for that specific device (e.g. 3D gestures on Xbox Kinnect).

In the very long term standards will evolve and interaction designers and usability experts will combine to design compelling new applications that are “multi-interactive”, choosing the most appropriate interaction method for each action and sometimes supporting multiple types of interaction methods for a single action.

Multi-interactive interfaces will make users lives easier, but are you ready to provide them?


A dirty IT architecture may not be such a bad thing

April 19, 2012

For some time both CTOs and architects have looked at enterprise architectures and sought to simplify their portfolio of applications. This simplification is driven by the needs to reduce the costs of multiple platforms driven largely through duplication.

Duplication often occurs because two areas of the business had very separate ‘business needs’ but both needs had been met by a ‘technical solution’, for example a business process management tool or some integration technology. Sometimes the duplication is a smaller element of the overall solution like a rules engine or user security solution.

Having been in that position it’s quite easy to look at an enterprise and say “we only need one BPM solution, one integration platform, one rules engine”. As most architects know though, these separations aren’t that easy to make, because even some of these have overlaps. For example, you will find rules in integration technology as well as business process management and content management (and probably many other places too). The notion of users, roles and permissions is often required in multiple locations also.

Getting into the detail of simplification, it’s not always possible to eradicate duplication altogether, and quite often it won’t make financial sense to build a solution from a ‘toolbox’ of components.

Often the risk of having to build a business solution from ground up, even with using these tools, is too great and the business prefer to de-risk implementation with a packaged implementation. This packaged solution in itself may have a number of these components, but the advantage is they are pre-integrated to provide the business with what they need.

For some components duplication may be okay, if a federated approach can be taken. For example, in the case of user management it is possible to have multiple user management solutions, that are then federated so a ‘single view of users’ can be achieved. Similar approaches can be achieved for document management, but in the case of process management I believe this has been far less successful.

Another issue often faced in simplification is that the tools often have a particular strength and therefore weaknesses in other areas of their solution. For example, Sharepoint is great on site management and content management, but poorer on creating enterprise applications. Hence a decision has to be made as to whether the tool’s weaknesses are enough of an issue to necessitate buying an alternative, or whether workarounds can be used to complement the tool.

The technical task of simplification is not a simple problem in itself. From bitter experience, this decision is more often than not made on technology and for the greater good of the enterprise, but more often on who owns the budget for the project.

What’s a UXP

March 29, 2012

Gartner are defining a category they call UXP to help organisations manage all their user experience requirements.

Gartner defines the UXP as “an integrated collection of technologies and methodologies that provides the ability to design and deliver user interface/presentation capabilities for a wide variety of interaction channels (including features such as web, portal, mashup, content management, collaboration, social computing, mobile, analytics, search, context, rich Internet application, e-commerce, an application platform and an overall user experience design and management framework)”.

There is currently no precise definition of the set of technologies a UXP encompasses, but Gartner identify the following list as candidates:

  • Web analytics
  • Search
  • Social
  • Programming frameworks and APIs
  • UX design and management
  • Rich internet applications
  • E-commerce
  • Mobile
  • Content management
  • Collaboration, with portal and mashups being core.

With growing importance of web interfaces on all devices the UXP is not a moment too soon, as organisations need to get a grip of not just these technologies, but the underlying supporting business processes and skills they require to define, create, manage and measure their user and customer experiences.

It’s clear that from an architectural perspective the UXP covers everything that is in the “Presentation layer”, and maybe a few that are in the grey areas between the Presentation layer and the Business layer.

As Gartner have identified, this is a growing list of technologies. From my perspective, some of these need to be integrated and some are standalone, and it would be helpful to have some broader categories within the UXP to help focus efforts towards implementation.

Social and collaboration technologies facilitate interaction between two or more users, and so could be grouped into a category called UXP-Collaboration.

Content is the core of any web platform and content management, search and analytics could be grouped into a category called UXP-Content.

Portal, mobile apps, RIA and mashups are essentially application development technologies so could be group as UXP-Apps.

From a process perspective these categories also make sense, as UX-Collaboration technologies are installed and then require mediation processes to manage the implementation, while UX-Content require publishing and monitoring lifecycle and UX-Apps technologies are implemented by IT, and go through an IT development lifecycle.

However, UXP is an evolving field, and as with any technology it is clear that selection and implementation cannot be done without a full understanding of business requirements, the underlying implementation and management processes and skills required.

Given the size, complexity and importance of this task I would not be surprised to see some organisations appoint a Chief eXperience Officer (CXO).

Is the growth of Mobile Apps overhyped?

March 22, 2012

There are numerous statistics on the growth of mobile apps in the various stores, and also about the number of downloads. Apple claims over 500,000 apps in its store and Google claims over 450,000 (this time last year it had only 150,000). The number of apps, downloads and rate of growth is phenomenal.

Is this just a temporary fever or will this growth continue, and if so what will drive it?

I believe this growth has only just started and that there are two key trends that will drive this growth further.

Firstly, development for smartphones will get simpler. VisionMobile’s latest survey profiles over a hundred development tools for creating mobile apps. My guess is that is a very conservative estimate of the actual number of tools out there.

A common goal for many of these providers is to make programming simpler so that more people can code. For some, this goes further, to the extent that tools are being created for children to develop apps at school. So more developers will mean more apps!

Secondly and this for me is the more exciting aspect, is that phones will do more, which means that apps will get more innovative.

Today there are a wide variety of apps already, some of which use features of the phone itself like the camera, GPS or microphone. Coming down the line are many more features that will get embedded into phones, for example the ability to detect a user emotions and the ability to monitor a users health. Such features will drive yet more applications and innovations from personal healthcare to fraud detection.

Apart from new features, phones will start interact with other devices such as your TV. At a simple level, your smartphone can be already be used as a remote control for your TV or to join in with live TV quiz shows. Already phones are interacting with cars, and this integration will inevitably go further, so that your engine management system feeds your phone with data that an app can use.

Recent surveys from recruitment agencies highlight the growing demand for mobile developers, and more interestingly the re-skilling of developers to position themselves for this growth.

Exciting times are ahead for developers and entrepreneurs who will show that Angry Birds isn’t the only way to make big money in mobile.

Mobile Apps: When to go native

March 15, 2012

Let me say from the outset, that there is no right answer for everybody. The battle between cross-platform solutions and native mobile applications is going to continue for years to come; I know I have blogged about this before, and probably will again.

For many corporate applications, native code offers the marketing group richer customer experiences, the business the chance to innovate solutions using device-specific solutions, and IT some new development tools.

However, if an organisation has to support the widest range of phones possible, the development of native apps becomes cumbersome, since you then need to write apps for each of the major mobile platforms available.

Part of this decision depends on whether you decide to support older phones, i.e. non-smartphones. For non-smartphone support you’ll need to build in support for features from SMS text services to basic text browsers.

Typically this is aimed at operating in developing countries. In developed countries like the UK, the growth of smartphones means that there is now a critical mass of users crowding out lower-featured handsets.

If you decide to target smartphones, then you still have a choice. You can either:

  1. Build for each platform, using it’s own development tools
  2. Use a cross platform mobile development solution, or
  3. Write your app as a browser solution.

So how does an organisation decide which way to go?

I found this useful little questionnaire developed by InfoTech. It takes you through a set of questions about your needs, and then suggests the best way forward between a native solution and a web-based solution.

As a quick guide to review a specific tactical requirement, I thought it was pretty good and asked very pertinent questions. Obviously this is something that an IT department could expand or specialise for their own needs, and so provides a useful structured approach to making impartial decisions without any emotional bias.

Where support for multiple platforms is crucial, a more difficult decision will be whether to use a cross-platform mobile development solution or to go for a pure web (and possibly HTML5) solution.

I’ll discuss this issue in a future blog, but for the time being, check out the questionnaire to start thinking about your mobile approach.

Future of mobile phones (part 2)

March 8, 2012

Previously we looked at the form factor, what shape phones could be in the future. But what will phones do?

Clearly phones are getting smarter and able to do more, so here are some thoughts on the changes that could occur.

Phones replace your laptop/PC

Sometime this year we should see phones with quad-core processors, making them as powerful as some PCs. Following Moore’s law, they will get more and more powerful. And the same goes for storage/memory, although as “cloud applications” improve you will need less on your device.

With this in mind, you could easily see a phone that slips into the back of a tablet which is only a screen. Already, the Motorola Atrix shows that you can have a dockable phone that could replace the need for a PC.

Phones replace your wallet

This one’s not really news at all. Already there are a whole lot of mobile cash/payment solutions, so I won’t go further into this just now. However with NFC (near field communication) expect to be able to pay for things simply by tapping your phone on a till or another phone (e.g. to give your friends money).

Phones replace your keys

Again, NFC could quite easily be used to allow your phones to open car doors, your front door at home and even replace security badges at work. It might be that phones will have multiple slots for NFC chips.

Phones replace your brain

Not literally, but they will save you having to remember things. Growth in memory capacity means that you could have chips that store everything: what you see, say, hear and do. Coupled with powerful search capability you’ll never forget people that you met, actions from meetings and the name of the little restaurant you loved on holiday.

Phones replace your doctor, mechanic…

Google has toyed with the concept of phones with monitoring capability, immediately alerting you of heart, blood pressure and maybe even sugar level issues. Ford have toyed with phones alerting you of servicing needs in a car and other advanced telemetry. Following on from this, there’s no reason why your phone won’t become your central processing unit for anything: your home security, your gas boiler servicing and more. Expect a future where there is a lot more device to device interaction than today (I will write more about this soon).

Phones replace your personal assistant

Already there are apps to help you with everything from planning your train journey to scheduling parties. In the future, your phone will also tell you when you’re close to shops you like or that have offers on things you might like based on your personal tastes.

You may be on holiday, and your phone will let you know where the nearest bathrooms are or how to navigate through a city to make sure you see all sites of interest with the most efficient route possible.

So with all these capabilities phones could be very important. How will be secure something that can so easily be lost? It could be that they move towards biometric security: voice, fingerprint or facial recognition. Or it could be that a secondary NFC chip that is in some jewellery or even embedded inside you grants you access.

This all sounds very futuristic, but some of the features discussed are either already here, or could be within the next five years. It seems phones are going to be part of an important and exciting future for us all.

HTML5 The proprietary standard

October 16, 2011

The good thing about standards is that they are uniform across different vendor implementation. Well that is at least the primary goal. So how does a vendor make a standard proprietary?

Well it’s quite easy really you provide extensions to the standard for features that are not yet implemented in the standard. Vendors wouldn’t be that unscrupulous would they? For example would they create application servers following standards but add their own extensions to “hook you in”, sorry I mean to add value beyond what the standards provide ;o)

I’m sure Microsoft’s announcement at Build to allow developers to create Windows 8 Metro applications using HTML5 and Javascript took many Microsoft developers by surprise. What is Microsoft’s game plan with this?

Optimists will cry that it opens Metro development out to the wider base of web developers rather than just to the closed Microsoft community. Cynic’s will argue that it is an evil ploy for Microsoft to play the open card whilst actually hooking you into their proprietary OS. In the cynics corner a good example is Microsoft’s defiant stance of Direct3D versus the open standard alternative OpenGL. This has lead to Google developing Angle, effectively allowing OpenGL calls to be translated into Direct3D ones so that the same programmes can be run on Microsoft platforms.

Whatever it is developers aiming for cross platform conformance will need to stay sharp to ensure that proprietary extensions do not make the application incompatible in different environments.

Adobe’s recent donation of CSS Shaders shows a more charitable approach whereby extensions are donated back to the standards bodies to make the “value added” features available to every platform. This is largely the approach in which standards evolve, with independent committee’s validating vendor contributions.

So what is Microsoft’s game? It’s too early to really say whether there is an altruistic angle on their support for HTML5 and JS, but history has shown us that the empire is not afraid to strike back. Look at their collaboration with IBM on OS/2 leading them to leave IBM in lurch with their own launch of Windows NT. A similar approach occurred not long after with with Sybase and Sql Server.

I maybe a cynic, but having been a Windows developer from Windows 1.0 to Windows NT and following a road of promises and U turns has made me that way when it comes to Microsoft. It’s great to see increasing support for HTML5 but I am always a little concerned with the motivations of the Redmond camp. However perhaps I myself need to be “open” to a different Microsoft, one that is embracing standards even though it may cannibalize it’s own Silverlight technology.

The BBC does a U turn on HTML5

October 12, 2011

Rewind to August 13th 2010 and Erik Huggers Director of BBC Future and Technology blogged that the the BBC were committed to open standards but “HTML5 is starting to sail off course”.

At the time I thought this was a brave statement to make especially as the late Steve Jobs had already announced in April that year and despite a billion app downloads, that HTML5 negated the need for many proprietary browser plug-ins. It was clear at the time this was squared largely at Flash (and possibly Silverlight too).

For me this was a faux pas too far as Huggers continued his blog with statements about proprietary implementations of HTML5 by Apple and fractions of opinions within the W3C and WHAT-WG (who initiated the development of HTML5).

Now fast forward to almost exactly a year later, and Gideon Summerrfield, Executive Product Manager for BBC iPlayer announces the launch of a HTML5 version of iPlayer. Initially this is just aimed at PS3, but will roll out to other devices in the future.

If we take a slight diversion and look at the developer conferences for both Microsoft and Adobe in the last four weeks, both made big announcements about tools and support for HTML5. However committed developers with years of invested skills in SilverLight and Flash were left deflated with the lack of announcements on the future of these technologies.

So have the sleeping giants finally woke up? It seems like it to me.

However, in the case of the BBC, Summerfield’s blog states that they will also launch new versions of the iPlayer for Flash and Air. This may be a short term decision to wait for wider support for HTML5, but there is little clarity about what they see as the future for iPlayer.

To Hugger’s credit he did foresee the benefits of HTML5 could bring to the BBC in reducing development timescales and having a common skill set.

However I applaud those that have the courage and conviction to take bold steps forward and put their money where their mouth is. The FT is a shining example, ditching their AppStore versions for iDevices and completely moving to HTML5.

There is work to be done on HTML5 and it will evolve for some time yet, but the bandwagon has started to roll and as a good friend of mine said to me at the start of the .com era, “When you see the bandwagon starting to move, you have a choice to jump on, or stand in the way of a tonne of metal !”.

For me it is clear. I’m not standing in the middle of the road, I’m jumping squarely onto the HTML 5 bandwagon. The question is, are you?

Arise the new CEO: Chief eXperience Officer

July 14, 2011

Since the early days of the web, marketeers have espoused the merits of “managing customer experience” and how online it is only the “experience” that will differentiate companies as the web brings pricing transparency. Certainly in the case of the latter issue, the rise of “comparison” sites has highlighted the fact that price alone can not be a long term strategy. Post the Internet bubble bursting the issue of customer experience has for many had to take a back seat while organizations strove cost cutting measures to remain profitable or even just to survive in the midst of recession.

However more recently it seems that customer experience is again getting more prominence and importance in organizations. I believe mobile has had a role to play in creating this renewed excitement with the apps showing “the art of the possible”: engaging user interfaces with greater usability. It’s no surprise to see experience champions rallying their brethren troops to create their own community of professionals in the field. Founded by Bruce Temkin (previously an analyst at Forrester) , the CXPA (Customer experience Professionals Association) is a organization focused on creating standards and best practice in Customer Experience Management. As a non profit organization it’s sponsors in Adobe, Microsoft and SAP. Whilst it is early days there are enough credible people involved to make this a success in an area which sorely requires standards.

But what really captured my attention this week was an announcement by US Insurance company Mass Mutual, appointing a Chief Customer Experience Officer, the remit of this role is to manage “central oversight of the end-to-end experience for MassMutual customers to ensure a consistent, favorable and efficient interaction across the organization”. What’s interesting about this is that whilst most C level directors recognize the importance of customer experience, very few actually have someone in their company whose prime responsibility is managing customer experience.

So well done to Mass Mutual and hopefully we see many more similar appointments, in the meantime however the CXPA or someone of the same ilk needs to bring some much needed standards and best practices to a field crowded with self proclaimed “experts”.

HTML5: The web just got richer

June 23, 2011

HTML5 graphics features will drive gaming and rich media to the web

My post about HTML5 games is a great way to experience one of the features in HTML5 that will no doubt make a huge difference to browser experiences. It’s hard to imagine in our rich multimedia world that without proprietary techniques or plug-ins that web standards do not support the simple task of drawing a line, box, circle or any shape! All that is changing with HTML5 with the Canvas API.

<canvas> </canvas>
  This is the basic canvas element notation which will set the world web alight with animation and richer experiences. It is already transforming the art of the possible in gaming on the web. The original 2D API was created within webkit by Apple who then provided it to the standards body with a royalty free patent licence. In February this year the Khronos Group issued version 1.0 of it’s WebGL API providing 3D rendering capabilities within browsers.

So what is a Canvas? A canvas is essentially a rectangular area on the screen that you can add and manipulate graphics. Simple? If only.  The basic action of drawing a line requires: creating a canvas, getting the canvas context, starting a path (beginPath()), defining a start point ((moveTo(x, y)), moving to the end of the line (lineTo( x, y )), closing the path to say we finished drawing our line (closepath()) and finally drawing the line (stroke()). If this sounds complex let me tell you that to do even this simple action previously involved some very imaginative code and image manipulation.

You can create simple or complex shapes using “paths“. Drawing a line following the path only occurs when you call stroke() . If the path create a shape it can also be “filled” using fill() . A fill can have colours and styles (e.g. a pattern, gradient or image).
With more curvy shapes you need to look to quadraticCurveTo(), bezierCurveTo(), arcTo() and arc() to create a path that curves.

Apart from drawing  and colouring (“filling”) images can be transformed: scaled (scale()), rotated (rotate())and skewed (transform ()).

Apart from shapes, of course you can draw and fill in text on the Canvas. And there are also API’s to create set the attributes of shadow’s:  shadowColor sets the color of the shadow, shadowOffsetX and shadowOffsetY positions the shadow from the original shape or text and shadowBlur allows you to blur the shadow.

There is so much more that can be said about Canvas that I almost didn’t bother with this simple overview for fear of not doing it any justice. However in the end I felt it needed a mention. The latest draft of the specification can be found here. Beyond this WebGL will provide a whole new set of more powerful capabilities however it is currently way behind the basic Canvas features in terms of browser support.

Further reading