Kill APIs if we want Open Finance

3 03 2021

Over the past years we have seen PSD2 come into force, we have had Open Banking (and the OBIE) both with the aim of bringing a world of APIs to banking, the desired goal, to enable third parties to gain access to banking to enable them to provide better customer experiences and choice. However, as the OBIE is being wound down, we are starting to look to the next governing body to help define API standards and ensure infrastructure resilience while also playing with the concept of Open Finance.

While Open Banking may not have proven to bring mass adoption with it by end customers, it has at least shown that there are other ways of doing things, more modern approaches. There are some great solutions now being brought to the market which are only possible because of Open Banking APIs, but it is fair to say, Open Banking hasn’t had the impact many predicted or may have hoped for.

So, has Open Banking failed? Well the short answer IMHO is no, rather it has shown that for real customer outcomes to be improved, we need to look at customers finances as a whole and not just their bank account/credit card activity. This brings us to the concept of forcing other areas of the financial services sector to provide Open API type of access. While this may seem all great, there are some learnings that must be learnt from Open Banking, and for me, these need to be addressed asap.

Standards aren’t standard

Standards are often the keys to interoperability. So, with this in mind, the OBIE and PSD2 set about setting standards of what Open Banking APIs should look like, how they should behave. Banks though have to build these API layers, knowing that they don’t really fit with the infrastructure or approach they may have within their technology stack. Let’s park the issue of legacy systems, because even with an uber modern Core Banking system, Open Banking APIs are very prescriptive and will not follow your IT design pattern of choice. Because of this, and various other technical challenges, we find that banks have to work around the spec, and this leads to interpretation. The result, a third party needs to have tweaks for bank-to-bank integration. This is a maintenance nightmare, not just for the third parties, but also the banks themselves, which has resulted in infrastructure that clearly hasn’t got the same up time as the bank’s core systems.

With standards, less is often more. Less to cover leads to better focus which leads to the removal of interpretation which leads to a robust standard. A key learning before we embark on Open Finance is that we MUST have less documentation and greater focus on accuracy.

Ditch direct APIs

If we really want to thin out our standards, then we need to focus on what data is needed, and less on the API implementation / flow. This wont thin down documentation massively, but it will allow the pencil to be far sharper in terms of accuracy and the removal of interpretation wiggle room. The second learning is that banks need to make sure their “Open Banking / Open Finance” infrastructure is resilient and fits more seamlessly with their technological approaches. Given that each bank is different, their IT strategy will be different, their core systems are different, their capabilities are different, their ability to invest in Open Finance is very different this is the biggest learning we must take forward into the world of Open Finance.

So how do we solve these two issues while still providing external standardised connectivity and interoperability amongst financial services companies. The answer is simple, move with the times…

Direct APIs are dying off. We therefore need to move with the times and kill off this concept of direct Open Banking and Open Finance APIs. Modern architecture uses Event Patterns and not direct APIs. With an event pattern, components (software) raises /publishes an event to an event broker. The broker has subscribers who then receive that event and can process it accordingly. There are many benefits here, including the fact that publishing and consuming events is consistent, no matter what the system is you want to integrate with or what process you wish to trigger. The API for publishing events is consistent and does not change, so you are abstracting API change away from your system. In addition, the beauty here is a single event can be picked up by multiple subscribers, and therefore promote parallel processing. You can see why direct API integrations are dying off…

Event brokers and orchestration

If we want to provide Open Finance, then financial institutions need to expose an event broker. Third parties can then push events onto that event broker which can be picked up by the financial company and acted upon. The financial companies’ implementation becomes irrelevant at this point, rather it is down to them to simply act upon the event and return an event if required. This gives them freedom to architect their solution in a way they know will work, in a fashion that plays nicely with their IT strategy and in a way, they can improve resilience. This also makes them far more accountable if they are unable to meet certain up-time obligations.

From a third-party point of view, event broker APIs very rarely change, they are constant. This means the focus becomes that of what data is within the event, something that can be specified and made extremely concise. From institution to institution the approach will be unified as to will the experience for the third party. This removes the challenge largely of API management and supporting a plethora of direct APIs and their versions. Essentially API implementation and change has been abstracted away.

This is how we can move to a far more prescriptive standard regarding Open Finance while at the same time, simplifying implementation.

I should also add that event patterns will dramatically improve the customer experience and make everything feel far more integrated – when compared to that of multiple APIs from multiple providers all of which have to be triggered in specific orders.

Implementation

Financial Services need only leverage small aspects of the Cloud to enable this new approach. Both Azure and AWS have highly mature, robust event orchestration capabilities, and most banks globally have relationships with both Microsoft and Amazon. Simply utilise these cloud providers orchestration capabilities, technology such as Event Grid and Event Grid Domains from Azure will do the trick.

The setup is consistent and simple across the financial services organisation and for a third party. The implementation by the financial services organisation is behind the event broker and therefore they don’t need to worry about following specifics, rather they hook directly into what works for them best. The standard becomes highly data focussed in terms of what the data being published onto the event broker looks like – standards such as ISO 20022 will help here and Microsofts Common Object Data Model (for financial services) will also help.

Summary

Open Finance will provide dramatic improvements in terms of customer outcomes once in-place. Better access to financial products, improved transparency, better customer services and new innovations that can be taken advantage of will all start to happen. But this can only really happen with better standards regarding data and simplified implementation approaches – for both the third party providers and financial service organisations.

Direct APIs bring with them a level of complexity which is simply not required in todays modern architecture. By moving Open Finance away from this now dated construct and towards that of Event Patterns, Open Finance becomes far easier to implement and execute successfully. Here is to the death of Open Banking APIs and the birth of Open Finance Eventing….





SCRUM way to go…

6 03 2013

SCRUM

This is a slightly different type of blog post, focusing not so much on technology rather on a way of doing things, and in this case, the best way at developing a complex and large solution. First off, let’s give you a little background. The reason of this post is because my own company is currently finishing off our first release of our Zync Wallet digital wallet product, which in old school IT terms, is a complex project to say the least…So, when undertaking this “project” it was highly important to me to ensure we use the right methodology for delivery, and delivery is the key word here. Actually, “methodology” probably isn’t the right word, what we needed was a “framework” for delivery, and that’s where SCRUM comes in.

