 My name is Miho Lofaulu, I'm the CTO of Red Hat Mobile. I was previously the CTO of Feed Henry, which was acquired by Red Hat in October 2014. And my main responsibility now in Red Hat is leading the engineering team who developed the product and also the engineering team who managed the SaaS-based product and production. Perfect. All right. The Red Hat Mobile application platform is designed to help enterprises integrate existing enterprise systems with front-end mobile solutions. And it uses a Node.js middleware layer to link the two together. It can be extended so that it can be used for green field applications or it can be used to augment existing systems of record in the enterprise. The mobile platform is very well suited to mobile apps, typically on smartphones, iOS, Android and Windows phone. But it's also possible to target tablet devices or just pure web so it can be used for desktop applications as well. In all cases, you have some form of a client, either an app or just a pure web-based client and it talks HTTPS getting JSON requests from the server-side Node.js. The main benefit of the mobile application platform for developers is the ease with which they can create reusable embass services, as we call them, which is reusable code in the platform, which is exposed via an API that can allow other developers to discover and reuse that encapsulated code. Most frequently this is for specialized integration into enterprise back-end systems with custom settings that are appropriate for that particular enterprise and entered as part of the service. The way that the web-based apps are built, even if it's the same code being reused, you actually stage it separately because the web is unique in the respect that the client-side code lives on the server and then is dynamically downloaded to the client that run time, whereas with all the other targets, the client-side code is packaged and delivered as some form of assigned application. But other than that, the main benefit in terms of the development experience for developers is that they can reuse that solution rather than having to develop it completely separately. So there is a potential over time for in-house web dev teams that exist in many enterprises today to gradually become mobile and web dev teams over time. The main challenge is understanding the UI limitations on the mobile side and how to do the user experience there because if you just try and take a standard web app and make it run on a mobile device, it's fraught with difficulty. The mobile application platform tries to make it easy for new developers to engage with the platform through the use of a series of templates that can be cloned so that instead of starting from a blank template, you're starting with a pre-propylated app that does actually do something vaguely useful. The simplest of these is the Hello World template, but the advantage that this explains to developers is how the client side is dynamically linked to the server side. The code that you type on the client side is just to invoke a cloud call of a particular name, and the way you expose that on the server side is to have a public JavaScript function of that name in your Node.js server side code, and the platform itself auto-roots the request to the appropriate server side. Indeed, there is some functionality in the platform that allows you to potentially dynamically re-root the call to a new server side at some point in the future, should you so wish. So that sort of flexibility of decoupling a hard link between the client and the server and making it implicit and managed by the lifecycle management and other features of the platform is one of the key benefits of the platform, sort of getting to know and love that is probably the key thing. In our experience, it's a little bit more difficult to learn the client side overhead of learning mobile application development than it is to learn the server side Node.js technologies from scratch. As a rough rule of thumb, we'd say that if you haven't done mobile application development before, it's going to take six to 12 months before you're comfortable and fluent with it, regardless of whether it's native or cross-platform Apache Cordova because of the sheer complexities of the sets of APIs that you need to learn and the design and UX experience that's needed to build a useful functional mobile application. In contrast, perhaps surprisingly on the server side, a good Java or even a .NET programmer can adopt Node.js relatively quickly and as a rough rule of thumb we'd say you add half again to the expected time of a particular project so if a normal Node.js project was going to take you three months you'd anticipate maybe four and a half months for someone new to it to be able to produce something functional. It should be noted however that anything like that takes a long time to become fully expert and a positive benefit is that there are many, many online resources that you can draw on to gain that expertise.