Assalamu alaikum khawafatuhu, Huzrat. Wasim Hassan welcomes you to the virtual University of Pakistan. We are getting into lecture 44 of brand management, MKT 624. The area that we are discussing here is brand planning. Brand planning has the three distinct steps that I started talking about in the previous lecture. I was done with the first fund which relates corporate strategy and brands, which is all about the treatment that the brands must get at the top most level of the corporations. I was talking about the second part of the planning process when the time ran out. That particular part is the brand planning itself. Market analysis is the topic within that area that I was talking about and under that subject. It is the drivers of change that were at hand in the previous lecture. So let us continue from where I left. There are different forces of change and the dominant forces which cause changes in your market makeup and the competitive adjustments are the ones I started talking about in the previous lecture. The two dominant forces that I talked about were the change in the long-term growth of the industry, meaning an upward change or a downward change. The second dominant force which really affects companies is the change in use of the product, meaning who your customers are and what is the change in the use, meaning the way they use the product. What is it that really causes that change? Meaning if we have a dominant driving force under that force, what really is it that becomes the driver? The third dominant force which really forces companies to bring about changes in their competitive behavior, the reason I call competitive behavior or competitive adjustments because we all are part of the market and we all are the players within the market and since we are pitted against one another, we are competitive in nature. So whatever moves that we undertake are known as competitive moves. So let us look at the competitive adjustments which are caused by these dominant forces. Product innovation is another dominant force which brings about changes and this is a dominant force which is basically created by the manufacturers. What happens is that there are industries in which the manufacturers are so innovative because of the market pressures, meaning the competitive pressures and because of the technical expertise they have at their disposal that they keep on innovating their products at a ferocious pace and because of that what happens is the markets grow faster, industry grows faster and the level of differentiation gets wider and wider and because of these factors the net result is that the perception of the consumer gets reformed. So when you are part of an industry which is growing fast, I mean the market is growing and the manufacturers also are growing and you happen to be one of the suppliers to one of those manufacturers, you have got to take into consideration all the competitive adjustments in relation to your own posture. This is just a hypothetical situation. You also could be one of the manufacturers that are part of the group causing that force which is translating into so many changes within the industry. The factor means that you have got to be mindful and very sensitive to all the changes and the dominant forces which have the potential to bring any changes that may require adjustments on your part. Another dominant force that we should talk about is the market innovations. Market innovations take place in the form of a newer kind of delivery and marketing people get into creative methods of distribution only to improve their costs and improve the relationship between the product and the customers and to make the product more customer friendly, so to say. And when that happens it really changes the whole landscape of the market. If you think that something of that sort is taking place within the market that you are a part of, you have got to take that into very serious consideration. If you think that somebody has been very ingenious and the actions on the part of that particular manufacturer have not really translated into heavy impacts then you may ignore it for the time being but any competitive adjustments which you think they should be brought about have to be brought about in response to the changes which are taking place in the market. Be very alert all the time. Another dominant force that you must consider during your planning process is the entry or exit of firms. You are part of an industry which is peaceful in the sense that it is steady in its growth and the number of players is well established and all of a sudden what happens is a foreign company with a lot of resource that enters your market and creates the first of all ripples which get translated into something really drastic and very cataclysmic. When that happens it really affects the cost structures and the marketing structures within that particular market because in most of the cases big companies have the potential to bring costs down and that is the one thing which really makes them big. In that situation you have got to study your market and the moves on part of your the competitors very carefully because all the competitive adjustments that are to be made are going to form the basis of your future movements and therefore any major impacts have to be taken into very serious considerations. So by the same token if due to certain reasons one player or a couple of players within the market are exiting due to the very pressing the dominant forces and they just cannot sustain themselves. Again you have got to make certain competitive adjustments. You may also have to face the burnt of the situation just like they have faced or that may provide you with the kind of an opportunity to fill the gap whatever gap that is it could be kind of a narrow dwindling gap because of the declining market in that situation but whatever the situation may be if you think you can capitalize on that situation you have got to make the competitive adjustments accordingly and craft your strategic moves or the executions accordingly. Another example could be that of a manufacturer from a different category altogether meaning a manufacturer who is operating in a different category but is very resourceful and tempted by the growth of your market he decides to become a part of that and having a lot of brand power in his original market he jumps into yours causing a lot of changes. You have got to take into those drivers into consideration if the intrigue of this kind of resourceful player really changes the rules of the game. The strengths that you have have got to be exploited the weaknesses that you may have have got to be eradicated and so on and so forth. The strategic process has got to be considered accordingly. Another change meaning the driving force that really changes the market and necessitates the competitive adjustments is the change of lifestyle. Let's take the example of the anti-smoking campaign all over the world and you will know what this really means. This driver of change has really got to be brought about the drastic adjustments within the strategic movements of all those manufacturers who are dealing within the smoke market. Let us talk about another example in relation to our lifestyle. When we talk of things like the high level of salt and sugar and chemical additives, customers have become so sensitive to all these things because of the health concerns that the manufacturers really have to bring about changes into the positioning of their brands. While talking about the positioning and the change in positioning let me draw your attention toward the factor which really stands out when we talk of positioning, the factor of what it is not. You will recall it is because of that factor that the manufacturers start talking about no added sugar, they start talking about no additives at all or this product does not contain a high level of salt so on and so forth. So these are the social concerns which you people have to address through the inner core of your brands and then communicate with your customers accordingly. And it is this driving force which really forces people like you to bring about changes in your positionings and this is not a small force. This really has a lot of serious repercussions. Look at the increased level of interest that people are having in physical fitness. That has given rise to so many different markets, the markets relating to exercise machines and the markets related to the mountain bikes for example. So when you are a part of those markets you have to think about the competitive adjustments which you should bring about in relation to your channels just to give you one example. What is important about this driver is or the driving forces that you should be able to develop a relationship between the changing social concerns and the changing trends that are caused by these social concerns and then be in a position to capitalize on those. Quick responders always seem to be the winners because they know when to take advantage of the changing concerns. So with the help of examples that I have given you you should be very clear about the dominance of this particular driving force. Having talked about the driving forces or the drivers of change, let us now talk about the link that we should establish between the driving forces and strategy. There is a very close link between the two because the strategy has to be driven by the driving forces, the prevalent in the marketplace and a strategy that has got to be a reflection of all those forces which shape up the market. Unless the managers can really assess the changes to which the driving forces are causing within their markets, they cannot really have an insight for the immediate future and the immediate future is like a period from one year to three years. They will not be in a position to plan well for that future unless they know what is the impact of those driving forces. So in other words, the managers have got to identify those forces in the first place and in the second place they must look into the implications that those forces have for their businesses and then relate the two in order to make their brands a success. The ones managers could have identified those driving forces, the next question which comes to their mind is or the next step which they have to undertake is about those factors which become very critical or which become key factors to bringing about those changes. So in other words, what we are talking about is in the first place the driving forces and the drivers which are causing change and then we are now going to talk about those factors which are very critical for the companies to make adjustments in order to respond to those changes. These critical factors are known as critical success factors. These are also known as key success factors. So the terminologies mean just about the same thing. What are these key success factors given in any setup? We have to learn those. Key success factors are those strategic elements like the product attributes, financial resources, human resources, your competencies and your competitive capabilities and other outcomes which really make a difference between a profit situation and a loss situation. These are the key success factors which really enable you to respond to the changes and when you respond to those changes, you respond to those changes with the help of your human resource, with the help of your financial resource and the competitive capabilities and there are so many other related factors which enable you to sustain your business. Businesses have to pay a lot of attention to all those factors in order to succeed financially and competitively in the marketplace. As a matter of fact, if a business can answer three basic questions about the industry, the answers will lead the companies to assess its capabilities in terms of all those key factors which the company needs to have in place to respond to the driving forces. Answers to these questions in other words are going to draw a relationship between the factors of success and the driving forces which are to be addressed in order to stay competitive because you can stay competitive only if you respond to the changes caused by those driving forces and you have to have certain key success factors to be able to do that. The first question is on what basis customers can choose between the different brands or different sellers? This sounds like a very familiar question and this may also sound like a very basic question which you ask in so many different contexts but here you see that you've got to ask this question in order really to ascertain whether or not you really have the basic capabilities in terms of your competitiveness, in terms of your resourcefulness, meaning human resource and financial resource and in terms of all those strategic factors that you have to have in place to succeed in the market financially and compatatively like I said. A very important question to answer. The second question which you must ask about the key success factors is what is it that a seller has to do to remain very competitive? Meaning what are the resources and competitive capabilities that really make someone very competitive? The third question is what is it that a seller has to do to sustain that competitive advantage? So the way to ask the question number two that addresses your competitiveness through resources meaning the human resource and financial resource and your other strengths that really give you a lot of competitive capability in the market. The third question addresses your ability to maintain and sustain those capabilities and you answer the question in a way which tells you what is it that it takes to maintain those abilities because maintaining the competitive advantage is something which is going to give you strength in the market. Keep in mind that key success factors are the industry related. Meaning those are the ones which could be taken advantage of by the industry as a whole or by those players who really are very sensitive to those factors. Meaning those players who are sensitive in terms of responding to the driving forces of change. And let me explain this concept with the help of an example. You are part of an industry which is huge and which is voluminous. High volumes are being sold by all the major competitors. It is an industry which is characterized by economies of scale because you cannot achieve good profitability unless you go for very high volumes and unless you really can achieve those economies of scale because everybody is going for volumes. Maybe you are selling something which is consumer consumable and the selling price of which is not very high. So in this situation the kind of strategy that you should craft you should be clear about that by now. Do you think a strategy that deals with a niche market is going to work here? No, not at all. You have got to come up with a strategy which deals with very high volumes and therefore deals with the channels which are compatible with selling high volumes and deals with a level of communication which you require in order to reach your customers. If you come up with a strategy which looks beautiful in terms of the words and in terms of its statement but really is based on something which should belong to a very small specialized kind of market then it is going to be at odds with the market because you are a part of. So by the same token I give you another example of the market which is very highly specialized and you are a part of that. Just think for a while that you are a producer producing high fashion garments. Now when you are doing that a strategy that deals with very high volume basic garments like t-shirts is really going to be at odds with a strategy that you really need in this kind of a situation. This is a situation in which you have to have a strategy that deals with something very special and while taking care of that strategy you have to think of very special stuff in terms of selection of colors at the start of every season or in terms of the fashion design which is very basic to the segment that you are dealing with and not something in a way that deals with run of the mill with the products. So the strategy that you have to have here in this situation has to stem from the specialized nature of the segment that you are dealing with. That may have its repercussions in terms of channels. Well as a matter of fact it certainly will have and it must have. You might start thinking in terms of having your own stores because it is with the help of a company owned stores that you really can bring the positioning of your brand to life. You are going to have the same brand name for your stores. You are going to go for a compatible decor of the store and thereby creating an overall aura and ambience which is very compatible with the positioning of the brand and hence not being dependent on chain stores or those supermarkets that sell everybody else's brands. So just look at the implications of the strategy in which you must be aware of in relation to the key success factors and in relation to the responses you have to have to the driving forces. The example of having the right kind of human resource explains it all. So if you are devoid of certain resources which are not really in line with your strategic thinking there is going to be a gap between the positioning of the product and your actual capabilities. So being very good managers you have got to make sure that everything falls in line. Make no mistake about one fact that you are not the only one player within the industry. You have other players, meaning other competitors and it all depends who is quicker in responding to the changes before others. Meaning who is the one who really can muster these success factors and then be in a position to respond to all those changes. And knowing that there is a very close relationship between these factors and the driving forces I would again draw your attention toward the fact that the key success factors are industry related and because of that nature those factors are not the property or are not the monopoly of one particular player or one particular marketing company. So those players that are in a position to more quickly identify the key success factors in comparison with their competitors are always better off. They are the players who are very sensitive to the changes that are taking place in the key success factors because of the changes in the driving forces. So in other words the driving forces could also change from time to time and whenever a change within the driving forces take place that also leads towards a change in the key success factors. It is not that a set of key success factors applying to our situation today is going to also work say three years down the line that may not be the case. Let me explain this with the help of an example. Global economic changes serving as an important driver may bring one industry into your country and hence could make it very important for you to look for certain key success factors. What has happened is all of a sudden that there is a lot of demand pressure in terms of making that particular product or those products which are now going to be manufactured in your country. Like I said earlier this has taken place because of the global supply chain which keeps making so many different countries as to the part of the overall links within the globalized mechanism of purchasing the different branded products destined for one particular market. So what happens is that the pressure in one particular country builds up and then so many manufacturers jump into the arena and when that happens the problem of human resource comes in. So you are looking at the human resource or the lack of it as one of the key success factors in relation to your industry. You think to yourself that in order to be successful in this particular industry given the fact that we have all of the resources meaning financial resource and the technological resource and of course the orders which are going to be offered to us because we are going to be part of the overall global supply chain, orders will keep coming. We only have to execute those and for that the most important or the most critical success factor is the availability of the right staff in terms of management and also in terms of labour. And this is what really happened to the apparel industry of our country. All of a sudden when the demand pressure built up and we were supposed to be making so many quality of battle for the buyers in the western markets the weed and shot of the human resource and the manufacturers were really running around like a scared rabbit looking for the right human resource which was very scarce. So this is one example of the key success factor which pops up as a result of a driving force which is the global supply chain. This is one example. So to summarise this I can say that the managers have got to stick to the very sensitive to all the key success factors which they must be able to identify and then capitalise on those. Let's take a look at a long list of the key success factors which a company should consider before making its or while making its strategic moves. Let me also make it very clear at the beginning of this list that the key success factors which are real keys to the success of a company mostly are never more than a couple in number it could be just one factor or it could be like two factors it is not that you really have to have a dozen factors in order to succeed. There are many things which are given and which are very basic and which have to be taken into account while you operate within one particular market but then there are certain changes which really make it important for you to look for those factors which have to enable you to respond to those changes. Back to the list, let's see what that is. It could be the low cost production efficiency. So in other words you can say that in order to be successful in our industry we have got to achieve the low cost of production otherwise there is no way that we can sell our product and still make certain profits. So obviously this has to be a company which has to be an industry with very high volumes. The second factor could be quality of production you are operating in a market which really requires very high quality and it is a key success factor. In other words if you cannot really come up with a meaningful level of differentiation supported by the relevant quality you cannot succeed. So this is a success factor. Another one is the access to the adequate supply of flavor access to the adequate supply of managers these are the very important factors and I just gave you one example in relation to global supply chain. Other factors could be like owning your own stores and owning your channels so to say past customer service could be a key success factor. Attractive styling and packaging could be a key success factor. You might talk about this factor because you know that your market in relation to your product is so much conscious of the styling because you are dealing with fashion for example you are dealing with certain packaged products in which styling again is very important so you may take this into consideration. I mean you must take that into consideration. Another key success factor could be perpetual advertising. Why do you think certain manufacturers could get into advertising and remain into the advertising the whole year because it is one of the key success factors. Huge volumes and a lot of competition a lot of entrance within the market and therefore a vital need to stay ahead of others and you tell your colleagues who are not from the marketing area listen this really is one of the key success factors if we do not do that we cannot make our customers retain the message and hence make it 100% sure that the next time they will go for the action desired on their part. So there could be so many the different key success factors of which a few that I have talked about but because of the positive of time the objective is that you've got to be very sensitive to all the changes which are taking place in the market and you've got to identify the drivers which are causing those changes and then you've got to identify and capitalize on all those factors which you think are the key to attaining success in the light of the changes that are taking place. So much for the market analysis and we get on to the third step of the second phase which is the planning process and this step is brand analysis. You get into a comprehensive brand analysis while you are working with your planning for the brand. The brand analysis starts with the brand model and that is something which really does not need a lot of discussion because the planning process starts with an understanding on part of the top management about the brand essence and the brand model and therefore it has to with the trickle down in terms of the understanding and then in terms of the strategy making and strategy execution. You've got to be very correct in terms of the model and thereby meaning about the essence and the values which your brand is going to offer and you must talk about that. So in other words the personality and the imagery and the brand identity that you are trying to create must be recognizable instantaneously. This basically is the prime objective of the brand analysis and therefore you've got to talk about the essence and the values in a little more detail. You talk about all the dimensions but you talk about those dimensions in relation to the capabilities of execution. You also talk about the communication media which is going to be put together preferably in a very integrated form. You recall the importance of the communication and the integration of all the tools that you have at your disposal and you've got to make sure that the message which you are going to create has got to be very coherent all along the campaign. So these are the kind of elements that you must take into consideration when you are analyzing your brand and you have started your analysis with the brand model. That is what I talked about. You must be very clear about the positioning of your brand and this again is something that goes without saying because this is something around all the strategies of the marketing process and rather other processes revolve. The brand's essence, the core values, the identity and the personality and the imagery and all other strategic considerations have to stem from the positioning of the product. So unless you are clear about the positioning you are not going to get into the areas of segmentation and differentiation in the right most way. As a matter of fact, I am talking about the importance of positioning here because while you analyze your brand you have to come up with a statement of strategy that talks about the level of differentiation in which your brand is going to offer to your customers and with the help of that differentiation you are going to occupy that position into the minds of your customers and that happens to be the prime, prime objective. So much for positioning in the context of the brand analysis and the rest you all know. The next step while you analyze your brand is objectives. This is an area which really deals with the numbers. You've got to talk about the numbers which you are out to achieve and you talk about the planned period like year one, year two, year three and projections in terms of the sales forecasts that you agree with the salespeople and that you envisage achieving at the end of the period. You also talk about your competition in this very context because you do take into account the volumes which are enjoyed by if not all of the players at least the major players do take into consideration their market shares, respective market shares and compare those with yours the way it looks like at the end of the planned period. You also talk about the growth factor of the industry and the market in other words like how many percent the market has been going over the past seven years meaning what have been the trends of the growth and on the basis of that you make your extrapolations and based on that you end up with certain numbers relating to your market share and high market share with the why high and low market share, why low and so on and so forth but the area primarily relates numbers. After you have taken into consideration your numbers the next step is the development of the brand's picture it is not that I am talking about all these elements over and over again this is an effort on my part to take you through the planning process as it is going to take place while you are on it what is the brand's picture the brand's picture is in the context of the planning process the combination of the creative elements like the brand's vision the brand's promise the brand's contract here while you go through the planning process you can't put down in writing in a very well structured way what the picture is and what are the set of the promises you are planning to deliver to your customers and based on those promises what is the contract which comes into being and the basic objective is to elaborate all these strategic elements in relation to the picture and contract and to make sure there are no gaps whatever you plan is very consistent because if you come up with something very consistent you are going to only legitimize the planning process and the brand's position so to say so the fact is if you are talking about a set of promises that can be delivered you are making sure that you can deliver the contract and when you see yourself in that kind of a situation you are only legitimizing the brand's position and that basically is the objective of this step of the planning process and then is the products and its variance you have got to talk about the product and all the sizes you are going to introduce you also have to talk about who, what, where factors because if you are selling biscuits you know there is a pack which is meant for the party time and there is a pack or small sachet which is meant for any time what is really meant by the product and its variance the importance of this step also is highlighted when you start talking about getting into the various other segments meaning when you relate your product with the kind of extensions that you may have to bring about at the future point in time which of course is the part of the plan then this really becomes highlighted and you will agree with me you have got to talk about the small pack which you do not really have as part of the portfolio at the moment but you think it must be brought about and introduced on the market you have to talk of that variant right now and take that into the planning process all the considerations must center around the brand promise and the contract and hence the positioning so this is something which I am highlighting again and again meaning the need for you to be very consistent in terms of the brand's vision the brand's positioning and the promise and the contract because wherever you get an answer to yourself not in line with what you are doing you are getting into inconsistencies and you are getting into your planning process which really is not in line with the overall strategic motives the next step in the brand analysis is naming there are different and divergent views on naming a product there are marketing experts who think there is not much in a name and in favor of this argument they cite so many names which really do not mean much you look around and you will find to yourselves that there are so many powerful names really do not reflect the positioning of the brand so in other words the other camp is a proponent of the reflection of your brand's positioning in other words you have to have a name which really expresses the inner core of the product and in doing so what you have to keep in mind is that the name should not be too broad that it really loses the essence of the brand of the brand's positioning and then at the same time it should not be too narrow that it starts depriving you of the possibilities of the brand extension you should be having a name which maintains the balance between being close to the positioning and at the same time not being too much away from the positioning the next step is the packaging through packaging you are going to highlight the personality of the brand now packaging has not to be mistaken for the brand's personality it is an outward expression of the personality which is based on the inner core and so on and so forth what is important is that we have to consider the utility and usefulness of this tool that we have at our hand while creating the package you must not overdo it and at the same time you must not come up with a package about which your customers might say well much is left to be desired you have to maintain a balance depending upon the quality of the brand quality being very relative you have got to decide the kind of segment that you are a part of and the pricing point which you have defined for that particular product you should come up with a compatible quality do not overdo it at the same time do not underdo it so that is the basic lesson of the packaging with this the time seems to be running out and I shall continue my next and last lecture with the discussion on the brand analysis and after having been done with the brand analysis I shall be done with the second phase of the planning process which in itself is known as the planning process and then get on to the final phase which is the brand plan which is the template which you are going to use as an outline for any new introduction or any reappraisal of an existing brand Allah Hafiz, until that time, thank you very much