We have been very lucky in being able to aquire the right talent for our project, and when I say the right talent, sure I mean the right developers, people with the right skills, but also people who understand SCRUM, people who work well in a team, people who communicate well and at the end of the day, people that know how to deliver product.

As a stakeholder, it’s important that the product that is delivered by our development teams is exactly what our vision of that product is (vision as a company), that the features, functions etc are just as how we see them to be. SCRUM gives us a framework to ensure that the product delivered is as we expect it and want it to be…

I’m not going to say it’s been plain sailing or simple, especially as my own role as CTO has been split across other requirements, meaning that my own input into the vision of our product has sometimes not been available to the development team.

 

What is SCRUM

Most of my readers I’m sure know of SCRUM, but if you are new to it, essentially SCRUM is an iterative and incremental agile framework, typically, used for Software Development, but I would never limit it just to software development. I would argue that SCRUM can be used for anything as long as it has an objective that is a measurable deliverable. SCRUM is ideal for solutions that are complex, where it’s hard to know up front your actual requirements or implementation. In such cases, feedback loops make up the core management technique, and that’s ideal in ensuring you deliver actual products. In SCRUM your deliverable is not a project rather project is a dirty word, everything is about delivering product. As a stakeholder, that’s perfect as you get to see your “product” grow, provide feedback and ensure at the end of the day that the product you have in front of you is actually what you want.

Not only do we use SCRUM for our development efforts, but we are now starting to apply SCRUM to other areas of our business, areas that include things like marketing campaigns, sales, even customer management!

 

Sprint to success

We are using the SCRUM framework for all our software development here at CloudZync. SCRUM puts emphasis back on the professionals who do the actual work, who actually deliver the end product, in this case our software solutions. Splitting up the whole solution into smaller manageable chunks (known as Sprints) ensures that all work carried out is actually usable and contributes to the overall final product. At the end of each sprint the stakeholder (me in our case) gets to review the product results of that sprint. What’s great here is that I get to see our product grow and “play” with the deliverables. By actually having something to use it makes it much easier to identify anything that’s missing, new requirements etc. These can be feedback and taken on board.

 

Mocking things out

One of the reasons why SCRUM is so viable to development work, like our own, is that development technology has moved on. “Mocking” allows us to effectively pretend that components that are key to another function actually exist and are available for use. By “Mocking” these components it allows multiple development teams to move forward without waiting on another team to complete their own work. In terms of our sprints it means a sprint can consist of multiple development teams, none of which will be held up by components that are to be delivered in a later sprint.

 

Quick conclusion

If you are about to embark on a complex solution, to deliver an IT product or something else, then SCRUM is an ideal framework to ensure you actually deliver what you set out to do. There are numerous examples on-line that illustrate the power of SCRUM, the most obvious being an old one, and that’s a case study with the FBI.

From my own experience, SCRUM allows you to deliver usable products that can be reviewed at the end of each sprint, it allows us as stakeholders to guide the product correctly and to actually ensure product is delivered at the end of the day. All too often IT projects fail because of lack of information up front, or because change management becomes too complex in complex solutions. When in this state, IT projects spend so much time in documentation, change management, requirement re-focussing etc again that actual tangible product simply never gets delivered. If you want to deliver product, then SCRUM is the way to go…

 





Connectivity, Efficiency, Experiences

23 11 2011

When looking at BPM (Business Process Management) solutions, or talking about BPM the concept, many of us think of how it relates to actual business processes or business goals, cases, targets etc. This is the main aim of BPM, to address how a business achieves a goal or carries out “work”, agreed? Ok, but my observation is, Is this right? Does the term BPM limit our thinking in real sense?

 

Outside of the business

If we take everything that we do towards a desired goal or outcome as a process, then BPM applies to everything we do in life, it’s not just limited to Businesses! For example, our own bodies go through processes every second of every day to achieve a goal. Think how we breathe, there is a distinct process, think how we turn food into energy, a distinct process, think how we run, a distinct mechanical process.

Now these examples are to simply prove a point that processes are around us and a part of our daily lives massively, which means any one process is made up of many others. Me running is a process, but in order for me to run, my body goes through a number of other processes, breathing and turning food into energy. This means businesses should not see their process as “the process”, rather as simply a smaller part of an overall and far bigger customer experience.

 

Real world example needed

To get my point across I want to use a real world example. Ok, I purchase a printer from a store. On checkout I provide that store with some basic information about myself. I then get home, install the printer and start using it. I fill in the warranty card, post that off, and then forget about it. A few days later the product breaks down, and I need to get it replaced. From the point of view of the manufacturer they don’t need to take into account any of the process I have just gone through, in order to kick off the process of dealing with the fault, but should they?

I believe yes.

 

Connectivity

Connectivity of devices and processes can have massive implications on process efficiencies, and the ability for external processes (that may not be directly related) to have a positive effect on our business processes.

First off, connecting and sharing data between different processes obviously provides added efficiencies and data accuracy. If we take our printer example, the process of checking out and paying for my printer should be integrated with the process of me completing a warranty card and informing the manufacturer.  That’s a process I shouldn’t need to be doing, and with improved connectivity of processes and data, I don’t have to. Now relate that back to the process of me returning the faulty printer, you see that process will be improved because of this connectivity in a different process. Both the store, and the manufacturer now know me, the product and the warranty, I don’t need to go through a number of steps at the start of the manufacturer’s faulty product process.

Secondly, device connectivity can have a massive impact on process efficiency, especially when connecting multiple and sometimes very different processes together. In the typical BPM world, do we take this into consideration?

Since the rise of the Smartphone, we have started to take into consideration connectivity to processes from different devices; we now see not just eMail being accessed on our mobile devices, but also ECM concepts along with the ability to actually work. However, when we flit between devices, such as our laptop, tablet, PC and mobile, often we have to do things again. Think deleting emails from your mobile device you have already deleted, think re-downloading a document we were working on etc. These are small things, but they can rack up a lot of time, and frustration amongst your work force. Now think of this from the point of view of a customer? You can see how better connected devices mean we can deliver better connected experiences to our customers, which have an impact on process efficiency.

