9
The Virtual Innovation Factory

9.1. Introduction

The virtual innovation factory – VIF for short – is a factory that does not operate on solid goods, but on knowledge with the purpose to create and elaborate ideas toward innovations. The VIF concept is realized with the design of platform that is based on the scientific foundation of the BIVEE framework and an analysis of existing innovation management platforms.

It is a special kind of factory that helps generating ideas and aims at managing innovation, not just inside one company or organization, but in many of them. In the context of BIVEE, we call these agglomerations of actors, virtual enterprises. In a way, we can say the VIF produces and manages innovation by motivating and encouraging users (employees, students, professors and researchers) of these enterprises/organizations in participating (and taking an active interest) in the innovation cycle of their own organization.

The VIF aims at generating innovative ideas that will produce value, once managed and validated on a business and operational level, in the production space. The VIF is, therefore, based on knowledge and creates innovation paths or plans from which the ideas and innovation itself are managed.1

9.2. Methodological background

During the early stages of the BIVEE project, a reference framework was created. In many areas and aspects, this BIVEE framework does not want to reinvent the wheel on a theoretical level, but uses and adapts well-known scientific theories and models (e.g. SCOR, VRM and waterfall model). It is innovating in the aspects that are relevant to the project, which are mostly related with the virtual enterprise.

For the innovation space, the related reference framework is the business innovation reference framework (BIRF). The BIRF aims to provide an overall theoretical structure and an overview of the main pillars and components that describe the actions within the VIF. Instead of following a more traditional approach like linear workflows, in BIVEE there have been defined four phases of activities named waves. Each wave contains a certain number of activities to be carried out, but this is not always true. Sometimes the order is not relevant for a wave to be completed. Each activity also contains a set of documents to be filled in order for each activity to be completed. Each document is associated with certain key performance indicators (KPIs) to be first set by the virtual enterprise and then met in order for the document to be considered complete in a satisfactory way for the given idea that is progressively shaping into a project. In order to give some guidance to the innovation space, the BIRF is organized into four main waves:

  • Creativity wave: this wave starts with an innovation idea or a problem to be solved, providing an initially sketchy idea to be developed and put into the business context of the virtual enterprise undertaking it.
  • Feasibility wave: this second wave provides and clarifies with elements and information in order to justify in economical and operational terms the actual undertaking and the further development of the original idea.
  • Prototyping wave: this wave puts into concrete actions the previous collected information and elements producing a first implementation of the initial idea in the form of a prototype.
  • Engineering wave: in this wave, the original idea transformed into a prototype is attentively analyzed to generate production and engineering plans.

9.3. Current status

9.3.1. Baseline

The VIF basis was a Drupal-based platform designed and developed by Atos, named PGI, which is a Spanish acronym for Plataforma de Gestión de Ideas, or idea management platform. During the first year of the project, the development team decided to drop the current baseline. The reasoning for this cumbersome decision was:

  • – the current platform was not flexible enough to be adapted to the changes happening in the ICT world;
  • – its technology offered no improvement against current trends and functionalities;
  • – it lacked backward compatibility, as it could not work with input generated by an older product or technology. Previous versions of the same platform produced several more problems than benefits when updating to newer versions;
  • – as an ICT project, the team felt that there was a need to research some of the new emerging technologies and apply them to the project. In this particular case, web-based applications in real time;
  • – to apply technologies, which are as homogenous as possible. Homogeneity in technologies leads to lesser resource requirements for their development. This is especially important for SMEs;
  • – last but not least, the restless minds of the development team that are in a continuous search for the next big hit, in this case, the next best framework.

9.3.2. Technology change

The trend in web applications has changed a lot in the last few years: from Java to Python and Ruby. However, PHP has always been the favorite option for web developers. In recent years, an old but renewed technology has arisen as an alternative to all of them: JavaScript.

