My name is Marcel Holtmann, I work for Intel, and the talk will be about what I've done as a small hobby, sometimes last year, see how much we can actually swing Linux and run it on small devices that have actually limited RAM and limited size of flash, and what you can do to rethink this one. So a little bit of background, and you might realize that then why I've picked some of the choices that I've made when trying to this one. I've been working on Bluetooth since 2000, it's an awful long off time, and that technology keeps evolving and moving into the IT space, so it's becoming more and more important when you have power constrained and small devices. I maintain the Bluetooth Linux stack since 2004, so that has been over 10 years by now. While joining Intel in 2007 for OTC, the open source technology center, I've created Conman, a connection manager, a phone or complete cellular stack, pack runners, maybe not known much, but it works in the background for you to figure out your proxy support. Everybody running in an enterprise environment appreciates that your proxies get figured out automatically. A couple of years back, we've started open sourcing L, which is something like a G-Lip library for small embedded systems. L stands for embedded Linux library, and also we'll give a quick intro, a really short one, into IWD on your wireless daemon. The talk will be given next week at Open IoT Summit, so you can see it there, and we will be opening sourcing there as well. As I said, I've been working on Bluetooth way too long. I sit on the ITACCHER review board as Intel's counselor. I share the internet working groups. Some of the examples are picked because we're working a lot of getting IP and IP ready into the IoT space. While I can't re-talk about this, but the Bluetooth SICK announced this, there will be Bluetooth mesh technology coming next year as one of the big things where point-to-point technology changes its focus into a mesh-like technology and where that becomes more important than you can deal with small devices. The focus of today is really getting why not switching to an RTOS while stick with Linux, how far we can drive it. I'm going to start this off with a quote that Jonathan Corbett did at the Colonel's Summit in Seoul last year. Pretty much, the fear that he laid down was, if we can't shrink Linux far enough, then we're missing out on the IoT opportunity because at that point, Linux doesn't become relevant anymore and everybody has their own thing, and something else we're going to replace it. So after he gave that quote, I said, okay, look, what can we actually do to shrink it, where are our limits, where does it make sense, and where it doesn't. And so how far can we actually get? I know a lot of people don't really care. There are the big data center machines, the big iron machines, and God knows what. And they have RAM, pretty unlimited RAM. We're talking on gigabytes and so on. But in some cases, we're talking about megabytes and below. And we still want to run Linux. It used to be when you had a 2.0 kernel. If people still remember that one, that was pretty easy to run on a small system. You need to put on a floppy disk if you still remember these ones. Now the question is how far we can actually get. And while this is not a scientific scale, I ended up with something, if you're larger than 512 megabyte of your flash or RAM consumption and you're even considering doing anything else than Linux, then you're just wasting your time. I mean, you can find an RTOS that will support you there, but the reality is you can just easily install Linux and you don't even have to do much work. You don't have to tweak much. You will find an off-the-shelf, fully-packaged Linux distribution and you can just use it, put it on there, get on with your life and focus on what you really want to do. Write your application or get your use case done or anything else. So if you above that one, forget about this.  And the reason why that number is on there, if you don't get a dedicated SoC, the smallest RAM chip you might gonna get will be actually probably already in the 32 megabyte size, if you're unlucky. So 8 to 32 megabyte, in some case, it becomes a little tricky. You have to do a little bit of extra work to get your Linux distribution that small, so it actually runs. But same thing here applies. You might actually not even have the choice between choosing 8 or 32 megabyte of RAM because the smallest RAM chip you're gonna get is 32 megabyte already. On the lower end spectrum, if you go less than a megabyte, Linux is really, really tricky. You have to do a lot of tricks. You have to do a lot of dedicated work. You really have to want to use Linux to actually get this going, and picking an RTOS might be actually an easier way to go there. And then you have the rumbling zone in between. There's really a couple of ranges where it can go one way or the other. If you want it to megabyte, who knows.  But that's a rumbling zone, and the RTOS has come from one side. They're gonna grow, and that's the most choices you have to face with when you actually pick an RTOS and you end up with needing a feature that it doesn't have. You actually have to build this, and then you look at Linux while you already have the feature. Best example of these ones are when you have IP support. You need an IPv6 stack that you need support XYZ feature. Your RTOS doesn't have it. Linux already has it. Where do you spend your time? Shrinking Linux or building that feature into your RTOS? Same goes for something like Wi-Fi connectivity. Linux already has it on your RTOS. You might actually have to build it, or maybe it doesn't work as well as you think because only few users actually use it there, because otherwise they're focused on other radio technologies like 15.04 and so on. So as I said, there's a rumbling zone. I think it's gonna shift a while. Earlier, I would have thought the RTOS will shift further away and will grow up into the larger space when it goes over 8 megabyte, but I think Linux has made a couple of strides to get towards the smaller space, so we will see where this goes in the next couple of years. While my scale was a little bit drawn down from what I've seen and experienced, there's also the fun one that Tim Burt put down in October last year. I called it his Serial Scale, and it pretty goes in the direction that there's a steady decline for the price of silicon. The silicon will get cheaper and cheaper, and he went out and actually spent a lot of time looking at it, and he found that the cheapest Android phone is $29. That's about a year ago now, and the cheapest computer was pretty much $9. That could run Linux. I think the prices will have gone down, maybe not as crazy as significantly, but we're already pretty cheap, and I was at a conference last week where the speaker gift was a Raspberry Pi, so they basically hand you some of these computers if you don't run fast enough away from them. So the estimation from him was that the cheapest Linux capability with an MMU, which is the important part, otherwise you have to jump to a lot of hoops that might not well pay off, is about $3, and that was a year ago. But the basic assumption is that if you want to get a computer in a serial box, like the toy thing, you need it for less than $1 with SoC, display, battery, and input. So it needs to do something useful. It probably has to display something, otherwise they throw it away right away. You need to fit the battery in there as well. So that's the price where this has come down, and once we're actually there, then Linux has reached the stage where it became part of like a throwaway toy kind of computer systems. And I was looking how we can get there. Well, the price of the silicon we have to wait out, but actually the further we train Linux, the easier it will be to not actually pick an RTOS and pick Linux. So that was a year ago. I haven't gone around looking up the new numbers for this year, and I don't remember Tim has been doing it one. But if I ever run into him again, I will ponder him about this to this again. It's an interesting talk. You can find it online. The slides are available. It's really interesting what he has done there. So I know that a small, I can't fit a Linux into the rambling zone that I mentioned earlier by just taking a kernel building and then putting on the hardware. So what do we actually want from this device? Because I wanted to pick a clear focus in where we can actually make a difference. So for me, if I imagine a small device, an IoT device, the first thing it has to do, it has to measure and access sensor data. So a thermometer or any kind of devices that measure any kind of things that you want to do or part rates or something like that. To make it useful in the IoT space, it most likely has to get its data that it's censored or to somewhere else. So we need to make sure that we have that support and it can run for a long time. Mainly with these IoT devices, my example is some people want to take this, build this ditch in the ocean for the next three years and then pick it back out. You can't go and dive down and replace the batteries. So these kind of things you have to consider. And every time I have these devices and I have these devices I have these devices in front of me, I will end up with most of the times of three categorizations. One is the really dead simple sensor and that's the Bluetooth hard rate monitor thermometer. Pick your favorite bed of Bluetooth device that does nothing else except measure and you can access the data over Bluetooth low energy. Really simple. Tons of out there really dirt cheap and you will find everything from find me tags to anything else. The second category gets a little bit trickier because of course on where you actually have IPv6 support in your device and that's generally an IP enabled note and then you play with Bluetooth low energy or 15.4 or threat as a technology going on to actually build your networks and that's also where mesh technologies come into play. A lot of these ones are also used with home automation in some countries where they actually run IPv6 networks for your home automation. And then you have the bigger ones where you have the gateways or your router or Wi-Fi access point or anything else and we've seen that some of the companies besides Wi-Fi are now put threat so 15.4 radios and Bluetooth low energy in there because they see the market is growing where these ones become the fundamental home automation hubs for you where you will bridge your phone into it or your other network and there's a couple of companies having these ones used as home automation hubs. So the gateway side, I don't think this is a problem. We have been running Linux on access points for the longest time adding a couple of more radios and supporting them is pretty easy and a lot of companies have done this. I've seen even NAS boxes for your home storage systems where you plug a Bluetooth dongle in there and all of a sudden it supports Bluetooth and they haven't really failed to do with it but it's so easy to do with it, just do it. The IP notes become a trickier and I will have a slide on this one later where unless you're as large as a gateway that's a trickier and the Bluetooth sensor is currently really not the space of Linux. It's doable if you have enough RAM but I will go through this exercise to know what it takes to actually bring this down a little bit so we could actually build a Bluetooth sensor running Linux and what sizes we get out of this one. With the size I had in mind there was obviously no way we're going to just take a Debian Fedora or whatever distributions booted and hope for the best. That's way too big and you don't really get there. So I ended up with picking a couple of ingredients and I just put the logo here. Most of you have ideas what projects are behind this. Any idea? I normally just really get that far. So on the right is the Muzzle C Library. So we needed a C Library for obvious reasons. I chose Muzzle because it's most standard compliant. We've done a lot of fixes for upstream projects so they compile with Muzzle and follow the standard really strictly and it also shrinks itself really, really small. There's more optimizations that are possible but by default it gets really, really tiny. And I looked at all the other ones that work as well but Muzzle seemed to be the most reliant one. Obviously we wanted to use Linux so we're going to use Linux kernel and while gummy boot strictly speaking doesn't exist anymore it existed when I did this project about a year ago. It's now consumed into systemd boot or whatever that is called now but the concepts are pretty much the same. The two lower ones are L, it's our own embedded Linux library which basically packages together things like main loops, hashes some crypto functionality etc where you would normally then take something larger like Glib or some other bigger libraries. It's nicely compartmentalized and optimized for small systems and we have been releasing this for about two years now and we finally started making some use out of it. And then I wanted to use a Bluetooth sensor so I picked bluesy and it's like look what are we going to need to do to make it smaller and integrated. So with this all in mind I wanted to take this and put this together and see how to build this differently and now it becomes the fun part. I actually decided to reimagine Linux completely differently. I hope this is recognizable. So I didn't focus on actually getting a boot loader in my boot loader was okay we're going to start with a UFI based system and go from there and with a UFI based system you can actually boot Linux out of it without actually installing something like Grab or any other boot loader. That's where Gummy Boot comes into play because it provides you an EFI stub that you can then use to bootstrap the Linux kernel. So fundamentally you're building a PE so Windows executable and booting this one. So you need the EFI stub that comes from Gummy Boot and then you link in a couple of operating system information that's purely informational and then in the front line you link your BZ image into that binary and then you link it into your binary as well and then you link this correctly together and then it becomes a PE executable that you can pretty much put on any UFI capable system and just boot. So UFI will find the PE executable it will jump to the Linux kernel it will jump to the in a RAMFS and then execute in a RAMFS. At that point still a little bit different forward since it's still how Linux would be doing it anyway. The difference is the in a RAMFS is actually not a full Linux system it's just a single process it's PID1 that is dedicatedly built to just do one thing and in this case for the example that I chose be a Bluetooth peripheral so we having Bluezy playing the PID1 the in a process. Nice advantage with picking UFI first award works on nicely on AI 32 and 64 it will also work on ARM it's just I work for Intel so obvious choices for Intel based systems but it will also work on ARM if you want to build it this way. The really nice advantage is you can also sign this image and use the secure boot facility of UFI and then you can just have a secure boot all the way through without having to do any extra work on this one because at the end of the day this is a binary so you only need to sign this once and you don't have to do any extra attestation to execute it. That's also the reason why the command line is fused into the image itself so you can't mess with that one. So to recap what is this one if I step from gummy boot or these days system reboot a label for your operating system that's pretty much optional but nice to have in case you want to put two images on these where which you would do for upgrade path or if you have two selections that you want to oh I want to upgrade to this one then you can use the authentication string which one got actually booted. The command line as I said if you want to sign this as important as it's in there then the kernel itself and then the user space. If you want to try this out you put this on inside EFI boot and then pick the right EFI magic name it's a FAT32 partition so you can put this on a SD card use B-Stick you choose it, you stick it in a UFI capable system for example Galileo or MinoBot Max and it will just boot. As I said earlier software update is just by replacing this one with a new version UFI already has a facility to boot a different system different image if it's available and fall back to a previous one so you can have the fall back cases nicely covered. Big advantage to secure boot you don't have to do anything you just have to sign your binary and UFI will take care of the rest of you. So, PID1 a little bit back on the PID1 so to actually get this down in size I had to redo PID1 so I couldn't just say okay, I'm going to take system B that's already 2 or 3 megabyte out of the question then I need the normal standard C library that's all not going to work so if you want to take the smaller and you know what you actually after then you can do this really simply by just using your right C library your right helper library and then the task you want to do have a project that actually emulates PID1 and PID1 has to do a couple of extra tasks that you can have it mount automatically or mount manually you don't have to do any extra work there but there's a couple of few device links that you need to create in the user space so we had to do this in Bluezy now when it is a PID1 you have to mount a couple of virtual file system a few dev tempfs etc to get this booted up otherwise it's just going to fail because it misses the things you have to set up the hardware normally Bluezy would only set up the best setups we wanted to have a watchdog since there's nothing else providing a watchdog you have to do that as well otherwise you can't really reboot your system in case something really goes wrong and then you need to start the Bluezy operation the interesting part is really that we actually don't have a file system so we don't have anything else so it stays as dev root and dev root is just a tempfs that the kernel has in the ROMFS and they're mapped directly with persistent data and here's where another trick from EFI comes in that you can use EFI variables to actually have persistent storage and in this case this is fine because what we need to store for these cases are we need to store a couple of states your bluetooth address or some persistent state that you might have fused in there can be only read only but it is enough to actually get you going in a way that it works out nicely so pretty much you boot on a FAT32 file system just get going create your extra links mount your file system and then off you go be linux system while you all run in PID1 with your main operations so from the idea to actually getting this done I actually did this initially in QEMO mainly because I was lazy and didn't want to tingle with hardware too much until I figured out that this is actually possible so it boots in QEMO the bluetooth controller that we needed is forwarded via serial port capabilities that you can take a USB dongle tick in your desktop and say look please forward this one as a serial device into my QEMO session and then you have your controller there so it turns a USB dongle into a UART controller and you can then just work with it works pretty nicely so in QEMO this ended up in this configuration that I just showed was less than a megabyte of size if I built a 64-bit binary and in the end when lazy I built the 64-bit binary since I run a 64-bit fedora OS so it's like okay I don't want to cross compile this I'm just going to see how far I'm going to get and I deal with using 32-bit later on if I have to but I already got pretty lucky with this one and say look this is already kind of small so it can only get smaller from there by choosing 32-bit but I actually wanted to try this on real hardware so I took a micro SD card in one of my minobots now you need a little bit more since the hardware is not redesigned for being small but even with taking USB and PCI support the controller is working and then take a physical USB dongle to put it on then actually use it it ended up in the 1.3 megabyte of size for a 64-bit binary I was going to build the 32-bit but at that point the flashing of the 32-bit bios into the minobot max was a little bit more trouble that I had time for that's up to some of you where I might want to try this so at that point we had a simple peripheral that can read a sensor data out and provide it over Bluetooth LE and the whole stack was available and we can use it as a 32-bit would have gotten us even smaller while this one all worked and was kind of nice and was kind of good to see that we actually can get really small if we find a dedicated use case the question is how we can go even further because this was not trying to actually change anything in the Linux kernel this was pretty much taking it, building it shooting right in greetings, putting them rightly together and then see where we get so what I got at is look if we want to go this small we need a dedicated PID1 and for that one we had to redo Bluezy in a way that we actually had to take things out so Bluetooth Classic support is pretty large especially in Linux since it's complicated and we support so many configurations for the main case because the desktop side had to be all mighty and magic and it did with a lot of crazy corner cases so we took that out and focused on low energy with this from a protocol a lot simpler but we never actually planned for supporting such a configuration so Bluezy was not really ready for doing this one so we had to actually build switches and configuration options to actually allow us to take the Classic support out same as if you run as PID1 you don't need any extra IPC you're the only process in the system you don't talk to anybody else except the kernel you don't really see out and make sure that we actually don't include any extra code sizes because of that and mainly is taking Diva support out using L and muscle were designed for this purpose so they came in really handy when you compile a static PID1 the next one was fundamentally okay we have to start off with a kernel that is already small so you need the tiny config kernel and you pretty much can just start with it's already really small and then you select what you extra want or you even deselect some things that these are providing a little bit later on we finally got the support for Execute in Place if you want to build a real piece of hardware using this kind of system you really want Execute in Place and not need the extra RAM that Linux needs to unpack the in-net ROM FS that's something you really don't want to incur so you want Execute in Place possible patches are there linked in the LWN article another interesting piece for size optimization is the LTO support and when you can do a link time binary writing and code compression excellent presentation from Tim Burt as well he did a lot of work in this area so if you haven't read this I haven't seen this one I really recommend reading this one if you're into this stuff he did a really good job in explaining some of these things the kernel is now the part of the process it's pretty easy to shrink down the kernel side gets a little more trickier as I said the user space don't need any IPC so the kernel doesn't need any IPC either we can take this out since we only run a single process we don't need any user IDs or group IDs we will be running as root and root only and that's about it we're running one process so all the complicated pieces of fork and exec are completely not needed either we have a lot of config options to disable system calls but there's so many more that are with default on that we wouldn't actually need so there's a lot of things you can actually take out additionally the whole command line passing is a lot of extra code that linux carries around that in this case you would actually not need since you know exactly what you're doing even the virtual file system it's pretty limited since we only have tempfs and we don't even have the fed32 we pretty much only have tempfs or virtual file systems for some control we wouldn't strictly speaking need a big fancy scheduler since we are a single process so the only thing that needs to be scheduled is PID1 and the few kernel threads that linux starts if you're on if you focus on bluetooth the networking sites needs not much there as well you need some basic networking support which when you do this you only select bluetooth and no other networking it's kind of a funky situation and it's a great way to compile parts of the net filter code anyway and links it in so there's a couple of extra things and as I mentioned earlier with the user space we don't need bluetooth classic or high speed support so there was a lot of code chunks that we actually could eliminate as well and there are plenty of more where you can when you start looking these things we can actually take away I just picked the big ones that were obvious and standing out and would have made a huge difference single user support went into 4.1 so there's a little bit of progress we put in the bluetooth LE only options so that's as well we have patches for the security manager to take it out mainly because in some cases you would actually not build the security manager because you rely on higher level security and then you just can say okay we just don't need it we don't need to put ECDH or AES into the kernel because we're actually not using it at that point in time however the biggest problem is actually getting these things upstream since some parts of the kernel community don't really like when you talk about size optimization or you want to make it smaller they want to reduce the number of configuration options it's like look either you allow us to go smaller or we're going to become irrelevant in the cases of the small devices as Jonathan Corbett mentioned earlier so there needs to be balance some patches get accepted other ones have a really hard time to making the case for it the areas we focused on initially was pretty much one of the fun ones if you try to run Linux as IPv6 only that's still not possible and the reason is not because nobody wants to a lot of companies not even an IoT space where pretty much the only thing you do is IPv6 but also in the data center world where they actually don't need an IPv4 network anymore because they've completely migrated but the code is so entangled between IPv4 and IPv6 that it will probably take a while to actually get this untangled and finally only boot with an IPv6 only system where IPv4 is no longer supported another fun one is that the IoT space actually doesn't need TCP or some of them do but if they are smart and care about their power efficiency and the battery lifetimes they will actually start using UDP because they don't want to have the huge state in window tracking of TCP but actually building something with config TCP no which you would think is a kernel option but it isn't is actually complicated we have patches for this one that actually turns TCP into a no op so all packets will pretty much be rejected and that was one of David Miller's concerns that he doesn't want to enable user space TCP stacks he pretty much once looked fine if you want to disable the code and not build in but then please behave that nobody can use this to create a user space TCP stack and we have patches for this one that needs to get pushed upstream at some point there's another area where once you enable config net which you need for NFC 15.4 Bluetooth it builds a lot of extra things as I mentioned earlier so sometimes you actually oh some code of the net filter is compiled and then linked in which actually shouldn't be so there's a lot of cleanup when you build a tiny config where one option drags and some other code bases that it probably shouldn't we haven't even touched that one yet to see what we can do there the more interesting part is when we look at things like IP nodes where you actually rely on DTLS so TLS over UDP sockets that you actually have to get in a TCP a TLS stack to actually have your proper security if you played with open open SSL or TLS then you realize that's actually pretty big library and have a pretty heavy runtime overhead not to mention it's complicated and sometimes they have also security flaws and has been forked three or four times by now into different project names that I don't even remember so picking the right TLS library is complicated some of them actually don't work as you would think some of them have blocking operations in areas where you actually can't block because you have to do something else so there's a couple of issues with this one at some point we decided maybe it's actually not worthwhile to consider open SSL or new TLS at all so we looked into what we actually need to get TLS into the kernel and parts of this one actually is already available TLS itself isn't but the one important part when you do enterprise devices is that you want to have the certificate management and the certificate authorization and authentication completely done and the fun thing Linux kernel supports most of this one or did support most of this one out of the box since it has to deal with secure boot and the chain of trust that it creates because of secure boot so the kernel understands X599 certificates it can verify them but there was pretty much missing a functionality we could control this from user space so what we have been building in the last couple of months is a way to be able to actually create key rings inside the kernel that have certificates as keys in there and they are very fight against each other and then that eventually you can seal them off and say this is my trusted CA that CA might come from a file system might come from a TPM might actually be just represented by keys that are actually inside some piece of hardware that you just reference as an ID so there's been a lot of work ongoing to make this actually a reality we have this all upstream so we can actually use this and we've put support into L in our embedded Linux library to actually drive this so you can just create a new key say it's a certificate and then it will handle all the rest behind it for you to make sure that gets added to the right key rings and the key rings become authenticated against each other so what this means at the end of the day eventually you can even say I have one process at the at the init phase that loads my CA into the key ring system and it can become available in every single process because the key rings can be referenced into threads and into process into threads individually and then you can actually use them to reference your CA so you don't every process at startup don't need to actually load the CA's again it's still an early stage there's a kernel tree on kernel.org that combines all the work of the different crypto subsystems the key ring subsystem and some other subsystems to actually make sure that this can be tested I should have put the link in the slides but I think you will easily find it and eventually we might actually get to having TLS and DTLS support inside the kernel TLS is something that a lot of enterprise people want DTLS becomes really interesting when you use VPNs etc because then you don't have to switch through user space to actually do the processing of the packet encrypt it and send it back or de-encrypt it and send it back to the kernel it's making slow progress but I think it's making a little bit of progress to get towards this one we will be also using the TLS side into our new Wi-Fi demon because when we talk about IoT and you talk about Wi-Fi and IoT you will talk about enterprise security you will not talk about pre-shared keys that you use in your home a lot of devices that have to be deployed then have to use enterprise security and that becomes even more important and we really don't want to deal with GNU TLS and OpenSSL in these libraries and we don't want to deal with functionality as much as possible and there's been a lot of work to be able to use that from user space as I said before IWD we open sourcing this one at OpenIoT summit next week and I will also be giving a talk about this one there and then showcase it so much for this one the big elephant when I gave this presentation end of last year for the first time was that UI is required and everybody doesn't have to be because the reference and protection of UI has everything and the kitchen sink in it including Wi-Fi and Bluetooth support itself for whatever reason but at the end of the day UI is just a spec so it's just a standard and an interface description on how you interface, how you build your bootloader or your system entity and then the operating system can use it so when I did this presentation first time last year it was pretty much okay this is something you can look into how much you can shrink it how much it extra overhead adds it to it the funny thing is actually that literally a week later after I gave this presentation for the first time Alexander Graf said okay I actually ported EFI support for UBoot and so you can use this on systems that don't natively support UFI so you can play with this one and get a few things working there as well and some of these concepts then apply as well so that was kind of nice surprise nice Christmas gift now it's still a big elephant but it's a smaller big elephant and people can play with this one even on systems that currently don't have native UFI support but they have UBoot support so some of my closing notes the interesting part with actually doing this with Linux is testing and verification of these things become really simple so I didn't even try to do this on real hardware for at least a month because I could just run this in QAML or I even could run PID1 straight as with a special switch in it say look you're behaving like a normal process so please skip the setup of the system and I could just test most of it all the way through you can use namespaces in Linux support to simplify your testing but your turnaround time for actually getting some of your code develop is way quicker because you take a Fedora installation Ubuntu, Derbian, pick your choice and then you just get going all the functionality is already there and you can use a lot of these things and you don't have to oh I need to compile this I need to cross compile this put this on a huge turnaround time which saved me a lot of time when I had to do some of these crazy testing interesting enough once it comes to wireless hardware they also some of these ones are really easy to emulate with QAML and then have it tested and then you only do the field testing once you actually have confidence in your code so it saves a lot of time instead of just having to deal with hardware issues you focus on the ones that work nicely and with Linux and the Linux sub system for Wi-Fi, Bluetooth, 15.4 et cetera and all the abstractions that it has you can retest with any hardware or virtual devices and then pick the real hardware and you don't really have to do any extra integration work because Linux have already done this for you literally KVM and QAML is your friend if you have to do any kind of these things without this a lot of this would be painful and horrible to test since you can also emulate it it gives a huge opportunity for continuous integration when you actually need to actually make sure okay I've built this now I want to make sure that I don't break it so you can easily integrate this in a CI system or even with hardware labs where you basically put a new UF by binary on it boot or that works put a new one on it boot and you don't have to do the massive installations pretty nice and easy to do I think the interesting part however is Linux developers are still easier to come by than dedicated RTOS developers so think twice before you jump to an RTOS project and have someone say oh yeah I'm just going to use the RTOS it's easy I have two guys in my company that know this stuff and then these two guys left and then how are you going to replace them a Linux developer is a lot easier and we have a lot more of them these days it has the dedicated RTOS for XYZ RTOS so that helps you maybe in the decision finding when you actually want to build something that is sustainable some of my colleagues actually took this idea a little bit further and integrated into Soleta which they can use to build many kind of variations on systems for your target system but it also can use this idea to actually build your UFI binary then put it straight on the system so in the end it's just a config option what your output will be will it be a full Debian system with systemd or will it be a UFI binary with this dedicated Bluezy peripheral code in there or something else so if you don't want to build this all needy greedy by yourself you can look into Soleta to actually trying to get something boot stepped and see how this is going to work stick it on a miniboard stick it on a Galileo board and have a toy with it and since of recent Edison supports UFI boot as well and a recent kernel so even the Intel Edison is a nice playground for this one or any ARM board if you choose to have one with that one thank you very much and questions please oh sorry I can't really see much so I think they have microphones so if you might come to the front otherwise I'm going to repeat the question actually you said that you removed the IPv4 and instead you put IPv6 so what if as I my limited knowledge tell me it's we cannot using IPv6 to IPv4 NAT is it possible for using software that there is no IPv6 to IPv6 so we haven't succeeded in removing IPv4 that's the work in progress the reason why removing IPv4 is interesting because the sensor networks only run IPv6 only so 6 low pan and some other stuff when you run 50 not 4 or bluetooth on a sensor network they will only speak IPv6 you will never see an IPv4 packet the translation is done on the gateway side obviously if you have a mixed network you have to run some legacy IPv4 you can't really do this it's only for that cases where the technology has no provisioning for IPv4 in the first place and that's 50 not 4 in bluetooth using NAT in IPv4 IPv4 to IPv6 but we cannot NAT IPv6 to IPv4 yes that's correct but it would be purely IPv6 network you will never see an IPv4 packet it takes time to migrate to IPv6 completely oh yeah it takes time the sensor networks only run IPv6 so they have no migration they started with a clean slate the enterprise side migrated thank you any other questions if I don't see any if you have questions please pick up because I can't see everybody in the room thank you very much and have a good day


