Categorized Videos Proposal

= Proposal = This page is a proposal for creating a set of topic-area pages to hold links to talks & videos from past ELC and ELCE events, so that information on a particular topic is collected in one place, for easy reference.

Discussion
(frowand) Q. Should this also include Japan Technical Jamboree presentations? (tim bird) A. Most of them are in Japanese. We could consider those that are in English, or Japanese speakers may wish to make a set of categories for their talks as well.

(frowand) The existing Devicetree presentations page includes any conference, not just ELC, ELCE, Jamboree. (tim bird) I think it would be good to eventually expand the topic pages to all conferences, but the initial thrust of this effort is for ELC and ELCE presentations.

= Tasks =
 * decide on the categories for talks
 * note: some talks will likely defy categorization
 * how narrow do we want the topics?
 * see below for an initial list of category ideas
 * see also the list of sections and pages already on the Presentations by Topic page
 * can start with those, and add topic pages as we go through the talks
 * decide if talk may be included on more than one page
 * create a guide for adding talks in the future
 * create Presentation topic template page.
 * decide layout for talk information:
 * (frowand) One possible format is the existing page  Device tree Presentations
 * each presentation occurs in two different sections: (1) subtopic, (2) date
 * obvious elements: event, date, speaker, title, presentation link, video link
 * do we want a talk summary? If so, where would we get it from?
 * some abstracts for previous events are still available (e.g. see https://www.celinux.org/elc_europe07/sessions.html)
 * (frowand) abstracts are often a poor description of the content of the talk
 * how about a rating or notability indicator?
 * indicator could be star, highlight, recommendation by maintainer, bolding, etc.?
 * would be for significant or historic talk (there are some worth highlighting, I believe)
 * (frowand) indicator for obsolete
 * link to transcript if available?
 * link to press coverage (e.g. lwn.net) if available
 * how long will that take to research, for each talk?
 * create pages
 * (done) create overview page - Presentations by Topic
 * create template for individual pages: Presentation topic template
 * create an initial set of topic pages
 * add information about each talk to correct page(s)
 * create new topic pages as new topic areas are encountered

Category Candidates
Find the presentations belonging to different categories below:


 * Applications Presentations
 * SDK
 * Qt Development Framework
 * Web development, API development
 * HTTP
 * Maemo Platform – from Nokia
 * Eclipse IDE – Open Development Platform
 * Protocols


 * Automotive Presentations


 * Boot Loaders
 * U-Boot
 * MCU-Boot
 * Others


 * Boot Time Presentations


 * Buildsystems
 * Yocto Buildsystem
 * Bitbake
 * Buildroot
 * Others


 * Compilers Presentations
 * GCC, GLIBC
 * Linkers, Loaders
 * Compiler Optimizations


 * Device Drivers Presentations
 * How to write a device driver?
 * User Space Device Drivers, Optimizations
 * UIO
 * Others


 * Device Tree Presentations


 * Distributions
 * Android
 * uCLinux
 * Tomoyo
 * OpenEmbedded


 * Drones


 * File Systems Presentations


 * Graphics Presentations
 * OpenGL
 * DigitalFB
 * Others


 * IoT Presentations
 * Industrial IoT (IIoT)
 * IoT Data Processing
 * Connectivity in IoT
 * OTA updates in IoT
 * Hypervisors for IoT
 * Security in IoT
 * Protocols and Messaging for IoT
 * Others


 * Kernel Development


 * Kernel sub-systems
 * I2C
 * SPI
 * PCI
 * USB
 * GPIO
 * Interrupts
 * Clocking
 * Memory
 * Flash
 * Thermal
 * Scheduling
 * MTD
 * V4L2
 * DRM


 * Linux General
 * LTSI
 * Status Check
 * Upstreaming
 * Kernel Size
 * Kernel CI
 * Community presentations


 * Legal


 * Memory Management Presentations


 * Miscellaneous Presentations
 * Safety
 * Health Care
 * Linux enabled Light bulbs
 * Documentation
 * FOSS
 * Defence
 * Others


 * Multimedia Presentations
 * V4L2
 * Audio
 * Video
 * GStreamer
 * Others


 * Networking Presentations
 * BlueTooth
 * Wi-Fi
 * Connectivity in IoT


 * Open Source Projects
 * BeagleBone Board
 * Zephyr
 * Minnow Board
 * Others


 * Power Management Presentations


 * Processor Architecture Presentations
 * ARM
 * RISC-V
 * PowerPC
 * MIPS
 * X86
 * Others


 * Real Time Presentations


 * Robotics


 * Security Presentations
 * SELinux
 * Security in embedded devices
 * Security in IoT
 * Crypto Framework
 * Others


 * SMP Presentations
 * Multi-core
 * Concurrency, Locks


 * Testing Presentations
 * Upstream Kernel Testing
 * FUEGO
 * Automation
 * Others


 * Tools and Debugging Presentations
 * GDB
 * KGDB
 * JTAG
 * Tracing -- LTTng
 * Kprobes
 * Others


 * Upgrades Presentations
 * OTA Upgrades
 * Firmware Upgrades
 * OTA updates in IoT
 * Others


 * Virtualization
 * Xen
 * Virtualization
 * QEMU

= Plan =
 * (done) have a planning meeting (first meeting held July 29, 2020)
 * (done) create timeline
 * Would be nice to be able to announce the project at ELCE 2020, in late October
 * do some initial pages, and tweak page design and categories, in by mid-August?
 * (done)have a 1st review in August (what date?)
 * Review pages and make adjustments
 * (done) finish first publication review (October)
 * complete review of pages listed below as still needing review (when?)
 * Create plan for ongoing maintenance
 * Who to add ELCE 2020 talks, for example?
 * solicit more volunteers?
 * (done) announce the project on an embedded linux mailing list? (elc-announce?, celinux-dev?)
 * Tim to announce project at ELCE during the closing game and ask for volunteers
 * contact specific individuals or communities about maintaining "their" pages

= Resources =
 * ELC Presentations - links to all presentations pages for ELC, ELCE, and Japan Technical Jamboree
 * This is the main resource for pages with talk and video links for presentations (that are uncategorized by topic)
 * Presentations by Topic
 * This is the main destination for links to presentation topic pages
 * Presentation topic template
 * This is a page holding with the layout for presentation topic page
 * https://embeddedlinuxconference.com/ - links to all presentation pages, and some event pages (where abstracts might be found)
 * this page has the same links (under the "Archives" section on that page) as the "ELC Presentations" page
 * However, it also has links to many of the original event pages, where additional talk information (especially talk abstracts) might be found
 * https://lwn.net/Kernel/Index/ - lwn.net kernel index (shows kernel topic categories)
 * This resource shows one set of (highly detailed) categories for kernel-related topics

Candidate policies for a "talk placement guide"
Here are some policies we can discuss for talk placement and marking: This is for the current effort - to remain consistent - and for future efforts as new material is added after future events.


 * most recent talks at the top of page
 * mark talks that are about obsolete technology or practices
 * mark talks that are notable
 * a talk may be placed on more than one topic page (but may be marked as being primarily about another topic, where appropriate)

= Working lists =

still needs review
The list of pages given below -- needs help from domain experts for further categorisation and maintenance and will need to be revisited for proper sub-categorization.

Seek help from Walt Miner Seek help from Frank Rowand This page needs a revisit
 * Automotive Presentations
 * Device Tree Presentations
 * Upgrades Presentations
 * Kernel Development
 * Power Management Presentations
 * Real Time Presentations
 * (others - see Tim's email)

Review Comments
Review comments provided to some pages by Tim are given below:

Divide into 2 sections: - one for web stuff and one for APIs - specifically, these talks appear fall into two different categories: - A/V and GUI APIS (in one category) - web-related technologies (which are also arguably GUI APIs) It just seems like having stuff about the Linux camera library and HTML5 user interfaces in the same category is not quite right. At least three of the talks are for EFL. Maybe make a section for that? There are a lot of items in the "Others" section. But I'm not sure where to put them. I'll have to think about it. * "Fun with QML" should go into the Qt section. * "Target Communication Framework" should go into the 'Eclipse IDE' category
 * Applications Presentations

You might want a category for Languages somewhere. The following would go into a NodeJS/Javascript sub-category in Languages: * Making Tweet Monkey * NodeJS Appliances on Embedded Linux Devices * "Effective use of Scripting" could go on a Languages page somewhere.

The U-boot section on this page might be worth dividing into parts: security, fastboot, DFU.
 * Boot Loaders

Might be worth dividing into different technology areas, but many of the talks cover multiple techniques. Maybe add one sub-section for snapshot/hibernation/suspend/resume -style systems?
 * Boot Time Presentations

Yocto section is quite big, maybe divide into sub-sections? Lots of talks are in Others: Could have an OpenEmbedded section and a Debian/Deby/ELBE section.
 * Buildsystems

Probably could have an Industrial IO sub-section and a dma sub-section and maybe a graphics drivers (that includes GPU, KMS, DRM, etc.). The "Using a JTAG..." talk should go on the tools/debuggers page.
 * Device Drivers Presentations

"Linux Tiny..." should go on "Linux General/Kernel Size" section. "Toybox..." doesn't go under Android. Please make a new section on "Linux General" called "Embedded utilities" and put Toybox and Busybox talks there. I'd take the whole "Tomoyo" section and put it on Security Presentations. It's more a security system than a distribution. I'd add a section for Debian/Ubuntu and derivatives. Some of the presentations under build systems should go under Debian (Deby, ELBE). "A million ways to provision embedded Linux images" - this might be OE-specific, but we might want a "provisioning" category somewhere (maybe on the "updates" page, or the build systems page. I'm not sure.) A few talks would fit into this category.
 * Distributions

"tracing resource-constrained... using eBFP" - is a tracing talk, not a filesystem talk. "read-only rootfs..." is a provisioning talk. Maybe this page is a good place overall to have a provisioning section.
 * File Systems Presentations

Would be good to break this into flash technology, and FS-specific talks: Looking at the list, it's hard to see a lot of talks on any single filesystem. So one section for just "filesystem" would be good.

flash technology talks would be: Linux starge system bottleneci for eMMC/UFS; Linux on eMMC: optimizing for performance Update on filesystems for flash storage; flash filesystem benchmarks; evaluation of flash file system for large NAND

Using appropriate wear-leveling... Managing NAND flash to optimize...

Please add a section on EFL
 * Graphics Presentations

The Others section here is quite big. In "Others" "Home automation tools" doesn't go here. There should probably be a sub-section Home Automation. Pick out the home automation talks from the "others" sub-section section and put into the new "Home Automation" sub-section. Some of these might be candidates for a "home automation products" category I suggest below. "IoT Lockdown" talk should go under "Security in IoT" section
 * IoT_Presentations

The Others section needs a breakdown into more sub-topics, (languages, tools, iotivity, etc.) but it's too big of a task at the moment.

For sure make an IoTivity sub-section. There are lots of those. Maybe make an "AllJoyn" one also.


 * Linux General

In Upstreaming: "Farming together" is a testing talk (about board farms) We might want a "board farm" section on the Testing page.

"Atomic display support..." goes on the Graphics page.

"Generic System for Safe Rootfs..." doesn't seem to be an upstreaming talk. Maybe put on Upgrades page or in a provisioning section on the filesystem page.

whole "KernelCI" section goes on testing page. I think I'd make a section for "Long Term support" and put the following in it: "Approaches to Ultra-Long Software Maintenance"

in System Applications: "RPMsg to accelerate..." should go on the SMP Presentations page. "The Path of the Private FUTEX" should go somewhere else, maybe on the kernel drivers page?


 * Memory Management Presentations

Kind of a hodge-podge. Not sure if this is about kernel memory management stuff (which should go on the driver page), or   about memory hardware, or about user-space memory management. I'm kind of lost on this page. I don't have any suggestions though.


 * Miscellaneous Presentations

I'm surprised there are more safety talks. Probably some labelled as security are actually safety talks. Some of these sections could be move elsewhere.

"FOSS" should be relabled to "Phone Networks" and put on the Networking page. In the Others section "Ara" is also a mobile phone talk. Do we have a "mobile phone" section. Should we have a "Products and Product Categories" page that could hold sub-sections like "Cameras", "mobile phones", "routers", "light bulbs". The "Visible Light Communication..." talk is really a networking talk. Should *add* "Linux in a Lightbulb..." to the "Kernel Size" section.

"Developer's diary" should go on Linux General page, in a new "Maintainers" sub-section.

"Solar hot water..." should go in home automation section. Come to think of it, let's put "Home Automation Products" on the "products" page.

Let's make a "Build your own/Maker" section on this page, for talks on custom hardware development. Put "BYOD" in it to start. Leave the "Solar Hot Water.." talk here, and add a copy to the products page.

Under "Others" "grabbing audio and video on a board farm" should go in the "board farm" section of the "Testing" page. "Fear and loathing in the media transfer protocol" should go on the networking page. "the MPPWG Mobile Phone Telephony API" should go in the "mobile phone" section.
 * Multimedia Presentations

Could add a "Protocols" section here, and move stuff about different protocols here. (ipv6, mqtt, GSM, etc.)
 * Networking Presentations

Should change this to "Development boards and hardware", Should make a new page for "Non-Linux RTOS" and put whole Zephyr section there, along with "others". Under "Others" put the Nuttx, ResinOS, and any stray FreeRTOS talks you see.
 * Open Source Projects

Under "Others" here, keep the hardware talks. blinky lights, CHIP. Arc processors, arduinos, FPGAs. Add "blinky lights" to the "Maker" section. Move Rygel...DLNA to the networking page,  UPnP sub-section.

These talks should go to the "legal" page: "Open Source, Encryption and Export Regulations..." "How chip makers should (not) support free software"

Make a section on this page labeled "Open Source principles, community and techniques" and put the following in it: "Open source the new normal" "Leveraging the open source development model inside your company" "The Paradocs of OpenSource and Embedded" "Can you Market an Open Source Project?" "Collaborative initiatives in Embedded Linux" "Facilitating Open source Development..." "Cooperative Development inside Communities"

"Herd your Boards, Become a Farmer" should go in the "Board Farm" section on the Testing page. Should make a sub-section called "Power measurement and tools" and put the following in it: "Fully automated power measurement...IC Temperature..." "About the need to power instrument the kernel" "Sigrok: Adventures in ..." "Use-Case Power management optimization...indicators" "The evolution of tracing and profiling..." The other talks could use some organization by an expert. Please add this to the list of pages that we would like to seek a community maintainer for, and circle back to after ELCE.
 * Power Management Presentations

Under "Others", "Atom for Emedded Linux Hackers" goes under x86 "Your New ARM SoC Linux Support checklist" goes under ARM
 * Processor Architecture Presentations

Remove second instance (6.4) of "Atom for Embedded Linux Hackers..." "Anatomy of the arm-soc git tree" goes under ARM.

This page needs some organization. Please add it to the list to look at after ELCE.
 * Real Time Presentations

"Others" section is long - probably need to divide into security topics. Please add to the list of "review later" pages. These talks should go in the "crypto" section: "Under lock and key...Crypto API" "Cryptography Basics for Embedded Developers"
 * Security Presentations

"Collaborate on Linux for Use in Safety-critical systems" should go in   "Safety" section on Miscellaneous Presentations page.

"RPMsg" talk I flagged earlier should go on this page.
 * SMP Presentations

This is where "KernelCI" section goes. Rename "Upstream Kernel Testing" to "KerneCI" and move talks from other page here. Leave "BoFs:    ...kernelci.org" talk in the "KernelCI" section.
 * Testing Presentations

Needs a "Board Farms" section. Add to that the talks mentioned above, and from "Others" here: "Test Laboratory Layers" "Testing Remote Embedded Devices...MuxPi" "From Zero to First Test ... LAVA..."

There should be a "Test Suites" section, with this talk in it, to start: "Linux Kernel Selftest Framework..."

"Other" section too big to tackle right now. Please add to list of pages to review later. This page needs at least "kernel tracing" section and a "hardware tools" section.
 * Tools and Debugging Presentations

Some weird ones in the list: "EFL - A UI Toolkit" - should go to EFL section on graphics or UI page. "Introducing the Binary Analysis Tool" goes on the Legal page. "What's new with Busybox" goes in the "Embedded Utilities" section on Linux General.

"Replace your exploit-ridden firmware with Linux" is a bootloader talk.
 * Upgrades Presentations

candidate experts or communities to request for help with maintenance
Tim plans to solicit general help with these pages at ELCE closing game. This list if for potential candidates for direct contacting to see if they can help.


 * page: Automotive Presentations - Walt Miner (AGL)
 * (others - see Tim's email)