The reasons for choosing JavaScript are:

  • – it is freely available. JavaScript is arguably the most open programming language. There is ECMA-262 [ECM 11], its specification is an ISO standard. This specification is closely followed by many implementations from independent parties. Some of those implementations are open source. Furthermore, the evolution of the language is handled by TC39 [ECM 12], a committee comprising several companies, including all major browser vendors;
  • – JavaScript can be used for the user interface and, nowadays, also for backend processes due to technologies such as Node.js;
  • – in the area of graphical user interfaces, JavaScript benefits from being part of HTML5 [W3C 14]. HTML5 is deployed widely and making constant progress. It is slowly becoming a complete layer for writing full-featured, cross-platform applications. Thereby, the Java platform is almost like an embedded operating system. One of the HTML5’s selling points is that it lets you write cross-platform graphical user interfaces. In the past, “crossplatform” meant Windows, Mac OS or Linux. But now, there are two additional interactive platforms: web and mobile;
  • – apart from the user interface, JavaScript is used for:
    • - Libraries. JavaScript has an abundance of libraries, which enable us to complete tasks. From processing and displaying PDF files (via PDF.js) to displaying vector graphics,
    • - Backend. The Node.js platform allows developers to write server-side code and shell scripts (build tools, test runners, etc.),
    • - JavaScript Object Notation (JSON) [ECM 13]. JSON is a data format rooted in JavaScript that has become popular for exchanging data on the Web, i.e. the results of web services,
    • - NoSQL databases (such as CouchDB and MongoDB) [DBE 13]. These databases tightly integrate JSON and JavaScript.
  • – JavaScript has lots of tools and is getting better building tools (e.g. Gulp) and testing tools (e.g. mocha). Node.js makes it possible to run these kinds of tools via a shell (and not only in the browser). One risk in this area is fragmentation, as there are progressively too many of these tools developed;
  • – JavaScript is fast. JavaScript engines have made tremendous progress, evolving from slow interpreters to fast just-in-time compilers. They are now fast enough for most applications. Furthermore, new ideas are already in development to make JavaScript fast enough for the remaining applications.

Given those arguments, JavaScript is doing remarkably well. It is certainly not perfect but, at the moment, it is hard to beat – and things are only getting better.

9.3.3. The selected framework

At the moment of the change, a SoTA was made in order to select the best possible framework. The final candidates were AngularJS, Ember.js and Meteor. After several tests with all of them, lots of internal discussions and analysis of a large amount of posts1 in forums discussing the same topic, a decision was taken: Meteor had to be the selected framework. Meteor is a client-database-server framework (full stack), written entirely in JavaScript (homogeneous). It takes care of almost all of the plumbing for the developer, allowing them to concentrate on developing business value:

  • – from an end-user standpoint, Meteor-based apps bring a desktop-like feeling with no reload and instant synchronization among connected users. Also, latest releases offer integration with portable devices such as smartphones. This is the base for future versions of the platform that can be used everywhere;
  • – Meteor is an open-source, real time and cross-platform web application framework built on top of proven technology that allows for very rapid prototyping and produces cross-platform (web, Android and iOS) code. It is also production-ready;
  • – it offers a lot out of the box, while working with other technologies in the ecosystem;
  • – the Meteor Development Group has received $11.2M in funding from the venture capital firm Andressen Horowitz, which has also invested in Twitter, Airbnb and Foursquare [DAR 12];
  • – investing in Meteor is indisputably worthwhile, given the framework’s developer base and momentum. Version v1.0 was launched on 28 October. November 1st, Meteor surpassed 21,000 stars on github, becoming the 11th most starred project on GitHub, with over 4,000 developers from 130+ cities in 40 countries gathered on 6 November 2014 to celebrate Meteor day – a global event where BIVEE was present;
  • – by contrast, the next most popular full-stack JavaScript framework, Derby.js, has 1/10th the footprint on StackOverflow, GitHub and Quora. AngularJS (albeit for the front-end only) is being radically revamped in the upcoming 2.0 version, and “users will need to get to grips with a new kind of architecture. It has also been confirmed that there will be no migration path from Angular 1.X to 2.0” – this was a general concern.