exception to the time lived with you. So temporary absences by you or other person for special circumstances such as school, vacation, business, medical care, military service or detention in a juvenile facility count as time the person lived with you also see children of divorced or separated parents. So in other words we've got that requirement to live with you in some of the some of the rules and you might say well what if they're out on medical they're at the hospital or something or some kind of medical place well that still kind of counts as living with you. So those are the exceptions to the general rule that would count towards the time with you in the house generally. So if the person meets all the requirements to be qualified for child but was born or died in 2022 the person is considered to have lived with you for more than half of 2022 if your home was this person's home for more than half the time the person was alive in 2022. So if someone tragically died then the question is well they only they died and it was only like six months into the year well then but but but so you have to say well the test doesn't really make sense then so now you've got to make the test on when they were alive and to see if they to see if you meet that test. So if the person meets all other requirements to be your qualified child but you adopted the person in 2022 the person was lawfully placed with you for legal adoption by you in 2022 or the person was an eligible foster child placed with you during 2022 the person is considered to have lived with you for more than half of 2022 in your main home was this person's main home for more than half the time since the person was adopted or placed with you in 2022 any other person is considered to have lived with you for all of 2022 if the person was born or died in 2022 and your home was this person's home for the entire time the person was alive in 2022 or if you adopted the person in 2022 the person was lawfully placed with you for legal adoption by you in 2022 or the person was an eligible foster child with you during 2022 and your main home was the person's home for the entire time since the person was adopted or placed with you in 2022 foster child a foster child as any child placed with you by an authorized placement agency or by judgment decree or other order of any court of competent jurisdiction kidnapped child so another kind of tragic kind of situation that could come up here if your child is presumed by law enforcement authorities to have been kidnapped by someone who isn't a family member you may be able to take the child into account in determining your eligibility for a head of household or qualifying surviving spouse filing status the the child tax credit the credit for other dependents and the earned income credit so obviously if a child was tragically kidnapped or something like that then again we're from a tax standpoint what do you do on the tax standpoint for that year and you may be able to claim you know the the benefits of the dependent in that case so the e i c earned income credit for details you could see publication 501 obviously again now you have situations with regards to the earned income tax credit the child tax credit and and possibly status from single the head of household and this kind of situation and questions could of course arise there too married person if the person is married and files a joint return you can't claim that person as your dependent so obviously even if you even if you like younger women or men or whatever you're right you can't you can't you can't claim the married person as a dependent right it's two it's two spouses that are married there so however if the person is married but doesn't file a joint return or files a joint return only to claim a refund of withheld income tax or estimated tax pay you may be able to claim that person as a dependent so you can see publication 501 for details and examples so in this case go to step two question two for qualifying child and step four question four for a qualified relative so again unusual kind of situation multiple support agreements if no one person contributed over half the support of your relative you can imagine this happening if for example three people were putting in or four people were supporting a dependent no one person then putting in over half the support so now you have a situation of you're not no one meets that test but someone should get a benefit for the dependent right you should otherwise it doesn't make sense not to have anybody benefit from the dependent so or a person who lived with you all year has a member of your household but you and another person provided more than half of your relative support special rules may apply that would treat you as having provided over half the support so for that situation you could see more details in publication 501 permanently and totally disabled situation another tragic situation we have to talk about with the taxes a person is permanently and totally disabled if at any time in 2022 the person can't engage in any substantial gainful activity because of a physical or mental condition and a doctor has determined that this condition has lasted or can be expected to last continually for at at least a year or can be expected to lead to death public assistant payments if you receive payments under the treasury assistance for needy families the tanf program or other public assistance program and and you use the money to support another person you could see publication 501


