Jonkman Microblog
  • Login
Show Navigation
  • Public

    • Public
    • Network
    • Groups
    • Popular
    • People

Notices by Nolan (nolan@toot.cafe), page 8

  1. Nolan (nolan@toot.cafe)'s status on Saturday, 14-Sep-2019 01:25:42 EDT Nolan Nolan

    The web is capable of so much more than people are doing with it nowadays. A lot of the problems are business incentives (ads, trackers, third-party junk) and cargo cult (bloated toolchains, bloated deps, a main thread that doesn't scale).

    We're waiting for the next Ajax/Web2.0/whatever revolution where somebody comes up with a bold new design that's better than everything that came before.

    In conversation Saturday, 14-Sep-2019 01:25:42 EDT from toot.cafe permalink
  2. Nolan (nolan@toot.cafe)'s status on Saturday, 14-Sep-2019 01:19:42 EDT Nolan Nolan

    I guess I wanted to prove to myself that it's possible to write a webapp that isn't slow and bloated and terrible and all the things that people say about the web these days.

    If I have one regret (or two) with Pinafore, it's that

    1) the animations could be a lot nicer, and
    2) the offline support could be a lot better.

    All the APIs are there. It could have gorgeous intra-page animations and flawless offline support, just like a native app. I just didn't manage to do it. (yet)

    In conversation Saturday, 14-Sep-2019 01:19:42 EDT from toot.cafe permalink
  3. Nolan (nolan@toot.cafe)'s status on Saturday, 14-Sep-2019 01:14:29 EDT Nolan Nolan

    If it had been me 7 years ago, I would have done it as an Android app. I was really into Android development at the time.

    If it had been me 10 years ago, I'd have written it in… I dunno, Python? So Flask or something?

    But these days I really like the web, so I wrote it in Web™

    In conversation Saturday, 14-Sep-2019 01:14:29 EDT from toot.cafe permalink
  4. Nolan (nolan@toot.cafe)'s status on Saturday, 14-Sep-2019 01:10:52 EDT Nolan Nolan
    • booklord 🇨🇦 🇬🇷 🇹🇼 🇭🇰

    @tootbrute Thank you. 😊

    In conversation Saturday, 14-Sep-2019 01:10:52 EDT from toot.cafe permalink
  5. Nolan (nolan@toot.cafe)'s status on Saturday, 14-Sep-2019 01:09:14 EDT Nolan Nolan

    I can't believe I wrote an entire Mastodon client.

    In conversation Saturday, 14-Sep-2019 01:09:14 EDT from toot.cafe permalink
  6. Nolan (nolan@toot.cafe)'s status on Friday, 13-Sep-2019 20:36:50 EDT Nolan Nolan
    • Corbin Davenport

    @corbin This doesn't do exactly what shadow DOM does, but if you're looking for layout perf improvements, then containment is definitely the way to go. :)

    In conversation Friday, 13-Sep-2019 20:36:50 EDT from toot.cafe permalink
  7. Nolan (nolan@toot.cafe)'s status on Friday, 13-Sep-2019 16:08:41 EDT Nolan Nolan

    CSS containment is still kind of mysterious to me, although I think the fundamental ideas behind it are good. Browsers already do a ton of optimizations to try to reduce re-layouts of unrelated parts of the DOM, but it's much better if you can tell the browser yourself what to update instead of relying on heuristics.

    In conversation Friday, 13-Sep-2019 16:08:41 EDT from toot.cafe permalink
  8. Nolan (nolan@toot.cafe)'s status on Friday, 13-Sep-2019 16:07:45 EDT Nolan Nolan

    Not sure how I missed that CSS containment shipped in Firefox 69: https://developer.mozilla.org/en-US/docs/Web/CSS/contain#Browser_compatibility

    I actually use CSS containment in Pinafore to optimize some parts of the DOM that should have their layout calculated independently (modals, virtual list items, etc.). I'm curious to know if perf actually improved in Firefox 69.

    In conversation Friday, 13-Sep-2019 16:07:45 EDT from toot.cafe permalink

    Attachments

    1. contain
      from MDN Web Docs
      The contain CSS property allows an author to indicate that an element and its contents are, as much as possible, independent of the rest of the document tree. This allows the browser to recalculate layout, style, paint, size, or any combination of them for a limited area of the DOM and not the entire page.
  9. Nolan (nolan@toot.cafe)'s status on Friday, 13-Sep-2019 12:37:32 EDT Nolan Nolan
    • Râu Cao

    @raucao I don't think Pinafore would need to be forked to support KaiOS. I just might have to sniff it and slightly alter the keyboard shortcuts (e.g. up/down/left/right behaves more like tabbing through focusable elements).

    In conversation Friday, 13-Sep-2019 12:37:32 EDT from toot.cafe permalink
  10. Gracious Anthracite (anthracite@dragon.style)'s status on Thursday, 12-Sep-2019 19:35:00 EDT Gracious Anthracite Gracious Anthracite

    Passing thought: nobody ever says “look at this thing Facebooker Susan Smith posted” or “check out what Twitterer Skinky Dumpawps posted”, but I constantly see “look at Redditor Throwaway477864’s insightful discussion” or “watch what Youtuber Spafford Spiderton has to say”. What makes a site wrap up it’s users’ identities that way, and is it a thing that should be generally cultivated or avoided?

    In conversation Thursday, 12-Sep-2019 19:35:00 EDT from dragon.style permalink Repeated by nolan
  11. Nolan (nolan@toot.cafe)'s status on Friday, 13-Sep-2019 10:27:39 EDT Nolan Nolan
    in reply to
    • Luka /sonomu.club/

    @luka I use FastMail's calendar, which works with DAVx on Android via CalDav.

    In conversation Friday, 13-Sep-2019 10:27:39 EDT from toot.cafe permalink
  12. Nolan (nolan@toot.cafe)'s status on Friday, 13-Sep-2019 10:20:47 EDT Nolan Nolan
    • Râu Cao

    @raucao I've been meaning to grab a dev device and try to figure out if I can get Pinafore to support KaiOS. It doesn't seem obvious to me that it will work out-of-the-box, because:

    1. KaiOS is based on a slightly older version of Firefox; up to now I've just targeted the latest version
    2. The screen is really really tiny; up to now I've set the iPhone 4 as my minimum bar for a tiny screen
    3. It doesn't have a touchscreen, so keyboard navigation has to be impeccable even on the small screen

    In conversation Friday, 13-Sep-2019 10:20:47 EDT from toot.cafe permalink
  13. Râu Cao (raucao@kosmos.social)'s status on Friday, 13-Sep-2019 08:48:16 EDT Râu Cao Râu Cao

    If you haven't heard of KaiOS before, you probably think Firefox OS is entirely dead. But actually, as a fork of B2G, KaiOS has silently grown to a user base of more than 100 million people on devices from more than 10 manufacturers, making it the third most-popular mobile OS after Android and iOS now.

    They just launched proper developer docs, as well as an app store:

    * https://www.kaiostech.com/meet-the-devices-that-are-powered-by-kaios/
    * https://developer.kaiostech.com/

    Mastodon client for KaiOS, when? All JS/Web clients should work.

    In conversation Friday, 13-Sep-2019 08:48:16 EDT from kosmos.social permalink Repeated by nolan

    Attachments

    1. Meet The Devices That Are Powered by KaiOS
      By Eletta Leung from KaiOS
      Meet The Devices That Are Powered by KaiOS
  14. Nolan (nolan@toot.cafe)'s status on Friday, 13-Sep-2019 10:16:08 EDT Nolan Nolan
    • Chris

    @Chris It's not exactly the same. E.g. if you copy-paste HTML into it, then it will become actual HTML instead of escaped HTML-as-text. I think there may be other differences from a screenreader perspective.

    In conversation Friday, 13-Sep-2019 10:16:08 EDT from toot.cafe permalink
  15. Nolan (nolan@toot.cafe)'s status on Thursday, 12-Sep-2019 20:17:46 EDT Nolan Nolan
    • Garrett LeSage
    • codesections

    @garrett @codesections Hmmm actually now that I think about it, using a ResizeObserver on the mirror element may actually be the best bet, because then you only change the visible element's height when it actually needs to be updated. This is an interesting idea; I may toy around with it a bit. Thanks! :)

    In conversation Thursday, 12-Sep-2019 20:17:46 EDT from toot.cafe permalink
  16. Nolan (nolan@toot.cafe)'s status on Thursday, 12-Sep-2019 20:15:24 EDT Nolan Nolan
    • Garrett LeSage
    • codesections

    @garrett @codesections Yeah the "input" event is exactly what I'm subscribing to to listen for changes. Effectively it happens on every keypress.

    The article is interesting; the concept of a "mirror" element is neat, although I don't think it solves much here. Effectively this is what the JS solutions I've seen do, but with a single element. They set the height to 0 and then check what the overflow is, and then set it back. So you do 2 layouts each time. Same diff for mirror element AFAICT.

    In conversation Thursday, 12-Sep-2019 20:15:24 EDT from toot.cafe permalink
  17. Nolan (nolan@toot.cafe)'s status on Thursday, 12-Sep-2019 20:10:29 EDT Nolan Nolan
    • Chris

    @Chris That's what I'm referring to with the <div> solution.

    In conversation Thursday, 12-Sep-2019 20:10:29 EDT from toot.cafe permalink
  18. Nolan (nolan@toot.cafe)'s status on Thursday, 12-Sep-2019 16:54:26 EDT Nolan Nolan
    • DJ Sundog - from the toot-lab

    @djsundog Yeah! It's weird that they're like two completely separate code paths. Also I think some editors even use <canvas>. It's wild out there.

    In conversation Thursday, 12-Sep-2019 16:54:26 EDT from toot.cafe permalink
  19. Nolan (nolan@toot.cafe)'s status on Thursday, 12-Sep-2019 16:43:11 EDT Nolan Nolan
    • codesections

    @codesections Another alternative (which I explored), is to only calculate layout in a requestIdleCallback(). That way, it doesn't have to run layout on every frame, only when the UI thread is actually free. The problem is that I think it looks ugly - sometimes there are delays where it takes a split-second for the textbox to resize to the right height.

    I've considered trying to write a custom web component to do the <div> thing, but I worry it wouldn't work a11y-wise for some edge cases.

    In conversation Thursday, 12-Sep-2019 16:43:11 EDT from toot.cafe permalink
  20. Nolan (nolan@toot.cafe)'s status on Thursday, 12-Sep-2019 16:34:56 EDT Nolan Nolan
    • codesections

    @codesections Yeah but that would be a heuristic, and it's probably not possible to get it right. For instance newline characters change the height more than a letter character, and some letters are wider than others. In practice you have to just check every time anything changes in the <textarea>.

    In conversation Thursday, 12-Sep-2019 16:34:56 EDT from toot.cafe permalink
  • After
  • Before
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

Jonkman Microblog is a social network, courtesy of SOBAC Microcomputer Services. It runs on GNU social, version 1.2.0-beta5, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All Jonkman Microblog content and data are available under the Creative Commons Attribution 3.0 license.

Switch to desktop site layout.