Hi, welcome to the SIG multi-cluster intro and deep dive. I am Laura Lorenz and I work at Google. I'm Paul Mori. I'm Stephen Kitz. And I'm Jeremy Olmshead Thompson. I also work on GKE Google. So today we want to cover what the SIG is about. We especially want to highlight some of the next problem spaces that we're looking to take on. And we want to cover details about our current activity. So make sure everybody knows about some of our flagship projects, some of our new projects that we've been recently working on and also give an update, especially on some of the cap style content that we've been working on. And then we want to do a little bit of a deep dive. We want to talk about conformance tests and Gateway plus MCS in particular to share about how those things all work together and how they could help you with interacting with some of the projects of the SIG. And finally we want to share with how to contribute because we want to see you at SIG multi-cluster. So what's this SIG about? It's primarily about figuring out collectively what the Kubernetes native way should be to handle a number of scenarios. The first one is exposed workloads from multiple clusters to each other so that multiple clusters can be joined and have services, for example, use each other's services. It's share multi-cluster data and where it lives, where each cluster is compared to the others. And just in general, breakdown walls between clusters. And this of course touches many different functional areas. But we don't really know this is an evolving space so we're still working to figure out what the best and most durable primitives are, i.e. the best way to represent all the objects that we need to care about. And since this is an evolving area, we want and we need actually your inputs, real user stories. So what you're trying to do, the problems you're running into doing multi-cluster work or trying to architect multi-cluster solutions, deploy multi-cluster workloads, anything like that. We are keen to hear about it so come and tell us what you're working on and we'll go over how you can do that at the end of the presentation. So how do we go about solving these problems? I think multi-cluster is this huge, basically endless space and there's a lot of complexity that comes in stitching together clusters across different environments. So to make this a little bit more tangible and to prevent us from getting stuck on these big complicated ideas that maybe aren't solving tangible problems, we like to start with specific problems and work backwards into something bigger. So a good example, we'll talk about a little bit later here, multi-cluster services, where we start with connecting services together between clusters and just solving that one problem and then using that as a building block to figure out what's next. So we avoid premature standardization. We try to focus on the APIs that solve that specific problem and only define requirements that really need to be defined to solve the problem. Leave as much room for implementation as possible. This is the avoiding optional problems. If something isn't actually required as part of that core solution, we want to leave it open. We want to leave it open for interpretation. We want to let various implementations, various platforms, figure out how to solve it in their own way. And one of our primary goals here is to keep multi-cluster consistent with single cluster wherever possible. I think the goal of this sake is to make it easy to extend the same constructs you might use in a single cluster to this new multi-cluster world. So let's talk about our next problem spaces. You're going to notice, as we talk through these, that we've attempted to select work that's very focused on very specific problems, as Jeremy was saying. So for example, on multi-cluster networking, we're looking for more sophistication now that we've done a little bit of the groundwork. So with regard to network policy, we want to look at applying policy uniformly across clusters. We also want to look at stitching together clusters on different networks. And I'm sure that probably resonates with anybody that has attempted to make things work across clusters that are on like a organically developed network topology, you might say. When it comes to multi-cluster controllers and multi-cluster leader election, we're looking for use cases and specifics that can inform the SIG about recommendations we can make or work that we can use as a reference. In the area of the work API, we're looking at spreading groups of resources to different clusters. We also know that there's some interest in the areas of multi-cluster registries and control planes, but I wanted to make sure that we made a note that these are very, very broad problem spaces. And they're also ones that have deceptively intuitive naive use cases. In the past, when we've gotten into details, we really found that there was a lack of alignment on problems to solve and a purchase to take to do so. So we're very interested in this one in particular in finding what the most essential problems there are to solve in these areas. So let me provide a little bit of emphasis that if you're interested in these, we could really use some specifics to help guide and inform the discussion in the SIG. And finally, there's some work going on staple set slices for migrating staple sets between clusters. So hopefully it's coming across in the slide that we're interested in these really specific tangible and concrete problems. All right. I'm going to talk a little bit about some of the current activity of projects that we have going on right now in the SIG. So the first topic to cover is one of the earlier established ones in the SIG. So if you've been to this presentation before, you may have seen this a couple of times, but to reiterate it for anybody who's new, one of the core concepts that SIG multi-cluster builds our solutions around is the idea of a cluster set, where a cluster set is a pattern of use that we have observed from the field and talking with people who are interested in multi-cluster deployments, where it's a group of clusters that are governed by a single authority. So interestingly, they have a high degree of trust within them. And this is a point that we can leverage to build more standards on top of this unit. And in particular, a property called namespace sameness applies to clusters in a cluster set. And what namespace sameness means in brief is that within a given namespace, permissions and characteristics are consistent across clusters. So this will come up specifically later when we talk about multi-cluster services, where the principle of namespace sameness means a service of one name in the same namespace in cluster A should have the same characteristics as a service of the same namespace in cluster B. They have namespace sameness. They're expressing similar characteristics within that namespace. It doesn't necessarily mean that the same namespaces have to exist in every cluster or that the same workloads exist in every namespace or anything like that. It's just that if they do, then they should behave similarly. So that's the crux of namespace sameness. And this cluster set membership, what cluster set a cluster belongs to is a really important property for our solutions to build on top of. So one notable tie-in to the next slide is that what cluster set a cluster is a member of should be stored cluster locally somewhere that the cluster knows so that any components can operate under the knowledge of what cluster set they're in. And one of the projects of the SIG is to provide a place to store that, the about.kates.io cluster property called cluster set.kates.io. So going to the next slide, let me detail that a little bit more. So since we're establishing all of this context around clusters like cluster set membership that needs to be built on top of by multi-cluster tooling, we saw a need for there to be a place to actually store that. And we came up with the about API as a location to store technically any arbitrary cluster metadata, but there's a couple ones in particular that we think are important for the work that we're doing today. This is written up in the form of a cap. You can go see cap two one four nine for all the details. And it also is available as a CRD that you can install from SIGs.kates.io slash about API. But the idea here is that this is a CRD that describes a cluster scoped kind called cluster property that has a very simple schema just the metadata.name and some value where value can take on all sorts of different forms. But the certain resources of certain names might take a specific structure of value, but the CRD doesn't strictly say so in general. And two properties that we have specifically laid out in that cap are the two that are shown over here in this yellow box and in this blue box, which are one to uniquely identify a cluster itself and also to identify its membership in the cluster set. So this one cluster.clusterset.kates.io, the idea is that any resource in this CRD of this name should contain a value that is an identifier for that cluster within this cluster set. And this property called clusterset.kates.io should always have a value that represents what cluster set that cluster is a part of so that we have these two pieces of information locally and easy to access in the CRD. But generally the entire about API just including these two specific resources described in the cap are to provide references for any sort of multi-cluster tooling to build on top of. And it can be and it's explicitly in the cap that this is available as a well-known place to store these properties or any other properties that you might have for your other implementation of anything that might otherwise have been implemented as ad hoc annotations on semantically adjacent objects. So this is kind of a little example. You could have some other suffix here besides kates.io for your cool implementation of whatever and store some other type of data that is relevant to the cluster as a whole or that you feel is better suited to be put inside the about API. And so the kind is still, you know, this schema, this name value scheme is very flexible for whatever people might want to do outside of the well-known properties that we have described in the cap. So the next project I want to talk about is the multi-cluster services API. And I mentioned a little bit in the prior slides as well because the concept of the cluster set and the utility of the about API in great part came from the discussions around how to solve MC multi-cluster services. So this is also in the form of a cap 1645 and the API and some other reference implementation and end tests and other types of tests we'll talk about later too are available at kates.io slash MCS API. But this is an API that describes the building block of how to expose a service from one cluster to another. So this is a very specific problem that the SIG wanted to address. And the way that we did this was with this multi-cluster services API that describes what is the behavior of a multi-cluster service? How can an API just describe that a service should be available in other clusters? If we do so, what changes need to occur for things that people already expect from services like DNS? How does multi-cluster DNS work compared to single cluster DNS? And in the end, what we were able to achieve here is to allow an API to express how a single service should span and be consumed by multiple clusters. Similar to the approach slide we talked about earlier, it was really important for us on this project to focus on the API and the common behavior and leave a lot of room for implementations to actually fill out any details that weren't, didn't need to be common to the standard. So there's several different implementations, some of which you may have seen prior demos of from this maintainer track or other talks. And each of them are able to vary in the implementation details but still center around this API and the common behaviors that are laid out in this cap. It was also important for us that the consumers, clusters and workloads that are consuming a multi-cluster service only ever rely on local data. So that ties in a little bit to some of our decisions regarding needing to provide, for example, the about API as a cluster scope CRD that has local information about the cluster's metadata. And the other important part is that cluster IP and headless services work as expected that there's some continuity with the single cluster experience for these types of services so that it feels really natural for people who are already used to the service API to use the multi-cluster services API. All right, let's talk about the SIG multi-cluster website. I want to give a major shout out to Nikola Pinto for all of his hard work on the website, which is at multicluster.sigs.cates.io. The website has higher level documentation for end users. It's got project status updates. It's also got content to help connect implementers to our APIs and tooling and catalog implementations of the different APIs for end users. Thanks a lot, Nick. We really appreciate your help. All right, so I wanted to throw up a little bit of detailed information. I know there's a lot of words on this slide, but about some of those projects I talked about before that are built around a CEP. They have specific graduation requirements that we've been steadily working on in the SIG to graduate them to their next stage through the CEP process. So just to give a little update to everybody who is here, the about API and the MCS API are two that are following this graduation process. And for the about API, we're currently at a stage where, and maybe by the time this goes live, I guess, actively working on or through the next stage of PRR approval and beta API review. So for this project in particular, since we're using the Cates.io domain, we've already previously undergone an API review at the alpha stage. And so we'll do another round of that at the beta stage to move on to the next step. And for the MCS API, I'm going to skip the first one just for a second to talk about the last three, which it has a hard dependency on the about API. That's what this cluster ID CEP is referring to. So they're synced with each other. So one is depending on the other. And then the MCS API, other steps that we want to proceed with is the same because it's a CEP needs to go through this PRR approval process as well. And for that to get to the next stage. And also, the MCS API doesn't have the strict requirements for API review compared to about API, but it's still a voluntary step that we're interested in going through. And the last thing that the MCS API, the more content blocker as opposed to procedure blocker is about the end to end tests. And I want to hand this over to Steven to talk a little bit about the end to end tests for the MCS API and especially some work that is going on to build beyond just the end to end tests and into something that is really valuable for implementers and end users to evaluate and improve the implementations of the MCS API through conformance tests. And so major shout out to Steven who's going to give you the update and also Nick who worked a lot on these end to end tests as well. Thank you so much to both of you. So Steven. Thank you, Laura. The MCS project already has some end to end tests, but these have emerged from developing the proof of concept implementation of the MCS controller. And so they have some, well, they're fairly basic and they also have some assumptions that aren't necessarily valid compared to the actual spec as it ended up being. However, it can already be used as a sanity test of MCS implementations. So if you have your own MCS implementation, you can start two clusters, join them in whatever way is appropriate for your solution and run the end to end tests using those two clusters and you'll get to quick results telling you whether you match the end to end test expectations or not. But that's not really all that useful compared to the spec itself. So we started working on an actual conformance test suite and the goal there isn't to test the implementation that we have in the MCS API repository. It's to provide a tool which can be used against any MCS implementation to give you a report on how well that MCS implementation satisfies the specs requirements and recommendations and suggestions. It includes a while it will include once we've finished developing it or with your help if you want to get involved. It will include tests that model realistic flows of data and connectivity between clusters. It will also include references to the spec for any tests, not just the failing ones really, but all the tests that are run have pointers to the spec so that you can determine exactly which part of the spec is being tested and when your implementation doesn't match what the spec says, you can go and check what the spec actually says and figure out whether you should fix your implementation or whether you should come and ask us to change the spec perhaps. And there are obviously a number of non-spec attributes that can affect the results or that you might want to vary when you're running the conformance test suite and so these are all configurable. This is things like timeouts. For example, there's an expectation that when we export a service in MCS then eventually that service will be accessible across the cluster set but that might take more or less time depending on the implementation so that can be varied. Also the number of clusters, obviously you might want to run tests against two clusters, three clusters more, use this conformance test as a sort of scale test as well and you can even test some parts, use some parts of the conformance test suite with a single cluster because that does have some sense in the MCS spec. So that's pretty much all of the conformance tests and as I sort of alluded to this is still being developed although by the time this video is shown hopefully we'll have made some further progress but I imagine there will still be work for interested people to join in the fire. So now I want to talk a little bit about the Gateway API and MCS and how Gateway has extended the multi-cluster world. So first a big shout out to Rob Scott and other folks at SIG Network who have been driving us forward you know over the past couple years now. The Gateway APIs are really cool they are you know a flexible way to define gateways and figure out how services should be exposed beyond the cluster and build routes and you know basically the service networking model and how that should apply to to Kubernetes in a more flexible forward-looking way. So for quite some time now we've been talking about how Gateway can apply to multi-cluster services. In fact this is something that we kicked around back in early alpha days for Gateway and it's actually even supported already in some implementations like with GKE. But basically what we wanted to do is support multi-cluster services via gateways just like you would a service in a single cluster Gateway implementation and how we do this is we allow you to actually target service imports with a Gateway just like that single cluster service and now you can the same way that the Gateway API wants to expose a service beyond a single cluster you can use the Gateway API to expose a multi-cluster service beyond a cluster set and this gives a lot of power. So first you can define you know these flexible routes and rules but really cool features are for example using the Gateway API to do weighted balancing and canarying traffic between multiple clusters or multiple instances of a service if you want to do like a blue-green service rollout. You can now do this in the multi-cluster world where you know those services may be spread across multiple clusters each maybe in different clusters make it really easy to kind of handle that you know old service old cluster new service new cluster canary and rollout in a gradual way. So there's a lot of power here introduced with the Gateway API so again big shout out to the folks at at SIG network and also some other folks who've been involved like the SDO community. Right so before we finish this presentation how can you get involved? As we mentioned earlier we need your input we are very interested in hearing about your use cases your problems and your ideas so come and share them with us. It's our meetings which happen bi-weekly on Tuesdays and you can see the times there on the slide. Of course before you do that you might want to find out more about us on the home page which we talked about earlier. You can come and talk to us as well if you don't want to wait for a meeting or if you can't if it's not convenient for you join the Slack channel we have conversations there anytime of the day or night and you can also send email join the list on the address that's given there and if you join the list you'll automatically get invitations to the bi-weekly calls so they'll show up in your calendar and that will give you access to the meeting agenda and notes from previous meetings and the zoom link to actually come and join us. So we're looking forward to meeting you don't hesitate to come along we're all very friendly. Thank you so much for coming to our presentation on TIG Multicluster and we will see you at the Q&A. Thanks everybody. Thanks everyone. Thank you.


