Yocto Conference Production

Producing a Yocto Project Conference
This page is intended to be a guide on how Yocto Project conferences (e.g. ELC and ELCE), Developer Days, and Summits are designed and executed.
== High Level Calendar ==
* Three months out
** Set the tentative dates
** Make arrangements with the conference for booth and DevDay/Summit registration
** Set up a preliminary budget, get tentative approval
** Setup flights and hotels
* Two months out
** Close the contracts
** Advertise event
** Announce the Call for Papers (CFP)
** Gather/order booth swag and collateral
** Setup conference page at Yocto home page
* One month out
** Announce presenters for DevDay/Summit
** Insure that conference registration is fully up
* One week out
** Confirm that presenter papers are coming together
** Confirm booth host schedule
== Conference ==
* Conferences are ideal ways to:
** Have an anchor for the booth, DevDay/Summit
** Advertise the project
** Connect with our community
** Connect between each other
** Advertise the DevDay/Summit
** Manage the DevDay/Summit registration and money
We have been working primarily with the Embedded Linux Conference, sponsored by the project's parent organization The Linux Foundation. We have typically sponsored both a booth and a Yocto Project DevDay/Summit in conjunction with ELC/ELCE, given its high synergy.
=== Physical Conference ===
* Yocto Project must sign up for a booth
** Typically we join at the Bronze level, which provides a basic booth at a reasonable cost
** The contract must be negotiated several months ahead
** There is typically no penalty for later registration, but it could result in a late posting of the DevDay/Summit advertising and registration page, which can potentially affect attendance
* The Yocto Project booth pop-up
** Local the booth pop-up (currently with David) 
** The booth travels as normal luggage, about 30-40 pounds
** The booth takes about 20 minutes to assemble and disassemble
* Booth posters 
** If possible it is good to bring a collapsible stand, so that posters of the daily schedule of Yocto Project related talks can be advertised, in addition to the DevDay/Summit
** If no stand is present, then posters hanging in front the the booth pop-up and stand-up displays on the booth itself can be used
** There is a requirement to display the primary Yocto Project members (e.g. Platinum) at the booth
* Booth Content
** There should be handouts on the booth, for example:
*** Cards
*** Yocti
*** Swag (USB battery packs, spinners, pens, T-shirts
** T-Shirts are great giveaways and great live conference advertisements, but do require cost, transportation, and size distribution considerations
** Hand outs
*** It is good to have brochures that provide technical content about the project
*** We currently have a short form (~ 4 pages, and an older long form ~ pages with testimonials)
** Display computer
*** We often have a display running from a laptop or NUC. This can provide live browsing of the Yocto Project home page, documentation, Layer Index, DevDay/Summit home page. Visitors sometimes suggest web pages of their own as part of their questions.
** Demos
*** We try to have live demos at the booth, to attract visitors and stimulate conversations
*** Examples include Software Defined Radio, routers, robots, and once a race car
** Booth Hours
*** We usually get about 4 hours the day before the conference floor opens to prepare our booth
*** We typically need the booth attended 8 hours a day, in particular in between sessions and during lunch
*** ELC/ELCE typically have a special booth walk evening, where the entire conference is at the booths for 2 to 3 hours 
** Booth Attendance
*** It is important to arrange a schedule of booth watchers, so that we look organized and can be available to catch visitors
*** The booth schedule is typically 2 people per 2 hour slots across the open hours
*** One of the best part of the conference is that Yocto Project people generally hang around the booth even if they are not actually in the booth, so it is often easy to find an expert if a visitor asks a hard question
*** When the booth is closed each evening, the loose content must be locked up in the booth, and the key must go to someone whom is guaranteed to open the booth the next morning
** Booth Interaction
*** Each booth is given a badge scanner so that we can catch the visitors, This information is very important to the Yocto Project Advocacy Committee
*** Generally people are pleased to allow you to scan their badges, so no worries
*** We often offer the swag in exchange for the badge scan, to make this more efficient
*** There will generally be 20% of the people who come just for the swag, and that is ok
=== Virtual Conference ===
Virtual conferences share many of the same aspects of physical conferences. Here are the differences.
* Booth Setup
** The conference will set up accounts a month ahead so that the virtual booth can be customized
** The conference will typically have a walk through the weeks before to insure that the booths are coming together and any questions can be answered
** Virtual booths are generally very limited (and not just because of the Bronze level), so one make the best that one can
** The virtual booth will typically require:
*** A central picture (and/or movie)
*** Links that are customized to any attached documents or web pages
*** A banner, good for messages-of-the-day (like relevant talks)
* Booth swag
** The booth "posters" will be present either on the virtual booth's page, or as downloadable documents
** All of the give away content will be electronic documents, including the brochures
** While we cannot physically give away swag, there are other possibilities like themed T-shirts that can be ordered directly by the visitors, at perhaps a discount
* Booth Attendance
** There is still the need to have the booth coverage managed for the same reason as a physical booth
** In place of physical interaction with visitors, the conferences usually include some form of live blog between the booth managers and visitors. This interface is alas usually very limited and clumsy, so it is often limited to basic greetings for forwarding people to the right documents and to the DevDay/Summit, and directing visitors to the YP slack channel
** The booth is still important for the basic reasons of advertising for the project and the DevDay/Summit
** In the recent virtual summits, we have still received a virtual visitor list and generally what they looked at, which is evidence that the booth is visited more that what the blog would reflect
* Slack Channel
** We have found that a separate Slack channel is very effective
** We usually set up a technical stream and a separate gossip stream (to not overwhelm visitors)
** That interface is much more flexible and friendly
** It is also persistent across and after the conference 
* Zoom Channel
** We have experimented with setting up a separate Zoom channel for direct conversations with visitors, but it was not really used. The slack channel ended up much more useful
== Summit ==
=== Developer Day versus Summit ===
* DevDays
** Typically a single day, generally for the smaller ELC NA conference
** The speakers historically were directly invited, though this is moving to a CFP
** Ideally there are two tracks, the Beginning Class and the Intermediate Class
* Summits 
** Typically two days, generally for the larger ELC Europe conference
** The speakers invited via CFP
** Beginning Track:
*** Day 1: Beginning Class
*** Day 2: Hands on Class
** Intermediate Track:
*** Day 1: Advanced and Intermediate Presentations
*** Day 2: Intermediate Presentations
=== Budget and Costs ===
It is important to create a budget early and get approval from the YP treasurer, especially around the high cost items like travel and lodging. All sample costs below are in $USD.
* Conference fees, booth registration
** Typically a few hundred dollars at the Bronze level
* DevDay/Summit Attendee Registration
** This is contracted via the ELC event, $2-$3 per person, 2%-3% credit card transaction fees
* DevDay/Summit Room Rentals (physical events)
** Room Rentals are typically via the event organizer and would be part of the contract.
** We have for some events (e.g. ELCE Prague) rented our own rooms from nearby hotels
** We have also had member companies sponsor the location (e.g. several ELC Portland events by Mentor Graphics)
** In recent years we have had to pass on the Beginning Class for physical events, due both the high cost and lack of room availability
** For virtual events we have used sponsored Zoom accounts, so there is no incremental costs for the additional tracks
* Travel and Lodging
** Typically core people have their travel and hotel costs covered
** Core people include for example the YP Architect, the booth manager (Advocacy lead), the DevDay/Summit manager (Training Lead)
** These costs depend on the distance traveled
* Class Accounts
** These are the virtual server accounts used for the hands-on classes
** The class accounts generally cost around $30 per student, though we have had the benefit of full or partial in-kind donations in the past
* DevDay/Summit Call For Papers
** We have moved to Pretalx to manage the CFPs, at a cost of ~$200 per event
* DevDay/Summit attendee Registration Fees
** For physical events it as been in the $200 range, to help cover the conference fees, registration costs, room rentals, and class accounts
** For virtual events it has been in the $40 to $50 range to cover the class accounts and CFP management
** We may in the future separate the Hands-on classes as a distinct track and added cost, just to isolate the class account fees
* Post event speaker gifts
** We try to set aside a small gift to the presenters as a thank you to their donated time, so that needs to be included in the budget
=== Physical Summit ===
* Initial Organization
* Budget
* CFP Process
* Speaker Management
* Presentation Types 
** Keynote
*** We usually set aside the first 15 minutes or so for a joint keynote to all attendees, typically given by the Community Manager or the Advocacy Lead
*** We also sometimes have the Keynote given separately to the different tracks when it is not feasible to have every join in one space
** Short Talk
*** Usually a 30 minute slot, touching on a topic
** Extended Talk
*** Usually a 45 minute slot (60 minutes max), allowing a deeper dive
** Hands On Class
*** Usually a 90 minute to 2 hour slot, allowing time for interaction and instruction
** Post Event Hangout
*** It has been beneficial to set aside a hangout space after the last day, either in the same space if possible (in the room or in Slack), or at a rendezvous near by. These have gone from 30-60 minutes in the room to several hours after the virtual events
* Daily Schedule
** Talks and Classes
** Breaks
*** We typically have a mid-morning break and a mid-afternoon break
** Lunch
*** Lunch is typically one hour, and is usually sponsored by YP or is donated by a member company 
* Class Accounts
** These are the virtual server accounts used for the hands-on classes
** They are typically based on a recent Ubuntu release
** These are created and managed by Michael
** The class images are typically created by the DeyDay/Summit manager (David), based on the class content
* Site visits
* WIFI Considerations
* Class Reviews
* Post Event Activities
=== Virtual Summit ===
== Considerations and Practicalities ==
=== How to Work the Yocto Project Booth ===
1) Why You Are Here
We are all part of the open source Linux community, all trying to make Linux useful to the larger world.
In this booth we are contributing to this multi-faceted world of embedded Linux with a community and tool set that is both powerful and extensive.
We are here to help people achieve their dreams, and we want people to enjoy the benefits of our project and we embrace people that want to become part of our community as users and contributors
We give thanks to the many individuals and corporate partners that work together and help make this community strong and vibrant.
2) The Fundamental YP Elevator Speech
Directly from the YP website front page. This is your foundational information.
"The Yocto Project. It's not an embedded Linux Distribution, It creates a custom one for you."
"The Yocto Project (YP) is an open source collaboration project that helps developers create custom Linux-based systems regardless of the hardware architecture."
"The project provides a flexible set of tools and a space where embedded developers worldwide can share technologies, software stacks, configurations, and best practices that can be used to create tailored Linux images for embedded and IOT devices, or anywhere a customized Linux OS is needed."
3) How To Greet People
It is usually best to start with these two questions:
 (a) "Do you know about Yocto Project?", or "How much to you know about Yocto Project?"
 (b) "What question(s) do you have?", or "What problems are you trying to solve?"
