---
# System prepended metadata

title: Future Content

---

# Future Content

## Technical Marko discussion

- [ ] Why Marko?
    - Where it stands in the wider ecosystem
    - The problems that Marko solves
    - What makes the Tags API special
- [ ] How to make a framework in 5 years
    - And why did it take so long?! Michael, a software engineer at eBay and member of the Marko core team will walk through the challenges, design decisions and tradeoffs made while evolving the Marko framework used by hundreds of pages on ebay.com.  Lots of interesting learnings and you'll get a look at the newly released Marko 6 which is open source and available to use for your own projects.
    - Outcomes
        - Learn more about optimizing for the web
        - Tradeoffs made by various frontend frameworks
    - ["We're getting _really_ close now" - Michael](https://x.com/mlrawlings/status/1621565893649088512)
- [ ] Solving the Challenges that come with Server-First
    - The last few years have seen a shift to in focus from UI frameworks to the Server.  But there are challenges that come with this shift.  While this may be somewhat new to you, the Marko team has been focused on server-first development for a long time now.  Come hear what techniques we use to solve common problems - techniques that will be useful to you regardless of your web framework of choice.
    - The Marko team has been pioneering server-first techniques long before it became a broader industry trend. In this talk, we'll share insights from our experience solving streaming and island architecture challenges. Learn how to mitigate layout shifts, optimize downstream buffering, and resolve over-serialization—techniques that are valuable regardless of your stack. Whether you're using Marko, React, or vanilla JavaScript, this talk will help provide practical strategies for building a more performant web.
    - [Previous Presentation](https://docs.google.com/presentation/d/16WuNXWTCIdIbkHnHFAzA-mD-s-AeScQm8gTyy-MTEvE/edit#slide=id.g216aeb78a74_2_128)
    - Streaming
        - Out-of-order Layout Shift
        - Downstream Buffering
    - Islands
        - Over Serialization
        - Donut Islands
- [ ] How we converted eBayUI to Marko 6
- [ ] Overview of syntax decisions and how they come together
- [ ] Copy-paste Refactoring of Frameworks (and Marko)
- [ ] Hydration & Resumability
    - [Michael Tweet about Resumability](https://twitter.com/mlrawlings/status/1620149703576027137?s=20)
- [ ] Streaming
- [ ] Typescript & Editor Intellisense
    - [Twitter thread on release](https://twitter.com/MarkoDevTeam/status/1629248515930030083?s=20)
- [ ] The power of everything being a tag
    - [Tweet wishing for Tags API in JSX](https://twitter.com/MarkoDevTeam/status/1612906841515630604?s=20)
    - "How come in JSX, most of the logic has to be _outside_ of the HTML part?"
- [ ] Testing (End user & developer user, not test user)
    - [Slide - Where to Focus Testing Efforts?](https://docs.google.com/presentation/d/1Sds_1WRuUdGAfFqyGCXtBVB8CpwyIRUI/edit#slide=id.p18)

## Tangential ideas, with a Marko Mention

- [ ] Controllable Components
- [ ] Progressive Enhancement
- [ ] Building a Local-First App with Marko
    - Michael's Vitruvian App

## Maybe Marko isn't even mentioned

- [ ] Why `<link rel="prefetch">` sucks

## Short Form Video Ideas

- [ ] JavaScript-style attributes
- [ ] Tag Parameters & Variables
    - [Tweet about refactoring `<for>`](https://twitter.com/MarkoDevTeam/status/1540353874099412992?s=20)
    - [Gist about Marko Syntax](https://gist.github.com/mlrawlings/344945fca572a2f7be64e59891a9925f)
- [ ] 2-way binding & controllability
- [ ] Syntax Sugar (Default Attr & method, etc.)
    - ![animation of what the `<if>` syntax sugar was going to be a long time ago](https://user-images.githubusercontent.com/1958812/46569801-0deb0a80-c90f-11e8-9278-9ae034f2cb12.gif)
- [ ] Concise Mode

## Tweet Ideas

- [ ] Announcements

- [ ] Did you know? (features that Marko has)
    - [ ] HTML comments
    - [ ] Function Shorthands
    - [ ] Two-way binding (controllable)
    - [ ] Type narrowing from `<if>`
    - [ ] `HTMLInputElement` determined automatically
        - [ ] Look ma, no casting!
            ```
            <input/myInput>
            <button onClick() {
              console.log(myInput().value);
                       // ^? HTMLInputElement
            }></button>
            ```
- [ ] New Features
    - [ ] SVG TypeScript support
    - [ ] CSS Modules
        - [ ] Automatic from class/id shorthand?
- [ ] Memes & Misc
