 So, the content's overview and architecture, and there will be some platform features explained and there will be Tizen development session and Tizen 2.0 updates and conclusion. Can you hear well, by the way? Okay. By the way, because here, here are my colleagues from Samsung about the corner, corner export and the eFail guy and community guy from Intel, so you can please feel free to ask any questions in the meantime. Okay. So, this is an overview. So, there are many smart devices in mobile market now and almost as many software platforms for them like Android, iPhone and Bada. Actually, I have been involved in Samsung Bada platform from the beginning, so I was a native guy, after Bada platform, I have been involved in Tizen by merging Bada into Tizen native framework. So, I will explain the history later, and you know, many smart devices also appear in non-mobile market, so as well as mobile market, so we can hear frequently about smart device like smart car, smart TV and smart camera, camera or even the refrigerator, for example. So, what is the usual expectation now? You know, there are many smart devices around the world, but there is kind of discontinuity between the different devices from different categories, so because the platform has been designed for a specific device and each manufacturer does not want their priority platforms, so but you know, now the user is expecting something more than this, for example, seamless user experience among devices or is collaborating between them, but the current status is that those kind of smart devices are not working together well. So, what if there is a standard based cross category platform, if we have that kind of platform, the same software can run on many categories of devices with fewer no changes. So, the best devices can be connected more easily, and what if the platform is open source? Due to, thanks to the open source philosophy of our community, manufacturers or even the developers can know better inside of the platform and deploy the platform on the product easily, and new features or services can be added and the platform itself will be optimized more efficiently. So, now the platform having these two features is Tizen, I think this is quite a unique position of Tizen platform today, so in short, Tizen is a standard based cross category platform and also it is open source, so we have more than 1000 bits into that Tizen, and many of them are from the open source, we will open as many modules as possible, so please contribute much to the Tizen platform. So what is cross category platform? We have recently released 2.0 release, Tizen SDK and source course, as of Tizen 2.0, there are two profiles for mobile and for IVI, and we will extend the category, device category to TV, camera, printer, PC like that, so these will be future profiles, and Tizen is also a standard based, so you know, Tizen is heavily using W3C standard, web standard technology, HTML5, CSS, JavaScript kind of things, around, we will use the same technology around different categories of devices, so this is the basic picture of the common profile and common and each profile, so for each type of devices, we will define the profile, so right now we just define, we are just defining mobile profile officially, but we will also define IVI TV kind of profile, and there will be a Tizen command that will be required by all the profiles, all the Tizen profiles, the Tizen command will provide common libraries, fundamental libraries, common API, packaging, mechanism security and developed services and toolchain like that, so with this, also the second one is that Tizen is an open source project, so as of 2.0, many upstream projects are being used by Tizen, so here are just examples of the open source project that is being used by Tizen, for UI and graphics, X-Windows, Kylo and EFN, alignment foundation libraries are used, for multimedia G-streamer, for pulse audio open air, and for connectivity, command, Luzi, LoopSoup, and Wi-Fi supplicant, for WebKit 2, and for security, SMAC and OpenSSL, so there are many, many, many modules that are being used by Tizen, by the way, I'd like to briefly introduce the Samsung's contribution to open source software, Samsung's modification to existing, we have modified existing open source library to adapt to the Tizen, so, but we have contributed under the same license, Linux, kernel itself, WebKit 2, EFL, G-streamer, all kinds of famous libraries have been, we have contributed by the Tizen project activity, and virtual everything newly developed by Samsung has been open sourced on the APL, Apache license, so this actually has been the properties of the, from the beginning, but we open sourced almost all things on the, on the line, the Tizen platform, like this app core, app service, web runtime kind of things, and you know, you might have seen the same slide from yesterday's keynote presentation from VPServ, from Samsung, this is just the repetition of the Linux contribution from Samsung, and you know, we are 8th rank, and Tizen is very much contributed by Intel also, so Intel is a rank 2, like this, so there are many, a couple of Linux kernel maintenance in Samsung, and there are many other maintenance in the open source project in Samsung also, and finally Tizen has a strong industry support, so there is a Tizen association, and there are 12 members currently from the operators and manufacturers, chip vendors, so this is the Tizen association, they guide, they are guiding the industry role, and they gather the requirements for the Tizen, and they identify or facilitate the service model, so we frequently discuss together, by conference core or face-to-face workshop, how to improve Tizen ecosystem as a whole, okay, and this is the release history of Tizen, official release has been twice, so Tizen 1.0 was released last year, April, the code name was Luxper, and Tizen 2.0 most recently released, the name of that was Megan earlier, February of this year, and the score of the first release was preform source code for web API core subsystem Linux kernel, I will introduce the architecture later, and SDK also, and for the Tizen Magnolia scope, many new features and improvements have been made for that, so especially preform site C++ native framework was newly introduced, and many SDK features also been enhanced, what is roadmap, currently we are doing hard things to get the 2.1 release then, before the end of this month, so Tizen 2.0 will come soon, Q2 or hopefully end of this month or early next month, with some minor improvements with account management or apps installing service, and we just kind of live box that any application feeds their data into the small section of the home screen, and there will be many performance optimization and security enhancements, although not fixed yet, but Tizen 3.0 will be maybe released early next year, it is not fixed yet, but we are discussing many new things, innovative things to be released to Tizen 3.0, and right after 2.1, we will more actively open source of modules, and we will let the individual developers participate, collaborate to make the 3.0 together, and you know there will be a Tizen developer conference next month, May in San Francisco, Hilton Hotel, so we will announce the open source development model from 2.1 to 3.0, so please visit that conference also to discuss freely how to make the Tizen improve much, and this is a very basic URL of Tizen, you can visit this site, and there are communities now, but actually it is not much active, because we have been focusing on stabilizing the 2.0 release until now, but after 2.0 or 2.1, we will more open project, and we will encourage all the developers to communicate each other, okay, so until now I have been, I introduced the concept or unique position of Tizen, release history, and from now I would like to introduce the Tizen architecture, especially from mobile profile perspective, because we are not yet, we are yet defining the other profiles, but for mobile we have been improving very much, and it is very stable, so I think it is better to focus on the mobile section right now, okay, so this is the architecture overview, Tizen has of course based on Linux kernel 3.0, device drivers, this is kernel layer, Tizen has two layers on top of Linux, which is core and framework layer, so on top of core, there are web framework and native framework, web framework has been there from the early, from the very beginning of the Tizen, but native framework has been newly introduced in 2.0 release, and so that we can, any developer can develop their application in web framework or by using native framework, or they can even use both to make some hybrid application, kind of things, so this red line is public API interface, and core is the underlying layer that provides most common things to the framework, so web framework, web framework provides state of art HTML5 or 3C APIs, and most well used web UI framework, and additional Tizen device API extension, and native framework is based on also guaranteed C++, and support full feature native app development by providing services like background service, IP push, and TTS, kind of things, I will touch each layer or each framework a little bit more detail later, core is underlying layer for web and native, providing common functionalities and security mechanism, at the kernel and hardware adaptation layer, we have defined many plugins, so that any vendors, any manufacturer can plug in their own component into each plugin so that the Tizen itself can correctly run without depending on the each specific plugin implementation, as long as the plugin interface is satisfied, and we also have OpenGL, EES, EGL graphics driver here, and many kind of kernel layer optimization has been made, so for example, in the next section, Mr. Ham from Samsung will introduce the optimization for the memory management, for example, I would like to briefly compare the difference between web and native framework, so this is the snapshot from the bigger picture, so this is web framework and this is native framework, native and web framework is not competitive, but complementary to each other or Tizen ecosystem, because web is strong in portability and ease of development, minimal running curve across various devices, because web itself is a very standard base, and the strengths of, relative strengths of native is performance, memory consumption, and diversity of features provided, and because to that, native framework really introduced, I'd like to more address native framework to you, and you can report to the web framework features or concept technologies, there are many well documented presentation out there, for example, last year's Tizen developer conference, as I introduced the URL for the Tizen, so you can visit here to find many blogs and developer guide, so why native framework, native framework gives a chance to the developers to reuse existing engine or libraries written in C and C++, you know, Linux has many, is based on C, and there are many open sources in C and C++, so you can reuse those kind of, of the sharp libraries as it is, because we guarantee, we provide the standard C, C++ native framework, and actually, Samsung has promised to Bada developers to migrate, to keep the source-level compatibility between Bada 2.0 and the Tizen native, so we have always tried to keep the source-level compatibility, although it is not 100%, but we have developed migration tool and guide for the Bada 2.0 developers to easily migrate to Tizen native, and there are many features provided by native framework, but only the portion of the overhead by using this framework is less than 5% of total image size, for example, web framework is about 10% of total image size, and another is core and linux kernel itself, and kind of preloaded applications. Next, I'd like to compare native framework with underlying core, okay? So, I have explained that there are two layers on top of Linux, and the underlying layer we call core, and the upper layers we call framework, and this is native framework, and this is core. So, why do we have to provide two different native stack, because core itself is based on C, and both are native in nature, but because they are focusing on different aspects. So, core focuses on the providing common functionalities to upper layer frameworks and focuses more on optimization in terms of performance, power, et cetera. We can do this because core is free from guaranteeing ABC. We call it ABC, which is abbreviation for application binary compatibility. Usually, people call this as BBC, backward binary compatibility, right? So, what is the ABC or BBC? It is just a promise that the old application, running on the old platform should run correctly on the newer platform without any kind of modification from developers. To ensure the Tizen App Store behave well, we cannot persuade each developer to rewrite their application or recompile their application. Once they submit their application, it will be done. So, this is the promise we give to the developers as a native framework provider. But, you know, core, because public API is provided by native framework and web framework, not core itself. So, core is free from guaranteeing the ABC. So, we can really optimize or we can even change the signature of the each function. But because, in other words, native framework itself should guarantee ABC, binary compatibility. And it because of its nature, it should provide the productivity of application development with a well-documented API reference, developer guide and sample course, and kind of associated tools to easily make the application like UI builder, UI effect builder, kind of things. So, I think because of this, we should, there should be enough reason to provide application framework and separate core framework in addition to the web framework. This is the last slide before the platform features for each. This is the types of applications of Tizen as of 2.0. So, there are web and native applications, and there are also core applications. So, web and native applications are, I mean, just a normal third party developer applications. So, these applications should use only public APIs to get full support of package install upgrade, download from the app store and security and backward compatibility and so on. Because we have designed that only the public API guarantees that kind of comparability. And we also give many sample apps to the SDK. But core application is a different word. So, you know, core application, there is no public API provided by core. But I like to say this as a core application here, because in contrast to the framework, core framework gives, has much more features provided. Like a telephone, hundreds of different kind of certain APIs are there. And there are also many device functionalities in the core layer, like multimedia and security and system. So, from the device manufacturers point of view, the framework itself will not be enough to develop a full flash applications, pre-loaded applications. So, in order to encourage the full featured application, I mean, pre-loaded application with the device release, so we are giving kind of core sample applications, core reference applications to the open source git, for example. So, core application is applications using core APIs to fully utilize device capabilities, usually implemented and pre-loaded by device implementers. But backward compatibility is not guaranteed. So, whenever the platform itself is upgraded, each pre-loaded application should be rewritten or recompiled to adapt to that newer platform. So, there are pros and cons of web and native applications and core applications. So, we are focusing on each balance on the, each framework and the core. So, there will be many documents around the whole layer. Okay. So, there was a brief overview of the platform architecture. I'd like to introduce more one step detail into the each framework. So, this is the web framework features. Actually, there has been a good presentation from Sakari from Intel and Taley from Samsung, last year's Tizen developer conference. So, I will share the URL and, you know, in the last year's developer conference, as well as another Linux Foundation hosted conference, there are many videos you can always access and you can learn from them. So, because, sorry, there was a very good presentation from them. So, you can please visit the URL and you can see the details of the web framework. Anyway, web framework comprises standard HTML5-based API plus Tizen device-specific extension plus widely used supplementary API. So, there is a documentation in developer site of Python. You can also report to this. So, we are providing as many APIs as possible to standardize W3C API. And there are also device-specific API extension that accesses to the underlying device capability like NFC, Bluetooth, yeah, or Power Controls, for example. And there are miscellaneous APIs also provided, like WebGL, for 3D gaming, for example, or viewports, or full-screen API from Mozilla and typed away. I'd like to stress that Tizen web APIs are now forking W3C APIs. We just follow W3C standard. We actually are actively involved in the standardization itself. So, for example, there are system application working group in W3C that tries to standardize the device API. Because, you know, W3C standard is improving very much but lacks some kind of device functionality and security. So, the device API itself will be also be standardized so that the web framework itself can be much more meaningful and portable. So, this is the latest score from HTML5Test.com. So, as you see in this slide, Tizen 2.0 has top score from the 500.Tizen 2 marked 492 with bonus 16. And it has been always top from the Wanda Jiro area here. And this shows how many efforts we have been putting together to fully support the standardization of the web technology. And I'd like to also say that web performance perspective. So, we have been optimizing many kind of modules to be optimized. So, I mean, web 2D and 3D graphics also has been contributing those kind of optimization activities. For example, 2D graphics, web 2D graphics is based on the WebKit EFL port. So, there is a Cairo OpenGL ES backend there. So, you know, there is a web 2D and web 3D standard already there. So, conventionally, traditionally web has some poor performance in the graphics area, but it caused due to the optimization effort. 2D cameras performance score as of last December was to that 1.5 compared to 1.1.5 from the Android browser on the same hardware. And you know, the WebGL, we have conducted 3D WebGL performance test by the frame per second. So, this is the demo from using the WebGL technology as a Google Aquarium example. So, this shows that Tizen has 28 frames per second compared to 16 from Android browser on the same hardware. And there is another related example of fish tank from Microsoft or speed reading or asteroid bench. So, we have a similar performance measure in this also. We also have been upgraded from WebKit 1 to WebKit 2 as we shipped to Tizen 2.0 for more stability of the web application and for more responsiveness of web application. You know, because in the WebKit 1, WebKit just in process library so that web application itself and the WebKit runs on the same process. So, any kind of if we plug in some modules to the browser then the plug in itself can make some crash. But thanks to the open source activity, WebKit 2.0 has been there. So, we utilize the WebKit 2.0 in the Tizen web runtime and Tizen web browser also. So, by the nature of WebKit 2.0 there will be a UI process, web process and the plug-in process separated each other so that plug-in process cannot crash the application itself. And, you know, the API itself from the WebKit to WebKit 2.0 has been completely changed from blocking API to non-blocking API. So, there is a kind of binary break, compatibility break between one and two. But because of the non-blocking API, you know, non-blocking API gives much responsibility because you don't need to wait for the API result to come. You can just do another thing while waiting for the result from the previous API location. So, Tizen is actively using the WebKit 2.0 as its runtime. And I'd like to say there are many more features and to be introduced actually it is in the appendix, but because this is the Tizen overview I'd like to skip the details and I'd like to let I'd like to encourage you to visit the URL of the Tizen developer site. And this is the platform features of Native Framework. The Tizen Native Framework released with Tizen 2.0 provides many set of C++ namespaces with more than 10,000 open APIs. Like a base I.O. There will be some namespaces in the next slide. Along with these C++ property APIs, we are also providing popular standard open source libraries like Live-C, Live-Standard, C++, Live-Xml, OpenGL ESL, OpenAR, OpenMP also. So these two slides are summary of the C++ namespaces. Although this is quite some improvement from the existing Bada API, but this is actually a property API designed by ourselves from the Bada platform. But, you know, although the API itself is not standardized as all the native API is, but the source the underlying implementation of this API is open sourced. So you can contribute the modification of this API implementation. So actually from at the time of Bada platform we have been using real-time OS underline. And shifting from as we shift to Tizen native we completely rewrote. We implement the C++ API implementation by using the core API and the Linux API and the standard API. So these are just brief introduction of the namespaces like collection, runtime utility. You know, there are standard C++ collection. So we also give some kind of utility that you can convert between the standard collection and Tizen native collection. And Tizen text gives a character encoding IO, location and system. And we give the application framework and package management. And there are security features and graphics and media. And UI and UI extension. I will touch this topic briefly later. And there are network telephony messaging and native web. And this is a web we call web control, embedded web view kind of things. And there are services also. I think as of next release, I mean 3.0 next year we'll keep with more services like web and C++. Native framework features I'd like to briefly cover. First slide is the app framework. So we provide two different application models, which is UI application and service application. Service application is very similar to the service of Android. So app without UI. So that only sits in the background to monitor something and to communicate with UI app, for example. So this is a base class launched by UI app is launched by main menu, task manager, other apps and condition. But service app can launch on boot by each property specified in the manifest. Or other apps can invoke launch service app and it can also conditionally launch like a time-based or periodic time-based or if you plug in some serial port, then the corresponding app can be launched, for example. And there is a package manager so that it provides the install, uninstall and upgrade of third party applications from store client. And in the back end there is a web runtime installer and TPK installer. TPK is just a file extension, name of the file extension for the native framework, native application, which is Tizen package. So and also there is internal package database that manages all the installed applications regardless of its application from native or web. So any other kind of third party application can get installed package info, for example, by using the API from package manager. So for example, you can you can write third party home screen, main screen, by using this API. And there are many kinds of inter-application communication facilities provided. So as I explained, conditional app launch, app control and data control. App control is very much like the intent from Android so that the existing application borrows its UI to other application. And data control is just providing its own data application with access control. And we also support the multi-processing library, open source library. As of 2.0, we only provides open MP and GCD. And you know, the trend is for mobile devices that are getting more number of cores embedded in the device. So to fully utilize that kind of multi-core, we should provide these kind of parallel libraries. So you know, actually we are providing two different kind of tool chains, I mean compiler. So GCC and LLVM client, I mean. So open MP correctly runs on GCC as of now. GCD from Apple, this correctly runs from Clang. Because you know GCD has some Clang native directive. Anyway, we support this kind of multi-processing library. We also support standard library, standard C and C++ as standardized by this. So you can refer to this later. Graphics is not much special. So it's very comparable to other existing platforms. So I'd like to skip. But there's for the application developers convenience, we give some interesting feature like canvas texture and video texture. So that you can draw 2D primitives onto texture directly, or you can play video streams onto texture. So that user can have some interesting experience. And there are many native UI controls like this. And we also support accessibility for the disabled person, for example like screen reader and voice over and high contrast mode. Apps can create themes by themselves for app customization like branding its own color. And there is also partial screen apps support so that every application does not need to be full screen. So there will be some small screen floating around the background application. So we give this kind of functionality. And there are same management and data binding like MVC. So UI workflow design gets easier by this framework. And for the UI scalability, we give the layer feature and multi resolution based on the logical coordinate. But currently we are focusing on 2 different resolution which is HD and WVCA. Compared to native web gives much more flexibility in terms of UI scalability by using metatec viewport. So we should push more scalability support here. And there is also input method framework that third party can develop their own soft keyboard for example. And animation and visual element also there and UI effect engine also. So this is visual element provided by native framework. You can just look at this. Kind of very similar that is provided by EFL from the core layer. But from the public framework perspective also we give this kind of animation features that we call as visual element. And this is the, sorry. This is image flow. Kiosk demo by using the visual element. So you can feel what kind of application can be made by using this. Okay, so. And there also is a UI extension like vision, sensors, speech, face detection, tracking recognition, image recognition, QR code tracking recognition also there. Already provided by 2.0. We also provide many types of sensors like acceleration, magnetic, proximity. And there is also high level API based on sensor like motion API such as snap, shaking, double tap. And we also give speech to text and text and speech functionality. Sure, there is a notification manager and app widget. As I explained app widget, this is kind of conventional, looks like conventional web-based widget, but it's actually web application or native application either can provide this kind of data in the home screen section. So this is a common functionality. So, I think most current user will like this kind of feature. And there is a notification area. So there is a quick panel frame area and notification area. So that application can make their customized UI like icon, message, like this. And quick panel frame area gives a kind of mini control over the application's functionality. So like, for example, MP3 player you can skip to next song or something like that. So this is provided as an API. Okay. Lastly, there is a web control provided by native framework. So we can call this as a kind of hybrid application because, you know, the native application can embed web content that can be rendered by the underlying web runtime. So by the nature of the Tizen's powerful web runtime, because the native's web control like this just fully utilize the underlying web runtime from the Tizen web framework and the call. So it gives very much many, many kinds of features and APIs, including this. Another kind of hybrid application we can think of is that we can make a web application and we can make a native application as a background service. We can make a UI-based web application and we can package them together as a single package. So this is completely feasible in the technical sense. So I hope there will be some documentation and sample for that so that you can use. Okay. So it will be released soon, I think. And lastly, the features from the core layer, underlying common layer. So core has very many open sources library and also propriety modules from Samsung and Intel. And there are 12 bugs here. So I'd like I don't like to touch every detail here but you can look at all kinds of functionalities provided by this layer. And you know the green characters represent the plug-in architecture. So these kind of modules can be use the plug-in implementation so that the manufacturer can differentiate each feature by plug-in into these kind of modules. And Tizen also wants a secure platform. So in the kernel side, this SMAC is also open source embedded into the Linux kernel, which is mainly driven by Intel. SMAC is a simple mandatory access control. So it is a process access control. So Web runtime itself can enforce fine-grained access control for each web app. So only a lot of resources can be accessed, for example. So there will be resources here. And each web application will take its own process and like this. And the SMAC rule specifies that only some process or subject can access resources or object. So that process B can access decision resources but process A cannot. So this kind of security access control is provided by in the underlying layer. And also from the application framework layer, there is another API invocation access control mechanism called Privilege. And there is a Privilege to SMAC relationship automatic translation at the time of installation, but I'd like to skip the details here. And you know EFL is a very successful open source libraries. So there are EFLs constantly being improved. So by the nature of EFL, many preloaded applications benefiting from them. From the Graphics UI perspective. So EFL is actually based on retained mode, not immediate mode. And there is a smooth animation with a very low processing power and a hardware serrated by the open gel back end. So compared to the immediate mode, retained mode can compose it together different scenes so that the hidden area, undrawn area can be efficient from the power performance perspective. And EFL also gives kind of video, rich effect with video. So you can play the video and you can video to the 2D surface and you can just play with the video like just 2D in 3D and by using emotional library from the EFL, free transform of video project while play back. These kind of features also provided. And at the color layer, there is a direct rendering infrastructure, version 2. So this is an extension to support direct rendering in X window. And also there is DRM, direct rendering manager so that there is no unwanted copy from this layer to this layer. So, sure. Okay, so this is the last slide of the core connectivity command which is driven by Intel with many features. And EFL also gives a very scalable UI so like multi-size resolution aspect ratio of screens. Continuous scaling is provided. Okay, and this is the IDE SDK part. We give C++ JavaScript and Eclipse based CDT and JSDT and support many ways like XP7, Ubuntu and Mac. And this is unified IDE for native and web. So we have implemented many plugins, Eclipse plugins and underlying development tools and emulator. So, okay. This is the IDE and multiple target can be managed so you can plug in many devices or emulator. You can launch emulator and device at the same time. And there is a UI builder for web and native and there is emulator and event injector. Event injector is simulating kind of target specific events like core, SMS sensor, device orientation, location. And we also give the debugging facility based on GDB and Rocket and profiling. You can download SDK and install from this URL. And this is just a developed workflow with this IDE. And finally we give the low-level virtual machine toolchain. Because we do not just focus on the target ARM CPU but also we target X86. So by using LLVM technology once we get the LLVM level intermediate bit code that can be translated into the machine code later. So we are almost done with this framework. So we can later enable this for multi-binary support. And this is the brief summary of the Tizen 2.0 update. So as you see many kind of features were introduced to web and native and also for the core and also for the IDE and tools. Okay. So this is the conclusion. Tizen is a standard based open-source software platform on the Linux foundation and offering HTML5 based application APIs. So web is the primary development environment but we also give native framework. And there are three-layer architecture from the Linux to the core to web and native framework. And Tizen SDK to that one will be released soon. Okay. Thank you. Could you give me some questions? Okay. Video end. So I'm not...actually I'm from the native framework so web engineer can reply to your questions so could you just please send me an email. I will give you a name card. Okay. MP runtime plugin is provided from 2.0 so you can just plug in the native standard C-based library into the web. Yeah. If you want more performance for example. So please contribute much to Tizen we will expect unexpected things from you. Yeah. Thank you.