This is the Big Picture, an official television report of the United States Army, produced for the armed forces and the American people. Ready Bill? Yeah. So long you guys, we'll be seeing you. Yes, so long. I'll see you next week. You fellas have a nice Christmas. Yeah, some Christmas. I don't know what you're so happy about, Norris. Shaw quit griping. Army can't close up shop just because it's Christmas. Somebody's got to stay on the post. Yeah, that's right. Somebody has to stay, and that's somebody's us. We get elected. And nobody got elected. Your name comes up on the roster and you're just lucky or unlucky. It's like a lottery. It's just tough luck we didn't win. Well, so what? Next time around, we'll be taking off and somebody else can keep house. Oh, sure, sure. Next time around. Oh, that's a big help. Why don't you take it easy on yourself? Because man, there's not a thing you can do about it. Oh, maybe there isn't. Maybe there is. You're not thinking about going there. And I never missed a Christmas with my family yet. And this year's kind of extra special. You see, my kid's sister's getting married and, well, she's bringing the boyfriend home to meet us. Yeah, but booking out's not the answer. You're going to just get yourself in a jug of trouble. Those parties and planning. You know, but it's almost a year since I've seen any of them. You better take it easy.  Man, it's a sense you ain't going to win. Look, I'll tell you what. I'm going to have a peax and meet a fella from my hometown. You come along and maybe we'll go see a moving picture later. That's a good idea, Norris. I'll tell you what, you go ahead and I'll see you over there. OK. I'll see you in about a half an hour. Yeah, OK. Hiya, Shaw. Oh, hello, Sarge. Looks like the old homestead's really empty and you're still bleeding hard. Oh, I guess I'll get over it. Sure you will. We all do. Now you take...  Well, that's one way to kill time. Yeah, I suppose it is.  The only ones left in the barracks. Well, we'll have Christmas together. They'll put on a special feed and a mess hall. Of course, it won't be as much fun as being home, but then... Well, those are the breaks. Yeah. Bad breaks. Could be a lot worse.  That can cost you a lot more than a chance to be home at Christmas. Much more. The people who start wars... Well, they're not too sentimental about that kind of thing. Yes, the soldier's job can exact a much greater price. It's interesting to note that some of our country's most critical hours have occurred just when the soldier's thoughts have turned to home and to those personal ties from which he has been separated. At times, it would appear as if the enemy actually counted on such occasions as a morale factor to be exploited for his own advantage. Our Sergeant Brooks will tell us something about the American fighting man in just such circumstances. But before we return to him, and to Private First Class Shaw, let me just say that I am Sergeant Stuart Queen, bringing you the latest in our big picture series, The Battle of the Bulge. Now, let us go back to Sergeant Brooks, who was there. I remember back in 1944. You might say I was lucky. Made it home for Christmas the first two years I was in the service. And I was shipped out. We were in a man-sized war. First I saw of it was a place called Omaha. And I don't mean Nebraska. It was a beach off Normandy. On June 6, 1944, it wasn't a nice place for swimming. After that, the days kind of get telescoped. We slugged and the enemy slugged back. We slugged harder. Then there was Sand Love, the worst. But that's where we smashed the best the Nazi could put up. After that, we drove on through France, pushing him over wherever he stood up to fight. He knew just how far that battling had taken us. It was August 25. This was Paris. And the French had been waiting for their big day for five long years. Because Paris had become a symbol. The rest of the world had been waiting too. Of course, one whole division all spruced up. We marched through Paris. You see, we had an appointment to keep. We kept it. It was still war. The enemy wasn't folding yet. He was fighting small-scale actions to hold us while he pulled back to regroup. All batches were willing to do their regrouping in our POW cages. Between scraps, we were still getting the Paris treatment. There'd always be another hassle. This took our town. Now we were moving into Belgium. Luxembourg. Germany was to be next. We were moving so fast that the rumor machine started grinding out that old line. Home for Christmas. It made no sense, but men will believe anything they want to believe. I said we were moving too fast. Too fast for supply to keep up with us. We wanted port, shareboard, gas. Everything had to reach us from that distance. We needed the great Belgian port of Antwerp. But the Nazi knew that too and held onto it. Or had just about destroyed France's railroads and rolling stock. And so from Cherbourg and even those Normandy beaches where we'd landed, trucks had to haul everything we needed. Top-ranked planning had figured on an October offensive. But the supply problem was going to delay that final knockout punch. Weeks later, Antwerp was ours. But the enemy still denied us the use of its port. It was beyond Antwerp, we got our first setback. An airborne attack that was going to outflank the enemy and take us right into central Germany was stopped cold. Neemegen ended rumors about getting home for Christmas. Those weeks our buildup had gone on. It still meant hauling from Sherbourg and the beaches, but now we had a super speed system. It was called the Red Bull Express. To get us set for an all-out offensive, it worked round the clock. One day there was an unscheduled meeting at a place called Mohns.  More important, it had opened the way to the German city of Aachen. We'd already moved into the enemy's home ground where they lay on our side of the Siegfried Line. Or weren't important enough to defend. But this was going to be a real showdown. We'd have to blast them out of Aachen. And that's what we did. Things began to pop up around town. We broke out one of our own. Aachen was a start. Just one month later, General Omar N. Bradley called signals and the big blast was on. The Rhineland fell at first. Between us and the Rhineland stretched that Siegfried Line. Its entire length still intact except where we'd crashed through it at Aachen. Many orders called for a standard die fight against the foreign invaders. That was us. The salt by air could only soften. The rest was up to us. Nothing was rougher than we'd figured.  Well, there's always a third way. Now we went after our biggest target so far. The fortress city of Metz. Maybe we forgot our manners with the latest batch of Nazis who forgot to stand or die. But Metz hadn't been easy. Nothing was going to be easy anywhere along our lines. But the Nazi Wehrmacht was tough. It was costing us good men. Green replacements were becoming seasoned old soldiers almost overnight. And there was good news from Belgium. Antwerp was working for us at last. The enemy had been knocked out of the skies and from the islands surrounding the big port. Shortages of ammo, gas, equipment weren't going to limit our movements again. The things we needed were coming in. But those weeks we'd lost were going to help hand us our heaviest jolt for now it was winter. Once upon a time armies just stopped fighting when winter hit. Winter slowed down movement. Winter meant additional hardship. But we couldn't give up the initiative. We had to go on. The Nazi had been counting on winter weather and he knew just where he could make it pay off. In the middle of our lines stretching about 85 miles was the Ardenne Forest. To its north we had two divisions. There were two more in the sun. We were using the Ardennes as a combined training and rest area. The Nazi knew that too. His tanks and forces had been massed under tightest security and concealed areas. Now he lashed out. It was an hour never again. With his dwindling reserves of equipment and toughened veterans from the Russian campaigns he aimed to split us in two and drive on to retake Antwerp. He caught us off balance and we paid for it. Once again the natives were leaving their farms with everything they could carry. The Nazi planning didn't include rations. They were that desperate. They'd live off the land till they could stock up from our warehouses at Liège and Reem. That's where he headed. Punching a bulge into our thinly held line. Outside a little town nobody'd ever heard of named Baston. We dug in. For Baston commanded the highways to those cities. We dug in and held 24 hours a day while we waited for relief. There weren't any more cooks. Company clerks. Bakers. Only fighting men. Other outfits in the line or dug in probably didn't even have time to savvy it was December 25th. You know somehow you don't think of war going on that day. I used to read how there'd be a true sun Christmas day. I've seen it in history books. Yeah. History. Real past history. Things were different in 1944. We had Christmas trees of course. The Ardennes was full of them. Only you didn't know who was behind them. Of course I have to admit our platoon had a lucky break. We had Christmas dinner. No fixings mind you. But we sure had the main course. Maybe a few managed some holiday spirit. But for most of us it was just another day on the job. A soldier's job. The job was going to get tougher. And so was the weather. Communications were disrupted. Supply lines cut. Contact between units was lost. And there were units that were lost too. There was no telling where the enemy had been or where he was going to be. We'd even infiltrated with specially trained fighters. They wore our uniform and spoke our language. So we asked trick questions. Who on the world's series? Who was Betty Grable's last film? That did it. And because they were spies, did for them too. The weather had been on the enemy's side. But time was on ours. So we held on. Then one beautiful day, never mind the weather. A whole armored division from 3rd Army broke through to relieve us. The enemy's bid for Bastone was ended. Now we could get back on the offensive. The Nazi could still hit us for losses, but the steam was gone from his counter punch. He could delay us, but that's all. The bulge was shrinking fast. The Wehrmacht's strength was melding, and so were the snow and ice that had helped. Thaws could slow us down, but the break in weather brought another kind of break. Clearing skies brought us air support. Units that couldn't be reached over truck routes, units cut off by enemy action could now get rations. Medical supply, equipment of all kinds by airdrop. More important, air action could help us smash resistance, and help pitch the Nazi back onto his own soil. Besides the ones who hot-footed it back to the Fatherland to fight another day, there were the lucky ones who wouldn't. Then again, there were the unlucky ones who couldn't. What about us? Well, we'd win our battle. The battle of the bulge. And now we'd just get on with a job of soldiering. There'd be towns to take, we'd took. Then there'd be a river called the Rhine. We crossed it. That was the beginning of the end. Well, there was more fighting, of course. Hard fighting. But now there wasn't any question about how it'd end. That was the holiday season for soldiers, 1944. Next Christmas we'd be spending at home. Those of us who made it. Yeah, I... I was just thinking about the others, the breaks again. Then nobody ever figured soldiering was an easy job. Let's see. You've been in the service for a little over a year, right? Closer to a year and a half. Nice record, too. It's a good thing to have, Shaw. Take a bad record. You can follow a man up whether he stays in or leaves. Record stick. Yeah, I suppose that's so. Well, Sergeant, I suppose I'd better shove. I'm a little bit late. To a large, I'd meet him over at the PX. I'll show the rest of those things when I get back. On your way, soldier. See you later. Scenics have often said that we Americans win our victories in spite of our ties to comfort. Our longing call it need for home and loved ones. As a matter of fact, it's not in spite of, but because of those ties that we stick it out and come through. A way back in our struggle for independence, during the terrible winter of Valley Forge, Thomas Paine wrote the memorable lines. These are the times that tri-men souls, the summer soldier and the sunshine patriot, shrink from the service of their country. At Valley Forge and down through the years to the Battle of the Bulge and on later to Korea, the American soldier has proved himself to be a winter soldier. For that steadfastness and devotion to duty, an entire nation must be forever grateful. Now this is Sergeant Stuart Queen, your host for The Big Picture. The Big Picture is an official television report for the armed forces and the American people, produced by the Army Pictorial Center, presented by the United States Army in cooperation with this station. Thank you.