9.3.4. A more technical overview of the selected framework: Meteor

Meteor works with existing front-end libraries (i.e. React, Angular, Famo.us), and its own front-end library – Blaze – is perfectly integrated into the framework and fulfills the same purpose as Angular, Backbone, Ember, React, Polymer or Knockout, but is much easier to use (and can be used with any of these libraries if you have to). Meteor works with existing back-end via REST APIs if needed, but is better when using DDP [GIT 14] (a clientserver protocol for querying and updating a server-side database and for synchronizing such updates among clients. It uses the publish-subscribe messaging pattern), a simple and powerful publish/subscribe protocol. The server side runs on top of Node.js and eliminates call-back problems by using fibers [RAM 12]. The underlying database is MongoDB. Meteor includes real time and highly efficient monitoring for changes to data via oplog tailing. It monitors MongoDB’s oplog to avoid extra operations on the database. This significantly reduces the number of queries needed to obtain the freshest changes to the MongoDB.

Meteor has two types of servers, as shown in Figure 9.1. One for HTTP and another for DDP:

  • – the HTTP server is used to serve static files and HTTP requests. Meteor uses the connect Node.js module for this purpose;
  • – the DDP server handles all publications, MongoDB operations and Meteor methods. Meteor uses SockJS as the transport protocol. The DDP server is a SockJS server customized for Meteor.
images

Figure 9.1. Meteor framework layout

Meteor is built on top of the MongoDB – which is not a real-time database – but Meteor is real time. Meteor makes MongoDB real time using two techniques:

  • – polling MongoDB every 10 s;
  • – using MongoDB oplog [MET 14].

Polling is a very expensive operation and this is why Meteor includes another option (using oplog). It needs some additional setup which is not possible with shared MongoDB hosting services and, therefore, it is not used for the prototypes since the amount of data handled does not require this, but is a starting point for possible future developments.

The integration of Meteor and the architecture of the VIF are shown in Figure 9.2. To summarize, there is one central access point (1) which is the main UI. The database (2) can be stored in a cloud-based provider as it is now and offers, if needed, direct access to the data through REST APIs (3). The VIF can use third-party APIs (4) such as Disqus for the comment system but using our data stores. Finally, VIF components (5) are designed to run as standalone applications and also integrated with the main UI (1) using REST-based services or shared database access. The latter is the approach followed in this project.

images

Figure 9.2. VIF architecture overview

Finally, and to better understand where those technologies were applied, Figure 9.3 explains the technology-based VIF structure. The technology stack is based on current standards or W3C recommendations and has reduced its complexity during the project. The list of technologies used can be reduced to HTML, Javascript, CSS and MongoDB.

images

Figure 9.3. VIF technologies

9.3.5. Components

Based on the described technologies, the BIVEE project has developed the VIF. The VIF is built based upon some individual components. These components are shown in Figure 9.4. Some of them have been developed within the BIVEE project and some others have not yet been developed due to time restrictions, but are meant to be developed in the future.

images

Figure 9.4. VIF components

The next sections describe in detail the key components of the VIF. Some of the components present in Figure 9.4 are merely concepts and yet to be finalized and polished before they become part of the future VIF.

9.3.6. The main VIF application

The VIF main application is the central point, where all the resources provided for the innovation process are accessed. Its main functionalities are:

  • – idea gathering and fostering;
  • – innovation project creation and follow-up;
  • – access to collaborative tools.

As described before, creativity starts with an idea that may address an issue. It can, of course, be an idea that is totally not related to an issue and be something new. At the time of idea creation, the owner of the idea – its creator – can invite other members of the platform to work together on it with the objective to create a better idea. Since inspiration can arrive at any time anywhere, the VIF is designed to work on any device using responsive design, which means that the application user interface will be adapted to the device that it is been displayed on. This includes not only desktop browsers, but also mobile devices such as smartphones and tablets. Once the idea is fulfilled, it needs to be annotated in order to provide knowledge to the central knowledge repository (the PIKR) and to find possible related contents or duplicates.