By starting with these basic questions, you will know how best to help them out and direct your efforts, as opposed to attempting a full presentation that might completely miss the mark.
When talking to people, it is great to:
 * Lead with Yocto Project (open source!)
 * Follow with the YP Community (stronger together!) 
 * Then if they are interested, go into depth about your particular company and skill set (we all bring our own special things to the table!)
In this manner we pay respect to our open source credentials before differentiating into specific companies.
4) Always Be Positive About The Larger Community, Even About "Competitors"
We often get questions about "competitors", most often being Buildroot.
My standard answer is that:
 * Buildroot is definitely an easier build system to learn, use, and start projects with, and if that works for your project then that is a great choice, especially since it is "Makefile" based. 
 * If however the time comes that you need a more powerful and extensible build system that can support your growing designs, then Yocto Project becomes the excellent choice. Yocto Project is "bitbake" based and does have a high learning curve, but it has the power to carry you forward with complex designs over many years.
 * The point is that everyone serves the community in different ways and each system has their strong points, and there is every reason to embrace. 
5) Common Questions and Answers
Here is a rough summary of common questions and their answers.
 (a) About 30% of the people are just passing by an have no idea about what YP is.
 
Give them the elevator pitch to help them understand what we are all about. If they have problems that YP can help with, given them the brochure, and point them to the web site and all its resources.
 (b) About 30% of the people want to know if YP supports their specific CPU or user space package.
 