Hi, my name is Elisa, and I'm delighted to present this work on characterizing image accessibility on Wikipedia across languages, which is a collaboration between researchers at Stanford and Cuba. Using Wikipedia is designed as an eye-opening experience on many levels, and this experience isn't only metaphorically, but also literally very visual, with many, many images that illustrate the content. On English Wikipedia alone are an estimated 5 million distinct and contentful images. In fact, images are Wikipedia's most common multimedia content and lead to the highest multimedia engagement. Previous work has shown that users especially engage with images and articles about art and less well-known people.  But due to their visual nature, they pose an accessibility challenge, especially for blind and low-vision users who have to rely on screen readers to read out the content of a page. For these users, images are only accessible if they have an associated alt description that can be read out. It's well documented that this is a major issue on social media platforms. For instance, on Twitter, only 0.1% of all images have alt text. In this work, we are asking how accessible are Wikipedia's images across languages. We highlight the challenges that come with estimating accessibility coverage and list potentially promising mitigation strategies that can help provide a more inclusive experience. Let's first see what type of image-related texts there are and how well they're covered across languages. We care about all of the texts that relate to an image since they all might potentially aid the accessibility purpose to some degree. We see here the Wikipedia article for banana and are in the section on Cavendish bananas. Below the image in this paragraph is what tends to be called a caption. Here, Cavendish bananas are the main commercial banana cult of art sold in the world market. The caption isn't intended to replace the image, but instead to add contextual information that connects the image to the article content. Another associated text is the alt text, which is part of the HTML signature of the image. And this is what a screen reader will read out if present to make the image accessible. The alt text present for this image is grocery store photo of several bunches of bananas. This is the main text important for accessibility, which we will focus on. The last image based text on Wikipedia is what we call the attribution description. This is a description associated with the image when viewing it on Wikimedia Commons. In contrast to the alt text, this description is independent of any article where the image might appear. It also isn't intended to replace the image, but also frequently contains content about the person who uploaded the image when it was taken, image size specifications, etc. Now, all of these texts relate to the image directly, so let's inspect how often they're present on Wikipedia. This data analysis is performed on the with data set, which contains crawled Wikipedia data from 2020, covering 108 languages. Let's start with attribution descriptions, so the ones that are on Wikicommons. Across languages, almost all images have some attribution description present. This could be however in a language that's different from the language of the article where the image is in. About 50% of images have captions, that is the text appearing below an image. Alt descriptions for accessibility are the least available, covering on average 10% of the images in a given language. And this already points to a universal image accessibility issue on Wikipedia. So, using widths, we can easily extract whether a type of text is present. But this data can only function as upper estimates for how many of those texts are actually useful. Since alt texts are generally not visible to the Wikipedia users and editors, they suffer from severe quality issues. So how can we narrow this down a bit more? One indication of alt description quality in a language is the number of unique descriptions. Informative descriptions can be expected to be quite specific to the image they describe. In most languages, about 80% of all alt descriptions are unique. Noteworthy outliers are German and French with only about 65% unique descriptions. And in fact, when following up on these results, we find that in German, the high duplication rate is due to extensive use of image galleries and articles, where the alt description is defined by the template engine to be the same as the caption. To investigate whether there are other potentially general estimates of the proportion of useful descriptions, we conducted a human subject experiment where we showed participants sample descriptions from English Wikipedia. They rated those using established criteria from prior research and were presented within the available Wikipedia context to imitate the user experience as closely as possible. Unfortunately, we don't find evidence for a generally applicable heuristic to detect a useful from a non useful alt description. That doesn't seem to be a firm minimum length requirement, nor are descriptions that are repetitions from the main text uniformly considered bad. From the 30 descriptions tested only two are consistently rated as good by the annotators. About half of the descriptions are on average rated as rather not good, so less than three out of five on the Likert scale. And these results suggest that even for English, the rate of overall alt text coverage potentially severely overestimates the rate of useful descriptions. But automatically detecting and flagging low quality descriptions will require sophisticated methods guided by empirical research. So what can we do going forward. Firstly, it might be helpful to make image accessibility a quality dimension within Wikipedia. We estimate that more than 40% of the English Wikipedia articles marked by the community as featured that is of best quality have no alt texts for any of their images. Further providing accessibility descriptions could become more central in the editing tools, for example by requiring contributors to write alt text for every new image before saving the content. Finally, direct community engagement can focus on content that needs urgent attention and connect contributors with blind and low vision people who can offer valuable feedback on their needs. The additional implementation of tools to surface articles and images without accessibility coverage and support editors and the difficult task of writing alt text could help improve quality. Lastly mixed human AI systems may prove effective by lowering the participation barrier, since it is often easier to edit an existing text than it is to write one from scratch. We also may be able to find areas of Wikipedia that are unusually successful in achieving good coverage for accessibility descriptions and such communities could teach us important lessons. In summary, our work investigates accessibility of images on Wikipedia and outline steps towards addressing this challenge. Thank you.