images

Figure 9.5. VIF idea wizard, step documents

The final step is to submit the idea to the domain experts, a role defined in the BIVEE platform. These members will evaluate the idea, comment on it and provide an answer whether the idea is accepted or rejected.

images

Figure 9.6. Posted ideas to be evaluated as possible innovation projects

If the idea is rejected, the members of the idea will be notified and are then required to decide if the idea will be refined to be submitted again, or not. However, if the idea is accepted, a new innovation project is created with, at least, the domain expert as the leader of the project and with the idea owner – collaborators on the idea can also be selected to be added.

Once the innovation project is created, more members can be added. They can be different to the ones contributing to the idea creation – to the project based on their skills. Finally, when everything is set up, the project can start.

The project is managed internally with a component designed specifically for BIVEE: the wave engine. It handles the lifecycle of the project open and closing the so-called gates – key points where a decision to transit to a different wave has to be taken. To support this decision, the VIF, in collaboration with other BIVEE components, records metrics (KPIs).

images

Figure 9.7. Innovation project main screen

When the project is finished, the full set of documents is exposed so the production space can apply the innovation.

9.3.7. Fostering creativity

One of the aspects of the BIVEE project is its human-centric approach. Therefore, the project is aware that creativity should be promoted and cannot be expected to flourish by itself.

In the pursuit of this goal, the VIF has been equipped with tools that can encourage its users to engage in active participation. Some of them were left on a theoretical level, and others were developed. The two proposed tools were the VIF game & price and the Call4Ideas.

The first tool was partially developed with the intention to provide the members of the platform with a game (gamification2), where they could invest their BIVEE coins on ideas and innovation projects, in order to create a stock-trade-like game. Depending on the results of their investments, their enterprises in the platform would offer prices in many ways – physical prices, additional time, etc.

The Call4Ideas is a typical approach to collect ideas. The calls are always linked to a topic or an issue and can be created in two ways: as a single call, with the intention to participate in an innovation project and be a part of it and its possible outcomes; the other is a challenge with defined prices where users send their ideas and the selected ones will receive a price, but they cannot be a member of the innovation project.

images

Figure 9.8. Call for ideas creation

9.3.8. Collaborative tools

Finally, since the VIF is a real-time web-based application, some collaborative tools are provided. Although some of these tools were declared as out of scope, two tools were provided: the meeting room and the collaborative document editor. Both have been integrated into a single tool.

The meeting room allows the members of the platform to have real-time video conferences and to collaborate in documents having declared an agenda in advance, open issues and to take private notes. Screenshots of the meeting room tool are provided in Figures 9.99.11.

images

Figure 9.9. Meeting creation

images

Figure 9.10. Meeting main screen

images

Figure 9.11. Meeting room, collaborative doc editor

9.3.9. The innovation observatory

The innovation observatory is the place to follow trends. It is divided into two main components:

  • – the backend process to filter the web based on the provided ontologies. Its results are stored in the VIF database;
  • – the frontend application to show latest results and to filter those results based on the user queries, and to launch ideas based on filtered elements.

The innovation observatory offers the possibility of following some social networks to create a wall, where all the results are offered and can be analyzed in a more visual way. This component is shill under development, but some results are already shown.

images

Figure 9.12. Innovation observatory with results based on ontologies from Twitter

9.3.10. The semantic shared whiteboard

The evolution of this key component has changed from a central tool to a more collaborative-oriented tool.

This semantic shared whiteboard allows the users to create a collaborative and real-time-based whiteboard to add notes, documents, links, etc. Again, this tool is intended to provide visual feedback, which produces better results rather than reading lots of texts.

images

Figure 9.13. A whiteboard in use

9.4. Connection with other BIVEE components

The VIF connects with other BIVEE components to offer an improved functionality. The main components in play are the PIKR to store and retrieve knowledge, the RDH to store metrics of the innovation process, the overall platform to provide a single point of access and the mission control room.

