...by Daniel Szego
"On a long enough timeline we will all become Satoshi Nakamoto.."
Daniel Szego

Friday, May 27, 2016

Decentralized Business Process Management ?

Current boom of the Blockchain technology raises the interesting questions if certain IT technologies can be extended on a decentralized model. As an example the question raises right away if it makes sense to extend a BPM (Business Process Management) to run on the top of Blockchain. The two poin
ts that need to be analyised, if it possible from a technological point of view and if it makes sense from a business perspective. 

Technical point of view: from a technical point of view BPM can be regarded as an extended workflow, containing states of the workflow and transitions between the states that require more or less human interaction. States of the running workflow instances are usually serialized somewhere, for instance into a database. As decentralized ledger can actually be regarded as a database, decentralized BPM solution can be imagined as saving the workflow instances states into ledger and cryptographycaly validate both the states and the transactions between the states, implying a decentralized BPM system. The question is actually if the scenario is usable in real life scenarios: at least two points should be considered: 
a. the amount of data to be saved: well most decentralized ledgers are not really prepared to store a huge amount of data. Certainly a workflow state is usually far from Big Data, despite it is questionable if we face difficulties. 
b. reaction time: well most of the workflow system do not require real-time reaction time, despite waiting for a hundred percent verified answer, as an example at Bitcoin protocol, might be too slow.    
Business point of view: So, let we imagined if we have the technology, a ready to go decentralized BPM solution. The question is which situations can we use it? Well enterprise customers have probably got their` own business process technology, based on the good old client server model. Actually small companies can have cheap internal BPM solutions, typically hosted int the cloud. The situation gets interesting if we consider cooperation processes of more companies, perhaps together with end-customers or even with non-human elements as well, like IoT devices. In such situation several independent "agent" work together to reach a common consensus of a workflow state or workflow action that is implemented with a "shared" business process. For such a shared process decentralized trust is actually essential, and the best way is to achieve via the Blockchain technology.

Friday, May 20, 2016

Testing versus Monitoring ? - any difference with managed cloud services ?

"Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test" 

"Website monitoring is the process of testing and verifying that end-users can interact with a website or web application as expected." 

Software testing means checking the requirements during a software is being developed and monitoring means rather in the checking if a ready developed software still working. As the two activities usually mean two totally different things,they seem to be pretty similar if we consider cloud service integration. As we use practically ready to go building blocks, checks that we use to identify if we developed a correct software can be used to monitor if the ready application still working. In this sense, the two process should not be two separate things, but actually one common platform to guarantee the software quality both at development and at operating the application as well.

An idea for such a common platform might be the following:

Let CTEST = {C1, C2, ... CN} a number of checks that is being used during software testng. 
Let CMON = {CI, CI+1, ... CM⊂ CTEST a subset of checks that are being used in the future as well for monitoring purpose.

Certainly the major question is how we can define checks and a common framework that can be used both at testing and at monitoring.  


Robots -> Softbots -> Corpbots.... Notes on automated cach-flow systems

ROBOT - "A robot is a mechanical or virtual artificial agent, usually an electro-mechanical machine that is guided by a computer program or electronic circuitry."

SOFTBOT - "In computer science, a software agent is a computer program that acts for a user or other program"

Well the question is what is the next step of the evolution. Combining the current trends of Blockchain and artificial intelligence technology there is a possibility to create automatic cach flow systems that practically run 100% without people, having both the value generation and the administrative tasks fully automated. So let we call such an automated cach-flow system, or rather fully automated corporation as Corpbot.

CORPBOT -  A Corpbot is a fully automated virtual corporation in which both the value adding process and the management and administrative tasks as well are being executed by computer algorithms.

Well it still does not exist, however it is expected to appear pretty fast....

22.05.2016 - BREAKING, It exist and the name is DAO..-.Forbes

Tuesday, May 17, 2016

Software as a Service in the cloud à la Azure

Well Azure software as a service portfolio seems to boom. One finds new services and solutions every day. Examples are for instance, PowerApps for mobile application development, Flow as a rule Engine, Microsoft Forms, Power BI for Big Data, GigJam for data visualization, Sway for visualization as well and who knows what comes the next week. 

To analyse this chaos, we try to categories these services with two dimensions:

1. Targeted Customer Segment: sometimes it is pretty difficult to identify for the first run, which customer segment is targeted by an Azure tool. Is it a tool that is planned for end-customers, is it rather a tool for small businesses or is the customer segment really enterprise. As an example  Sway seems to be a real end customer segment, create your content,  share with your friends, be happy. On the other hand tools like PowerApps or PowerBI planned rather on a business segment.

2. Possibility for customization or integration: The second dimension that should be considered is the possibility of customization or integration. Some tools like Sway are rather out of the box products, without the possibility of customize too many things or integrate with other SaaS solutions. Other services like Azure Machine Learning provide pretty much possibility to customize with, or without scripts or create integration via rest api with other services of Azure. In this sense they have many characteristic with Platform as a Service solutions. Perhaps, Framework as a Service would be an adequate name. 

Certainly, the whole area is changing pretty fast, so not only the current positioning of a service is important, but the future direction as well. As an example, the mobile App development framework Project Siena was focusing on the end-customer segment,  it has been further developed for the enterprise segment and renamed as PowerApps.  

We try to summarize some of the SaaS products on the following picture. Certainly the exact characterization of a certain Azure service based only our fast subjective analysis.

Figure 1. Azure SaaS Portfolio Analysis.

Monday, May 9, 2016

Blockchain for everyone: is it time to have no code application development platforms on blockchain ?

Well, on the one hand, it seems the blockchain technology is starting to get into a hype phase, implying new starts ups with new ideas for each month and a lot of turbulence in media and press. As the technology is however disruptive, meaning creating new markets and destroying old ones, it is pretty difficult to predict what kind of a business models or ideas can be successfully implemented with decentralized ledgers and which do not have the chance. I guess it requires an extensive experimental phase in the next couple of years, implying a lot of small rather proof of concept and prototype projects.

On the other hand, the whole area looks like as the wild west, so finding a professional blockchain developer for each experimental project will be not so easy. First of all everything from a technological point of view is pretty huge, bitcoin, altcoin, ethereum, hyperledger,... and who knows what comes the next week. Secondly, developers who really have got the experience in one field are probably already hundred percent involved in one or more hot start-ups. Thirdly, there is not something like, official developer training or certification for a blockchain developer. As a consequence, it can be predicted that there is gonna be a relative big demand for blockchain developers in the short future that can not really be satisfied. 

A possible solution can be low-code or no-code development platforms on the top of blockchain. No-code or low code platforms provide generally the possibility for IT power or business users to build application pretty fast without having deep coding knowledge. These platforms are usually not Turing complete, meaning not general enough to build up every possible applications, but they provide a way to build a set of typical ones fast and efficient. So, typical proof of concept or experimental blockchain applications can implemented directly by power or business users.

Certainly, the major question is where the focus should be set. One way is to get a general blockchain development platform, like Ethereum, and build a no-code or low-code framework on top. Such a solution would provide the strong integration possibility with the blockchain technology, however integration with other technologies, like mobile apps, storage or data, might be difficult. The other way might be to get a classical low-code development platform, like K2, and extend for a a specific blockhain field, e.g. integrating the services of the bitcoin API. It would provide all the advantages of the existing low-code platform, but it would be rather an interface integration without the decentralized philosophy.

Friday, May 6, 2016

Job Interview versus Pitching

Well, actually there is only one huge difference between a job a interview and a business pitch, the sum that you communicate at the end....

Wednesday, May 4, 2016

The future of SharePoint == Cloud Microservice Integration and Development for Business Productivity

The future of SharePoint == Cloud Microservice Integration and Development for Business Productivity
The future of SharePoint == Cloud Microservice Integration and Development for Business Productivity
The future of SharePoint == Cloud Microservice Integration and Development for Business Productivity
The future of SharePoint == Cloud Microservice Integration and Development for Business Productivity

Monday, May 2, 2016

Low-code application delivery in the cloud à la Microsoft

Current trends of Microsoft cloud services show a pretty strong trend of realizing low-code application delivery solutions. As most of these solutions are pretty much in the beta phase it is difficult exactly  to predict how they will look like in a year or two, but it can be easily imagined that a complex low-code application delivery ecosystem will be realized.    

Parts of the ecosystem might be the following:
 - PowerApps for Mobile application building framework.
 - Flow as a  rule engine:  https://flow.microsoft.com/en-us/
 - Office 365 for web publishing and corporate collaboration
 - Office Forms as a Form engine: https://forms.office.com/
 - Azure Machine learning for AI and data mining:
 -  ...?

Of course the question is what are a the requirements to be realized for a real enterprise ready low code platform. I think there has to be at least two requirements:
 1. Integration: there has to be a very good integration possibility between both the above mentioned solutions and between other parts of the Azure cloud infrastructure as well. As an example, the same rule of Flow should be possible to use both with a mobile application and with web publishing as well, Similarly general infrastructure elements of Azure, like connecting corporate data with the cloud should be also available (AppFabric, VPN..)
 2. Extensions: If a solutions reaches the architecture limit, there has to be a way to extend the solution with hard-core coding elements, like with Visual Studio and Xamarin for mobile apps,
 and create professional solutions.

Application delivery for such an ecosystem can be realized in two steps:
  a. Low code application delivery: The phase provides the possibility for power users to build up environment on their own or provide the opportunity for partner companies for consulting and training. First step of a whole application delivery, like Proof of concept or prototyping can be realized here as well
  b. Hard core development: real development can be realized if the framework does not provide enough possibility for certain requirements, so further use-cases have to be realized by hard core software development and project management.

Building up consulting and development services based on the technology might contain the following phases:
 i., Beta technology: until the technology is in beta phase, it is not very realistic to make business on the market. However there is the possibility to capitalize the first movers advantage, positioning on the market with strong marketing. As an example, writing blogs, articles, presentations, case studies, or even making indirect partner marketing with the provider (Microsoft).
 ii., Early Phase: at the early phase of the technology it is expected that everything is changing very fast, some integration and extension methods are not carefully designed, as a consequence the whole platform is not very stable. As a consequence rather consulting and training business or rather small development projects are expected.
 iii., Performing Phase: As the platform getting more stable, less innovative and changing slower, full scale extensions and development projects are expected as well. Like classical development projects with off-shoring, project management...

Certainly the major question is if the ecosystem is capable to achieve an enterprise ready and strong performing state or it remains just a couple of innovative island solutions.