An update on the future of Skeleton #2223
endigo9740
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hey everyone, Chris here 👋 In case you're not aware, I serve as the creator and core maintainer for Skeleton. It's been a very exciting few months, but I wanted to take a couple minutes of your time to discuss the state of the project. I'd also like to take this opportunity to talk through some upcoming changes that will likely have a direct impact on the future of the project.
Saying Thanks
First off, I wanted to extend a HUGE thank you to all the contributors, sponsors, and users over the past year. Skeleton started as a very humble internal component library during my time at Brain & Bones, eventually transitioning to open source in August 2022. Since then, we've seen the project blossom into one the largest UI libraries in the Svelte ecosystem - averaging around 60k downloads a month, receiving nearly 4k stars on GitHub, and with over 500k page views on the documentation site alone. The community has grown from zero to over 2.5k members on Discord and nearly 1.4k followers on Twitter. I've also had the privilege to present and talk about Skeleton at a number of amazing venues, including Smashing Magazine, the Svelte Sirens livestream, the LogRocket Podcast, as well as this year's Svelte Summit conference. We've been covered by massive creators in the Svelte community as well, including Huntabyte and Joy of Code. And heck, we've even earned recognition from a number of folks I greatly admire, including: Rich Harris, Ben McCann, Brittney Postma, Geoff Rich, and honestly way too many others to list here. To each and all of you I extend a massive "thank you!" as we could not have got to this point without you!
Where are we Today
Since going open source, we've managed to ship not one but TWO major releases. Including many notable improvements and changes to the library, such as: the Skeleton CLI, customizable transitions, huge improvements to accessibility, and of course the all new Tailwind plugin (providing a ton of quality of life improvements). Along with dozens of changes behind the scenes to ensure we can continue to push out awesome new updates out every two weeks. Some nitpicks aside, the project has honestly became fairly mature and stable. We hear from folks every single day telling us how much they enjoy using Skeleton as they build projects big and small. This includes a number of people that are new to Svelte, frontend, or even development in general. We're honestly very humbled to be able to help folks in this very vulnerable position. There's no words to express how great that feels!
What's Changing
As many of you may be aware, Skeleton has been my personal full time commitment for over a year. Since leaving Brain & Bones in May 2022, I've fully supported both the project and myself in every manner I could. This included founding our company Skeleton Labs and covering the initial service and hosting costs out of my own pocket. As well as delivering a whole slew of contributions. During the first 6 months alone I was working 7 days a week and often times 12+ hours a day, as reflected in my GitHub profile:
Over time though, our amazing community has stepped in to offset both the costs and contributions. In fact our community now covers 100% of the operational costs. While I'm honored so many of you have chosen to support Skeleton, the reality is we've never quite reached that threshold where is has become viable for me to continue working on this full time in perpetuity. I've always had a hard limit to my financial runway and we've made great strives to deliver what we could in this time frame. However, over the past couple months I've quietly shifted my role from full time contributor, to instead focusing on technical support, helping other contributors, handling PR reviews, and new releases. The good news is you probably haven't even noticed due to our absolutely amazing community of contributors. They've continued to deliver amazing new features and improvements every single day in my stead. A "new normal" that I expect to continue for the foreseeable future.
With this in mind, I also wanted to let everyone know that I have recently accepted a new full time position with a new startup called Frontrow. It's a wonderful opportunity to work with cool tech in a new and emerging space. But that aside, I wanted to make it clear that I will continue working on Skeleton every day, just potentially in a slightly more limited capacity. And if you have any concerns about the future of Skeleton, please put that to rest. Most of these changes started months ago. To steal the "punchline" from Watchmen here:
If you've been happy with the pace and quality of updates recently, then know that's the standard you can continue to expect going forward. In addition to my help, the project continues to self sustain through the top-notch contributions of our community and core team.
The Future
To be clear, we're not done with Skeleton. In fact, behind the scenes I've been coordinating with our core team of contributors and select members of the community to review proposals for the next major iteration of Skeleton. The most notable of which includes transitioning Skeleton from Svelte-only to fully framework agnostic. While I love Svelte and see it as the future of the web, we would be foolish to ignore the reality of today's web, including mainstay frameworks such as React, Vue, and Angular. All of which continue to dominate the space. In fact, my time searching LinkedIn and other job sites has been a great reminder of how disproportionate the scales are balanced - especially when it comes to React.
With this in mind, the team and I are approaching this with a specific vision: "If we were building Skeleton from the ground up today, with all current knowledge and technology available to us, how would we go about it?". Internally we're dubbing this effort "Skeleton Next". It represents not just the major step for the project, but the long term vision of what Skeleton can be. If you're curious, here's a sneak peek at what that might look like from a very high level perspective. This compares the Skeleton we know today, to what's being proposed.
By switching to a more modular structure, we can more easily share the common design-focused elements of Skeleton (whether you're using a framework or not). We also introduce framework-specific modules in standalone packages to keep them self contained (and possibly even headless). We expect Svelte and React will become the tip of the spear, receiving first party support out of the gate. While still opening the door to community-driven initiatives for any and all other frameworks. Though please note, some of those projects may be "ingested" by the core project and team over time, if it makes sense. As with any early sneak peek, please keep in mind that nothing is set in stone. This is early days on some grand proposals. As such, please keep your expectations in check.
Q&A
We expect you'll have a more than a few questions, so I've done my best to get ahead of all this:
Absolutely - we have no plans to stop or prevent updates to the v2.x branch forward. That said, it's highly likely the future updates will focus on triage and maintenance, with major changes being reserved while we prepare for the Skeleton Next updates. Our stance has always been that major changes will be contained within major version releases. I wouldn't expect any notable changes until v3.x or later.
While we love using Tailwind, we've heard folks express interest in a version of Skeleton that excludes or replaces Tailwind. While it's too early to commit to this idea, we are keen to stick whatever option provide a friendly utility-based approach to styling. This may even include side steps to options such as UnoCSS. But again, do not expect a change unless there's a compelling reason for it. We'll don't make changes for the sake of change.
While this will differ on a case-by-case basis, the goal is to keep the Skeleton core as focused as possible. Providing only the most common features used in most projects. In fact, we've always had a strict policy of avoiding extra dependencies in your project unless absolutely necessary. The goal would be to split off the more complex features that heavily rely on a particular dependency, then provide deeper integration with said dependency. For example, better integration of Floating UI for popups to allow for more features and a better developer experience. Ideally we would get out of the way of these tools and let more of their core features shine through.
We foresee a number of benefits from this. This might include better modularization of the project itself, allowing you to opt into only the features you need and what for your projects. React is also a HUGE community, which can help foster more contributors, and thus more contributions, QA, and bugfixes. This also opens the door to more sponsorship, which means that there may come a day where members of our team can continue to work on Skeleton full time. Not to mention that we've heard from many of you saying you aren't able to Svelte at your current day job - so this might change the narrative for you, while also easing the burden of transitioning to other frameworks in the future (ex: React -> Svelte).
Absolutely. We expect many of the community-lead initiatives to start in the near future, perhaps after the first of the year. The team and I are hoping to look for community leaders to help lead these projects. However, I highly encourage your patience. Generating new framework ports will likely be easier once the foundation of Svelte/React are complete. That said, we're always down to network, and of course sync and answer questions both ways.
Wrapping Up
Needless to say, I'm super excited about the future of Skeleton. In the short term you should expect regular maintenance releases and stability for Skeleton 2.x. Behind the scenes we'll continue laying the foundation for Skeleton Next. We do hope to share more specifics over time as well. In the meantime, the best way you can continue to support Skeleton is by contributing to the current major version, sponsoring if you're able, and of course using Skeleton in your projects. If there's anything else we can help with, feel free to reach out here or on Discord. We're always glad to hear from members of the community! And again, a huge thanks to everyone and their support!
Beta Was this translation helpful? Give feedback.
All reactions