The access to the tool is provided by the single sign on process; it allows users from the BIVEE platform to log into the VIF without the need of creating new per-platform users and inheriting information such as roles and profile information.

Interactions with the PIKR provide the VIF with semantic capabilities to annotate, discover and relate documents, ideas, projects and members. Those annotations can be performed fully manually from the UI provided by the VIF or using the automatic document annotation extraction provided by the PIKR.

The RDH is the interface used by the VIF to store metrics about the usage of the platform and to store KPIs measurements (KPMs). In this last case, the information is also kept into the VIF system to be analyzed and accessed in a faster way.

Last but not least, the interaction with the mission control room was established on how to provide improvement to the production space. From a high level point of view, the process can be described as shown in Figure 9.14. This process includes the common understanding between both systems and continuous feedback from one space to the other.

images

Figure 9.14. Improvement process

9.5. Conclusions and future work

After all the work done and the outcomes, the project can be considered as a step forward toward the innovation of the Innovation. The VIF has been focused on the human aspect of the project taking into account the innovative approach provided by the BIRF and mixing it with cutting-edge technologies creating a set of tools that can be the base for future tools and that can help CIOs in establishing a culture of innovation within their enterprises (virtual or not).

The tools created for the innovation space may not be ready for the market at the moment of writing this book, but they are no far away from that. The roadmap to obtain that status includes steps to improve the stability and the UI plus refinement in the integration with other BIVEE components. Due to the modular approach used and, since the technologies used for the current VIF are flexible enough to connect with third-party software – both legacy system and new ones – the VIF can easily be adapted to new requirements in terms of functionality or technology evolution.

The VIF is an open source project and is expected to grow in terms of stability and offered functionality; the current version of the VIF has yet to be considered a prototype. Atos is particularly interested in continuing the development of the VIF for several reasons: to use the VIF as a baseline for possible future European projects and to become an asset to be used internally and externally, when offered to potential clients.

The platform needs to evolve in two ways: first, it needs to focus more on the encouragement of creativity and to foster that creativity toward a better innovation. Second, it has to evolve in a technological dimension, in line with the current trends to make the platform more attractive to the users.

Finally, the outcomes of European Projects, as BIVEE, need to be followed so that the retrieved knowledge can be applied elsewhere. This may lead to a more up-to-date baseline and create the path for future innovations.

9.6. Bibliography

[DAR 12] DARROW B., Meteor rakes in $11.2M to fuel enterprise app development push, available at https://gigaom.com/2012/07/25/meteor-rakes-in-11-2m-to-fuel-enterprise-app-development-push, retrieved 18 January 2015, 2012.

[DBE 13] DB-ENGINES, RDBMS dominate the database market, but NoSQL systems are catching up, available at www.db-engines.com, retrieved 24 November 2013.

[ECM 11] ECMA INTERNATIONAL, ECMAScript® language specification, available at http://www.ecma-international.org/publications/standards/Ecma-262.htm, 2011.

[ECM 12] ECMA INTERNATIONAL, C39 – ECMAScript® (formerly TC39-TG1), available at http://www.ecma-international.org/memento/TC39.htm, 2012.

[ECM 13] ECMA INTERNATIONAL, The JSON data interchange format, available at http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf, 2013.

[GIT 14] GITHUB, Inc., DDP specification, available at https://github.com/meteor/meteor/blob/master/packages/ddp/DDP.md, 2014.

[MET 14] METEORHACKS, MongoDBOplog and Meteor, available at https://meteorhacks.com/mongodb-oplog-and-meteor.html, retrieved 22 January 2015, 2014.

[RAM 12] RAMBLINGS B., Fibers and threads in Node.js – what for?, available at https://bjouhier.wordpress.com/2012/03/11/fibers-and-threads-in-node-js-what-for, retrieved 02 February 2015, 2012.

[W3C 14] W3C HTML WORKING GROUP, HTML5 – a vocabulary and associated APIs for HTML and XHTML, available at http://www.w3.org/TR/html5, 2014.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.216.42.81