Connectivity is a big thing, and one of the problems with multiple platforms and operating systems is the lack of connectivity. As a consumer, we like single user experiences, and we now want and like flexibility to do things whenever we want and on whatever device we want. Unfortunately having a different OS on my phone to the OS on my tablet, to the OS on my laptop and PC is not great for connectivity or user experiences. I’m not sure big players such as Google and Apple get this. Apple do it better than Google, and currently Microsoft, they learnt from the disjointed approach of Microsoft in the 90s. However, Microsoft seems to understand this connectivity and single user experience far more now, and they are moving ahead of the others. With Windows 8 and Windows Azure, one connected OS across all devices is only a few months away. That potentially provides massive connectivity bonuses to business and consumers.

 

Efficiency

BPM, APG (Adaptive Process Guidance), ACM (Adaptive Case Management) all aim to help businesses in a number of ways, raising efficiency, increasing standards, increasing accountability, ensuring compliance and improving customer experiences. These are just a few arguments for BPM thinking.

Efficiency is often looked at in terms of processes businesses own. Let’s look at our example process again. The manufacturer can improve the actual faulty printer process internally; it monitors what goes on, tweaks it here and there and improves it. However, external processes and greater connectivity should be leveraged to drastically improve this process further. Make sense?

In order to get a working printer, I the consumer, will follow through a process, which is a bigger process to that which the printer manufacturer has for handling this issue. If we step back, we can see that this process of getting a working printer spans over the store and the manufacturer, but if we step back further it also incorporates the process of me purchasing the printer in the first place. Do you see how a bigger picture of a process now surrounds my manufacturer’s simple process of dealing with my broken printer? If you do, then you can start to see areas in which we can make the manufacturers process of dealing with the broken printer far easier and more efficient than what is currently in place.

Essentially, if along the entire process of me purchasing the printer the manufacturer was thinking about the returns / repairs process, then they would want to get the warranty and customer information at the point of sale. This drastically improves the process efficiency for returns, in terms of internal efficiencies but also from the point of view of the customer, improving their relationship with that store and the brand of printer they have bought. I’m not going to break down the process further, rather I believe I have made my point, that business can improve process by taking into account external processes, especially those of their customers…

 

Experience

This post is about delivering a better customer experience. Leveraging the connectivity potential of devices and the connectivity potential of processes, business is able to improve its own processes. Taking our faulty printer example we can see how improved connectivity leads to external processes improving the manufacturer’s returns / repair process, in terms of efficiency internally and for the customer. We also see how connectivity of devices makes the customer experience far easier, simpler and more efficient, including for the manufacturer.

So with efficiency in mind, we look to greater connectivity, put the two together and you get drastically improved experiences…





Disappointed with the cloud?

12 10 2011

A recent eBizQ question has sparked this post, essentially it asked “Why are so many disappointed with the cloud?”, and this question was based on the fact that few organisations have made the move to the cloud, and those that have, many are stating they are disappointed with the results…So why would you be disapoointed? After all, it does what it says on the tin…

 

Cloud variants

A big problem is what do people mean when they say the “cloud”? If we take a look at the big players here, Amazon, Microsoft and Google, we see 3 different interpretations. Amazon deliver IaaS, which is Infrastructure as a Service. So essentially they deliver you an infrastructure for you to leverage as you please. This is very different to Microsoft’s Azure take on things, in which Azure delivers PaaS – Platform as a Service. Think of IaaS as your physical servers, all connected with nothing on them, and think of PaaS as physical servers, but running the server OS. Essentially Azure is the operating
system for the “cloud”.

Unfortunately, “cloud” is a very broad and “loose” description, so organisations must understand what type of “cloud” they are leveraging or buying into.

 

Expectations…

First off, let’s remember that the “Cloud” isn’t a solution, it’s just another platform. As a company you didn’t purchase Microsoft Windows Sever and expect it to solve all your IT needs did you? The “cloud” is a platform, nothing more, and yet as a platform it has capabilities that just aren’t available anywhere else.

Convenience, or something more?

Some argue that Cloud can be seen as IT convenience, which is true to an extent. If you view the cloud as nothing more than convenience, then you will no doubt also argue that the cloud makes far more sense to small organisations, as opposed to mature companies that have invested heavily in data centres – effectively providing them with cloud like capabilities. In many cases this is
very true, I myself have written posts illustrating reasons why the “cloud” is not applicable to some companies or IT solutions. Yet, “cloud” is more than just convenience, it’s about scalability, availability, reduced administration and reduced IT overheads. If you are a mature organisation, then no doubt your data centre will be specified to meet your maximum demands placed on it, as it
has to. For most of the time this means you have a lot of “spare capacity” and in effect, are wasting money. With the “cloud” and especially PaaS, you only pay for what capacity you need at that time. So you can quickly scale to meet demand peeks, but when you have little demand, your costs decrease as you lose that spare capacity.

We also have to look at capabilities here, using “cloud” based solutions we have a real option for continuous connected availability across a range of devices. We can share “state” between devices etc which makes it far easier to jump right back into work, where I was, even when I swap from my work PC to my work tablet or laptop at home, heck even to my Phone.

 

Security

This is a big issue, and unfortunately many security concerns are simply invalid. The cloud doesn’t mean open access to all! However, in some cases, compliance and regulatory demands mean you cannot jump to certain cloud providers or solutions. For example, for compliance you may well need to keep your data stored in your geographic location, so you can’t have it physically residing in the US when your company and the owners of the data are in the UK. That will include your data back too. So, you need to be aware just what your cloud provider is doing with your data / files, and make
sure they can meet your compliance needs.

 

Cloud based solutions

The big problem why organisations are disappointed with the “cloud” is the actual applications, their capabilities and user experiences. To be blunt, most cloud based “apps” pale when compared to traditional desktop based applications. Why is that? Well it’s mainly down to implementation of the software application, nothing really to do with the “cloud” as a platform.

