For more videos on people's struggles, please subscribe to our YouTube channel. Over 1,100 workers have been on strike since April 1st at the Warrior Met coal plant in Brookwood, Alabama. Organized by the local branch of the United Mine Workers Association, UMWA, the strike is currently among the longest-running walkouts in the United States. Negotiations have continued into the strike, but Warrior Met has constantly refused to accept any of the demands put forward by the workers. Recently, I called a strike at our operations in Alabama, four local unions at Warrior Met, and many people might look at this and say, why did you do that? Over the past five years, Warrior Met has been a terribly difficult company for our people to work for, working as long as 12 hours a day, seven days a week, in some of the most dangerous conditions in the mining industry in North America. These are the deepest mines that we find in the United States. You go down an elevator, 2,000 feet, and these mines liberate so much methane they could destroy an entire city if indeed this methane could explode at one time. So we have people working in dangerous conditions, in deep mines, long hours, seven days a week, and even working or being forced to work on holidays. Among the measures imposed by the company's new owners in the name of bankruptcy are wage cuts as high as $6 per hour, loss of paid sick leave, loss of holidays, increased health care costs, and more. The workers have also complained of ruthless anti-worker measures, including layoffs as part of disciplinary measures. Workers are demanding reversal of all of these measures along with a substantial hike in wages and benefits to compensate for the losses made by them during this period. Warrior Met is one of the largest producers of metallurgical coal in the United States, which is used to produce steel in North America and Europe. The company has decided against releasing the first quarterly report for this year, citing market uncertainty, making it unclear whether the company's argument that it is suffering losses is based on facts. Shortly after the strike was launched, the company came up with a tentative agreement which offered a wage hike of $1.5 per hour increase over the next five years. We're on an unfair labor practice strike against Warrior Met coal, and I don't know about everybody else, but I'm tired of the way they treat our people. I'm tired of the contract we've got. This deal was overwhelmingly voted against by union members with over 91% voting no. On April 12th, union members voted along similarly large numbers to continue their strike. Ever since then, the union has alleged that the company has become increasingly hostile towards them. A general lockout was imposed that froze some of the non-wage benefits that workers and their families enjoyed despite the wage loss. The company has recently hired dozens of outsourced contract workers to replace the strikers even while negotiations continued with UMWA, the height of which was on May 26th when 11 miners were arrested by the local police from a picket march against such outsourcing. Despite the company's hostility, striking workers have only received more support from outside the mines. The UMWA has set up a relief fund for the striking workers to partially compensate for lost wages.