OTAN, Outreach and Technical Assistance Network. All right. My name is Alicia Dunan. I am from Community College, San Diego Community College, continuing yet. And I am also now a OTAN subject matter expert. I just want to know, I can't even remember what it is. Anyway, welcome. I'm very excited to share this information with you all, something that I've done for many years with the district. All right, so here, welcome all. So just I already did my introduction, but if you want, because we have a lot of people here, if you want to say where you're from, we have a few minutes. Introduce yourself, what department, and what brought you here today. How about that? If you want to go around, let's start with you real quick. Hi, I'm Diane, I'm a fellow instructor at the same district as Alisa. What brought me here is I'm the OER coordinator, but I'm very, very interested in accessibility for my students. I teach ESL, so accessibility is really important, because I teach online. My name is Chun-Hee Mek-Nee, and I come from Corvus or Dr. Education, and I'm a nursing program director there. And I'm the only news in the CTE program. News is a lot of technology. And this year, I joined the D-LOC two years in big commitment, so it was one of those things that I'm only getting to come here and present. No. I know. Now I can relax because I did it yesterday, and I get it. So yes, I think the TDLS is the best thing that ever happened seven years ago. And I think the D-LOC is going to teach you a lot. And we, moving our CTE, especially nursing and health ally, moving toward the technology, instead of paying them taxes. Very good. Hello, everyone. My name is Chris Belachie. And I am an instructor beginning ESL instructor. And I also work for SDCCE. And Veracosta College. And because I teach a beginning class, tech skills for beginning learners, as you may know, are a little more at a beginning level. So I'm here to learn anything that you have here for me to help for students, beginner ESL students. Hi, I'm Christy Reyes. I'm also a Veracosta ESL faculty. And I'm here to see all my friends. I've been coming to TDLS for as long as I can remember. So it's good to see everybody. And I'm always wanting to learn a girl. So that's why I'm here. Hi, everybody. My name is Larissa Stephen. I'm from Monterey, Minnesota Unified School District for the school. And I'm an ESL teacher. And this is my first time at OTAM. And I'm a graduate. Hi, I'm Veronica Parker. And I'm a fourth major representing the CEP technical systems project. My college is at the NIP, and I'm a digital equity technical assistant and I'm headed for Dubai. And so we're looking for tools and resources for students to share with us this week. So you're going to find an ESL teacher in the funding of the ESL tool or app of the ESL tool. And I'm here to learn that you're bringing as much information as you can from that recent one. And what's your favorite seasons also? Yeah, right. We can do that in a chat. Oh, yeah. Hi. I'm a winter sports person. Hi. Hi. OK. I'll just be so honest with you. Perfect. We'll do another point on that one. I know we have a lot of stuff. OK. My name is Katrina Tamura. And I teach at Mericlista College and Palomar College. I teach in non-credit ESL. And this is important because it's always going to be. And so I think it's just important to keep showing up, learning, and applying things, new things in the classroom. So we will see you. Hi, everyone. My name is Mariana Sofa. I teach ESL at Mericlista as well for a bigger group here. I always want to learn and connect with our colleagues. There is always nice to learn new things, but also refresh, because there's so much data that sometimes it's nice to refresh or validation of what you're doing. And my baby season is summer. It's just so nice in the summer. I'm Linda Pantowski. I teach ESL basic at Tunnelpies Adox School in Marin. This is my first year. And I've taught ESL to kids. And in public schools in Richmond and Oakland. But the teaching adults is new. And it's amazing. I'm loving it. But it's very challenging and bringing technology and the basic literacy level, like you say, is really challenging. And I'm also supporting a CTE class in health care aid. My name is Rebecca Clampett. I'm from Coronadarco Unified School District. I'm a ESL teacher on multiple levels. And what brought me here today was the warmer weather, no, it's good. What brought me here initially is Candace. I wanted to learn about Candace. And finding out it's going to take 10 hours on board. And I kind of shifted. And I've been taking classes that I can apply and do something for my classroom tomorrow or Monday. So I've shifted over and learned it's doing the online games and the digital games and loving it, so. My name's Ellen Jackson. I'm an ESL teacher from Huntington Beach and Old School. I am here, of course, like everyone, to learn more so that we can grow, be able to use it in my classroom and also be able to share online and colleagues. Thank you. I'm Dr. Linda Volcaba. I'm the administrator of educational technology for the California Department of Corrections and Rehabilitation. That's a long way of saying I have responsibility for bringing tech to 33 institutions where our learners may not have even seen a lot of top in about 30 years. So this particular course is interesting to me because my most recent experience is with a 68-year-old student who didn't know what a mouse was and did not know how to use a trackpad. And so just bringing them from that very, very early concept of I've never had this device and never used this device to understand when they leave us, this is the bus schedule. This is the telemedicine. This is the banking and giving them the digital literacy skill thing to not become a guest again. This is my home. Yes. Yes. My name's Erica, I'm a resource teacher and this is what I'm used to in the local education. And this is one of the biggest challenges in the teachers I support, getting students familiar with the technology so they can access the Google classrooms and so on. Hi, I'm Jennifer Hanson. I'm with Grossman Adult Education in San Diego. Second question is a lot. Yeah, we can do that one. I wouldn't be here at all today if it wasn't for my amazing administrator, my director, that is why we're here. She gave us this opportunity to be part of VLAC and TVLS and obviously to bring it to our students and to our other teachers. Favorite season, I love cool weather, so this is awesome. Is that the only one that likes cool weather? Yeah. I see all the cool weather. Let's go. I'm with the director of ESL at Grossman Adult and Jennifer's full of it because she would be here on her own if I hadn't talked about it. But my favorite season, when it's wintertime or when it's summer, I wish it was winter. So that's the one in between. But we're just having a weekend. I'm bringing a real line. I'm from La Soledad Arena Pesco District, La Soledad Adult School. I am a high-set proctor, but I do that in the evenings or in the day. I'm in the office and I'm here because I want to learn more and follow the support of my teachers in the classroom so they can support the students. Hello, hi. My name is Sari Polska. I teach high-set in Spanish and English for La Soledad Adult School. What we brought to you here is, well, we're getting ready to kind of move from paper base because our students are so used to paper to computers. But we need to get them into that of computer literacy. And my favorite season is summer because I have a lot of free time. I'm not going to let that work. I'm not going to let that work. Oh, I thought I'd sneak in. Sydney Morkowski, hi, everybody. It's so nice to. Oh, and I'm working part-time for OTAN, a former ESO teacher, and supporting here, supporting me, too. And it's nice to network with everybody. I love spring. Garden is starting to flourish. I love that kind of thing. And I'm Marie Doerner. I work for San Diego community. I don't know what we're called now. San Diego College of Continuing Education. Keep changing our name a little bit. Trying to figure out what is adult ed and what should be a better name for it. So right now, we're College of Continuing Education. I'm a learning disability specialist, and I teach race ed to folks. And I'm the resource specialist for students in regular classes. My name's Joy Colo. I also work for SBCE. I teach a class, a communication class. And I know that you asked me. What's your favorite season? Oh, that's my favorite. OK, I'm going to say summer, because we have a pool, so I get to go to the pool. That's cool. I was going to say spring, but I do like the summer. The other thing is, I remember you all asked me, do you need a computer? There's a couple things that we can use on the computer, but if you don't, it's OK. I do have the. OK, so what we're going to learn today. Tips that we're going to focus on. Because it is digital learning, OK? Just the basics. We're going to go on keyboards, one-click mouse, touch screens, mouse pointer settings, and immersive reader tool. Maybe this is too basic, but I will show you some tips that we've learned. And we just did another one prior to this, and we kind of went over that. So similar to, but here we go. So five tips, here we go. So keyboards. This information is designed to work with a desktop or a laptop or standalone monitor for learners who may need access. And an educator could try these following ideas. So these are examples of different types of keyboards. Now, obviously, if you are in a lab and we have these keyboards, you could switch it out, OK? Now, if you have labs that have laptops, you know you can get an exterior one. So it's workable. Now, I was listening to you. I am saying you said, I'm 68-year-old. Do you know what a mouse was or the keyboard? Now, vision, this is perfect because you can see it. Now, you have a variety of types that you want. When I was in my site closed down because of COVID, but I had assorted colors. And some, let's say, you preferred this one, but Christy really liked this. Some like this because the colors are the high-hit notes or high-hit letters. So all of them have different whatever you want. So here's an example of what. So when we are in our labs, I would also have staff from this agency helping. Now, what I noticed was that some staff preferred these better than one of those. So these are just something I do have a website that you can look at. You can Google these. These are called? I think it's just a little problem. Yeah. Are you larger? We're trying to compare those. Oh, yeah, oh, we can have some. Probably, there's a prominent. Absolutely, yeah. Yeah. There's a little bit of plastic here, something. Or probably plastic, of course. She had all the others. So you can also, now the things that I'm going to talk about, so we call these big re-keyboards. Yeah, so they come in different colors. And I'm going to put this over. Also, remember the stickers. Yeah, I think that's the next one we have. So I'm going to go over that one and just read this. So the great thing about this, you don't have to have. This can help with vision. Now, how many of you wear readers when you're typing?  You can have just this keyboard. Does that make it easier for you? Yeah. And also, for seniors who are new coming onto this, this is so much easier. It's more accessible. So they're going to feel positive. So that's kind of one of the great things about that. OK, so that's an easy read. So here's another thing. I'll talk about the F5 button. So this is an educator can click the F5 on their PC, their laptop. This gives an option for the keyboard to light up. And it's called the backlight. Do any of you know what that backlight is? Have you ever used it? OK, I see some shaking in your heads. So try to, if you don't know, you can, I was going to say, let's try it. But write it down, the backlight. Know where that's at. Because on some keyboards, it'll be nice. I prefer it because I like to see my letters lit up. My husband doesn't like it, and that's fine. I personally like to see more things. I just like it, so that works for me. So this is another little tip that's right in there. If you don't know where to find it, go on your toolbar and go under Settings, then you should have something that will say backlight. So that's kind of a nice one. Some people like it, some people don't. You may not have the F5, it may not be on yours, but go under Settings and look for a backlight. OK, so the big keys. That's exactly what I was talking about, the big keys. Now, this is the one I prefer, because I like the yellow with the black. That's me, personally. But that's, you know, you don't have to have that. So again, see how that yellow stands out a little bit more than just something to look at, something different. Alicia, does it have anything to do with vision? Vision? It can. I mean, if you are having vision problems, now some people, maybe the yellow is a distraction for that. So then you want me to stop. So I think my next one, I'll show you the keys. So here we go. The keys is a visually friendly keyboard, which can be purchased for learners who are visually challenged or need easier reading access, because I can be visually challenged at midnight. This also helps with finger dexterity issues, tremors, arthritis, or CP anymore, because you can see it easier, right? And the keys are bigger. Well, you'll see this one's bigger. All right, the color schemes come in certain colors also. So you have white, yellow, black, and then the colors are in different colors also. What I did, again, I have a personal preference, but that doesn't mean that you like that one. So I'll make sure I have two of each sorted out so everyone can have their own choice. All right, here's the stickers. So here's another way of doing that. This is what. So an alternative to purchasing these or purchasing this would be a sticker. OK, these you can buy on Amazon. You can go into AbleNet, any of these catalogs, and you can choose what kind you want. So you would just attach it right on there. Yes, do any of those have uppercase with a smaller lower case on the same key because they don't always. Right, I only see these in the uppercase because it would be just mimicking your keyboard. That would be hard. And that would be on a key. That would distract me because I use lower case more than I use uppercase. Right. And amazing, as you said that, we had discovered that. And I was in another workshop with saying that when you're writing your name, you need space. A lot of our students didn't know what the space was. So in all our computers in our lab, we devised like a red dot, and that meant the space. So we had come up with these different things of meaning what we wanted for them. So yes, and also, again, making sure that we have everyone, we also have keyboards with Braille, and there's also keyboards with Braille stickers. So you can order them with Braille stickers also. So just making sure you have everything. And again, the other great thing about these, because we had a lab, I had a Braille keyboard. I would just pop it in when that student, I needed them by student. So making sure we're hitting all modes, all learners. Okay, just my next one. So the one click mouse. Now, I also noticed when we were doing our labs, because we have these with the scroll and the basic one, right? We all know what we're talking about that. But if you're someone who's like, I just want to do it. So what happens? What happens when they're using these mouse? If you don't know how to use a mouse, who knows what type of buttons you're getting. They're into another land, right? That's not good. So to be a little bit more, to make it more successful, this is the one click mouse. And this is what we have used on many a student, many learners. So great for working with learners who were challenged again with dexterity and mouse control. And this mouse is just a basic one click and go, which I like, that's very simple, okay?  I can only be on this. Absolutely not, you can go on other routes. So this is an option. This is so much, it's so successful versus the scroll. That scroll thing is just, so that's why we had, and again, if I was in the lab, I could just pop it in and take it out. Because I've noticed that with happy hands going all over, take things away, why put them out, right? I see a lot of head nodding. That's what I had discovered, take it away. All right, here's the next thing. I think almost now everything is a touch screen. How many of you have touch screens in your labs or a lot probably? Okay, well that's, okay, we have touch screens, but we had to buy them and put them on. So this is how old they were. But it's still good. So the learner can just use a touch on an icon on the screen with the finger and go, okay? So we like that. This can be very empowering for a learner to proceed with the activity by themselves, which we all know, right? Some computers already have touch screens already included. Now, you're saying, what are they doing? It sounds like someone had asked me, I have very low learners. Okay, so the touch screen's gonna be great because you can put them on a matching day and you can find, there are adults, because that's what we work with, that you can find adult matching gates on them. And if not, you can make them. It's a particular work, but you can do it. And they like it. So the best thing, sometimes you might want to work by yourself or you might want to choose people that you might want to work with a buddy. The other thing is because of what we do, we also ask them to start telling them, describing what is it. So, they can have communication. So if you're ESL, you can sit, what is this? You can make one on kitchen and have them match it with the word, however you want, a lot of great matching. So the touch screen is something that I really liked. The other thing, I think I have the next one. Like I said, so it's the use of a stylist. I didn't bring one, I forgot that.  So some of the stylists now, if you're working with someone who is arthritic, you know that you can pump it up, right? You can make it bigger. So think about that now. What are some tools that you can use? You can use the, do you remember the pencil? The little, the gripper on the pencil? You can use that to make it a little bit bigger. Now, if I'm very arthritic and you can use a piece of material, I like to use a small washcloth because of the texture of the cotton and you can wrap it around and that makes it bigger because if you're arthritic and you can't close your hands, there you go. But there's also, you can probably go to any of those orthotic places and buy that. I'm just saying working in a place with low budget, you know what I'm saying? Come up with different ideas. So that's one thing that we did. And you know what? Some of them really like the stylus because you can even kind of fancy, you know, not within budget reasons, you know what I'm saying? So some, some like to use it. It's a tool for the touchscreen. And again, you can adapt it. So some racism. So, and you can see now this is pretty tiny. We've had, I'm not kidding. We've adapted a stylus that was very big. We added like another something to it because that's, if you are having problems gripping it, look at that, it's not gonna happen.  You gotta get, you know, so that's why you need to be extended. It's almost like a wand. So you're gonna have to have that. So again, look and see what your learner needs and just adapt it. You know, I think we're so grateful working at sites that don't have a lot of money that you become very resourceful. Yeah, you become very resourceful. Yes, I mean, is that a big thing? It is. I mean at least I'm able now to come up with an idea to get someone who's in a wheelchair who can't work, you know, but I can get them now to do it, right? So that's kind of something. So here's the example of the touchscreen. Again, I used the concentration game, something like that you can do. And then, oh, here's for the mouse pointer. So this would be in your settings that you would find. How many of you know there's a mouse pointer setting? Okay, so this is a great one. How's with this visual acuity concentration and dexterity? So with this one, once you get in there, this looks very complicated to me. This is like too much information. But I will tell you one of the favorite ones that my students liked is this little, I call it the Mickey Mouse hand. And you can change the color to yellow, yes? It's also really good if you're doing distance learning because if you're doing it on teams or doing it or whatever, it's really hard for people to see if the teacher is moving the mouse around. So make it much bigger than change the color. Right, and my next slide will have that. It is, it is perfect. You know what? And then you have some who don't like that. So when I had the lab, I had a variety. And they all knew which ones. After a while, they'll know which ones to go to. So yes, so take a peek in your settings and check it out. You can, you know that you can make them click or do that spiral, that dragging. To me, that's annoying. I don't like that. I'm just like, ah, talk about visual acuity after that'll happen, right? So yeah. All right, so this was if we were gonna do it. So I just put in here, locate your task bar, find the search. Well seem to be able to handle that. If not, it's in my, it'll be in the Google side. Any questions on that? So there we go. There's the example. You can pick the colors that you want. You can make it bigger. Kind of a nice thing. Nice little feature.  So when I'm looking at all my different, what, icon desktops? I just made that big point. So that's the immersive reader. How many of our, you probably all have used it, right? Okay, so I, No, can you, don't assume. Oh, okay, okay. The immersive reader. This is a great tool. It's available on everything just by yourself. Right, you're right. So yeah, sorry. Yeah. This one you have to go, I believe you in Google or because my husband has a Mac, he went under voice. It has a voice that reads out. So you have to go under tools. But this one, yes, it'll talk to you. So if you want to try it, it would be definitely in, yes, you're right, not Mac and iPad. So it's a Windows, it's in Word. And it comes, what I did in my search bar under, but it's already there now. I went in there and said, immersive reader. Once I'm in my Microsoft Word, it'll come up and there it is. You press it, you type, try, I want to test this out. It'll talk to you. The menu will come down. The good point, she just reminded me, it's also in campus. Oh yeah, that's why I'm the edit mode, right? And it's in Teams as well, because Microsoft's too busy. That's good. It's great that it's in campus. How many of you use Canvas for everyone? Does students read? Great. Now, I understand as far as our department for adults with disabilities, there's hardly any who use it in our site, because that's a lot, right, Marie? I use it. Well, as a teacher, but do the students use it? Yes. Oh. Oh yeah, no, a lot of my students use it. And I use it in my classroom every day, and then I tell them how to log in every day. I mean, I think the passwords and getting in, because then they have access to the immersive reader, well, and then they have access to immersive reader, and they also have access to the other websites that I access, so it's easy for them to click. So my products, I put all that you found on Amazon and other retailers. So it was the big keys, the stickers, the one-click and the stylus, okay? So those minimal, I mean, you can get fancier stuff. And here's one keyboard I didn't show. This had a guard on it. So, and this, as you know, this is a little bit different, this particular one. So the great thing about this is what do you think you can do on this? Well, that's the big keys. Yeah, big keys, yes. But there's something, I don't know if you guys can pick up on it or just because I know what it is. So this is, like, I can put my hand on it and I'm not hitting the rest of the keys. So I can do this. If you just want to tuck your name, so it goes like that. Yeah, so the other great thing about it, so also seniors with any of the tremors going on, that's gonna be awesome, okay? So think about your seniors, your parents, or anyone in your family, because I know this would be very helpful back in the day, but I didn't know about it. So that would be, and that would make them a lot, you know, they could do social media and stuff like that. So this is, again, we don't have to think disabilities. Just think of usability, okay? What makes it easier for them? So this, and this can be in plastic and Joy you said there's metal out there. So there's, these are key guards, key guards. So something that's really great for them. And here's the other thing that we have used.  Now let's say that you don't have that, you know, you just can't do it. So if I could use your stylist again. So imagine that you have your stylist, my big stick again, I can do it this way, okay? So again, just being creative and looking at your learner to see what can I do to help them? I'm almost there. What else can I do to help them? So it's just kind of thinking outside the box, real outside, but getting them there, just getting them used to it. Yes. Do you mind, Alicia, if I share the device lending and demonstration center information? Yeah, do you all, she works for a, well, I actually work along with the community college. I also work for United Cerebral Palsy. There's a technology lab. One of the programs that we have there is a device lending and demonstration center through Ability Tools. We are one of 10 device lending libraries through the state of California. And we loan all kinds of different mouths, keyboards, communication devices, and it's a free loan program for 35 days. That's a great tip. And also the great thing about that, let's pretend you're not sure if you want this, right, Joy? I'm not sure this would work for me. Can I go check it out? Absolutely. So 30 days of trial and error, that's pretty good. 35. Just saying, sorry. Yeah, just kidding. So that's a great tip, just to know, again, think outside the box. It's not only for adults with disabilities, what ability can I help them with? Because there's so many seniors out there who just get, that keyboard is just too crazy. Change it up for them, right? So here's the other thing in summary. I just wanted to go over if the technology continues to improve and provide greater access for all people of a variety of challenges, right? So the great ones are OTAN's accessibility resources. If any of you, if you click that, it'll take you to the link. Also, Wade, he's talking about the different accessibility cast, anyone familiar with that? That's UDL, Universal Design Learning, Grappled Docs. Now that's for, isn't that just for Google? Yes. So that's Google. Yes. This'll be all in, I'm gonna give you the Q&A program. Any questions? I know, Ash, I think I'm not really at the side of it. Yes. Just to add someone asked about stickers in lower case, so you can also get those on your son. The lower case ones? I think we predominantly only did the uppercase because when you look at the keyboard, it's all aerial font, so we stayed with that. Just because, yes. I have a question. So I know your students are adults with disabilities and a lot of us teach outside of that. So you know your students are coming with certain needs. We may, I think a student needs something. How do you approach a student without insulting them? I mean, an adult? So maybe you could have a couple of... Just kind of... Yeah, maybe just want to help. Do you think this could help you? Okay. You know, have a... Yeah, why don't we try this one today? Because this is one of the least expensive ways before you do the things, but you can go through the lending. Check it out. Any other questions?