I think we have to aim higher, I think they were mine, because they are not here before. No, they are not here. Oh, no? Okay. No.


The River State Governor Newsom, Mweke, has accused Nigel Delta Development Commission the NDDC management of laying claim and signing of money for a project executed by the River State Government. Mweke raised the allegation at the Government House Board, Harkett, during a visit by the new board of the Commission led by its Chairman, Loretta Ifanyonoche, who he charged to make the difference. And this has become a cash car for politicians. Look at about the money and this is lost in this state just to win the inertia here. Cash, 10 billion, carry, go and give, wasted. 10 billion you would have used to construct a mega project in the state. Development of the people of the Harkett Delta, all you see is political contrast. Somebody live here, you go and do a road of 50 meters leading to his gate, to his gate. Is that the duty of NDDC? You don't lay hands with state before you do project. You sit in your office, conceive project with that input of the state. You can't even come and say, look, River State, what is your priority? What do you want NDDC? What project? We are not saying give it to the state to do, that's not what we are saying. We can ask, okay, say this road is about 30 kilometers, is a bridge, is very key to the economic development of this state. So that tomorrow we know that it was NDDC, that did it. We are here to ask for your guidance. You have seen and you know and you have spoken about the poor services that NDDC has been known for. Trillions of Naira has been pumped into this commission and we have little or nothing to show for it. We are here now determined, very determined to do things differently. And with you, with what we have seen in Potacot here, we know we have you as our guide, as our advisor so that you can advise us and call us to order when you see us going astray. We want to emulate what you have done in Potacot and see if we can replicate it across the Niger Delta. Hello, hope you enjoyed the news. Please do subscribe to our YouTube channel and don't forget to hit the notification button so you get notified about fresh news updates.