Bring up the Yocto Project "Layer Index" website and search for their CPU and/or packages.
 http://layers.openembedded.org/layerindex/branch/master/layers/
 
 * The "Machines" tab has the list of 828 supported CPU variants. 
 * The "Recipes" tab has the list of 22861 supported packages
 * The "Layers" tab has the list of 418 supported layers for features, package sets, machines, packages, and so forth.
 (c) About 10% will want to know about general features, like "Security", "CVEs", and "Long Term Support (LTS).
We do have a security team together with our Commercial Partners, and we are actively fixing CVEs all the time.
We do have two LTS releases (2020 and now 2022), for people who want to stay with a specific release for a long time, as opposed to the bi-yearly updates.
 (d) About 10% will ask about esoteric features.
If you do not know, either find someone nearby who does know or get their name and tell them you will get back to them.
 (e) About 20% will be people who have come by the booth as part of a booth browse promotion by LF. 
Sign their cards, see if YP can help them, and then thank them for stopping by.
6) Your resources
 * The handout brochures, with detailed information and links
 * The Yocto Project home page, with its extensive documentation and information
 * The Yocto Project community, with regular open meetings, chat channels, email lists, and again our fabulous documentation
 * The Yocto Project experts who like to hang out near the booth
 * The live demo, to show YP in action
 * The twice-yearly YP Summits, with several days of presentations and hands-on classes – the next one is in November
7) You may not know the answer, but you know someone who does
Do not worry if you do not know answers to the questions that come your way.
The important thing is that even if you do not know, there are people that you know who do know the answer. Get their name, their contact information, and their specific question. Give that question to other people in the booth and/or send it directly to the people who can help, for example: david.reyna@windriver.com
8) How to finish your conversation
If they seem like a likely candidate, make sure you scan their badge and mark their area and level of interest. If they have a card get it and mark the same on the back. Give the collected cards to one of the booth leaders.
== Past Conference Data ==
=== Summer 2021 (Self Sponsored) ===
In progress...
=== Fall 2020 Virtual (ELCE Dublin) ===
* Summit:
** Day 1:
*** Beginning Class: ~100
*** Intermediate Class: ~150
** Day 2:
*** Hands On Classes: ~50
*** Intermediate Class: ~150
=== Summmer 2020 Virtual (ELC Austin) ===
* Conference Presentations YP-related
** Monday:
*** LTS: 238 peak attendance, 377 registered
*** BoF: 157 peak attendance
*** Slack: 238
* DevDay:
** Class: Start=173,Peak=181,End=164
*** Slack: