I have been living in the future

I never realized that I was living in the future until the future became the present and the present became the past. People like you and me are living in the present and our thoughts and ideas are based on the present and at best based on visions on the future. I'm not any different, but I suddenly realized that in the past I've been working on stuff that actually hyped years later. I must have been living in the future.

12 Years ago I worked on enterprise collaboration software. The goal was to enhance the collaboration between people by allowing people to share documents in a common working environment. It was heavily inspired by the web and universal access, independent of location. In those days the openness and transparency was unheard of, today document collaboration is a commodity. Remember this was long before we knew about SharePoint, Dropbox, Google Docs and many other document collaboration products

8 Years ago I worked on an XML interface to open enterprise software and allow external accessibility. The idea was that a uniform self describing data format would ease the integration of systems. Today the an open API and integration of systems is a must and are widely supported by standards as Web Services and REST style APIs.

6 Years ago I worked on and truly believed in bringing ERP to the cloud. This was before the existence of commoditized cloud platforms, but it was based on the same principles that sharing resources among customers and continues upgrades could dramatically bring down the operational costs for both the vendors as well as for the customers. Today ERP in the cloud is one of the fastest growing areas of interest.

4 Years ago I evangelized and worked on social enterprise software. After replacing paper forms with computers and optimizing the routing and monitoring of processes the next logical step was to add a social and emotional dimension to the solutions. The period of treating people using computers as robots was over and the person machine interaction had to become more human and social again. Interestingly enough not many have pick up on this, except for Salesforce making it the main topic of Dreamforce a couple of weeks ago

2 Years ago I implemented and evangelized User Experience as a strategic discipline at a business software vendor. The war on features is over and it's not about adding more functionality, it's about making people more effective. The person machine interaction does not only have to be social, it has to be effective and emotion positive too. User Experience is going to be the main differentiator of the future as we today can see on the efforts and attention that Google suddenly is putting in their user interfaces and Microsoft telling use the Metrofy our existing solutions.

Today I'm available for helping companies that really want to make their solutions more social and really, really want to invest in the user experience of their solutions. If you need help check out my contact page. However I only do those consultancy jobs if you show commitment to make real changes.

Do I still have ideas that in a few years might be classified as a look into the future? Of course, but I'm not yet ready to disclose those. I've decide to build a business and first try to exploit the ideas myself.

Renewed interest in Microsoft Windows

Like many of you I do follow the news dripping out of Microsoft BUILD in Anaheim. It's more interesting Microsoft news than it has been in a long time. Let me explain.

Microsoft is in my view a company that delivers great enterprise solutions and since I left my corporate job my interests shifted away from enterprise solutions into other directions and thus had less attention to what Microsoft is doing. My focus is on the users, the small business and consumer web, the overall consumerization of IT and mobility. These are not the areas where I see Microsoft being very innovative and successful even when they try very hard and have solutions in all these areas, but they often are complex in all aspects, from usasability, deployment and even accessibility of the Miscrosoft organization. This is all very understanding, because Microsoft's DNA is tightly coupled to enterprise solutions that require more complexity than more consumer focused solutions.

Microsoft is the company that gave us a PC on every desk and that has been a great achievement. Together with their hardware partners they completely changed the computer industry to supply cheap commodoty computers that gave the software partners a great desktop platform for building their solutions. However in recent years the desktop platform becomes less important due to the shift towards Software as a Servives solutions consumed from the browser and the extensive growth in moblity and various mobile devices. Microsoft adjusted their business, but haven't been able to show the same dominance and leadership as in the early Personal Computer years.

This weeks preview of Windows 8 is interesting, because it can potentially lead to a new wave of Microsoft dominance and that opportunity is what keeps me following the BUILD news with more interest than usually. I've no interest in Windows 8 on a desktop/laptop, because it will be just more of the same and it's not the platform of the future. Desktop automation is complete and there is no gain in trying to squeeze more productivity out of people that sit at a desk behind a computer. The real opportunity is automating those people that have NO access to a computer and this is where the real opportunity for software vendors currently is. With the emerge of the tablet form factor, 12+ hours of battery life and less weight than a sketchbook there is a way to reach those people that are not behind desks but still deal with procedures and processes. Up until today they are primarily managed on paper, but can easily be replaced by a tablet for every single person.

For this to happen the price needs to get down to say less than 200 € to support business models that charge 10 € a month for using the device over a 2 year period. All Microsoft needs to do to make this a success, is to deliver a tablet operating system that is cheap, energy efficient and supports a wide variety of solutions that we are currently not aware of. In other words, the restrictions on what and how to build those solutions should be minimal. Further they need to encourage their huge hardware eco-system, that is dying for a new growth driver now the PC market is declining, to innovate and do better than ever before. It's not about competing with the iPad, it's about doing things differently that drive new solutions. When there is an abundance of cheap commodity tablets the software eco-system will capture the huge software opportunity of automating those people that are standing with their ankles in the mud each and everyday.

When successful Microsoft does have a chance to dominiate again for another decade. Unfortunately only the future can tell if this really will happen.

What do you think? You agree and give Microsoft still a change or do you consider it already a lost opportunity for Microsoft?

Redesign the laptop

For a while I've already been thinking that we might have to redesign todays laptops, but never got to write about it. About a week ago when Microsoft showed some Windows 8 explorer redesigns my idea surfaced again and now finally I got some time to share some of my thoughts.

In my office I work on a large, 2560 * 1440 resolution, screen and that is approximately four times the resolution of the laptop I'm currently using to write this article. The screen is so large that it's not comfortable to work with full screen applications, except for photo and video editing. When dealing with text, the lines get to long and become difficult to read. My usual set up is to divide the screen in 2 sections with for instance 2 browsers running side by side. One for keeping track of email, news and social status updates and the other for real work that involves writing documents. Working this way makes sure the width of the applications is still comfortable for reading lines, they don't get too long and I really appreciate the height and overview of the documents I'm looking at. When working on a laptop I don't really miss the additional width, but I do miss the additional height and overview of the document.

For me the vertical screen real estate has become more important than the horizontal screen real estate and I do anything to maximize the vertical viewing area. This involves turning off task- and toolbars, menus, etc. So when Microsoft announced the increased usage of the ribbon in the Windows 8 user interface I immediately got worried about the available vertical screen real estate.

It's time to rethink laptop designs, why not creating a laptop with a portrait oriented screen. I doesn't have to be any bigger than a current model 13" laptop, because that would be large enough to hold a reasonable sized keyboard and the screen would still be wide enough for comfortable viewing. There would be more space for a larger trackpad so it could combine keyboard and touch interface very well.

Call to action for all laptop vendors that want to created a competitor for the Apple Macbook Air: Don't try to compete by doing more of the same, but really rethink the design. When you do launch, be cool and give me some credit.

Credit for the image: Sie-Hang Cheung, a great interaction designer too.

Benefits of a good API

Before going into the details I will give a bit of context. I'm currently working on a solution for a very specific and niche market. I focus is on the interaction with the users in the field that require a simple and effective solution, this is the area where the real value for the application is created. However there is also a requirement for an important, but less sexy, administrative bit of functionality. This functionality is pretty generic and available in standard commodity solutions. My aim it to integrate with one or more of these standard solutions and I spend some time to explore their various APIs.

The first thing I noticed is the huge variation in offered integration possibilities. This ranges from 'call us if you want to integrate' to offering a very clean, well documented and easy to use REST API. Let me describe how I short list the solutions I possibly want to integrate with.

  1. The solutions must cover a basic financial administration compliant with the legal requirements for the country I'm operating in.
  2. Is it a cloud, Software as a Service solution with a pay as you go business model, because that fits better in my total offering.
  3. Is there an API available without having to call and/or sign agreements and contracts. Since I don't have any customers (yet) the other party isn't interested in talking to me anyway.
  4. What kind of authentication is the API using? The consumer web has already learned us that basic username and password authentication is a no go. I take the same stand, because there are good ways to do it without me having to ask and store usernames and passwords. 
  5. What is the coverage of the API, is it only data exchange or does it also allow me to initiate and execute processes? A real world example could be: I collect the information for an invoice, send the invoice to your system, process the invoice to finalize it and retrieve the 'processed' invoice to present to my user. This all in real-time without a significant delay.
  6. Is the API stateless? This is a bit technical, but is important if you want to use the API from an environment where each API call can potentially come from a different server, something what is very likely to happen when using a cloud Platform as a Service environment.
  7. What is the interface used for the API, I find everything from exchanging files, SOAP web services to REST XML or JSON. The first is too limited, because it's usually to heavy for real-time integration and more suitable for batch integration and most of the time only covers data exchanges. SOAP web services are nice for enterprise integrations with an existing message bus system and a REST API has my top preference.
  8. What is the data format used in the API. The choice is usually between XML or JSON (Java script object notation) and it's not that important for me, but the preference is on JSON. JSON is lighter, easier to parse, requires less bandwidth (good for mobile solutions) and has better type checking. 

If you made it through the list your are a very likely candidate to become company I want to partner with. 

Unfortunately not many business solutions make it through the list and inn this respect the consumer web is already much more advanced than the business web. It's like in 'The importance of strategic user experience' with the challengers having the lead on the establishment and in the 'Old versus New World SaaS' the newer SaaS companies having the lead on the older SaaS companies. It's time that the establishment steps up and realizes that there is a huge long tail of opportunity up for grabs. 

A great API allows you to extend into niches beyond you can cover yourself without a significant extra effort. I'm more than willing, for my normal consultancy fees, to help you defining the future of your APIs.