Save 10% with my code Bobby10 on raw, organic, grass-fed and grass-finished, freeze-dried organ meats from grassland nutrition. Link in the description box. All right guys, welcome back to the channel. If you're new, my name is Bobby. Guys, today we're going to react to Mecca and pilgrimage in the Bible by as a Muslim. As I mentioned previously, I'm always skeptical when it comes down to certain religious claims that a prophet or a certain teaching can be found in the previous religion, especially coming from a Christian background because I saw what Christians did with Jesus trying to find him in the Old Testament. Nevertheless, as always, I keep an open mind. I'm here to learn and it wouldn't be the first time that we see a video that actually can convince me otherwise. So with no further ado, let's have a look. Mecca and the pilgrimage to it in the Bible. As Muslims, we believe that Islam is the religion of all the prophets of God, Abraham, Moses, Jesus, and Muhammad, therefore we believe that that is the unifying red thread that you can find only Islam. Instead of claiming that Islam is a new religion, that Islam has it right because it is a new religion, it makes the counter claim. It says, hey, listen guys, there is nothing else but the submission to God. And the submission to God is what all the prophets have practiced. There is literally nothing else but Islam from the Islamic worldview. It is a very powerful message. Moses and Jesus foretold the coming of Prophet Muhammad Beesbe upon him and they referred to the Holy Sites for his followers. Allah said in the Quran, indeed the first house of worship established for mankind was Becca, blessed and guidance for the worlds. As we see here, another name for Becca, the holy site for Muslims is Becca. We also see this name mentioned in the Bible, in the Psalms of 84. How lovely is your dwelling place. Oh Lord Almighty, my soul yearns even faints for the course of the Lord. My heart and my flesh cry out for the living God. Even the sparrow has found a home and the swallow a nest for herself where she may have her young. A place near your altar. Oh Lord Almighty, my King, and my God, blessed are those who dwell in your house. They are ever praising you, Sala. Blessed are those whose strength is in you, who have set their hearts on pilgrimage as they pass through the valley of Becca. They make it a place of springs, the autumn rains, also covered with pools. From this we can gather the fu- All right, I had to double check this on biblegateway.com and I'm actually shocked to redefine those words. Blessed are those whose strength is in you, whose hearts are set on pilgrimage as they pass through the valley of Becca. And this wouldn't be the first time that I heard the claim that Mecca was known as Becca as well. So this is really mind-blowing stuff. I didn't know this. From this we can gather the following. In this place is the house of God, its name is Becca. It's a valley and it's not mountains. In this place the Lord is praised and it's a place for pilgrimage. This is a valley and it's dry. Inside it there is a spring of water. All these descriptions fit Mecca as well. It's the house of God, the Lord is praised and people go to- If we still have Christians watching, please guys let me know in the comment section what you think about this comment. Can you confirm this? Can you debunk this? Please let me know. For pilgrimage, Mecca is a valley, it's dry and it has Zamzam spring water. In the book of Genesis it talks about when Zamzam spring water was made by God, when Hagar was lived in the desert by Abraham. It says, when the water and the skin was gone, she put the boy under one of the bushes. Then she went off and sat about a bullshot away for she thought, I cannot watch the boy die. And as she said there, she began to sob. God heard the boy crying and the angels of God came to Hagar from heaven and said to her, what's the matter Hagar? Do not be afraid. God has heard the boy crying as he lies there. Lift the boy up and take him by hand for I will make him into a great nation. In another place in the bible, in the book of Isaiah, it talks about the place where a new spring water will burst and we call the place of holiness. Again, exactly describes Mecca. Then will come the lame leap like a deer and the new tongue shout for joy. Water will gush forth in the wilderness and streams in the desert. The burning sand will become pool and the thirsty ground bubbling spring and the hunts where jackals once lay, grass and reeds and piperous will grow and a highway will be there. It will be called the way of holiness. It will be for those who walk on that way. The unclean will not journey on it. Wicked fool will not go about on it. The question is, what is this springs of water is and what is this great nation? It's the nation that came to follow the last messenger of God who was the descendant of Ishmael, Prophet Muhammad Beisbe upon him, who was sent to the mountains of Paran, which is Mecca nowadays. In the bible we read, this is the blessing that Moses the man of God pronounced on the Israelites before his death. He said, the Lord came from Sinai and downed over from their seer. He shone forth from Mount Paran, meaning the Lord came from Sinai is referring to the coming of Moses and downed over from Sayyid referring to the coming of Jesus and shone forth from Paran is referring to the coming of the final Prophet Muhammad Beisbe upon him. Jesus Beisbe upon him told us that one day people will praise the Lord in another place other than Jerusalem and reference to Mecca. In the book of John we read, sir the woman said I can see that you are a prophet. Our ancestors worshipped on this mountain but you do claim that the place where we must worship is in Jerusalem. Woman, Jesus replied, believe me a time is coming when you will worship the father neither in this mountain nor in Jerusalem. It is well known.  Jesus was very very harsh with women. He was always giving them straight directions. He was a leader. Really read the Bible yourself and you will see that particular behavior. An absolute leader that was commanding his followers and moreover was commanding the women as well. Known that Prophet Muhammad Beisbe upon him came from the lineage of Prophet Ishmael and one of the sons of Ishmael is Kedar. Also it is known to all Muslims that when someone goes to Mecca, pilgrims do a lot of praising. Knowing these facts let's see what the Bible says in the book of Isaiah. Sing to the Lord new song. His praise from the end of the earth. You who will go down to the sea when all that is in it. You islands and all who live in them. Let the wilderness and its towns raise their voice. Let the settlements where Kedar lived rejoice. Let the people of Sala sing for joy. Let them shout from the mountain tops. Mecca is the holy place to Muslims where Muslims are obligated to go there once in their lifetime. While there they follow the rituals of Prophet Abraham Beisbe upon him. Islam is not a new religion. It is the religion of all prophets of God. It's the religion of Jesus and Moses and Muhammad. And that's what the Bible says. Follow the truth. If you have questions about Islam, ask a Muslim. All right guys and this is it for today's video. As I said in the beginning it wouldn't be the first time that I was convinced otherwise this video truly convinced me otherwise especially the explanation of the coming of Moses, the coming of Jesus and then finally the coming of Muhammad. This was linear just as the message of Islam is linear. That Islam is the religion that all the prophets followed just as clear and linear was the explanation of the coming prophets. For me it made sense however I would have to research further in order to truly know to truly understand. Nevertheless I want to invite you to comment in the comment section no matter if you're Christian or if you are Muslim and discuss respectfully what do you guys think? Can we see the coming of Muhammad in the Bible? Can we see the pilgrimage about Mecca aka Becca predicted here in the Bible? I'm really looking forward to hear what you guys have to say for me personally yet again very very convincing stuff yet again another stepping stone in my journey that God willing brings me closer to the truth. All right guys but this is it for today's video if you liked it leave it a thumbs up if you haven't subscribed already guys please do so. If you look into the statistics still over 70% are not subscribed to the channel so if you like the content subscribe and hit the notification bell as well so you stay up to date every time I upload. All right guys but this is it for today as always may God bless you all much love and peace.


Well, thank you all for staying until the very last session, right? I don't know if I wear you up with the state for my session, so thank you. My name is Stefano Stabilini, I'm one of the XenonArm maintainers. And I would like to speak to you about XenonArm for embedded platforms. So the first question that I want to ask is, why do we even need Xen on an embedded platform, right? Why do we need an hypervisor? I mean, do we? Right? And to answer this question, I was going to make this example, except that I have attended three days of this conference and I've, or this example, be made four times. How many of you did manage to get through the conference without hearing this example? Three. All right, I was well done. So I'll be quick about it, but basically this is a Cherokee Jeep car that was hacked remotely. Okay. And the way that was done is they, they connected to the infotainment system based on UConnect. They broke into UConnect. From UConnect, they managed to revise the firmware on a nearby chip and from there they could send commands over the canvas, basically taking over the vehicle, so brakes, steering, anything. Okay. Now, the point I want to make, though, is that this happened because there were components of different level of criticality, like the Brake system or even just the rear view cameras, not properly separated from components of a very different level of criticality, like the infotainment system. So there are, there were a presentation today about how to make sure this connection over the internet to your infotainment system on all the parts of the car can be secure. Now, my point is, if somebody makes a mistake and they do manage to break into your infotainment, your internet-connected infotainment system, you shouldn't worry because it should be completely isolated from everything else. Your car should be entirely safe, still, at least the Brake system, right? And this is where Xen helps you. Xen helps you componentize your system. Like componentize is just a buzzword. But what I mean is, you design your functions separately and you deploy them separately in different VMs so that they are completely isolated from one another. Now, the second example I was going to make, and that's where I did it before them, is the drone example that the jailhouse people actually made as well. So this actually reinforces the message. So this is a very good use case for an hypervisor. This is a demo, I'm quoting a demo made by Galois, I think, actually based here in Portland. In 2014, so it's by Nomi Niu, but it proves the point, what they did is they took a pilot quadcopter and they used Xen on arm to run free RTOS for the autopilot system that they were using as MacPilot, which is a research project, I think, for doing flying out autopilot for flying drones and Linux alongside and Linux for things like getting the camera input, compressing it and streaming it to the user. Now, why would you want to do this? Because this is exactly another one of those examples. You have a very critical system component that is autopilot software and the last critical component that is a streaming, compressing camera component. So one of them is mostly surely going to be some kind of RTOS variation, could be even Linux, in fact. And the other one is most surely a more complex system with Linux, a lot of libraries, compression libraries and so on. But the key message here is, what if by any, for any reason, maybe just system load, your Linux compression, video streaming component doesn't get scheduled or doesn't actually require a run for a couple of seconds. Well, the user is going to see a blip in the camera feed and that's pretty much it. What if your autopilot system doesn't get scheduled for a couple of seconds? The drone is going to eat the tree or a baby or a dog, right? You don't want that. So the point is Xen helps you separate again components that have a different trust profile, a different security profile.  That's not good, right? So Xen helps you actually make sure that those square you design on your draw, on your whiteboard become actually separate components on your system. So this is why Xen, for efficiency and consolidation, because things that previously could only run on a completely separate system now can run on the same system still securely separated, but the real primary goal is isolation and partitioning. So you use it to partition your system securely into different components, into different units of execution. Once you have Xen in place, then you can do a lot of other things like, for example, resilience. You can monitor your VM. If you detect any problem, you can reboot it, stop it, restart it, scaling. So if your loads require it, you can start more VMs or less VMs and portability. So let's say that you're working at the bare metal up level. So once you port your bare metal up to Xen as Xen VM, then you don't have to port it again and again and again every time a new board comes out. You can use Xen to provide that abstraction. So, well, I'll only spend a couple of words about it because you probably all know Xen is a type one hypervisor. That means it runs directly on the hardware. Everything else runs on top of Xen as a virtual machine, including DOM zero. That is the first virtual machine that boots and does all the drivers for your platform because by default Xen assigns all devices to DOM zero. So DOM zero just loads the drivers as if it was running on native. DOM zero also has a PV backend. So this is a way to share a device across multiple guests.  So there are drivers that create a virtual device of one class like a virtual network card. They connect to the backends in DOM zero and this backend can be in kernel space, user space, and they're used to share this resource, this device, at least the network card in this case. Now Xen, it's pretty popular on the cloud. So there are a lot of very large public cloud that are based on Xen including Amazon, AWS, including Tencent, the guy behind WeChat, Alibaba Cloud, Softlayers, a bunch. But Xen is not just used on cloud and servers. In fact, there are several products based on Xen for laptops and desktops. For example, QoS is a pretty famous Linux and Xen based secure environment for laptops and desktops based on Linux. Bromium that is a project to have a secure browser experience on Windows even. And there are also some ARM based projects on Xen and ARM based. I mean, like Donalworks, they provide services on top of Xen and ARM and Xen embedded. So Xen is an open source project. It's GPL v2, same license as the Linux kernel, and it works pretty much the same way. So we have a mailing list. We have a diverse community, different companies contributing it to it. And we are growing both in terms of contributors, in terms of employers of these contributors, and in terms of commits. Now, the stats for 2016 last year are a bit weird because actually we haven't counted all repositories yet. All right. So the point I want to make is the following. So Xen is popular on the cloud and on servers, but does it actually fit the bill for embedded platforms? Right? These are very different environments. There are different requirements. So here I'm going to try to list some of the different requirements that are unique to embedded. And then in the later part of the talk, I'm going to show how Xen meets these requirements. So the first two that are short boot times, a small footprint, well, obviously they're needed on embedded, but actually they don't hurt on servers as well. Like, so everybody likes short boot times and small overhead. But the last, the following are certainly unique to embedded. An example is small code base. So small code base is very important because in many embedded environments, you need a certification in order to be able to deploy your software, like Avionics, for example. This certification, not only are very expensive, but they're also very difficult to acquire. So a small code base is very important to actually be even be able to try the certification. Non-PCI device assignment, so on servers most, basically everything is PCI, right? At least in the X86 world. Unembedded is really important to be able to assign to virtual machine any device, like platform devices, AMBA devices, everything. Driver domains, we'll see later what they are, but what it's basically once you assign a device like an MMC controller, I don't know, a graphic card, anything, a coprocessor, to a VM, you also still need to be able to share it possibly with other virtual machine as well, and this is what is the driver domain. Low and deterministic RQ latency and real time schedulers, obviously a lot of embedded environments have real time requirements, and an hypervisor should be able to meet them, right? And coprocessor virtualization. Many embedded platforms come with accelerators or coprocessors or GPU that need, at the very least, to be assigned to a VM, but also shared with many VMs often. Now, I'm gonna start to show how Xenonarm meets these requirements by speaking about what Xenonarm is. So Xenonarm is a port of the Xenon hypervisor to arm and is upstream, is like arm support in Linux. However, Xenonarm is not exactly the same as Xenon X86. So when we started the port, back in late 2011, we already had several years of experience with Xenon X86, and well, we liked the project, but we recognized that actually Xenon X86 has several limitations. So when we started the project, we took the opportunity to start afresh and remove those limitations. So there are a lot of dark corners of Xenon X86, and I'm proud to say that I think Xenonarm has none of them. One example is QMU. So QMU is a great project, but when used with Xen, it's not that great. It's low, it doesn't scale well, and it increases significantly the surface of attack. So there is no QMU with Xenonarm, not at all. You cannot even run QMU for emulation. Even if you want it very hard, you cannot run it with Xenonarm. Another problem with the X86 in my Istanbul upon is that you have two kind of guests. You have PV guests that have some pros, but they don't use hardware virtualization, for example. Windows doesn't run as PV guests. And then you have HVM guests. Windows run as HVM guests. Most Amazon AWS VMs run as HVM guests, but they require QMU, which is not that great. So Xenonarm, I think, has one type of guest only, and I think it's the best of both worlds. Because it doesn't need QMU. It exploits virtualization extension in hardware. It relies on them, in fact. And it relies on para-virtualized drivers for IEO. So there is no emulation, no QMU, no slowness, no increases of surface of attack. So this is what I'm saying. Xenonarm is better than Xenonarm on X86. It's not a one-to-one port. As I said, one of the initial goals was to exploit the hardware as much as possible. And as a matter of fact, the arm virtualization extension are a really great match for the Xen architecture. And in fact, we managed to complete the port with feature-party or close to feature-party with X86, with a very small amount of lines of code. Considering that Xenonarm is such a powerful hyperfiler, and you'll see later the feature it has, the arm 32 N64-bit specific coding, then, all together, only amount to 30,000 lines of code. So this is just a quick picture to show that it's a good match for arm virtualization extensions. So what are these virtualization extensions? There is a Neo2 that is hypervisor mode, EL1 is kernel mode, EL0 is for applications, HVC is a new instruction to switch between kernel mode and hypervisor mode. And then you have virtualization support in the timer, the generic timer, in the GIC that is an interrupt controller, and second stage translation in the MMU. So Xen runs entirely and only in EL2. The guest kernel entirely and only in EL1, and the user space in EL0. HVC is used to make hypercodes. And second stage translation in the MMU is used to give memory or to assign memory to guests. The GIC is used to inject interrupt to guests. And the generic timer, virtualization is used to give timers to guests. So these are really a one-to-one match. OK. So this is the interesting part. So I'm going to try to go over to a list of features we have that I think some of them are unique to XenOnArm, like the first one, and to show how are relevant in an embedded environment. The first one, we can assign any device to a guest. Any. It doesn't have to be PCI. It can be AMDA, it can be embedded. Actually, it can be any MMI or region, any interrupt. In fact, the way we do it is there is an ILMEM parameter and an RQ parameter in the VM config file.  That's it. We have no guest firmware by default. So if you listen to the previous talk, UFI and so on, sometimes providers insist on having UFI as a guest firmware. So by default, XenOnArm can have UFI as a guest firmware. But by default, it does not. By default, it just boots a guest kernel directly. And in fact, usually I've seen Android booting on XenOnArm under three seconds. Now, there are certification efforts ongoing. So certification, as I mentioned, are complex. So you often require a combination of, first of all, not just the open source software, but also the binary, the produced binary, as well as the hardware combined to be certified. So we, as XenProject, as an open source community under the Linux Foundation umbrella, we cannot really pursue certification. But I can tell you there are several organizations that are doing certifications for XenOnArm in different environments. RQ latency. So actually, I just measure this. And not only we have low and deterministic RQ latency, but it's actually much lower than I expected. So the warm-max means the maximum RQ latency if you remove the first couple of interrupts that are used to warm the caches. So if you take away the first two interrupts that are usually have a much higher latency because the caches are still cold, then that's the maximum you get. And our warm-max is under 2,000 nanoseconds. How did we get there? Two ways. The first way is we support EOI in hardware. So one of the features of our virtualization extensions is that it allows a virtual interrupt to EOI actually the correspondent physical interrupt directly. These ways there are no traps in the hypervisor to say, OK, I want to EOI the virtual interrupt. And then from here, you trap in there. And there you do the EOI. Or another way to do it is you can request another special interrupt in which you do the EOI yourself in the hypervisor. Obviously, there are a lot of back and forth additional overhead. So there is nothing like that on Xenonarn because we use the hardware support for that. More interestingly, and far harder to code correctly, we have a feature there we call physical follow interrupt. So let's suppose you have physical CPU 0 on top of which is running virtual CPU 0 of a given guest. Now interrupt 109, so 109, arrives in physical CPU 0 and is injected as the corresponding virtual interrupt 109 into the virtual CPU 0. This is the default, let's suppose. What happens when a guest decided to change the target of that interrupt so that it's going to be received in virtual CPU 1? It can do it for IRQ balancing reason, for example. Or this is not in the picture. But another possibility if you're running a scheduler is that your scheduler moves the CPU 0 from here to here. So what happened in these cases? Not much because we immediately moved the corresponding physical interrupt. So the physical interrupt always follows the virtual interrupt as a shadow. This way, the physical CPU that gets interrupted is always the one that is supposed to be interrupted. So you don't want the case when you get this one if you get interrupted and you have to send an SGI to the other one and then the virtual interrupt gets injected. This is what happened on many other IPervisors and it's very slow, it kills your latency. For real-time environment, it's not really possible to use. Right, send schedulers. So I know that being embedded folks here, I say scheduler and you say, ah, OK. No worries. So the send scheduler architecture is extremely flexible and allow a lot of very different complex configuration, including having no scheduler. So this is just an example I'm making. Let's suppose you have a platform with eight cores. With that, you can partition the system this way. You can take four cores and run the regular default scheduler that is called credit on that there. Then you take two of the remaining cores and you run one of the real-time scheduler we have by default in the Xeniai provider and you select at any time. And the remaining two CPUs, you completely dedicate each of them to a different virtual CPU. This is possible by default with Xeniai provider. So in most cases, if you really care about lower Q latency, obviously what you want is this. So you assign directly, entirely, a physical core to a virtual CPU of your guest. But this is also pretty reasonable. This is a real-time scheduler. It gives you software time guarantees. It can be well-suited for some environments. But alongside, it might still be OK to run the regular scheduler for things that are not really real-time sensitive. You can have your regular VM scheduling for services that are not real-time critical. This is one of the lesser-known and newer features of Xeniai. It's called memory introspection. So obviously, you cannot do that in a system with real-time constraints because it introduces latencies. What it does is you can receive notifications for events happening in your VM in a monitor process in DOM0.  This VM accesses this memory range. This VM tried to execute this code over there. This VM changes page table. They are very fine-grained. And from DOM0, then you can even act. Once you receive this notification, you say, oh, no, no, this is not allowed. And so on. So this is an extremely powerful mechanism that basically allow you to do pretty much anything. So one of the classic use cases is to detect if a VM has been compromised. Because even if you just don't do anything most of the time, just receiving these events allow you to do statistical calculation to see if the behavior of your VM actually changes from average. And if it changes too much, maybe it's malfunctioning. Maybe it has been actually compromised.  It's worth spending some time speaking about PV protocols. So PV protocols are the main way to share a device across multiple VMs. There are a number of them already existing, and upstream in Linux and FreeBSD. The ones that are already existing and upstream are the following, a net for networking, block, console, keyboard, mouse, frame buffer. I think these are all pretty self-explanatory. XNGT. XNGT is by Intel, and it is not upstream, but is open source and available. And this to share an Intel graphic card among multiple VMs. And these also share 3D capabilities and OpenCL kind of possibilities across multiple guests. But this is actually one area of the project that is the most active at the moment. There are a lot of new PV protocols in-flight as we speak. And these are some of them. 9PFS is a PV5 system protocol. PVCos is a strange protocol that allow you to implement networking in your VMs using a different model. Now, networking is usually done by creating a virtual network card in your guest. This does not do that. What it does is it virtualizes the socket positive calls directly so that a socket or a receive message, a send message, and a set source function get sent to the host and implemented there. The host is done zero and implemented there. It's actually very fast. Multi-touch, more interesting for embedded scenarios, is to send multi-touch. It's an extension for the mouse and keyboard protocol and allow multi-touch event like Android style to be sent back and forward. Sound is to share the sound. And display is a much more advanced version of the frame buffer protocol. So this display allow you to create a different graphic object and share them. DRM style, if you are aware of the DRM framework in Linux. And is a good step forward toward a generic mechanism to be able to share a GPU across multiple guests. Yeah, absolutely. So, no, it's single host. It's for between VMs. So 90FS is usually like a pretty old actually specification to do a sort of networking file system that is more meant to be on a single host rather than a multi-host. Yes, you can do that. Yeah, you can do that. So basically what it allows you to do is to set up somewhere a file system root and saying, I'm gonna share in a VM like DOM zero and say, this is shared with VM one, two, and three. And they access this file system, not at the block level, but just as a file system level. Does it answer your question? And of course you can have multiple because you see later with the driver domains, but there is no reason to always have the backend in DOM zero. You can have backend in other domains as well. So you can have, actually you can do the other way around like having the backend for the file system in one of the DOM use and the front of the DOM zero if you like. But I want to spend, given that many of you probably, I mean, if you'll end up using Xenonarm for an embedded use case, you probably are gonna have some kind of weird device or accelerator that you wanna share across multiple VMs. And maybe you need an ad hoc protocol. Maybe not up streamable. Maybe not even open source. I don't know. How do you do that? Well, all PV protocols are based on the same building blocks, which are hypercos to share memory, to set up a shared ring. Usually it's used to set up a ring. You can share memory and do something else, but you have hypercos and function to immediately and automatically set up a ring with a shared page with a ring on it. And notifications. So you have hypercos to say, I want to send a software notification to this other VM and the other VM and I have hypercos to send that notification back and forth. So obviously when you have a ring buffer and you have a way to send notification, basically you have everything you need, right? So you can do pretty much anything you like. And in fact, all the protocols are based upon these constructs. Additionally, this is important, many of these implementation are not even GPL, they're BSD. So you can take the code and integrate it or use it as a base for any project of any license almost that you have. Okay, now this is the interesting part. This is a null slide because we always had driver domains. Nobody really used them on servers, but unembedded, they're really, really important. So the idea is, if you remember the first slide, all the devices were assigned to Domzero and all the backends were here, but there is actually no reason to do that because Xen can simply be told to assign, for example, the network card to an order of VM. We'll call it network driver domain. So this VM has the card assigned to it. So it runs the driver, the network stack, the network backend, and all the Domuse, these and all the others will connect to this backend here. So why would you wanna do that? Well, let's suppose that instead of a NIC, you have a wireless card, and your wireless card has a driver which is a bit flaky, right? We know that it happened in the past in Linux. So if your wireless driver, for any reason, panics or crushes, and you do that, the only thing that brings down is the natural driver domain because it's fully isolated from everything else. That means, okay, network connectivity goes down, obviously, but everything else stays up. And this is really the key to your partitioning, security, and isolation that I said at the beginning because if the things that are unsecure or you're not really counting on the stability of the code, you move them out on unprivileged guests, the damage they can do is much more limited. And I'm gonna make more concrete examples. So this is an architecture proposed by GlobalLogic for automotive. Actually, we are going back to 2014. The idea is you have two VMs, so you're using Xenonarm to start exactly and only two guests. One is Domzero, and the other one is your infotainment system based on Android. The idea is all the critical systems run in Domzero and only the infotainment low privilege system, low criticality system are in the infotainment VM. So the Android VM was assumed to be flaky and they had a monitoring process in Domzero to check if it was running well or not and if it wasn't, it was just being rebooted. This was the case, they were timing it and making sure that the reboot was happening in less than three seconds. To do this, write the assigned all devices to Domzero except for the graphics, the audio maybe the input to the Android VM. This is an early architecture, things have advanced. So I think one or two years later, GlobalLogic proposed these architectures. I think it's called Nautilus. So I'm seeing these as examples, obviously I'm not an expert on GlobalLogic solutions to be honest with you, but the idea here is you have actually three VMs. One is Domzero with the critical services. One is your infotainment system with the graphic card assigned to it. And the other one is a QNX neutrino VM. Because QNX in fact runs on Xenonarm and does front ends for the PD protocols. But things are never that easy in real life because this is how things got in 2016. There is a brand new video on YouTube by IPaM and it's only two minutes long, I recommend you to view it. There is a link in the slides, I'll show you later. So sorry you can't quite make it out, but I'm gonna explain it anyway. You have four VMs. One is Domzero. As usual, the most critical services and devices are here. There is, this is a driver D. Basically it is in charge of rendering. So it has a graphic card, the audio and the input. It uses Wayland for rendering and does appear parallelized backend for audio, graphics and input. And then you have two other VMs. One is your classic Android based infotainment system. This time is not having access to the GPU directly but is accessing the GPUs through a parallelized GPU protocol. Same for audio and input. And then you have this new Fusion VM which is also based on Linux and downloads software components from the cloud, run them here as containers for providing additional functionalities that can be easily upgraded or add-ons, like for example, I think in the YouTube video, they do telemetry monitoring. So they check the steering, the position of the car and so on. The idea of course is that if this crashes, who cares? If this crashes, I'll just get rebooted, right? It doesn't matter, as long as these two stays online and these two really, I mean, they are the most trusted components and they don't have internet access and so on. So yeah, okay, so if you check the slide and go here, I'm not gonna show it here but you can have a better understanding of it. Now I want to step away from the automotive world for a second because I don't want to give the impression that it's only useful in cars and drones. So this is an example of a use case for excelling zinc and PSOC. So this is a board that has a bunch of programmable logic. It has four A53 cores. It has two 32-bit real-time cores and a load of devices such as a NIC, an MMC controller, such GPU and others. So an example use case here is the following. Your client has four bare metal applications. Non-Linux, just straight bare metal apps, they use FPGA directly and you want to run them alongside on the same board without interference. How do you do that? This is a simple partitioning case. So use then, you create four VMs. Each VM has one VCPU. You completely dedicate a physical CPU to each virtual CPU so there is no scheduler over it and then you assign a bunch of FPGA space to each of these bare metal apps. And that's it. And the overhead is minimal because, well, the only thing it does basically at this point is receiving interrupts and injecting them and we have seen the overhead is 2,000 nanoseconds. Tom Zero is used to initialize the platform at boot and basically there. I've seen it being paused, in fact, because it doesn't do anything else anymore. All right, so this is the end of the interesting slides, but before I finish the talk, I want to spend a few words on the security process because it's easy, I mean, when you're choosing a new open source software project to integrate in your product, it's easy to overlook the security implication because different open source project make very different guarantees over security. And I'm proud to say that actually XM project makes one of the strongest guarantees is the open source industry. So the process is very transparent, it's all online, so many open source projects don't even have a specified process. So you don't know what's actually going on when somebody reports a security issue. Secondly, some open source projects don't even publish properly all the security advisories. So one of the reasons XM is often in the news in a bad way because there is a new security issue is because we publish every single advisory. So even for kids that are only theoretical, theoretical vulnerabilities. So this is why it makes the news, but well, the other reason is we make, we publish every other advisories also for QM, which has a lot of advisories, but as you know, Xenonarm doesn't use QM, so it doesn't affect you. So Xen has a lot of modes of execution, so there are PVH, QM on X86, Xenonarm, a lot of different stuff. And Xen, the Xen project published advisories for all these possible use cases, so overall they aggregate. The other nice thing about the security project, property of the Xen project is that we support responsible disclosure. That means you can request access to a pre-disclosure list and will notify you in advance before a vulnerability is made public so that you can prepare for the fix and reduce exposure time even further. And finally, we guarantee that we support all the stable trees for security fixes for three years, and that includes Xenonarm. Okay, so we make two releases a year. This is actually a new, we introduced it in 2016. We make a release in December and one in June. The last one was for eight and the next one will be for nine in June. So there are a few features that I'm interested in seeing in Xenonarm just to give you an example in the direction we are taking for Embedded. One of the things we wanna do is we want to create the guest directly from Xen. I'll explain. So if you see this architecture, right, so there is no need to fully boot them zero, then start the tools, use the tools and create these other VMs. I mean, come on, we are only creating two VMs. I mean, this is a bit overkill, right? So what we wanna do is to be able to create two VMs directly from device tree. So you add in, on device tree's information, you pass it to Xen and send from the start, it boots two VMs, absolutely. Well, if you, exactly, with device assignment, with no problems. Obviously, if you're using backends and the backends are in them zero, well, you have to wait. Dynamic memory map, although this is interesting for this use case. So when you are porting a bare metal app to Xen, so theoretically, you will have to support device tree because that's the way Xen tells you where the memory is. In practice, you probably are coded. But we want to support a way to specify exactly where the memory ranges are gonna be so that the porting effort of your bare metal app to Xen as a VM is even lower. So basically, you have to do nothing to port it to Xen. And another thing we want to do is we want to simplify setting up PV protocol. So, as I said, we have already all the tools to set up the shared ring as an hypercode, to set up the seven channels for communication as an other hypercode. But maybe if you're working as a very low level, as bare metal app, you don't even want to do hypercodes. So maybe you don't want to know that even you're running Xen. You don't want to pull any of this infrastructure at all. So what we want to do is to have a config file option to say, just share this page between these two VMs. And that's it. So Xen does it for you at creation time. And then the bare metal apps can talk to each other without any Xen knowledge at all. Yes? Okay, so that's it. I want to spend a couple of minutes to tell you there are a lot of resources online. So, well, we have information on how to port Xen to a new SoC. It's basically, the effort is really minimal. Usually only requires writing a new UR driver for Xen in case Xen doesn't have one for the board. How to port an operating system or a bare metal app to Xen. Our overview of Xen as an architecture. Xen on a wiki page with a lot of resources. Presentation to tell you how to do device pass through in details and all the possible problem you can run into. We have actually open embedded support in Xen. So there is a recipe online upstream in the meta virtualization package and is actively maintained. In fact, there is an open XT, there is an open source group that is based on, it's X86 today, but it's based on Xen and open embedded and maintains this open embedded build for Xen. And we have bi-weekly on community calls. So if you have any questions or you would like to see a feature or anything, you are free to join the call and ask them. Well, and one last word is, we are an open source project, well like Linux, so we need user engagement. So please engage on the mailing list, ask a question, say it when we do a good job, say it when you do a bad job even more importantly, so we know what to fix. Our ask question on IRC, please engage. Okay, that's it. Do we have any questions? Questions? Okay. So the only requirement is virtualization extension, obviously, right? We require a Geek P2 or Geek P3. So this is the reason why we cannot run on the Raspberry Pi because the Raspberry Pi has a weird interrupt controller which is not Geek compatible. So yeah, aside from the Raspberry Pi and everything that has a weird interrupt controller, we run on any basically ARM platform. So I recommend you, so if you are looking for a board, the QB track is a pretty reasonable board to work on. Yes, in kernel space, yes. Yes, there can be both in user space and kernel space, but I'll make an example. So the frontends are likely, you probably want the frontend in kernel space because when your application, let's suppose that you want to use PV calls. Yeah, for an RTOS, yes, it's perfectly fine. So you can have both frontend and backend in user space, for example, and both in non-dom zero. Everything is upstream, we have libraries to do the in user space connection. So many of the user space backends as a reference is useful, are in QMU. So I know that I mentioned QMU before. I don't want to confuse you, but QMU has various modes of execution. Usually, most people use QMU to emulate hardware. With zero-narm, it's only used to provide a few backends because somebody, for strange historical reason, the backends were upstream in QMU. But still, you cannot use QMU to do the backends and emulation on ARM, you only get the backends. But they're useful, they're GPLV too, though, but they're useful as a reference if you want to see how they can be done in user space. Yeah, we support it. So whatever you want. And we support, for example, let's suppose you are assigning a device to a DOMU that requires a snippet of device tree. We support adding the snippet directly from the VN config file. You copy and paste your device tree node and we assign it to the guest automatically. Yes, and not only depends on the GPU preemption, depends on the GPU. So, yeah, so this is a difficult topic. So GPU are difficult to virtualize. It's a fact. And I've seen several approaches to it, but the direction, so I'm not working directly, but the direction, if I have to say, the industry's taking, is to have GPU-specific drivers so that you can exploit the GPU feature at the maximum levels and get the latency requirements that you have. So with generic OpenGL drivers, so far nobody managed to have the performance level lower than low latency requirements that they need, right? So they usually, I think in this case, they had something like CEN-GT, basically. The CEN-GT model, that's the Intel model. So you have front and then back end that are specifically to your graphic card. And then they have GPU-specific knowledge to be able to share it in the best possible way. And this is how it was done here. I think actually the global logic guys, initially, tried to do generically with OpenGL and then they went back into doing it on a per-GPU basis. But hopefully, I mean, many of the concepts are gonna be portable. Like, obviously you're gonna have to have GPU-specific drivers, but probably you can reuse a lot of code. Other questions? So I'm not familiar with certification for automotive, but I can tell you a bit more about the certification for Avionics and for the DoD. So they're really, really difficult and very expensive and is like a multi-year effort, okay? That said, so usually, as there was actually a talk about certification on Xenonarm a couple of years back, so if you Google it, you'll find it. And it was a guy working in Avionics and was going to certify Xen for actual passenger planes. And before choosing Xenonarm for certifications, he did a bunch of research and he came up with two requirements to actually being able to succeed in certifying a software code base. And this is according to him, of course, right? One is it has to be small, okay? And then Xen meets their requirement. And finally enough, the other takeaway was that the original authors need to be still around. But usually when the original authors of a project are not around anymore, it becomes much harder to change something or to find exactly the knowledge that you need to certify the project. And that's also the case for Xenonarm. It wouldn't be the case for Xenon X86, for example. The original authors are doing something else now. So according to him, at least, it was certifiable for planes. But more than that, I cannot say. So the way it's done is you need the whole thing. So you need is a hand-to-hand certification process, right? So you need the source first. You need to compile the source and you need the whole binary set. And then sometimes you also need the hardware to show that some requirements end-to-end are met, like in the real-time case. So it's not simple. Yes. All right, so it's late and I'll let you finally go home. And I hope you enjoy this presentation.