Welcome back to the review. And today I'm going to take a look at the ergonomic mouse by Quadra Clix. And this is going to be probably a very short box thing. It's just going to be opening this box. And then it's going to cut and fast forward to me weeks and months later, trying the mouse to see how it goes. Because usually when I have a mouse, I really tense up and I try to move little, tiny little, little pixel things and it just, I just tense up a lot versus a pen or any other ergonomic. I have a marble mouse as well. But with that, a much more, it just never hurts. And with a mouse after a while, no matter what I do, it just here, it just starts to really hurt. And I haven't used the mouse in years. I mean, I have a mouse right there just in case a driver fails or I can't use my tablet. So it has a backup, but I don't work with a mouse. It's been 10, 50 hours forever. I can't remember last time I used the mouse for a long period of time. So I was very intrigued by this product. So let's open this up. This is the box, all its glory to a quick cut here. And then let's open the box slowly. There you go. That is the extent of the unboxing. You have a cable. Let's see. OK, there's more stuff in here. Let me just take all of this out, protective foam here. So this comes like that. That's your mouse with the cable. And that is that. And you can see how this is raised. It's less clicking at the front. It's more clicking with the backside of your fingers. Then in here, you have this. It's revolutionary to tell the world. Talk to us. You got the manual. You got your left button back here. I mean, you can click here, but it's mostly all through the backside. Right button. You got your roller. You have a DPI regulation. This is in here. There is a forward on the side here. Then you have backward. There's the LED switch back here. And the whole thing is a USB cable connection procedure. I want to take this off. That's the biggest thing to me is cable length. And this is... It's fairly long. The reason why I'm interested in the length of the cable is because I have a standing desk. So we shall see how this will perform. Also, as a standing desk, that's a bit... That's not the main priority, but I want to see how that works. But that's it. I mean, this is fairly straightforward. So fast forward cuts to me having used this for quite some time. Now, before I continue and go into the menu, the overview, my final impressions and so on. Just as a quick disclaimer. I was given this mouse for review purposes. I didn't pay for it, but also wasn't told what to say. So they were fairly relaxed. I was here to try it. Here's what you think and then, you know, go from there. So they were very nice, very friendly, very quick back and forth in terms of emails. So there is no script. This is just my honest impressions. Very subjective, of course, because also I'm a lefty. More about that later in terms of how it works for my setup. So let's check out the details and my general impressions. So you have your mouse here. This is at a sale currently. And as you go through, you can see in the images how you're supposed to hold it. What people think about this whole setup. This is the mouse, you know, it's glory as you saw in the unboxing. Like I said, current price is at a discount. And as you go down here, you have the guarantee of it, the onboarding instructions, which are here, which are also on a different page. You can see that he'll slide tutorial. And if you go back to here, you have the right above touch software, which is this one, which we'll get to that later. Shipping policy and asking questions. You also have here people going through it and kind of telling you why they like it and testimonials. And here is the rest of the page. And it claims it's the most effective carpal tunnel mouse solution since 2016. If you click on here, you got to do different versions. These are just slightly different in terms of warranty. And that's it for overview in terms of the site. So let's go through the features one by one. All right, this is the main menu here with all the button options that you have. It's super detailed. And you have profiles on the left and reset on the right. I'm actually on my profile. Let's switch to standard. The main thing is that it's slightly slow in some of these updates. This might just be me. Just be mindful that could happen. It's not because the mouse is weird. The mouse works really well. But for me, the menu was a bit slower every now and then switching between things, especially changing the mouse speed was a bit wonky for me. But of course, that can be updated. These are the buttons here. So if you push here, you have all kinds of things, your basic commands that continue. Multimedia commands here, additional commands and then DPI settings as well. And you have Macro Manager that you can set up here. Super detailed. I love it. And then sensitivity here. And these are your main buttons. So clicky buttons, of course, classic stuff, the scroll mouse, the DPI. This is on button six here. It's pretty neat. And again, you can change this here. It will cycle through the 500. Whatever you have, you can reset. Yes. And you can see how this goes up. So you can completely change this. And whenever you have one of them selected, it will also go to that color. So if I click on DPI here, you will see how it changes color. And I usually have it. I know for me, it's kind of on the higher side. But whatever you use is absolutely for you. Well, let's go through the colors here. So if you go to static, as it says here, you can see whatever color you have selected here and you can go in terms of intensity. So I can go all the way down and you can see it disappears. You can go to 50 and it's around that. And the color is going to change again, depending on what DPI setting you have. You can also have it not static and kind of breathe through the whole thing. So this is at 85. And you can see I'm going to let it play. And it's fairly slow. You can see this how it goes in and out of the colors. Then you can go all the way down to 45. And then you can see how it just ever so slightly faster. It's not a huge thing. This will see it. And you can go in 65, 55 or 65. And again, we'll have a little bit of a change. Neon is going to cycle through all the colors. So again, I'm going to leave the camera on that. You can see it's staying on the red and it's going to slowly, slowly change into another color. I'm saying this and it's taking forever. But that's why you have settings. So you can go down to 35. It's back to red and you can see it's going a lot faster through all the colors. So you really customize this. Then you have your report rate. So you can switch here from standard to all the way. I mean, I clicked on the all the way up here, but it goes left to right. I was actually clockwise looking at this. But this is an option here. The speed you can see here. See, for now, it's OK. Now I clicked and it's it takes forever to load. So be mindful of that. You have a double click speed, of course, that's cool. And then the scroll speed with the wheel, which I can go through here. That is that option through there. So it's super, super detailed in terms of how you can customize every single button. The macro manager is great. And you can see here a side view for all the side buttons, which I'll get to later, which are a bit of a sticky point for me. And then again, the top view. So as you saw, it's super detailed in terms of how you can customize the mouse and having used the mouse. I have to say, in terms of what I think about it, it's super comfortable. Am I going to use it? No, but that doesn't mean that it's bad. The main reason is because of this. That being said, having used this mouse now and replaced the other mouse, there's a huge difference. I definitely don't. There's a slight different way of how you're supposed to click it. So if you look at kind of the standard gripping position of your fingers, you got the front clicking with this one. It's more on the backside of your fingers. Again, the onboarding tutorial can explain to you how you're supposed to rest your hand at first. It was a bit odd because I do a lot of kind of curling with the fingers to move the mouse up and down.  And you start moving your hand or your overall arm a bit more, which at first I wasn't a big fan of. I don't want to use more of my arm and potentially have some discomfort here. But with all of the settings you have in the menu, you can really customize this where you just have minimal movement to move around around my four screens. I actually have it fairly dialed in and it's actually really cool. I don't really use the full arm. It's just slight movement and the clicking is much more comfortable. I have to say I started animating about some ball with it. And it's it's also tricky because I'm so used to a pen and a tablet to then go through the whole process and kind of switch over to a mouse. Was a bit odd, but it's also a good example because I have to kind of re go and relearn it in a way. And I was probably too tense. And there I say, I didn't really have any any finger pain. Every now and then I went back to clicking with the front part and then it doesn't really click so well because you have to click with this side. So there's definitely a bit of an adjustment period. But in terms of using it on a daily basis, going through menus and work and some animating, I noticed a difference. It's definitely better. And if you are always using a mouse, I would personally recommend to try this for sure. I think it's it's definitely better than a regular mouse. You notice it right away in terms of how you click it. In terms of long term, I'm just so comfortable with this. And in my overall workflow with the tablet, how I use the pen to click on my stream deck, I just there's a certain workflow that I have now. And it's just I'm just so much more comfortable and I never have any pain. And it's just I'm faster with it and just still more comfortable. So I would recommend you try it. I think it's it's definitely worth to try. And I've definitely noticed the difference. Ultimately, I'm also not choosing it just because it's for right-handed people. And I'm a lefty. So the mouse buttons, the two I can't I mean, you can reach them. But then I start switching my hand position where I curl the fingers again, negating kind of the ergonomic positive aspects of the mouse. That being said, it will replace the current mouse. So I'm going to use it and definitely not go back to regular mouse. I think that for sure. So it's a recommended with caveats. I think that's where I would leave it. I did ask about a left-handed mouse that said, yes, that is planned, but not in the near future. So whenever that comes out, I will definitely get it and switch it. But for now, I'm just going to leave it at that as, you know, maybe my mouse in case the tablet doesn't work, something reboots, the drivers are off and I got to use the mouse. I hope that was a good enough overview. I hope it might be helpful to you. I'm curious if you are going to use it or if you already have used it, what your thoughts are, you know, it's common and curious about what you think. And that's kind of that for the review overview. Like and subscribe at the end, the usual pitch or not, depending slowly up to you. But I'm leaving it at that. Thank you for watching. And hopefully I'll see you or you'll see me in one of my next clips.