F -♪ Smog, rydym yn ychydig yn ei wneud. Mi'n gallu'n gwirionedd, fel yw'r pergylliannol wahanol, a'i'n gymlygu'r peth gŷl i'r Cyfrifnddoedd. Wrth i'n ei ffrifnwyr. Beth, nid oed. Fynogi yn gyntaf i'r cwlinnol, ond rydyn ni'n mynd i'r cyfrifnwyr gwaith. Roedd yma'r cyfrifnwyr cyrraeth Cibrifannol ac yn ei gŷl ddwy. Cyfrifnwyr yn ei gŷl i'r cyfrifnwyr. gan ydych chi'n gwin ar hynny, rwy'n tynnu'n ddysgwyd yn reladau. Rydyn ni'n gwybod i atlwyddoel sy'n gwybod i'n fremhywg. C kaydwyd yn rhaeg yn rhoi, fel mae'r ffronten y'r gweithredau? Rydyn ni'n gweithret i'r ffronten y gweithredau? Yn ei fwy fwywch bei angloedfa ariad ymrhoo? Rydyn ni ddechrau angloedfa ariad ymrhoo'r pwylo, comod, nad yna i angloedfa yw'r pwylo i'r ddrupol fwylo. Rydyn ni'n gweithio ar y cyfnod arall y sgwyddiadau. Mae'r ffenddiol wedi gweld ar y cyfnod, ac mae'r idea yw'r hynny yw'n gweithio ar y cyfnod a'r cyfnod ar gyflym y cyfnod. Mae'r hynod yw'r cyfnod ar gyflym y cyflym yw'r cyflym. Mae'r cyfnod yn ymgylch ei chyflon o'r moddal yw'r cyflym yw cael ei chyflym. Rydyn ni'n gweithio ar hyn yn ei cyfnod ac mae'r cyfnod yn ymgylch yn ymgylch. mae'n meddwl i'r ddweud. Mae'r ddweud i'r ddweud i Angliela GS a Druple yn ein byd yn y rhan i'r awdur. Ac yna'r ffordd yw'r ddweud y byddai'n rhan i'r ddweud y byddai'n byddai'n ddweud i'r ddweud i gael eu tŷchain i'r ddweud i Angliela GS, i'r ddweud i Druple a'r ddweud i'r ddweud i'r ddweud o'r cyfnod sy'n byddai'n ddweud i'r ddweud, dyma o gwahod o'r adnod i gyflymieddiad. So, mae'n jamb o kerfod ac yna yn yr ystod. Rwyf i gwasanaeth yr holl o'r newid iawn, dweud ddefnyddio gwleidio cerddaint ymateb a gweithio dŵr 18 oes, ac ac rydym ymlaenion ymdrys â'r rhagleniol. Mae'r rhagleniolaeth, yna fydd publish o'r cyllideggion mor wneud. Ac rwyf i'r cyfos versedd gan yr hynny i gweithio i'r ei ddydd. Felly wnaeth yn ôl i ni i gweithio gwleidio arol y torell ymddrys felly, yn使wethech i Llyfrgell. Mae'n gweithio i mwynhau bod nhw'n trefegoedd dweud ac mae'n gwneud cael corll honu'r plwythol, o'r llwyth i ni'r llwythau ac mae'n gwneud llwyth a lle ac mae'n fy nghoffin diwethaf o'r llwythau lleig. Rwy'n gwneud dwi ddaeth ei wneud chydig sefydlu gydag. F tideb am y cyfrifwyr ato i fyddaeth y llwyth ddViol mae'r gyrfa bwyd ym mŵr o'r gyrfa mwyaf mae'r ysgol yn ei wneud o'r web-brouser. Nid oedd yn rhan o'r cyflau'r dweud Uneddedig ac yw dweud yn dweud o'r cyflau'r dweud. Mae'r cyflau yn ôl iwn o'r dweud o'r dweud yn rhoi cyflau dweud. Ynogi'r dweud o'r dweud i'r dweud yn dweud o dweud o'r dweud, a dweud o'r dweud o'r dweud yn dweud o'r dweud o'r dweud o'r dweud. Dyma'r ac ynogi'r dweud o'r dweud ac yn ei ysgol, a Yn A, mae Drupil yn gyffredig ar gael gysylltuol.  A'n hof ymlaen i'r Drupalau os ymlaen o fyddiadau, yn amlwg ddod gael'r website, Drupalau'r ddraeth yn cael ei ddweud i ddataeth. Felly, y ddweudio'r ddraeth yn dweud i'w cwntent yn y system, ond mae'r ddrupalau wedi'i ddod i'r ddraeth ydw i ddod yn y ddataeth. A'r ddweud i'r ddweud i'r ddweud i ddweud i ddweud, yn cael ei ddweud i ddweud i ddweud. Ac mae'n gwybod eich model yn dyn nhw, yn y gilydd, cyffredin nhw'n gwneud eich bod nhw'n dyn nhw. Felly, mae'n ddigonio i'r munisrataeth yn ddweud drwpl a drwplau cyflwyno ffag ar y dyfodol i ddweud drwpl sydd yn ddweud drwpl a drwpl yn ddweud drwpl yw'r gyffredin sydd, ac mae'n ddweud ddweud yw'n ddweud y ddweud drwpl i ddweud ar y data. Mae'r ddweud ychydig hefyd gan y ddweud drwpl, at y dda'u iddo o draws, i ddim gweithwch i'r system hon i'ch gael athau yn gwahanol. Be yna'n dod wedi'u swyddfa o'r cyfrifiad, ac yn ymwynt gen i'r ddaeth ni mae'r gweithwch yn gweithio'r swyddfa ar weithwyr. Mae'n ei adeiladio'r cyfrifiad yn gwahanol i ddydig ar y cyfrifiad o'r cyfrifiad, ac mae'r ddaeth nesaf y cyfrifiad yn y ddaeth ni sy'n gwneud y cyfrifiad, ac mae'n adeiladio ar wych yn gweithio'r cyfrifiad. So, sub, wat ay's angler, angler jest. Angler jest is a front end framework. Ys going to be doing all of that theming layer that we do inside of Drupal, but instead of that we're going to be doing it in JavaScript. It's going to be rendered in the browser. So angler jest has a templating language and templating engine and it uses HTML to build it's templates. Later on in the talk I'll do a demonstration exactly how you go out constructing those templates so you can understand what that looks like compared to doing that with Drupal. Why did we select AngularJs? When we were looking at the marketplace and what was out there for the front-end frameworks, one of the main points of Angular when we looked at it from 18 months ago was that it has a very large community and it's back by Google as well. Google is doing lots of development work for it. But there's also a huge community of people out there using AngularJs. And, the important thing about that is that when you have any problems, a solution that you think well there must be somebody That's already solved this particular problem. And that information is already available on Stack Exchange or people have blogged about it, or ng-modules.org is a place where you can download modules for AngularJS. So you think, well, this must be a solved problem. You'll find modules for those problems on ng-modules.org. So it's got a big ecosystem just like Drupal has. And, of course, it's a front-end framework as well. Felly mae'n gwybod bod hynny'n gweithio'r cyfle o ddweud ychydig sydd yn gweithio gweithio'r gweithio o'r hynny. Felly ydych chi ddweud y gallai Drupal 8 yma o Gwyl Fynghor i Gwyl Fynghor. Mae'n rhai cyfnod o'r teimlo'r cyfeidliadau ar y gweithio ddiogel. Mae'n gweithio'r gweithio ar gyfer â'r ffyrdd yma. Felly mae'n golygu o'r cyflym o'r cyffredin iawn a'r gwahanol ac ar gyfer o'r cyffredin iawn. Those are things we'd expect not just from a front-end framework but from any good software framework. This allows us to build a well-structured application. Perhaps what we would have done previously with JavaScript was building scripts and tying them together, we can now build a fully-featured application at the front-end. That of course allows us to test the code of doing well and to build a well-structured application. Yn y peolig sefydlu cyflym, wnes i ddwydwyd y f thaim neu yw'n ei ddwyddiadau nifer o Ruper. A gwnaeth i wellu. A nu ddwyddiadau eich ddwyddiadau o feidio enghraifftig nawr cael ei da, rydych chi i'r iawn i'r sefydliadau cyflymu a'r amser rhywfyd reuaeth i chi. Yn y prifegyrdd y model, y ddwybl hefyd yn cymaint i'r ddwybydd y maen nhw.  O'n ddod, rwy'n rwy'n credu'r brwywer o'u cyflwyter a'n I'm just going to switch over to the browser and see if I can show you an example application. So this is one of the first applications we built for one of our clients and the reason we selected AngleJS is the front-end framework. So this is an interface for searching an art collection of some, there's about 250,000 objects in it, 100,000 of which you've got images. So this is the life side at the moment. And what we found with, if we were going to build this just purely with Drupal form API, is that there might be some limitations in the way that we can construct the form. So it's not very clear on this screen, but there is form elements on here and this allows us to build up a search for the data within this collection. And then underneath we have our search results coming through and these are building underneath the actual search interface. And some of the nice things you can do if you're now rendering this in the browser rather than in Drupal is if you do things like want to change the view mode, we don't have to have a full screen refresh. So here we've got a tiled view or we can switch to the record view like this and it just happens in the browser and there's nothing else needs to, there's no screen refresh and the page just renders it much nicer. So if we then did a search, so if we're going to look for things that Queen Victoria purchase is a prolific collector of art, then we can just apply that search term there and already the search, the items that are related to Queen Victoria in some way are brought back and then we want to apply a second search into that. So let's see the objects that she's created and then the page results just refresh underneath. So what we're doing here is within the AngularJS application we're constructing a search object. So we're constructing a piece of state on the client side inside of the browser which are the information about the search. And then that is then sent via Ajax requests back to the search service and then it's sending us the data directly. So we're not actually talking to Drupal directly, we're talking to a search service but the content administrators are entering their data through Drupal and this allows us to then make quite a rich search experience so we can then start building up additional facets. So if we want things that are linked to both Queen Victoria and Prince Albert then we can add additional facets there as well and we can get quite a rich search experience and we're also able to do things like apply secondary filters inside there as well. So as Queen Victoria is the creator, Prince Albert is the subject and then we should be able to find things that he's drawing off Prince Albert by Queen Victoria. And then this just goes on so we can then keep constructing additional facets to our search interface so perhaps we want to restrict that by a particular category whether it's from the arms and armour category or we only want to find things that are at a particular location and it allows us to construct quite a complex search query. So that was just a demonstration of what's possible when you start using a front-end framework to build your application out. I'm now going to go through the process of getting started with AngularJS and what you'll need to do to build your first AngularJS application. But before you begin, if you've not worked with front-end frameworks before or any of the new front-end technologies there's an awful lot of subsidiary build chain things that you'll need to get up to date with and to understand what they are in order to start using these tools. So one of the first things you want to install on your and your development environment will be Node and NPM. So Node is a service-side technology for executing JavaScript and what it's used for within a development of a front-end application is as the server on the application so it's going to serve up your initial application for you. NPM is the package manager for Node. So the first thing you want to do is install Node and there's some instructions there on how to do it for Mac and Linux. And then just check it's running with Node minus V. The second tool you'll need is a JavaScript package manager and this is a bit like Composer for PHP. Bower is a good choice for this. So again, install Bower globally with NPM, install minus G, Bower. So now you've got NPM and Bower installed. Next tools you'll need are a task runner. What a task runner does is it allows you to bundle up a series of instructions together and call that a task and that can then be installed with your front-end application so that the next developer who comes to work on your front-end application and your building needs only have a look inside the grunt file for using grunt to see what the build steps are in order to build your application. So an example task might be a test task and there might be a number of steps that need to happen in order to test your application. So if you're building that application, you can define those inside of the grunt as a grunt task and then the next developer that comes along need only look inside the grunt file and see that there's a test task and they can just double-click that to run the test. We'll look at that and look at more detail in a moment. Next tool we probably want is a scaffolding tool. Yeoman is a good choice. There are other scaffolding tools such as Slush out there but Yeoman is what we use. What a scaffolding tool does is it allows you to provide a recipe to start and to scaffold your application. So if you're starting with nothing, you use Yeoman to say, I'd like to build an Angular application, please, and it will go away and construct the folders and the files and put in all the necessary dependencies to get started on building your application. The next thing to consider, of course, is the testing frameworks. Karma is one that's supported by Angular and that's one that people are using AngularJS on its own. You're writing your tests using the Karma language. We use Behat to just run the tests through a headless browser as well. But the important thing is that you keep your tests with your test code with the rest of your applications code. Now I'm just going to go through the steps of building a Drupalate back-end and a front-end application with AngularJS. So in Drupalate, for this example, a simple example, we use the views module and the rest for web services module to provide us with those JSON endpoints, those data API endpoints, and then we'll consume that within an Angular application. So I'm going to switch over to you. OK, so this is my Drupalate website and what we're going to produce is a blogging platform. So if I have a look inside of the structure, you can see under the content types that we've got a blog post content type. And if I manage the fields on there, you see it's quite a simple content type. It's got a title and then it's got just one field, which is the body field. So in order to provide that information via a data API, all we're going to do is create a view using the use rest service module. So I've constructed a view called blog and if we edit that, I'll have a look. So this is going to be a view which is a slash blog. This is a view of type rest. So if I just hit this out of one here, you can see there's a display type provided by the rest for web services module, which is the rest export. So that's the type of this view. We're then displaying the fields. So these are the fields we want inside it, title UID, which uniquely identifies each piece of content on the system. Then a field for the body, the path and the content type as well. So that's the machine name for the content type and we'll see what that's useful later. So if I now go to slash blog, then we can see that we're getting Jason back. So this is the title, the UID, the HTML for the body, the path and the type of the post. So there we've got our Drupal website acting as a content management system and now providing information back via a rest API. Okay, so now you're ready to start your friends in application. So we talked about using Yeoman for scaffolding the app. So before we've started anything else, then these three commands, we can make a directory for our project called AngularDrupalate, go inside the directory and then use Yeoman, Yeoman, Angular, AngularDrupalate says I want to create a new front-end project of type Angular, so Angular is the recipe, and the project's going to be called AngularDrupalate. And once we've run those three commands, then what we get is a project directory which looks like this, and I'll just go through the elements of that. So inside of here we've got an app directory, which is where our source code is going to go. There's directories there for barrel components and node modules, so these are external dependencies that are going to be pulled in, and we'll look at those in moments in a bit more detail. And there's a directory in there as well for our test code for any test that we write on the system. At the bottom down here we've got a file called gruntfile.js, and this was produced to us by the Yeoman script, and it's already got within it a series of tasks that will allow us to run and build our application for us automatically.  And those tasks are the build task, which is what we'll run once we're ready to deploy the application. And this was what turns all of the code within our app directory, and it compiles it down into something we can actually place on the server ready for distribution. There's a test task in there, which is going to execute all the tests. And there's a serve task here, which we're going to use now for actually running the application in development. So by double-clicking on this, it kicks off a series of steps, which then fires up the Angular application. So without having to do very much, we're already at a point where we can start development. We've got everything in place to allow us to do it. So if we just look at the anatomy of an Angular app now. So inside of that app directory, get several files, one of which is the index.html. So if this is a headless application, this is the single file of the single file application. So this is the first file that gets requested by the browser, is the index.html. Inside here, there's a few things we just want to look at. There's a tag here, the ngapp directive, which is applied to the body tag. This tells us the scope of our project, the project that we're going to be building. So at the moment we'll look at the actual Angular JavaScript, and it's going to work on this body tag or on the code within it. Down inside here, we've got a hard-coded menu. So the application's got three menu entries, which is the home, the bounce, and the blog links. You can see under the menu, home, about, and blog. So those have been hard-coded into this headless application. And then down here, one other thing to look at is this div here, which has got the ngview directive applied to it. What ngview directive is going to do is a bit later on when the Angular application runs, is go to look inside our HTML, looking for the point at which to place the HTML that gets rendered by the Angular application, and this is where it's going to go inside. At the bottom of the file, we've got our included dependencies. So these are scripts that are required for running the application, and underneath are our scripts that we're going to write ourselves. So these are the components of our custom code. And each of those are contained inside these comments and what these comments are telling the build script. So when we come to actually deploy our application, all of those files get concatenated down into a single file. So all of these get concatenated down into a vendor.js, and these underneath them get invited into a script.js file. So in the scripts directory, we've got an app.js, which is the first one that gets executed. And this is where the application actually gets bootstrapped. So in here, we are defining our application we're building. So we've called it AngularDrupalate app. So this is the name of our application. Under underneath we've specified the modules we're going to be using. So these are the Angular modules. Most of these are ones that got created for us by the Yeoman script. If we wanted to include our own modules later on. So if you found a module you wanted to use from ngmodules.com, you'd also specify it in here as well to say that your application depended on it. And then underneath, during the bootstrapping process as well, we've got a configuration section. And inside here, we're passing in two parameters. And this is Angular's way of doing dependency injection. So there's two services, and we're saying that we depend on them at this point. One service is the root provider service, and the other one is the location provider service. And underneath there, we then configure these two services. So with the root provider service, we're going to tell it what the roots are for our application. So there's forward slash, which is the home page. And if the application is at the forward slash, and it's going to use the main controller, which we'll look at what that means in a moment. And it's going to supply a template in the views directory under main.html. So what we'll look at next, I think, is the blog page. So if we go to... We can't quite see that here. So we've gone to slash blog, so that's the root. So if you have a look at slash blog under here, you can see that that's what the roots is going to be defined as. It's going to make use of the blog controller, and it's going to use this template to render the results. So if we now look at that blog controller, and see where that comes from. So underneath controllers, I've got a blog.js file. And up here, we've specified a... In our Angular application, we've specified that there is a blog controller. And same side of here, the blog controller lies on two services, one of which is called Dullescope. This is the global scope, and this is the place where we're going to put data. So that data is then available to other controllers and also to our view, which we'll have a look in a moment. And the HTTP service is what we use to dial out and request data from external services. So underneath, so we've created an array on the global scope. We're requesting data from our Drupalate development site at slash blog, and then we use the HTTP service to go away to that path, and then we get some data back, which of course is our JSON feed we saw earlier. And we're going to place that on the global scope under the blogs variable. Going back to app.js, that was the blog controller, then went away and got the blog's information from Drupal. It then needs to render that into its template, and the template we're using is the views listing blog.html. So underneath the views directory here, underneath listing, we have a blog.html file. And there's not a lot much going on here, but this is the, this is Angular's templating engine. So we've got our own template here, and the templating engine is HTML. You can see we're getting, we're looping over each blog in blogs. Blog is obviously the thing we just populated on the global scope. And for each blog we print out a H2, which is its title, and a link underneath, which is a read more link, so it takes us to blog slash and then the UUID. So there's the blog, there's the titles, and then we have a link going to each one. So we'll just quickly go through this one now. So when I clicked on that link, it took me to blog slash and then the UUID. And then we've got the actual data coming back for that specific blog post. So just running through the steps again, we can quickly see under app.js, we've got a blog slash UUID, that code on integrates that there's going to be a variable being passed in, which is the actual specific UUID. We've got a blog post controller this time. So again, inside of our blog.js file, we've got a second controller called the blog post controller. This one relies on the scope and the HTTP services as well, but it also relies on the root-param service being passed in. The root-param service is what tells us what's been passed into the parameter that got passed in the root, which is the UUID. And this time we request from Drupal the blog slash and the UUID, and we'll get the specific blog post back again. It's placed on the global scope in the blog variable, and then going back to our router, we can see that the template URL is under pages and blog.html. Inside here, we've just got a very basic template, which is going to print out the title and the body of that blog post. So that's kind of a really high overview of all of the things that you start to put together when you start building a front-end application. It shows you where the templates live, where the application logic lives within your front-end application, and how those things can tie together and how you go away and get that information, the data that you need back from a Drupal back-end. So there's a lot more that we need to consider in here. I've hardcoded the menu. This is a headless application, so it's been completely delivered via AngularJS, and we're only using Drupal as the data store. So if you want to build something that's completely headless like this, then you've stepped away from a lot of the good things that you do out of the box. For example, the ability to manage your own menu. If you want to give your content editors the ability to manage the menu, you're now going to have to build an endpoint which tells the Drupal application where to find that menu. So your Angular application is going to make perhaps several callbacks to get the menu, to get the content of the page, to get anything else from the page. One of the other things perhaps that you'd be walking away from as well is the ability to specify your URLs. So here we've kind of got a very ugly URL just in order to return the blog post. But just as an example, just to show you some of these things are overcomeable, you just have to build these things in yourself. I've got here a page that's coming back, so slash about is a page that's that slash about URL is an alias that we've told Drupal about. The Angular application has no idea what is that slash about. So we have a quickly look at it in the app.js file. We look at the routing again. None of the routes in here tell us about slash about. There's just the home page, the blog, and the specific blog post. But there's a separate section at the bottom called otherwise. So if none of the routes match, I've written a controller which is going to go and ask Drupal what's at the URL that's been given. So quickly look at that. So inside of content is my content controller. We've got an endpoint to Drupal called slash content where we pass in the path. So the location controller gives us the current routes and then we'll go back to Drupal and ask what's at that path. Drupal either tell us or it will respond with a not found and we'll just set the not found template. You might as well now. So for the headless application there's no templating system going on here. The art client website I showed you earlier, that one there is an amount of Drupal templating going on. So Drupal is providing us with the headroom footer of the page but the search interface in the middle and the results of that page, that's an Angular application providing that. So Drupal is giving us the basic page and then everything in between is being given to us by the Angular application. You end up being doing theming in two places so you'll do some theming inside of Drupal 8 to provide you with the basic template of the page so Angular is completely separate in a way so then you would then do whatever templating you needed to do within Angular so you've separated up into two projects. So yes I was going to quickly show you this one. So I've built a controller which allows us to get the data back there so if we just have a quick look at what that looks like on the Drupal so there's a Drupal view at slash content which takes an argument of the path and it goes and gives us the path back Joe's thing didn't exist we get nothing back from Drupal this time. And so in the app.js we can see that once we've done the logic to get the data about what's at that path then we use the view slash content HTML to render the page and inside of here we've got what's effectively a switch statement and it's telling us we're going to load in either a 404 not found page or we're going to load in the right page for the content that's come back again. So this is just an example of what you have to do if you're going to build a completely headless application you're going to have to do some things that Drupal isn't providing you with. Okay, I'm just going to go through the last few slides. So, as mentioned before there's plenty of modules available on ngmodules.org so if you get to a point where you now need to add perhaps an infinite scroll to one of your pages and you realise that this must be something somebody else has solved go to ngmodules.org, have a search around and perhaps you'll find this module looks like it's because the work you want to do. In which case there's instructions there for installing it using Bower and you can add it to your application. If your headless application is on a different domain from your Drupal sites then you're going to have to use something called core support where you tell this cross-origin request source so this is something where you tell your headless app you define from your Drupal site what other websites are allowed to access the content or to use the content. So I don't think there's anything within Drupal at the moment that allows you to do this or there are some patches and people talking about it at the moment but you can use your rules within Nginx or Apache to always supply this particular header which is the access control allow origin header and afterwards you specify which domains the data from the Drupal site is allowed to be used on so the top one says I only wanted to be used on the localhost domain but it's the one underneath of the star and it says actually the data coming from my Drupal site can be used on any domain. Yes, what's the catch? So we mentioned a few of the catches before the fact that you will be stepping away from Drupal so you're going to have to kind of hand build a lot of the things that Drupal is providing without the box for example some things like login, the ability to login to your site you're going to have to build some construction to allow you to do that things like the menu and the routing and those are all things that you need to now build to do yourself. Another big one is SEO so if you've got a headless application then I think some of the crawlers will try and execute your JavaScript but if you want to ensure that all of the content on your site is indexable then Google's suggestions at the moment are that you provide a non a non-Javascript way of getting to your content and there's a couple of ways of doing that so one is that you can just create your HTML alternatives on the site and there's things you can put into the meta tags at the top of the page this URL here which you can't quite see but it gives you information from Google where it tells you what it is you need to do so you have your JavaScript app URL which most people use then you have kind of ugly URLs with the search engines and the search crawlers we use to get the data from the site rather than having to create two versions of your website you can use there's some instructions at this site here you can use phantom.js to crawl your site for you and produce those HTML pages automatically and they're also paid for services that allow you to do this as well and that's everything so thank you very much for your time thank you thank you for any questions so the question was how do you include your Angular app inside of a Drupal-ended page in the example given so this isn't an iframe it's an application that's built it's included in the page so we would include those in the same way as you include any JavaScript within a Drupal application so we include the JavaScript files and then you tag the element of the page that you want the Angular application to work on and it works on that element so it is just JavaScript at the end of the day so you just include the right JavaScript files at the right point and it will execute on the page so your Angular app starts at index.html which is what we showed you but this could have any HTML within it this isn't actually part of the app the Angular app starts at the JavaScript and you just put some tags inside your HTML to say where you want it to start to start working on so inside of here we'll start here but this page, this index.html page could have been rendered by Drupal which is how you then embed it in the progressive way so the question is what can you do if JavaScript is not available so I think for us and the way that we've used it we've been selective about the ways so we haven't built an entire site out of AngularJF's application we looked for those places where it was particularly useful at this point we are now thinking about what we would do in terms of a complete website whether you'd have a fallback and Google's suggestion is that you do have a fallback because that's the thing that the search engines want to use in terms of the demonstration site that I showed you it's just the search interface there is a very simple search interface that enables you just go to one where you can just you've just got your standard sort of Drupal form where you can type in some text and press enter and the server will do the search for you but you lose all the richness of the application as a result of that so the ability to build that rich application becomes much harder if you're only doing it through the Drupal website so I don't want to do a check yes, although you wouldn't be able to get to that page without JavaScript enabled so you would just be left with a site search in that situation so the question is do we load in all of the information about the 90,000 art objects on that particular site and then do all the searching locally or do we construct the search and then what we actually do is we construct the search locally and then we send the constructed search as a request out to the search API and the search API then returns the first page of results and so every time you manipulate the search through the search interface the project which is holding state and the browser is changed and once that changes it triggers a request back to the server to say and this is what the search looks like now and then you get the first page of results back in the page, that search result bit then rebuilds itself underneath so yeah, we're not holding several hundred thousand pieces of data on the site because that would take a long time to pull all that in so the question is what are the other advantages to give some examples there of speed and ease of development one of the other good reasons for taking annuals which I didn't touch on which I probably should have done which was around how you construct your development team around it as well and finding good Drupal developers and the good at the theming layer comes quite high because you're getting quite a narrow set of skills that are required there by separating this out you open yourself up to all of the people that are working in the front-end JavaScript space you don't know any Drupal but do know how to build good quality user interfaces and web applications of which I think there are more people out there allowing them to do that so it improves your ability to bring in talents into the development pool it also frees those front-end developers and there are a lot of people that prefer front-end developers who prefer not to work with Drupal there's a number of those people out there as well so you can have your Drupal specialists and you can have your front-end specialists and you get their best of both worlds of course that brings some dangers as well because you're obviously separating your development team out and I know that some places perhaps then create kind of a front-end group and a back-end group and they only talk to each other over an API document which is definitely not the right way to run your projects very much in favour of making sure that those people are still collaborating very closely and they're working together to do this thing and actually I see a lot of back-end developers that are very interested in AngularJS as well because it's bringing form and structure to what was kind of a the front-end sphere and actually the back-end development doesn't stop at the API it goes into the Angular application all which is the front-end developers are now working on the views the templating side of the Angular application and the back-end developers are working perhaps on the programme logic at this level so they're working on both the API and the consuming of the API on the client side we haven't got any specific standard I mean obviously there are the rest standards and the way that you should structure them for a Drupal 7 builds we use the restful module and there is a Drupal 8 version of that coming out now which allows, is a very programmatic way of constructing your API and it gives you an awful lot of nice things such as versioning of your API as well so you have APIs in different versions but I think there's some other talks on APIs and the API versioning at Drupal camp this week as well but yeah there's a whole subject on how to do with the API and how to build your API as well so the question is do I have any experience with Angular 2? so the question is do I have any experience with Angular 2 so we did this process about 18 months ago to decide and made the decision to go with Angular 1 because it felt like a good fit then 18 months later everything's changed and now we're having to re-evaluate everything again Thrice actually put a blog post very recently where his team sort of evaluated all the front-end web frameworks with the thoughts about which one of those perhaps should be bought into Drupal core and perhaps should be standardised and that's an ongoing debate at the moment they were kind of leaning towards Ember as the front-end framework that might fit well within the Drupal community but that's an open question at the moment Angular 2 is really interesting, it is a lot faster it simplifies a lot of what I've shown you today actually it's the number of things that you need to deal with actually reduces down and Angular 2 ends up looking an awful lot more like React in the way that it's structured and the way that it's working so we have to make a decision at some point in the next few months about where we're going to go because we want to move on to the next new shiny thing as everyone in the front-end community does Angular 2 is definitely of interest again because it's backed by Google because it's got a very big developed community behind it but it is still in beta at the moment we find it pretty dependable it's the same with Drupal you've got to evaluate each module on its individual merits don't you think that's a good module it seems to do 90% of what I want and that last 10% takes me I could have rewritten it in the time it took me to solve that last 10% of the problem so these things exist it's just being on top of what's going on they're reading the blog posts and getting feedback from things like the AngularConnect conference that happens once a year it's very true it provides a bit of I think it provides a bit of structure around that but if you've got to get up a count you can just chuck it on there in the same way a PHP Symphony application library you might be able to just chuck that up and get up but it's where the people are talking about it and whether it's got enough reviews that's going on so the question is if you're publishing all of your content on a search service which is openly available to the world are there any security what considerations do you need to make under that circumstances it's a very good question it's a great question it's a great question it's a great question it's a great question it's a great question it's a great question it's a very good question and it very much depends on your application if you've got lockdown content you can't put it into a service like that because the authentication is going to be between an Angular application and a back-end service so for the example I gave this is open data it's good to put it on something like elastic search because you mentioned the DDOS attack vector that's potentially possible there if we've opened up a service to the world so that's a service you can then put onto the cloud somebody else can look after that so elastic search is a big built for this, this is the kind of application that it's there for so allowing for large quantities of search and access to that kind of data but yeah very much comes down to your particular application you're going to have to hide your data behind some form of custom API or some other service but this is for high volume exactly if it's a high volume high number of requests then this kind of setup is really good and you've taken Drupal out entirely you're just talking to a back-end service which you've built for that kind of thing so I think the question is how much work is it to index the data well exactly and this is what you're stepping away from so the ease of being able to just configure a few modules and click some buttons and then you go okay well there's my site but it looks like a Drupal site because there's a lot of things that they do so if you want to build an interface which allows you to do that to build up facets to build up search terms so we've got the ability to say okay here's one type of person then I'm going to add a second person and a second person and I'm going to add some sub features to that as well these are all very complex things it was a long project and it had a lot of complexity within it so yeah this is a big project I think not for this particular search interface but in terms of the back-end of that it's going to be available all the way that you search into Facebook because it needs just data and facets at the end of the day so it's just about structuring that in the right way but yeah have we got type 1? it's got that so okay I'll be around for a little while so if anyone wants to talk to me any more okay thanks very much


It's crazy how much stuff I'm still bringing into school, even though there's no kids here. Why? I'll tell you why. Science. Hey guys, good morning. Welcome back to the vlog. So today is just gonna be a regular day in the life of a virtual teacher. Fourth grade science, fourth grade science, and social studies. So I'm gonna do a quick outfit of the day for you guys. Yes, I am still getting dressed and coming to work as if it were normal. No, I do not have to work from a classroom. Yes, I prefer to do so. Why? Because I work a lot better from school than I do from home and I feel like it motivates the kids to continue pushing and pushing, staying positive so that they can one day be here with me. Anyway, we're gonna start with an outfit of the day. So we're gonna start with my shoes. These are soda brand. I got them on Amazon. I love the pattern on them. This spotted situation going on. I paired it with a black dress. So this dress I actually got from Old Navy. It's one of those tank top dresses with the buttons. Well, I always throw a shirt over our dresses and this one's just one of those cute friends ones. This one's from Amazon. Says teacher, I'll be there for you. Super cute, super simple. And I just tie it up in the back and then sometimes I'll let the tail hang out. Like today, I don't really care because there's no one in here but normally I would just tuck it in and then it's hidden back there. And then earrings. I got these from Target. Can you guys see them? Earrings I got from Target forever ago. And then glasses are by Glasses USA and they will be linked down in the description below. Okay, so what's going on today? Why do I have so much stuff? Well, this week I am beginning to teach the scientific method. Technically it's not a fourth grade standard but scientific inquiry is and so is engineering and I believe that everything needs to begin with the scientific method no matter what. So I'm gonna teach a scientific method this week and the way I'm going to teach that is by doing three marshmallow experiments. The very first one is going to be chubby bunny. So my students are going to be given a question. How many marshmallows can Mrs. Valdez fit in her mouth while still being able to say the words chubby bunny? Then they're going to make a hypothesis. So I brought little marshmallows for that challenge. By the way guys, I'm not gonna be able to fit very many of these in my mouth.  Yeah, not even gonna happen. But anyway, I brought small marshmallows for that. The second experiment is what will happen to a marshmallow if it is put in the microwave? Some of the kids may or may not have done this experiment before but we're gonna still do it. And if the kids have experienced with it then their hypothesis will be right. So I got jumbo marshmallows for that one. These are huge. And then another one we're gonna do is the four liquids. So the kids are going to ask a question about which liquid do they think will dissolve a marshmallow the fastest? And so I have four liquids here. I have water. I have vinegar. I have soda. So I'm actually gonna do two experiments with this one. Well not two experiments but two cups. So I'll do one with seven up and one with Coke. And we'll see if one of the sodas is like more acidic than the other. And then we're gonna do some cranberry juice. So the third experiment will be which liquid will dissolve the marshmallow. So we're gonna do that one on Friday and then we'll leave the marshmallows in the liquids over the weekend and then Monday morning when we come in and I come in I will film the results. So that is what I'm teaching this week. Tomorrow I introduce the kids to the first C-Think Wonder which is a picture of a boy eating marshmallows so I wanted to spark the topic for the week by doing that. And then Wednesday is their very first video like full on teaching lesson. And that is the one where I do the chubby bunny. So I have the C-Think Wonder video filmed. I need to film my three scientific method videos and experiments. So I'm gonna be doing that this morning. I really wanna answer a ton of your guys' questions. So here's what I've been doing the last two days that I've been here at work. I've been sitting down at lunchtime between 12.15 and 1.15. And I've been doing like a teacher's lounge moment where I just go live on Instagram and I answer like questions that you guys have. I really wanna go through and answer questions that you guys have put in my comments here on YouTube because there's some really good questions. I should address though that I do have grid view installed on my computer. I did try to do Google Meets with and without the grid view and I'm still just not able to see all 27 kids. So I did create or sorry, I did end up using a second device. So I plugged in my work computer and my personal computer and I projected and filmed or sorry, video like me and projection from my computer and then the school computer I just looked at kids. That was okay, but I still didn't see all 27 of them. So I'm gonna have to figure that out. I feel like I'm going a mile a minute. I have my coffee today, this cute cup you guys. I'll link it down below. It's by the confetti. I forget it. I forget right now at the top of my head but confetti something. I also have my lunch today is sushi. I love sushi. I get it from the grocery store.  It's like five bucks, but I like it because it's not super obnoxiously filling. This is just the threes company. It's like a filly roll and there's only about 440 calories in this whole lunch. That's not too bad. Chopsticks. And then I'm also gonna snack on some plantain chips today. So like I said, I'm trying to go live every day at school during lunch and I call it the teacher's lounge, the digital teacher's lounge because a lot of my friends on Instagram will join me.  My door wipers are here. You can hear them. Ooh, I also have some trail mix and I need to eat my breakfast which is just eggs and some cream cheese. Okay, so my camera's at 14% so if it dies, I'll switch to my phone but I thought I would show you guys what I do to get ready for a Google Meet. So a few questions I had in my comments were what are your times for your Google Meet and what do you do during your Google Meet? So I have three Google Meet every day. One for each period. First period is 850 to 920. Second period is 1145 to 1215 and third period is 120 to 150. Between period one and two, I have a really big prep time so that is when I film and edit video lessons which are completely different things. So every day the kids have from 8 to 850 to view all of mine so my period one kids would view all of my video lessons and do any assignments I gave them. And then after my Google Meet they move on to their period two teacher's stuff. So we try to make it so that they have quite a bit of time in between the beginning of their day and two period one so they have time to watch the lesson, do the activity and then they meet with me to ask questions for clarification. I like to make my Google Meet more of like a fun activity time and if I have any kids that have questions I always let them stay on for an extra 10 minutes after the Google Meet is supposed to be over. So if my first period class is from 850 to 920, at 920 I'll dismiss any children who don't have any questions and I'll say if anyone needs any help stay behind for the next 10 minutes. So the last 10 minutes of a Google Meet is kind of like an office hour or like a check for understanding if I need to. So what I plan to do for Google Meet once I start actually teaching content because I have only been really doing community building and get to know you activities I would like to make my Google Meet time more of like a check for understanding. And so for that I'm going to be using Nearpod. I'm gonna do a whole video on Nearpod it'll be for Sunday's video. Today I wanted to do just a vlog. Sunday I'll probably post a video on all of the technology pieces that I'm using to help with virtual learning. Nearpod is one of them. It's really cool. It's kind of like slides, but it's more interactive. So what I'm doing now is I'm just getting set up here for my Google Meet. So as I mentioned before my computer from the school I use to see the kids. So I don't have a camera turned on I don't have a mic turned on. I just log in so that I can have a screen to see kids on. And then on my personal computer, my MacBook I have for presenting or filming myself. So right now I'm actually working on editing a video lesson. What I use to film my video lessons is the webcam on my iMac or not my iMac my MacBook. And then I also use my iPhone and I use this really cool tripod. Sorry I'm like bouncing all over the place. I use this really cool tripod. It's from Amu Tech. But it's really cool because it extends and it has little feet and it holds my camera and I can face it down. So I use this for some of this stuff depending on if I want kids to write in their notebooks this is kind of how I film. Like if I'm writing anything or if I'm gonna do an experiment I wanna look down and show them. I use that. And then I just edit the lesson in iMovie. I know a lot of people don't have this technology but luckily my YouTube hobby kind of set me up for success for that. So I would say if you don't have this kind of technology I would definitely try to invest in some kind of I mean you don't have to but if you want to some video editing software of some kind maybe a webcam like I have this one that I could use I just take it off and then I could point it down if I wanted to. I have that in case I wanna do a demonstration live on Google Meet. But if you don't have some sort of like editing software you could definitely just film a video using your computer's camera or even your iPhone and then post that. A lot of iPhones have iMovie which is a great editing software that you could totally use on your phone. And so that is an option. So as of right now the things that I am pulling up are I always have my weekly agenda up on the screen so that I can look through and see what I'm doing in my Google Meet. My daily agenda always has what we're doing in the Google Meet and then what the kids need to do on their own. So I'm looking that up right now. I like to have it up on the screen so that the kids can see. I always put it up so we can talk through what we're gonna do. That way they kind of already know what's coming. And then I'm gonna pull up my near pod that I have for the kids today which is going to be a class rules activity. So I'm actually using Josie by Maniac in the Middles classroom rules music activity but I created a near pod out of it to get the kids to be able to type ideas. So I have that pulled up ready to go. I also like to pull up Spotify and for the first five minutes of the Google Meet which I always join five minutes early. So I have four minutes until I gotta join. I put on music and I take attendance using Class Dojo. So this is kind of like our little system that we created in our fourth grade team. We take attendance via Class Dojo and all we do is we pull up the list of kids and if the kid is in the meet, we click on them and give them a point. So every class period they get a point for attendance by the end of the day. If they have three points, they have been there all day. If they have two points, it means that they missed somebody's class. If they have one point, it means that they only showed up in their homeroom. So we wanna make sure that the kids are not ditching the other meets. We're only supposed to take attendance for our homerooms but we felt that it would make more sense to take attendance for every Google Meet to make sure that kids aren't like ditching Google Meet. You know what I mean? So the song that I like to play for the first five minutes while I'm taking attendance is the Star Wars theme song. Reason why I love that, A, Star Wars, B, Star Wars and C, it's a five minute song which means five minutes. Once the song is over, I start my Google Meet. It's the perfect time. So I pull up Spotify and get that queued up and then I'm also going to pull up the video of the song. So I actually filmed, I screen recorded the songs for the rules and then I edited them so that I could only share with the kids the part of the song I wanted them to hear, not the whole song because parts of like Ice, Ice, Baby, if you guys know this lesson by Josie Bensko on Maniacs in the Middle, then you know if you don't, you need to go check it out. But I've cut out the parts of the song I don't want the kids to hear. Not because they're inappropriate. Some of them are a little bit questionable. But the part of the song I want them to hear is not inappropriate. So I have that edited. I'm gonna share that video with them throughout the activity. So I'm also gonna pull up Google Meet. Obviously I need that to be out. And then, yeah, I'm gonna get started. So another thing I do is I use a morning song or like a welcome song in my Google Meet. That's like the first minute is I take attendance, I do the morning song and then we start. So I'm gonna get that cued up and then I'm gonna start with my first meeting of the day. Hey guys, so I am getting ready to start my second Google Meet of the day. And I am this close to being done filming all of my videos for this week. I wanted to be done today so that tomorrow I could start planning for the third week of school, which if we end up coming back in person, well this will be, I think there's four total online weeks. So I'll only have two more to do after this. So I think next week we're gonna start mapping skills and then after that we'll do another science topic. But I just filmed my little miniature lab here, my experiment. And so this is the Marshmallow Dissolve one. I'm thinking I might push them down into the mixture with a popsicle stick just to like submerge them. I don't know, I don't wanna like mess with it. But I did film this for my last class or for my last video, this is for Friday's video. I'm gonna check these on the 30th. And then I'll post, so the 30th, I'll film Monday's video because Monday I wanna be able to share the results with the kids. So even if we are doing a social studies topic, I'll first begin by showing them what happened, either that or maybe I'll do it in the meet. I'm not sure yet, but in any event, I am almost done with this week. Last week was hard because we only had three school days and two of those school days were really heavy on parent emails and tech support. So that's why I didn't have everything filmed for this week, but my plan is on Monday's I'm planning on filming video lessons, Mondays and Tuesdays, I'll film and edit lessons. And then Wednesday, Thursday, Friday, I will do grading and planning for the next coming week. So I need to put together like a written schedule for myself so that I can really stay on task. My ADD is like really heavy on me writing things down and sticking to a schedule. So I need to do that. But yeah, I'm getting ready to start my next meet in about three minutes. I'll be logging in for attendance and then we'll get this party started. Yay. Hey guys, so I wanted to jump in real quick and update you guys. My friend Darian over at Darian and Kaki Harris channel has found a way to take attendance every day on Google classroom. I'm gonna put a link down below in the description box that takes you to Darian's attendance magic stuff. It apparently you share it with your students on the day of and it takes attendance automatically for you. So you don't have to take attendance every day. Super cool. Getting ready for my third Google meet. It is starting in about 15 minutes. So at 1.15, I will be turning it on and starting to take attendance there. I'm gonna get going so I can prep for this meeting and I've got like a bajillion text messages coming in but I'll see you guys in just a second. Oh, I totally lied. I did not film anything else that day. So Scott and I are here. Super cool and really big news. We decided to create a family channel. So we've been editing like crazy people for the last like three hours but we wanted to share that with you. Slap it on to the end of this vlog since I'm so behind on my own channel but I am gonna go ahead and end the vlog here. So thank you guys so, so much for watching. Don't forget to subscribe to the channel and of course, follow me on Instagram because I post there all the time and join me for lunch at 1220 every day. I've even got a couple of my teacher friends from my school who are planning to come in and join me for lunch. Super exciting. So you guys will be able to ask questions and do all this fun stuff but as always thank you guys for being here. We really appreciate it. I really appreciate it. It's gonna be hard for me to like separate mine and yours like we and I. That's okay, I'll get used to it. So anyway, sorry that this is like such crappy video. It's from my computer but I love you guys so much and I will see you in the next video. Bye.


We haven't done anything in this space before but it's essentially I have worked on a couple of projects in this space and I really enjoyed this and just wanted to share with you guys what I've done, what I've learnt and some of the cool things that's going on and why you should maybe start working looking into this. So before I start, can you see that? Yes. Okay. The rest of the slides are not done. This is non-technical. I'm not going to be showing you any code. In case you want to see how to program some of your stuff, you can get back to me and I will show you some code and some schematics and stuff but generally it's pretty boring and even if I put it up nobody can believe it so I'll ignore it. And also these are very subjective views about the field because this is what I think about different aspects and if I tell you like, oh this is a very interesting field and I think that's what I do. So what do I want to talk about? First of all introduction to medical technologies, what are they and why it's interesting and some of the projects I have worked on in this field and I also added a section on some of the some ideas you can use if you want to get started on this field. So let's get started. What are military technologies? How many of you have at least heard of medical technologies or have considered working on anything that is remotely medical? Thank you, Jay. As you wish. What does it mean? Okay, that's the proof. Yeah. Okay. Let's see more. There are two kind of fantasies. So probably the most simple definition of a medical technology is that it is a product that solves a health problem and improves the quality of life. So this is a very broad definition and essentially that's what it is. Anything that improves your quality of life can be considered a medical technology, but it is generally encompassing preventive medicine or diagnostics or something like that. So some of the examples of medical technologies are diagnostics, there's prosthetics because nowadays there are quite a few like very advanced prosthetics that have machine learning involved, which actually learn from the user, user's behavior and how they want to move the hands. They can control the hand as if it's their own. There's also lots of improvements in biotechnology, which is also considered medical technology. But once I really am interested in telemedicine, so the massive improvements in internet connectivity and the amount of technology you can have at home, it is possible to diagnose and treat many diseases or have at least the first consultation at home itself. And that's a huge market and there's a lot of improvements in this. The next one is monitoring. That is about monitoring your vital signs, any of the information that the body looks out at, you record it, you look at it over time and you can diagnose what kind of issues you may have. The difference between monitoring and diagnostic is monitoring can be preventive as well. So you can start monitoring right now.  So essentially if you think about it, it's like preventing hypertension and diabetes, non-tariff. Similarly, there are monitoring solutions for different kinds of ailments and illnesses. And the last one which is relatively new is analytics in the medical space. So analytics here means we collect data from hundreds of users from clinical studies and you have the Apple health kit which collects data from your phones as well. So it gets all of this data and then you have to come up with smart insights based on that. So that is also another field which is up and coming and it's pretty interesting. So why is Medtec exciting? First of all, it's a growing market. It's worth 350 billion right now and it will be around 30% more by 2020. It's growing at German District. You look very happy. Okay, so... You look very uncomfortable. There's a camera in here. Okay, so also there has been like huge improvements in technology. The sensors are much better. The processors, the hardware that is required is much cheaper and faster. And also you have cloud computing, big data processing and stuff like that that makes it really interesting to work in this field. So the biggest improvement right now in terms of working on any of these projects is that there's a lot of user awareness. Now people understand that it's important to monitor themselves and they understand that they need to be aware of themselves so that they don't fall sick. So it's pretty easy to convince people that this is something you might want to use. This isn't this way like 10 years or 20 years back. So that's a really good improvement. So let's look into... I just want to give an overview of the METEC market but I'm just using monitoring solutions as an example. So most of the medical technology market is divided between fitness and clinical science. So fitness science is where your personal Fitbits and Pebble Watch can collect data and there are many other systems out there. So one of them is like this one. So this is a Mio Alpha. It is one of the first wearable wrist based watches that can record your heart rate. So this was the first one to come up with this technology. So this is really interesting and it lies somewhere in the fitness side. And on the other hand you have things like this which is a glucose monitor. So we did some user testing, that's why I have all this stuff. I didn't just go and buy this yesterday. So this is on more of a clinical side. So what differentiates these two is majorly legal aspects. So it's not the features, it's more about the legal aspects. It's like if you claim that you can be used by doctors then you need to go to FDA clearance and many other things. So it's based on what claims you make. So if a wearable device says that, okay I claim that I can reduce diabetes by so much percentage or something like that then they'll also have to go through quite a few regulatory clearances. So that's what differentiates the two sides of most of the matter. But at the same time things have been changing recently. People have been trying to approach the market which is the midsection which hasn't been, there aren't any good products in that market. So one good example would be this one. It's called Biffy Mobile. So it's a wearable ICU on your list. So you just wear something, it's like a whole hand-arm based device which can measure everything that you need to measure in an ICU. So it is somewhat clinical but at the same time it is also usable by the patients at home. So they can actually monitor themselves at home using this system. Again this is not for everyone, this is a very specialized use case. Similarly on the other side of things, there are fitness devices that are becoming more and more clinical type. One example is this really interesting product called Scandoo Scout. So they came up with this like one and a half years back and they launched it on IndieGoGo and they have like they've made millions for this. So what this essentially does is they call it the first medical grade tripod. So it is able to measure all kinds of vital signs. You can measure your temperature, your heart rate, blood pressure and all of that stuff. But why I say that it's not just fitness and it's moving towards the clinical side. Moving towards the clinical side is that they are aiming to initially release the product as a fitness device and then slowly collect enough data from the users and then go for regulatory effort. So this is a new model many startups are using to get a new speed because generally the clinical equipment are managed by big companies and getting into the space is pretty hard. So that's why it's really exciting to work on any of these projects because there are so many options for you to get into this. You can go into the fitness side or clinical side based on you know what your goals are. So any like I just put this dot like anything on the right is being regulated. So the thing is a product needn't be just here. It can move over time. So that's what Scandu is doing. So they want to build the first clinical tripod that's from start right. They want to call it a tripod that can measure all your vital signs from home. But they want it to be clinically permissible data. That means you can use, the doctors can use this data to make diagnosis. If you have a Fitbit, doctors can look at it and say they can't make any diagnostic based on your fitness device model. I will get to this but even Fitbit has a lot of lawsuits because they don't have accuracy. Their accuracy is pretty poor. We'll get to that but essentially what it means is that there are quite a few opportunities in this model. So next I want to get into what makes a good MedTech product. So according to me these three main fields that you need to address if you want to be a good MedTech product. And first is security privacy. Second is safety and third is accuracy. This has nothing to do with user empowerment and all. This is just technical factually these things have to be present in case you want to be a good MedTech product. So few years back this is what you could see on Fitbit pages. All the activities you record are public by default and people did not know that. So this is an example where you are trusting a device with very personal data and your health data tends to be very close to you. If you have any ailments you don't want other people to know. So yeah this is an example of things to avoid as developers when you're building in this space. Another one is pretty similar but this is not technically MedTech. When I was searching for this I just bumped into this and I was like oh I have to share this. So there's this Durex made experiment called Fondelle. So this is an iOS controlled vibrating underwear that long distance couples can use to be close to each other kind of thing. It's already pretty funny but here it gets even funnier. They did not think too much about security. So this is what the creator had to say. So basically you could hack into the system and then... Yeah exactly. Once this happens there's no going back. You can't say oh if it's the problem please start using my product name. So yeah security and privacy is really important in this space. So one of the regulatory requirements for making sure it's secure and the data is secure and private is the HIPAA compliance which is Health Insurance Portability and Accountability which is a US based requirement but it's followed worldwide. So if you have this compliance even in Singapore it is one of the requirements to be FDA-free rather than all that. So are you saying it's a US legislation? It's a US legislation but you have to like FDA which is also used in Singapore right now but US is the one which gives you the clearance. So here for example AWS is certified. So if you store data in AWS using the certified system it is fine. Heroku on its own is not certified but there are add-ons like it's called Actable. If you want to know I'll share the name later. But it's an add-on on top of Heroku that makes sure that all the services you use are encrypted and it is HIPAA compliant. So this is a good thing to keep in mind because if you are... Suppose you're building a valuable product and you're collecting any data you can be sued if you do not store it in one of these HIPAA compliant systems. And also be empathetic to the user. I mean put yourself in their shoes and make sure that you don't reveal things that they haven't explicitly asked you to reveal. Next one is safety. Don't have the users that make sense because many a times METEC products work with users who already have some kind of health ailments so make sure that you don't worsen the situation. So for that we have the FDA clearance. So FDA clearance is when any product or new technology that claims to be in the clinical side of things has to grow and get cleared. Again, there are loopholes to this. There's one very recent one which is called 510K which is prior art. That means if someone else has got a similar product through FDA clearance already then you do not have to go through all kinds of clinical trials and things like that. So here's an example of somewhere this background. It's called Striker orthopedics. This is a HIP replacement for the HIP joint like if you have practice and stuff. They did not go through clinical trials saying that hey, they are very similar to the ones that are already in the market but once they actually put it on patients they had huge amounts of allergies. It broke inside the body and caused more harm. So it's very important to take safety into consideration more so than other products. And lastly, accuracy. So this is the crucial difference between fitness and clinical devices. So for clinical devices each type of device are different thresholds and based on the thresholds there are also how permissible it is in medical report. So for example for this guy which is a home-based glucose monitor the error threshold is 20%. So it can be just 80% accurate and that's good enough. But that also means that doctors cannot declare you diabetic based on these things. So there are certain rules about which devices can be permissible in the clinic and in case anybody wants to build a product that is for that particular space and you want to target doctors then it's very important to research into what are the regulations by FDA for that particular segment of products. One of my favorite rule of thumb is take non-invasive. Don't put anything into the user's body and most likely you will have very less to worry about here. Safety, accuracy and... So now I just want to get into some of my projects and just give an idea about some example projects that can be done in the space and why I'm so crazy about this. Okay, so one of my first projects I worked on was something called Clearbridge Vigil Science. So this is where I actually got introduced to this topic and this is basically building a wearable ECG monitor and it's completely wireless. So if you remember I showed you a picture before which is this. This is called a halter monitor and this monitor has anything between 4 to 12 bits all around your chest and it measures your ECG for a prolonged period of time. But it's extremely inconvenient. You need to put on these weird sticky things with gel and people really hate this and they really go through this and if they realize that they have some health conditions. But suppose you want to make this more available to the wider market. We built this ecosystem of products called Cardio Leaves. So it's like a plaster kind of thing you just put it on your chest. You can use it on its own or you can use this. So you can use the shirt as well. So the shirt has embedded electrodes in it. So if you just wear it it's like a skin like shirt and then you just plug this device on top of it and it works. You can't see it but basically it reads the heart rate inside. So this is one example of a product that is starting off in the fitness side of things and they're slowly trying to get clearance and move into the clinical side. So this is another one of those examples. Another project which I've worked on which is actually this is for a hackathon which is a test strip scan. Can we switch to Singapore favorite? Yes. You know them? No. Okay so this is something I built for a hackathon which is basically a test strip scan. So test strips are these tiny extremely cheap you know tests that you can administer on yourself or you can have like suppose you have a blood donation camp and you want to quickly make sure that people don't have any known pathogen there are test strips for that. So you just put a drop of blood on it, wait for some time and then it will show lines something like pregnancy and stuff. All of these work on a similar concept that they have some kind of enzyme that binds to certain type of molecules in your blood or saliva or urine or some sort of volume fluid and it shows up as a marker. So here what I built was I hacked the CV drive, removed the insides, added some 3D printed parts and stuff and it basically has a photodiode which scans the tray as it moves it. And then it can be based on the bar. Normally there will be 2 bars, there will be a controlled bar and there will also be a regular one which shows what is your actual reading and then it will just figure out what approximately what is your glucose levelers or what is your white blood count and all that else. So this is something else that I play around with this. But the most interesting project for me which I worked on was this one called EasyMob which is my final project but I worked on it for quite a few years. It is a wearable continuous monitoring system which was aiming to bridge the gap between the clinical and fitness side. So it should be able to get high resolution data from regular use. So we tried to get multiple versions out. So this is the first version called EasyMob Cardio which has heart rate, blood oxygen, body surface temperature and various other things. So this was part of some course in the university. So I just want to use this as an example to showcase my learnings in this field. Before we get started maybe I can just show you a quick video of what it looked like. So this one is an early prototype which is basically just a heart rate sensor. And it has no casing or anything. There is no ordinary interface. So it is wirelessly connected to an Arduino board because at this point we are just using the Arduino's to the hardware part. And then it is using our own custom circuit to figure out heart rate sensor. There are quite a few schematics online if you want to get into this space as well. But we were also trying to measure the oxygen here and also actively monitor it. So this is what it looked like and one of the earlier prototypes. So now I just want to take you through some of the key learnings that I had working in this field. And one of the tools I used throughout this process was design thinking and a bit of beam methodology. But essentially designing or something we were introduced to very early in the NUS as part of some course and we found it really useful for applying it to this project. So what is design thinking? It is a powerful tool to help make the right product. It is basically keeping design in mind throughout the whole development cycle of the product. So it comprises of these five stages. One is prototype, which is learn more about the audience. You need to define the problem. You have to ideate about how do you solve that problem, prototype your solution and test it to the users. Now again, this is an iterative thing. So after you test it, you learn new things and then you again go back to prototyping or ideation based on what's required. And this was created in Stanford D-School. And it is pretty popular among people who are into product development. I'm sure many of you have already used this technique. So I was pretty lucky because I got to visit D-School as well. So let me go through the learnings. First learning which was eye opening for me at that time was always to the users first. And by this, it doesn't mean that go talk to your users if they want this product or not. That is testing. This is basically do not have a solution in mind and try to find the correct user for that solution. Try to go find the user you want to work with who probably won't solve and then build a solution around that problem. Because if you take the other way around, it's very hard to figure out, especially in this field because there's so many different elements out there. So we initially decided we wanted to go with people who have end stage renal disorder. These are people who are on dialysis machines all the time.  And this is really painful for them and this thing does a lot of life. They can't spend time in the family and stuff. So we really wanted to solve this problem. But before we went with that, we conducted a huge number of interviews. We spent like a considerable amount of time just interviewing people from different fields. We had to find out that we talked to people and then we got more ideas and we talked to more people just to figure out what was required. And again, it's not 100 interviews in one shot, it's over the whole course. So we did a little digging around and found that the main causes of ESRD are diabetes and hypertension. So the next lesson is pivot. So what happens especially for me was that I was very tied into this idea of helping ESRD patients that I did not want to change my music rule. Especially since I've already done so much work in that particular field and interviewed so many people. But the other thing that design thinking teaches us is we need to iterate quickly. And if things don't work, once we test with users, we should be able to just modify the product or completely change it. In our case, we have to completely change it because we realize that once you have already reached the end stage renewal disorder phase, there's no going back. Basically, it's a terminal condition. So we decided that it would be much more effective if we could come up with a way to prevent this in the first place. And the current industry practice is that they give these kind of devices to users at risk for people who have diabetes or hypertension, which are in the morning in the schools and they ask them to take everything to monitor themselves. So we decided we wanted to solve this problem and we phrased it as it's painful, inconvenient and costly. So these are the things we wanted to solve. And with that, we came up with this solution, which is we wanted all the stuff we already talked about, but we also wanted to aim towards building normal basis, new course monitoring and things like that. So this would be the ideal product to solve this situation. At the same time, it's important to make sure that there is a good market space for this. And this is what we did a quick analysis and figured out that there's this middle market between fitness and medical devices, which is currently very sparse. There aren't many devices you can use yourself, which are clinically accessible data. And we wanted to try to aim for that space. So next comes the most important, most fun part, which is prototype and testing. So you'll see different levels of ability here. The first one is like user story mapping. We just sit around and figure out what kind of things do users want to do. And then we decided to work on higher mockups of the thing and go test. So this is really useful for testing software. Suppose you want to test hardware as well. There's nothing, you couldn't have done too much. You could have given up. But we were lucky to have access to a 3D printer. So we printed some 3D models of what we thought it would look like. And we decided, hey guys, wear this for a while and tell me what you think about it. So we have different designs and stuff. You want to get this possible. Just 3D printed bands to see what they feel about the look and feel. So initially we thought of a funky watch like stuff. So then we talked to the users and they told us that hey, we want to wear our watches. Also, we don't want something to replace our watch. And we don't want to be branded as sick. So they want something that's empowering and not something that marks the mass difference. So that's some of the cool learnings we had. And after that, we obviously went around building the real product. So this is like different versions of the product. This is the final one, which is a 3D printed box. The other one is a cardboard box. So you see, sophistication is increasing with time. But this is a fully functional prototype which did what we set up. Though we never actually got to the manufacturing part of it. And the last and final one for me would be that it is really important to iterate quickly. When you're in a harder product, it becomes, it is not as easy as software for you to quickly change based on the user requirement. But at the same time, we tried our best to keep changing. So we had something that we called the golden unit, which was the last functional prototype. But we kept building new versions of the product every couple of weeks. So different times it was just one schematic and we kept trying to change. And that really helped us try out a lot of different versions of the product. And another one that really helped me with iterating was that NUS gave us lots of, not traveling money, but us to go to different markets, talk to investors, go for different computations and all this stuff, which really helped us talk to manufacturers and other stakeholders in this market. And that gave us a lot of clarity. This is my quick overview of what I did and why this should be interesting. So how many of you want to try something in this video? Any ideas for what you want to do? So anyway, these are just random topics which I have been putting off for very long time. That way I should get to this sometime and just putting it out there. So if anybody wants to pick up something and work on it, it would be really awesome. One is analytics with activity data. So right now almost everyone here has a clever lot of fitness tracker. I have one here, I have two here right now. So it gives you a lot of data. It tells you when you sleep, when you wake up, it tells you how many steps you took, how active you were in the last minute. But what if you could get more information? For example, are you a morning person or a person who likes to work at night? What is the optimal sleep amount for most active day? And in many of these apps you say like how do I feel today? So you can say like how does the number of steps and sleep affect my happiness level? So there are so many other things that are not tackled by many of the systems. And all these data are available to you. So if you want to build something on this, it will be really useful as well. And this is a completely software sandwich. If you want to play around with a little bit more hardware, this would be where first everybody here is at. Like many people have pebbles and pebbles is hardware hacking friendly. So if you have seen there is a four pin in the bottom of the table. So this pin is a magnetic adapter that connects to their custom serial port kind of thing. So they have their own protocol and stuff but if you are able to talk in that protocol, you can connect to this and you can have smart straps. So this one you see here is a smart strap that enables SMS sending facility. You can also have smart straps that measure your heart rate. You can basically think about using this as a screen and processor and power source for whatever valuable project you want to work on.  Another one which I find pretty hard is fall detection. Surprisingly, because it is really difficult to figure out if someone has fallen down. This is very important for products that are targeted towards the Anthony because for them if they fall down, it's a serious problem. They might want to make an SOS call kind of thing. There are quite a few products out there in the market but none of what you can tell, none of them are fool to. So what they do is they are just accelerometers. If they detect a jerk, they will suddenly start beeping. If you don't press the silence button within a minute or so, then it will cause something on those lines, which is not really that sophisticated. And also it doesn't integrate with any of the valuable systems right now because I'm sure that when we grow old, we'll want to be wearing these kind of devices or something even better. So something that integrates with these devices is something that will be very useful. And also in the same space, building stuff for elderly is pretty important right now because as you know, most countries have an aging population and the kind of solutions out there for this market aren't great. Like most people are trying to build things for people who are fitness fanatics and things like that but not so much for elderly. And that is one space in case you guys are interested, you can. This is some random sketches I had. You don't need to know too much about this, just an example. So that's basically it. If you have any other ideas, just send it to me. I can add it to this link and share it with you. So that's it. Thank you. Yes. After this specializing specific need, I want to measure accelerometer. I want to get accelerometer data out of a wearable wrist strap. And that is it. This is for you, my friend. So this is a hacker-friendly wearable watch called Kronos made by Texas Instruments so you can actually take the insides out and go grab it however you want. Awesome. Thank you very much. You can borrow it for a while. Yeah, so this is pretty... The second big part of my problem is that the customer in my case or the person who is supposed to wear this is a small child. A child will be between the age of between three to ten years old. That means a really small wrist. Nothing like that exists. Even the smallest one you can get for girls with small wrists does not fit a child under the age of ten years old. They will fall, they will slip over their hands. The children don't have established wrists. So the hand doesn't branch out like this, right? So, you know, to add the specific problem that I'm trying to take is something called hand flapping which will naturally make the flippant van fall off. So every time I get the van, the hand flaps the child makes the van fall. One question. Why do you want to measure that? Okay, back story.  So the Orbson Spectrum, and they have a number of problems. One of the problems is insufficient deep bone or muscle stimulation, also known as proprioceptive stimulation of the muscles. So we self-stimulate, also called stimming. Stimming behaviors have multiple things.  These are all self-stimulating behaviors to get neurological feedback that their body is not supplying to their muscles. One of these symptoms for stimming is hand flapping. There are lots of interventions both dietary as well as occupational therapy, therapeutic behaviors to alleviate the symptoms of stimming, to settle down the central nervous system. So basically what I'm trying to do is correlate the specific intervention because there are many interventions, not all of them work, correlate the specific intervention with a positive response in the stimming behavior. That's it. I need to make sure that the interventions I'm doing is actually having a positive effect on the stimming behavior. Sure. So essentially what you need is an accelerometer, or that is a small enough accelerometer that you can actually... Do you attach to my charts? Yeah, exactly. So this one essentially is a good starting point. If it looks like a regular watch, it's not too big, but yeah, for a kid maybe. But at the same time, the chip that it uses is this guy and the whole chip is just this big and can be even made smaller because this has absorbent pins on it. But it can be made much smaller and yeah, I mean if you are actually looking for something like this, then you can build something like a plaster or something, you just strap it on to the kid's wrist. That could be something. So maybe yeah, if you're interested, you can borrow it for a while and I'll borrow that. Yeah. Is that a mic? Yes, it is. It's called... It's an MSP-430. It's a Texas instrument arm-based mic. We use this in our final version of EasyMonitor. I just have some extra lines. Okay, so I don't want to get into the technical aspects of it, but essentially it's all based on light absorption. So different molecules in your blood absorb lights in a different way. That's how you have spectrographs, right? Some light signatures are absorbed. Based on how much is absorbed, you can know the concentration of it. So that's how these sensors work actually. So these sensors, the green light is absorbed by the blood, the red blood cells. So every time there's a heartbeat, the vessels expand and then contract. So when they expand, the amount of blood that the light has to go through increases and that causes a dip. And that's how you see those lights. Similar concept can be used for... using glucose as well. So actually... I don't know. This is actually one of the prototypes we use for scanning... for testing for glucose. So this is a 3D printed casing kind of thing. This is a lens and a light source. There's a sensor attached to the other. So we use to put a vial of different kinds of glucose solutions into the system and see how they change. And based on that, we can... Basically there's a vial in here and similarly you can have different sensors attached here and you can see how much it absorbs through... This is for how much it lets it pass through and how much is... This one is for how much it's reflected back. So things like this, you can have different sensor systems for... They're never able to achieve extremely high precision for glucose because it's pretty hard. Because the same wavelength is absorbed by water as well. So you need to be able to cancel the effects of the heart pumping and stuff. So yeah, it's a little bit more scientific. There are some solutions out there, but at the same time none of them have been activated yet. What was the accuracy between a clinical version of a glucose monitor compared to a watch? Oh, this one has no clue. Do you mean the one I was building? Yeah. So the one I was building had an accuracy of around 80% but only in clinical environments. In the sense that everything was standardized and stuff. Then it used to... As soon as you take it out, then the accuracy is way too much. So it's not too accurate. So these ones tend to be more accurate based on the fact that everything is packaged and stuff. But again, these strips that come in here, they have an expiry rate. And so with time, the accuracy decreases. That way it's 80%. When it comes out, you use it immediately, it might be much higher. So what's the difference in accuracy between Fitbit and Lopper? Fitbit doesn't... Oh, you mean this kind of food? Yeah. So accuracy-wise, it will be extremely accurate. But at the same time, it's not consistent throughout all kinds of activities. So suppose you are running around, it will not be accurate.  And this will leave you as a blood flow. So the most accurate one is to check the electrical response by the heart. So that's where you wear the straps and stuff. So you see long-distance runners, they wear the strap. Because these are not too accurate. Especially if you do any lifting activities and stuff. The muscles contract here and then completely goes out. The liability issues, if you misreport it... Exactly. So that's what I meant by fitness to medical market, right? So if you give a disclaimer that this cannot be used for medical use, then it is fine for you to release it to the market. But at the same time, as I mentioned, the flip side is no doctors pay or patients will ever use your product. That's the balancing effect. You need to know which kind of market you want to come into. I think this is one of the industries I specifically excluded from my professional career.  So there's two industries in particular you should pay attention to. I do some thought to before you enter in one of us, like medical advice, medical software, and the other was basically like defense. Because there's probably only two where you can write software that kills people. And then it was a classic case of Derek and Tom, right? He knows the radiation dosing machine or the concurrency bug. And people were getting like hundreds of times the radiation dosing.  Yeah, that's true. So that's why, like when I mentioned the three main requirements, right, safety is really important. And you need to, like even though FDA clearance is really costly, time consuming, it's useful to have it in place for consumers. As the workers, we hate it, but still it's good for our people. Another question I had was like when you have data, how do you put multiple sources out there, like all the standards, how do you make that useful? Like for example, right, I would like, like my state versus what, you know, I would like to capture that data using different applications. Yeah. So right now all applications, like all the, on the fitness side of things, all applications have different standards. Everyone has their own custom standard, but many of them synchronize with each other. So that is what Google Fit is trying to do. It's trying to collect data from all people and make it into an API service which more services can use. But at the same time, if you look at the medical side of things, along with the HIPAA compliance, there are also standards on how the data should be stored. So that way any software that is able to work with one data source can work with another data source just by switching. So there are some standards, but not in the fitness market yet. As developers, you can create whatever standard you want right now and store data as long as you're using it. Anything else gets? Okay, thank you.