Hi, I'm Mark and I'm here with Chris and we're going to help you to sell services now with confidence If you have no clue what we're doing over here Make sure you check out this first video in this playlist and everything will become clear. So in this video We're going to actually talk about a real-life situation and real-life sales challenge that we got from the community And we're going to do this in the Chris though fashion and that is through role play, right Chris? That's right. I'm excited to do this with you, Mark. All right. So let's paint picture here You're not you're going to be the creative the service designer I'll I'll play the client in this case. We're at a networking meeting. So There's no proposal. It's like a pre getting to know each other stage and You you're trying to explain to me what service design is because you're super passionate about service design You love it and you think every the whole world should know I run a small construction business and you think yeah Construction business is a service business. So why not they might need service design and Let's start at the point where I respond to your initial Words I'm a service designer. That's what I do Chris. Tell me what is it? What is that you do again? Mark I'm a service designer Essentially what we try to do is to design the experience for your customers and This applies many different things not just the screens. That's essentially what we do. Wow Interesting it does sound kind of vague. So You do design you make you make you make logos No, we don't make logos per se We kind of look at the entire journey the path that a person that is a leader or prospect Comes in contact with your company How they become interested aware and why they engage and and why they purchase and what happens afterwards Hmm. All right Still are you familiar with this concept? Not really. I know I my nephew does design and I don't really know what services are. We you know, I run a construction business. So It's it's kind of kind of abstract to me what you what you're just describing. Sorry Okay, do you ever think about How your customers come to find you And why they choose to work with you. Hmm. Well, yeah, not a lot. I'm busy. But yes We have we have a marketing guy who does that So let's let's flip it around Chris. This was a good attempt, but I know I know you can do better I think a lot of people recognize the situation Let's see if we can sort of Um tweak it and make it less awkward and better for for the service design. All right We bump into each other. There we go again. So, uh, chris good to see you again, man. Um, what was it again that you did? Well, mark, thank you for remembering me in the first place and I think the approach I took last time I I I see that you were confused. Let me take a different tactic. If you don't mind Let me ask you a little bit about the kinds of business goals that you have. What are you trying to accomplish with your business? Yeah, man We run a construction business and construction is is booming right now. So our our goal is always to serve our clients better we want more satisfied customers because those are ambassadors and Um, we want to grow we need to expand that's that's basically our goal But I thought this was about what you do, right? Yes, and so here's the thing that I know is I can talk all day about me But I think this is to borrow a quote from Seth Godin. We don't want to get email We want to get me mail only things that are relevant to me So I I think it's beneficial for both of us if I just spend a little bit time trying to understand What it is that is important to you So what I heard you say if I may play back what you just said, which is You have clients and you want to create more satisfied customers and that's a way that you can grow and expand your business Did I get that right? Absolutely. Yeah, that's what we're aiming for Perfect. So let me ask you a couple of questions then. Who are these kinds of clients and how do you increase customer satisfaction? Hmm Yeah, so if I look at our existing client base, there are people living in suburbs moving to a new house wanting to make a place Um, their own, you know, they're looking for a unique style and we want our catered to that So for us, it's really important And we know who these people are and and be able to help them fast And at a decent price that they don't pay premium prices. That's basically our What we try to position ourselves at And is your business in building custom homes? Is it remodels or is it just about Getting them into one of the properties you've developed We do both and You know, if you if you ask me what's there to my heart, I like to develop the new stuff But the remodeling is it's a huge business. So but My heart tells me I want to I want to build homes from scratch Hmm. Okay. I think that's probably really fun to build something totally custom and unique for the individual Right and you don't have to deal with the existing problems of an existing structure If you were to look at your business from a a high level, are you familiar with the Pareto principle? Yeah, the 80 20 something like that, right? Yeah, right like where 80 percent of your revenue comes from 20 percent of your efforts And although you passionately feel great about building new homes. Where's the biggest revenue source? Is it in doing remodels new homes or something else? Yeah Yeah, that's some remodeling thing for sure. Yeah Okay, so would it make the most sense to focus right now? Even though you don't love it 100 percent that it is the biggest driver of revenue for your business Yeah, probably probably, you know, those are the tough tough discussions But yeah from business perspective, that would be the smart move Okay, so now when people have options and they can choose you they can choose your competitors or someone else What is the biggest driver of how they make their decision? Like, why did they choose you versus your competitor? Hmm It's a great. That's a great question. I would hope it's the quality of work we do, but I'm not entirely sure man Mm-hmm. And you're not alone in this and that many of us are busy running our business and trying to provide the best Craft and skill and Do the work fast as you mentioned and also to do it at a competitive price not necessarily cheap but just not Not expensive And so we don't take a lot of time thinking about who our customers are and how we can build a stronger relationship for them What that in a nutshell is what service design is We take a look at your customers and the customers you like to have more of And we try to design a path so that you can more clearly communicate things that they value So that they're more likely to choose you versus someone else Let's unpack what just happened here. Okay Chris help us out. What was the difference between the first and the second situation? I think the tendency mark is that when somebody asks you a question like what do you do? Oh, that's my opportunity to talk And what we have to do is realize That talking about ourselves unless it's framed within the lens of what's helpful or interesting to the other person It's really dull and not interesting at all And we know this because when we meet somebody and we're watching people and when two people get together and start Engaging with one another If you really lean in if you're really listening and you're giving the other person your soul focus and attention They feel really special. They feel important They feel heard and then rapport and trust can be built But if the opposite happens, which is i'm just talking about myself like aren't I so great like check out these projects I've won these awards Then you just become a know-it-all and Someone who brags a lot and we know how we feel about those kind of people. We're not really connected to them So the first thing that we should do is to resist the temptation Of taking on a question and just talking all the time You need to know this that If you can just talk less and ask more questions You will have a better chance of understanding the problem. Here's the thing the client has a goal in their mind But it's not clear to them in their mind just yet And what we have to do is ask questions to help them surface what the real problem and their goals are So that we can think how might I best solve this problem? yeah, and you you can have a few questions that lead up to or Relate to the thing you're doing like when you ask, do you know how your customers? Find you do you know what they value about you? Those are all things that sort of link Where you can make the connection with what you do, right? You can have those questions in your mind Yes, and some people would refer to these as socratic questions If you're a fan of chris voss who wrote the book never split the difference. He calls them calibrated questions They're usually questions start with what or how How do customers pick you? What is it that you're trying to do? What are the challenges that you face in your business? What are what is your ultimate goal? Makes a lot of sense. So the general advice, I guess when when a client tells you, you know, it's it's vague It's abstract. I don't I don't really get it would be not to explain more but to ask more questions Have I summarized that? Yeah, yes, you have I think in the first scenario We already got off to a really bad start because I've already been too busy talking about myself, right? That's not a good way to talk now if you had only an elevator ride up the the elevator pitch You won't have the time to ask all these kinds of questions So what do you do if you're in a situation like that somebody leans over it's like, oh, that's interesting What do you do? What are you doing at this conference? And you know, you have a 30 second ride up The framework that you want to use there is you want to say do you know this problem? That's what I help people solve So you just identify the problem. Do you know how Companies oftentimes don't understand why customers leave them for another competitor or why they even pick them in the first place They're like, yeah Well, that's what I help clients understand exactly the door opens should we exchange information or not? Yeah All right Let let me know let us know in the comments if you've ever encountered such a situation just IPS or is this familiar we'd love to know and Let us know if we need to elaborate on this In the next video because we have got a few more coming We're going to talk about the situation where a client is reluctant or hesitant to Engage with you in the discovery stage in the research stage Because they already know what their clients want, right? So they they know who their customers are Why should they do research? You're going to hear how chris handles that situation if you're interested in that click this video over here And we'll see you over there