Most “cloud” solutions are fully in the cloud, so essentially you access them through a browser. This is a massive problem and hindrance, and for business, web applications just don’t meet the needs. I don’t care what anyone says; running software in a browser is ok for only a handful of solutions – not for everything. Some of the problems with web based applications are listed below, and these are real problems and cause for disappointment with cloud based solutions at the moment:

  1. Integration – how do you integrate multiple solutions? How do you integrate a cloud solution with standard desktop bound solution?
  2. Customisation – do you really have an option to have your software customised to your needs? Again probably not, as the solution is there for “all – in the cloud”, not just you
  3. Cross platform – HTML 5 is what keeps getting mentioned, but the issues still remain about how it performs within different browsers. In addition, think a bit wider. Does HTML based apps really deliver what you want cross platform? Think “cross devices”, how can you get the best user experience across multiple devices and their operating systems. Think PC, Mac, Windows Phone, iPhone, Android, Tablets, Laptops, XP, Win 7 etc
  4. Asynchronous – many web based apps aren’t really Asynchronous, which means your user experience can suffer, especially when you are making round trips to the cloud and back (same problem applies to basic websites that are implemented poorly)
  5. Data Extract – what is available, does it meet your needs, and whats the user experience here
  6. Synchronisation – Can you synchronise between devices and return to your application in the same state?
  7. Backup – what backups and formats can you get?
  8. Application upgrades – will you be charged for upgrades?
  9. Service Level Agreements – just what agreements can you get in place?

 

Improving the cloud experience…

So I have spent some time highlighting why organisation may well feel disappointed with the “cloud”, but now I want to point out how cloud providers and more importantly, software vendors, can replace disappointment with real excitement…

First off, your “Cloud” provider, you need to choose carefully, make sure you understand what they are providing (IaaS, PaaS, SaaS capabilities) and then understand what they do to meet you compliance needs. Take into consideration what you want to deliver via the “Cloud” – does your desired solution even work in the cloud or on a particular cloud platform?

I personally recommend the Microsoft Azure platform, simply because it delivers far more than just typical PaaS, it delivers brilliant development tools, application capabilities and synchronisation capabilities (it is also tied in pretty tightly with the up-coming releases of Windows 8 and Windows Server 8 – keep that in mind).

Windows 8 leverages Cloud capabilities heavily (Microsoft's Azure)

Windows 8 leverages Cloud capabilities heavily (Microsoft's Azure)

Secondly, and most importantly, choose “cloud” solutions that leverage your devices – so that’s your actual PC, Mac, Phone etc…The big change is how we use the “cloud”, moving away from a single UI within the browser to an actual “application” solves so so sooooo many of the issues highlighted. So what do I mean?

Cloud based applications need not run in the “cloud”, they need only be distributed or leverage cloud services, data and content. So the application is installed and runs on the device, accessing cloud services, data and content. When we move to this model, you see how usability, experience, and capabilities all drastically increase. So:

  1. Integration – This is made a lot easier, real application integration can take place, be that using cloud services in another application, or actually sharing data on your device between applications (this can be taken further with Windows 8 and the use of contracts and charms)
  2. Customisation – Customising applications for a client is made a lot simpler, it becomes something that is in essence, not that different to customisation of typical desktop in house applications today
  3. Cross platform – well the iPhone has shown us that using platform specific technologies deliver the best user experience. Would you rather use the iPhone app for that, or trundle off to the website. You will use the app. So this is no different, deliver “Apps” for the desired platforms and HTML 5 for platforms where you will not support apps. (Remember, that you are not maintaining multiple versions of solution code, rather multiple front ends, nothing more)
  4. Asynchronous – Running typical applications allows developers to really use asynchronous capabilities within their solutions, improving performance and the user experience, not to mention
    dodging the browser time out issues
  5. Synchronisation – with apps you can leverage the cloud to then store your synchronisation data, which makes it possible to synchronise your applications across all your devices in real time
  6. Upgrades – these are made easier, even for customers who run highly customised applications

 

Quick finish…

Essentially, disappointment in the “cloud” is actually disappointment caused by “cloud” expectations being wrong, choosing the wrong cloud provider, or using cloud solutions that are limited, limited because they are stuck in a browser…With time, we will see greater understanding of what cloud providers actually provide, greater understanding of IaaS vs PaaS and we will see software providers delivering “apps” as opposed to just browser based solutions.

See the cloud as a platform, nothing more, and choose solutions based on their capabilities for meeting your business requirements. Good cloud based solutions, that leverage apps, will not only meet your expectations, but will offer you more features, more functions, less administration and ultimately run at a cheaper cost for you…





BUILD and Windows 8…

19 09 2011

So last week saw Windows 8 developer preview being shown off at Microsoft’s BUILD conference, and well, there was a lot to take in. BUILD was also showing off Windows Server 8 and a host of other Microsoft initiatives / solutions, including Windows Phone 7.5 and Windows Azure. With all that being shown off, it was hard to keep up and understand what exactly Microsoft was telling us about their future products and services. Unfortunately, as with most things Microsoft does, this meant that there was a lot of “dodgy”, to put it politely, blogging and tweets being thrown around. Essentially many tweets and blog posts were simply wrong, or written by pure Microsoft haters, so the messages coming out from BUILD did get a little lost for some…

Anyway…Let’s have a look at Windows 8 and what it could mean to consumers and businesses…

Metro

Well this is the new interface style if you like, what Windows now looks like by default. Metro is something Microsoft has been pushing, but it’s essentially a design look and feel. Many people see this as
primarily just for tablets, but I disagree. I like the idea of switching on my PC to see the “live tiles” environment, allowing me to peer into applications without needing to open them. It’s a feature I like on the Windows Phone 7+ platform, and I personally think it works really well for the PC, laptop, tablet market. Metro applications also look and behave great, and I have no problem with moving away from “chrome” based windowed applications.

Windows 8 new Metro UI. It's Alive...

The “Metro” side of Windows 8 only supports “metro” style apps and HTML running in IE10 (currently no Silverlight or Flash in the Metro browser experience). Metro also provides a design methodlody for applications, and as such, a framework for developers to work within when delivering “apps”.

There are also “contracts” in place between applications, allowing them to share functionality via “charms”, such as the “search charm”. What does that mean, well it means you can search inside your app from the standard search dialogue. Even better, you can share content between apps using the “share” charm, so I am in one app, and I wish to share some content, I can click on the system charm and simply share it with another application. This provides a real slick feel to using the system, as if the Apps are part of Windows 8, as opposed to a single bit of software that simply runs on Windows 8. There is quite a difference there…Essentially metro and charms all adds to the user experience, and rich environment, Windows 8 aims to deliver.

Charms in action

Using "Charms" with touch screen keyboard to search within apps

Many though have stated, why ship Metro style for the PC if you are also supporting the more traditional “desktop” look and feel, which essentially is Windows 7 updated. There have even been calls for supplying metro only for tablets, and desktop view only for traditional laptops and desktops, a bit like Apple shipping iOS for tablets and full on Mac OS for Mac Books. Well to these people I simply say “you don’t get it”…

Flexibility, choice and function is what people want. If I own an iPad and I want to edit some pictures by using Photoshop, I can’t. That means switching over to my laptop, Mac book, PC whatever to do that work, not great if I am at the mother in-laws for example. So why not deliver a tablet that can allow me to do that work if I want? What’s wrong with having the flexibility and option there? Nothing…After all, I don’t have to go into the standard desktop if I don’t need to…

Native Desktop

The native desktop is still there, essentially it looks and feels like Windows 7, and there is nothing wrong with that. The native desktop is used to support more complex applications, applications such as Photoshop or Visual Studio, applications that need lots of tool bars, need to show lots of actions and functions to the user. There is nothing wrong with these types of applications, and not all applications could be designed the “metro” way (nor should they).

The native desktop is just that, it’s everything Windows 7 is right now, so all your legacy / business applications that have gone before will run fine on Windows 8.

 

Tablets, Laptops, Netbooks, PC’s, Phones…ARM, the lot…

One of the big things with Windows 8, and something Microsoft kept on pushing at BUILD, was that Windows 8 is for all devices, and that means all forms of hardware. So Windows 8 runs well on my fully blown development beast of a PC, yet it works just as well on a small wafer thin tablet running an ARM processor. This is actually great, it means I have a single experience across all my devices, while Microsoft needs only support a single platform.

Now, throw into the mix Microsoft’s investment into the cloud and Windows Live, and you start to see added benefits of this kind of thinking. You can have all your devices understand “state” between them, so understanding where I am in an xbox live game for example, or where I am in terms of a business process. That makes life a lot easier and flexible. Simple things such as changing my “Avatar” on my PC is replicated across all my devices, which is a great touch…

For quite sometime I have wanted a tablet that allows me to install everything I may ever need on it, so that includes development studios, it includes database administration suites, it includes photo editing software etc etc and I simply cannot do that with a tablet. So that means I lug around a great laptop just in case I need these things, yet I mainly use that to search the web, run some power point presentations, check email etc etc. With Windows 8, I can get my PC on a tablet, and use it as a tablet, until I need to use it properly, and in such an event, I can…

 

WinRT, .NET, WPF and Silverlight

Ok, now this is where many bloggers etc really annoyed me, especially those saying “Microsoft has killed .NET and Silverlight”. The essential truth is that many “components” that make up the .NET framework (and therefore the Silverlight framework) have been incorporated into WinRT (which is the metro side of Windows 8 libraries – if you like). Metro apps run either XAML or HTML 5 (note that if you are familiar with WPF and Silverlight that XAML is the front end of those technologies) but don’t run what we could term “native WPF or native Silverlight” applications. Metro apps “managed code” environment is either C++, VB, or C# (oh that’s just the same as WPF and Silverlight), and pretty much everything is the same. If you have an old Silverlight or WPF app,
you do need to make a few, and I do mean few changes, before it runs in the metro environment. I personally don’t see the big problem with this. Sure if you have a business application running on Silverlight, you now need to change it if you want to run it in the Metro world, however, you can always run it in the desktop environment…If you want to migrate, make the few changes and away you
go, and you now have a Metro application. Those changes are essentially a few include changes, and that’s it…

When you look at “Metro”, you see that it really is just an update to Silverlight / WPF, actually the whole of Windows 8 looks and feels like a Silverlight / WPF.

 

HTML 5 and scripting languages

HTML 5 is now supported along with Javascript in Visual Studio 2011, now I don’t think this shows any movement away from Microsoft technologies (such as XAML), rather it shows Microsoft’s aim of allowing as many developers as possible to develop great applications for Windows 8.

From some of the videos I have watched, I would suspect that using XAML is better for Metro applications (well delivering some of them), however, HTML 5 is going to do more than adequate job.

 

Windows Azure

There was a lot on Windows Azure, especially when we start looking at how Windows 8 synchronises between all your devices. Now I am not one who has shouted about the cloud from day 1, I have often spoken of some of the issues regarding compliance and many issues with the cloud. However, that being said, Microsoft uses Azure very very well with Windows 8. They have also gone through a lot of work of exposing may Azure interfaces to developers, allowing them to take advantage of the power of Azure across all devices. Great thinking…

I also liked a lot of things being done with Azure, and how Microsoft have really addressed compliance issues that do raise their head when we think of cloud computing. If I am honest, I think the stuff I have seen on Azure of late has me praising the concept of the cloud so much more. Though I feel that’s more aimed at “Azure” than cloud computing in general. I still have issues with IaaS and concepts of cloud applications running in my browser (I hate that, I want a real user experience, a real application, and guess what, with Metro or the desktop and Azure, I can get that very easily).

 

Developers, developers, developers

BUILD was all about developers, and that means putting them at the forefront of Windows 8, giving them the tools they choose to develop with and allowing them “sell” to potentially millions of customers. On that note, there was a lot made about the sheer number of devices out there that will be running Windows 8, and just how big that audience is for developers. I know that Apple has gained traction here; I know that Android has gained traction too, but at the end of the day, if you develop for Windows you have the biggest audience out there. And that is a fact…Throw into the mix Windows 8 capabilities on tablets and the deal with Nokia, and I think you see that Microsoft is working hard to get even more devices running their software.

 

Much more I have missed…

There was simply so much at BUILD that I can’t possibly start talking about all the things I am aware of, nor did I fancy writing multiple blogs on essentially a platform that is only at developer preview stage.  I didn’t touch on Windows Server 8, nor other features such as NFC enablement, but there you go. Go visit Channel 9 and watch the hundreds of hours on BUILD.

Essentially, Microsoft has been working very hard, it has taken on board the need for touch, and the fact that mobile and tablets are becoming must have devices, and as such, Microsoft should have Windows running on them.

I personally think Microsoft has done a great job with Windows 8 and Azure, and I can really see them taking Apple on head to head in markets where Apple currently dominates. Is this Microsoft getting back to their best? I think so…





Apps Apps Apps. Oh and web services

31 08 2011

The growing demand for smart phones, and the ever growing number of us who now own one, and almost rely on one, means we (as consumers and end users) now expect to be able to consumer content and work in different ways. It’s amazing that “culturally” many of us now come to expect certain possibilities from our mobile devices, and that means we expect certain things from the content we wish to access or the solutions we wish to use to work. With this in mind, we need to architect solutions and user experiences not just for the “web” or the desktop, but for both, and not just for both, but also for mobile devices…

 

Apps, Apps and yet more Apps

It really all started with the iPhone, the drive for “there’s an app for that”, which means many of us now use apps for so many day to day type tasks. Apps deliver a far greater user experience than any web based “app” can in a mobile browser, even HTML 5. Keep in mind this fact, as it means consumers expectations are higher than ever, which ultimately means software developers need to provide “App” solutions, and not rely on HTML 5 for cross platform compatibility.

This same expectation on our mobiles means we expect similar from our desktop experiences. So while HTML provides cross browser capabilities and the newer HTML 5 provides richer experiences, it doesn’t quite hit the expectations consumers and users now have.  So what does this mean? Well it means that the desktop application is not dead, rather it is evolving, throw in the cloud and we can see where things “should” be going…

The Cloud

The cloud and SaaS opens up new doors, especially for “Apps”. Relying on HTML 5 to deliver cloud based applications is simply mad, simply because user’s expectations have moved on. For me, HTML 5 is simply 2 years already too late. The solutions then should be delivered in “app” type fashion, and this is where I believe Silverlight and Flash will lead the way. Both can deliver almost desktop type solutions and user expectation, but be deployed over the web. With Silverlight you can run it within the browser or out of the browse, as if a real desktop application installed on the machine. This surely is the way to go…

I know Apple goes on about HTML 5, but do we really believe that Apple sees people using HTML 5 apps on their iPad, when a user can access a far better experience, more features etc. by simply using the “App” for that?

Web Services

Good old web services play a pivotal role here, allowing any form of application (desktop, HTML 5, Silverlight, Flash etc) to communicate and essentially “work”. It seems that all these technologies are starting to “align” which means that these are exciting times…

One architecture for all?

With the cloud, web services and the drive for apps, we essentially have a single architecture that is already drawn out for us for so many different types of solutions. The only down side is that “apps” need to be developed for individual platforms, though Flash and Silverlight cover a few of the basis. But, “Apps” are essentially the front end of the solution, all the work is still being done down in the engine room and via web services, so it’s not as big of an issue as many may try and claim.

New ways of doing business

This architecture, and mobile devices, along with their apps, opens up so many new avenues for the ways in which we communicate, we consumer content, we play and how we work. It even means so many business processes that we believe are fixed in “stone” can be changed, and be changed for the better and at a cost that isn’t astronomical.

I think Apps, along with the cloud and web services will change the way in which so many day to day processes and tasks are done, I also firmly believe that there are a number of technologies in the pipeline that will take too long to evolve and will be overtaken by the “app” monster…I feel the big HTML 5 could well be one of them, with many organisations not investing in new HTML 5 websites, or applications, rather opting for real “Apps” leveraging web services…

What do you think will suffer at the hands of apps?

It would be interesting to know what other budding technologies, or big ideas, that you think may potentially fall by the wayside, because we now have such an architecture and consumer expectation for Apps…





Adaptive Working Environment (@WE)

17 02 2011

In previous posts I have spoken about the importance of a holistic approach to delivering IT to business, which aligns IT solutions more closely to the actual needs of the business. I have also posted about the importance of being highly adaptive and flexible to business needs, which ultimately includes the needs of end users and the most important of them all, customers…So with all this in mind, Adaptive Working Environment (@WE) makes a lot of sense, if you understand what it is…

It was interesting to read Max J. Pucher post on ACM is Dead! Long live ADAPTIVE as many of his points regarding ADAPTIVE are areas I have been working in / towards for some years now. Sure the terms are a little different and even the areas are (I have come from a far more ECM orientated silo) but many of the points he raises about ADAPTIVE can be applied to not just the areas we frequent (CRM, BPM etc). My previous post touched on some of this, and I thought it was time I spoke about the holistic and adaptive concept I have been working on and off for the past 8 years now…

What’s the concept?

8 years ago, myself and a colleague had the idea of delivering a single platform for ECM, CRM and BPM. This isn’t that radical really, but the concept was to ensure that it was a single platform, no silos loosely related requiring integration, rather a single platform that delivered these functions.  We also wanted the platform to be as highly flexible as possible, allowing end users to change its structure, change classifications and even definitions of processes / work that had to be done. That concept started its life as project workFile, which has since become a company in its own right. The concept itself has gone through iterations too, with new “terms” being used to describe our big idea, new methods and even new approaches to delivering on that concept. But the concept has remained, a single, highly flexible platform that looks at a business problem in a holistic fashion.

Now Im not saying this is something unique, and there are vendors out there with the same holistic approach.  But what I spoke about many years ago, and what the drive is at workFile now, is an Adaptive Working Environment (@WE), which is more than just an adaptive mindset, or an adaptive holistic approach to CRM, or BPM or whatever…

The Adaptive Working Environment drive if you like, is to embrace both adaptive and holistic thinking fully. So thats in terms of a single platform, how that platform is architected, integration capabilities and delivery through a single extensible user interface. With the areas I work in that means a single platform for adaptive ECM functionality, adaptive CRM and of course Adaptive Process Guidance (APG) in place of traditional BPM.

But an Adaptive Working Environment (@WE) needs to be more; it needs to make life easier for the end user in terms of human computer interactions, so to do that, a single user experience is required. When I talk of a single user experience I mean this to be delivered through a single application, not multiple applications accessing the same platform, but a single application delivering a single user experience. That single application also needs to provide integration possibilities, have extensible capabilities so that other solution screens can be built, and delivered, via that single interface. How much simpler is that for the end user?

But we still need to do more to be completely adaptive to the business needs. We need to be aware that business will have many more applications and solutions running, many of which may need to be integrated with either tightly or loosely. That integration should be made as simple as possible, and as flexible as possible. With this in mind, the @WE (Adaptive Working Environment) needs to be built completely on a Service Orientated Architecture (SOA). A good SOA coupled with an extensible user application, provides the maximum flexibility in integration requirements.

With this kind of thinking we are delivering an Adaptive Envrionment for users to work within (hence Adaptive Working Environment). This environment empowers staff fully, it allows the business to utilise their users brains as assets, and it ultimately leads to a more efficient business that provides great customer services.

 

Can @WE be used for other silos?

Well I have termed @WE for the areas in which I have been working in, so that’s the adaptive holistic approach to CRM, ECM and (in my case) APG. We also use the term to convey other important points, such as being built soley on a SOA, and providing that single user experience that is highly extensible. 

However, the point is to be holistic and adaptive to your approach to whatever, and taking that as the point, then Max’s definition of ADAPTIVE is what we / you are embracing. As I said, we use the term @WE to describe not only our “concept” but in many ways how that concept is implemented (built on SOA, single extensible UI). 

I would argue that any platforms that embrace ADAPTIVE thinking (not necessarily related to ECM, BPM, CRM etc) can be termed ADAPTIVE, perhaps we should ask Max. I would agree though that if they are adaptive, holistic and then implemented using nothing but SOA and deliver a single extensible UI, then they are an @WE…

 

The key @WE elements to remember

To deliver an @WE, IT solution providers need to carry out the following, which will align their platform far closer to the actual needs of business:

  • Embrace a holistic stance / approach (address the complete business problem)
  • Embrace complete adaptive capabilities
  • Build their  application on a solid SOA, providing clear integration possibilities
  • Deliver the option of a single user experience that is extensible to the possible integration needs of the business

If IT does this, then we are delivering Adaptive Working Environments to the business and end user…





Long live ADAPTIVE

15 02 2011

Today I read Max J. Pucher’s blog post “ACM is Dead! Long live ADAPTIVE!” and I really wasn’t surprised…Many are surprised though, as it sees one of ACMs strongest supporters leaving the camp, in a…well rather public fashion. But should we be surprised?

For a long time Max has spoken of ADAPTIVE capabilities and goals that reach beyond silo approaches, so why have these defined in an a three letter acronym that essentially means only a fraction of what he conveys…After all ACM is Adaptive Case Management, and that doesn’t make me think of:  

“a globally encompassing technology approach that is linked to business architecture and strategy” – Taken from Max’s post.

So why is ADAPTIVE the key term

Well read the article for yourself to hear from Max. But for me, adaptive capabilities are at their heart, about returning power to end users and putting them at the centre of how business operates, empowerment is the term and is really the only route to great business efficiency and customer services.

So with this in mind adaptive capabilities stretch far beyond Case Management, BPM and whatever else you want to throw into the mix. Business is not about IT based silos, or IT platforms or applications…Business is about getting things done, and therefore requires a holistic approach to platforms, architectures, solutions and applications. But let’s be more specific, this holistic approach needs to be highly adaptive too, in order to empower the business users…I think the term ADAPTIVE conveys this thinking far more than ACM, so horray, ACM is dead, long live ADAPTIVE…

Adaptive Working Environment (@WE)

This is a concept that we thought up at workFile almost 6 years ago now (though then workFile was a fledgling product of One Degree). Sure it has grown and changed a little, but in essence the concept was, and is, a single adaptive platform for business needs, that brings together typical silos such as CRM, ECM and BPM.

In realising this concept, the “adaptive capabilities” have often been the issue, especially for BPM. The adaptive requirements have seen us move from a typical BPM implementation to one that leverages “intelligent” business process maps that are built by developers, along to a far more flexible approach now, with APG (Adaptive Process Guidance). It has also seen us move away from a silo module approach to a single solution platform with a single user interface…

So what workFile terms as @WE (Adaptive Working Environment), I believe Max is driving at with ADAPTIVE (though Maxs products are out there to purchase and workFile Vision 2.0 is only at an alpha state). If anything, ADAPTIVE could be far wider reaching than @WE. ADAPTIVE thinking has the potential to change the way all platforms and applications are structured and delivered, in essence, how business users work with IT solutions (if we remember not to pin it to a particular silo, methodology or platform)…Now I wonder if that is what Max is conveying, or if I am reading too much into the whole ADAPTIVE thinking?

If you want to know more on workFile @WE concept then have a quick read at http://www.workfilesuite.com/what-is-@WE.aspx





Framework, solution, or both…

21 01 2011

This week I read an interesting blog post on Case Management with it concluding that most Case Management platforms are more frameworks than workable solutions. The solution is effectively provided by the Case Manager reseller, either as their own system/solution, or as professional services with the solution being customised to your needs…To be honest, this is true of many “silos” out there, and there is nothing wrong with it. However, businesses should understand that more often than not, the solution they actually purchase is indeed a framework, the solution part comes later…

In this post though, I want to look at how you can deliver a solution and not just the framework…Or even better, deliver both as a vendor…

Why not a solution from the vendor

Well it can be very hard to put together a solution that fits and works well for all. It is easier, and in many ways makes more sense to build a robust framework, and ensure a solution that meets the client’s needs is built using that framework. There are many benefits of working this way, many of which include greater control, integration possibilities and a real sense of ownership of the solution.

Let’s also think about the complexity here for vendors. Most vendors will specialise in a particular silo, be it Case Management, BPM, CRM, ECM etc. This means their framework is built to solve that business need. Even vendors that provide multiple silos, they still focus on each silo individually. The problem arises at the business end, as that business need in the real world works hand in hand with other silos. Effectively, what is a silo vendor, cannot provide you a real workable business solution, as they only provide a part of one. This means it is down to resellers to put together “best of breed” solutions for example, and develop that solution for the business – integrating the different silos needed…

The problem I have with this approach is that integration is time consuming, can be very costly and in the long term, can cause issues with finger pointing between systems and silos. All of these are potential problems, but none the less for many projects out there, they are real issues…

We are being sold Solutions all the time

It’s true that many vendors will claim they are selling a complete solution, that you can use their system out of the box almost straight away…But in my experience, this isn’t quite true. You can use their out of the box experiences, but end users will find them clunky, and probably will hate them. Which means you end up having resellers or professional services build software on top of the framework, that meets your needs…

Also look at the solution you are being sold, how much “coding / configuration / professional services” do you need to get to a finished solution? I think it’s a few man days…

All this being said, there are complete solutions you can purchase out there, think small scale, like SAGE line 50 for example, thats a very workable solution for many SMEs. The issue here is that with bigger organisations, or more complex needs, the solution starts to show a lot of weaknesses, you can’t do with it what you quite want, you can’t integrate it, you can’t have a third party add in new windows to the UI etc etc…

Holistic solutions can help

Holistic solutions and a more holistic approach ensure your vendor is dealing more closely to your actual business need. This means that the framework delivered will be fuller, and as such, makes it easier to build a workable solution, without integration points and lots of professional services…

Vendor delivering both framework and solution

One of the big things I am working on with workFile and the workFile Vision product is framework for delivering full solutions. That may sound like classic IT vendor talk, but what I am trying to achieve is a platform that can deliver a complete out of the box solution that is a good end user experience, but also provide the flexibility needed in todays world, to allow resellers to extend the UI and core platform to meet even more needs of the customer.

So how are we doing this. Well firstly, we have a complete holistic approach now to things, there are no longer silos within workFile, rather workFile is a single platform. This means the workFile framework incorporates all of these traditional silos in one place (ECM, BPM, CRM etc). Secondly we have identified the difference between framework and solution and as such, split the user experience into its own framework, separate from the actual platform framework…

The big benefit here is a separate framework for delivering solutions built on the workFile platform. The UI framework allows us to deliver a rich and complete solution to a business. But it also allows resellers / integrators to modify and hook into not just workFile, but also its native UI. This means no additional software needs to be written on top of something, rather it is written within the UI framework, speeding up development and providing a far better end user experience.

You can even take it so far to use the workFile Vision UI framework without using the underlying workFile platform, if you wanted to. By working in this way, workFile delivers the frameworks, the solution, and the extensible capabilities to allow it to meet pretty much any business need. The end result is solutions that fit the business need more closely, solutions that can grow and evolve with the business and solutions that are easier and more empowering to end users to use…





Convergence of BPM and Case Management

7 12 2010

In the past weeks I have talked and tweeted quite a bit about bringing together silos to deliver better solutions and experiences to business. The big silos I have spoken about are ECM, CRM and BPM. However, some people have pointed out that I haven’t spoken about Case Management (our technical director is one of them), and he / they are quite correct. So why haven’t I?

Well it’s quite simple, number one, I simply forgot (takes a brave man to admit that doesn’t it) and number two, though I always state Case Management isn’t BPM, the two really should be seen as one from the business perspective…Which means my silos being brought together, should be ECM, CRM, BPM and Case Mgmt. Phew…

In the past I have banged on about Case Management not being BPM, and have had a good moan about those vendors and consultants that push case management as if it was / is. However, in my vision of the future (especially that of workFile), I believe business should see BPM and Case Management as the same thing…Oh, and if you’re not sure, case management is not just for law firms, rather case is just a term for a process / work that has to be done…

Case Management isn’t the same as BPM

Case Management isn’t the same as BPM, well not the same when you look at case management and BPM vendor solutions. BPM is far more structured, follows process maps (more often than not) and is used for clearly defined processes. Case Management is used for more ad-hoc and “loose” processes within an business. So they aren’t the same…

If you look at BPM as a practice, you will also find it doenst fit with Case Managemetn theory. Rather BPM as a practice is all about mapping and understanding flows of work, putting together processes etc etc. Case Management is more about just identifying work, and lumping it together in a case…

Case management and BPM are the same

Ok, here we go…Forgot vendors, forget lengthy definitions by technical or marketing people trying to sell you something. Case Management and BPM are the same thing. BPM is, Business Process Management. It’s all about managing business processes in a structured, more controlled fashion. So what is case management? Well it’s all about managing business processes in a structured fashion…So you see, they are the same thing, its just our “practices” and software interpretations that make them very very different.

Bringing BPM and Case Management together

There are many good points for both as individual silos. For example, BPMS works great for simplish, highly repetitive, medium-high volume business processes. It can raise efficiency and streamline work. However, thats only for a handful or processes within an orgasnisation, hardly enterprise wide is it (don’t let anyone tell you it is). So for those processes that are still high value, but not so simple or repetitive we have an issue…

On the other hand, case management has no real flow of work, no steps or structure for each step along the process, so it isn’t great for areas where BPM can excel. But, Case Management is great for ad-hoc type processes, or exception processing, which is exactly where we see many case management implementations (sometimes even tied to BPM implementations).

But what of those processes that are complex, highly collaborative, require an adaptive approach, still require some form of structure. These types of processes can be found right across the enterprise…Well that the big problem isn’t it…What do you use…

My vision is for a single silo approach (ECM, CRM, BPM and Case Management). If you take the best from BPM, and the best from Case Management, and ditch the areas that are restrictive (strict case and work definitions, BPM structured flowchart maps) then you are well on the way to a solution for the enterprise…

Case and BPM Evolution

Our own product, workFile, is to incorporate the good points of our BPM platform, and to remove the rigid restrictive areas (namely the flowchart map). In addition, build on the flexible components of Case Management, while removing the rigid definitions of a case and work that makes up a case.

Here you can see that our BPM is moving towards Case Management, and Case Management is moving towards BPM, it’s almost like evolution of the two bring them together as one, quite naturally. Though I aim to speed this evolution up at least within our own company, I don’t fancy waiting millions of years for this to happen. Even in IT evolution can take its time, simply because we have x number of vendors sticking to their definitions and solutions, x number of consultants doing the same and x number of businesses not understanding the benefits of something new…

With workFile Vision we aim to implement this evolution though. However, we will throw into the mix real adaptive capabilities. And by that I mean adaptive processing and process definitions, allowing agents to update the process, allowing agents to define and update the type of work that is done within processes and allowing agents to discover and create new ones. The only way of truly being this adaptive and flexible, is to bring Case Management and BPM together, and throw away anything rigid. Its almost a case of unlearning what we come to expect from BPM and Case Management solutions, vendors and consultants…

Finally, lets take things further and ensure our solution understands CCS (content, context, status) of all its components at any moment in time. To really ensure that, you need a single silo to incorporate your content (ECM), to incorporate your customer relationships (CRM) and your working processes (BPM and Case Management).

The benefit here is a solution that can be used for every process within an organisation, right across the enterprise. It’s a solution that gives staff some form of empowerment and say in how work is done. It’s a solution that provides structure, ensures process efficiency and ensure compliancy and accountability, all while delivering flexibility and agility to an organisation…

Conclusion

BPM is Case Management, and Case Management is BPM…Well it should be with a little evolution…With a little more evolution, you end up with a single silo for ECM, CRM, BPM and Case Management, and its not that hard to see why…