Thanks for taking the time to outline your thoughts on SUI in a constructive and reasonable way @arggh et. all.
The most important thing I’ve wanted with SUI is not to just create a UI library that people can be used to build websites, but to promote a new way of thinking about writing front end code.
The core tenants being:
- Begin with a list of tangible physical components which correspond 1:1 with language for describing websites.
- Use a strict, internally consistent system for defining UI using single english words and fixed system of grammar (types, variations, state, etc)
- Encapsulate rules using noun/modifier relationships (i.e. “small” has no absolute definition without context. i.e. small ant vs small planet)
- Provide a tiered theming system so people can style it without modifying the base rules
- Create behavioral modules built around simple (verb+predicate) relationships for describing an API for functionality (set active, get value etc,)
- Provide, as best as possible, neutral default values for variables that express the most commonly used case
- If something is arbitrary in the framework, make it a variable or a setting so that developers can change it
- Include a system so that developers can extend the library as necessary (overrides)
Generally the thing I want developers most to take away, even if they dont decide the framework is for them, is that there are other ways to think about constructing meaning through physicality, and that it is most effectively modeled around natural language (not the existing vogue in abstraction)
With regards to the specific complaints, which are all real difficult and useful points of conversation.
w/r/t slow pace of dev, lack of community dev
I’ve decided for reasons of internal consistency and voice to generally maintain the direction of the project individually . To me this is like the difference between a novel written by one author vs. a academic paper co-written by multiple scientists. They are both effective strategies to expressing truth, but have trade-offs. I have personally been a fan of the novel approach for SUI because the aspirations of library might be an overreach for this generation of programming, and instead might be most useful as a roadmap for another generation on how this kind of thing, could be done.
w/r/t desktop use
I don’t believe that its the case that SUI is a “desktop use only” framework. I think generally mobile development is a mixture of three things: useful patterns for reducing complexity, (doubling/stackable), decisions about reducing complexity (what part of my app can i cut out for mobile), and correctly swapping out “mobile-first” UI, for example vertical menus from horizontal menus where appropriate.
I think SUI provides good patterns for handling mobile, but doing mobile effectively will require you to think critically about your specific content. I dont think adding classes like show mobile
hide mobile
etc will solve this issue entirely.
w/r/t gazillion options
I think the next version of SUI will include some strong decisions about separating ‘core UI’ (represented by usage stats, surveys etc) from non-core ui. This might include something like two packs for each component, “basic” (most commonly used styles) and “extended”.
w/r/t restricts creativity
I dont believe there is much time left for creating new salient UI. I do believe there are many new UI patterns which are not encapsulated in SUI, but I dont think a library that describes only some patterns is necessarily restrictive.
w/r/t meteor package
All credit to @flemay for the heroic effort of maintaining the port, but the meteor package is very slow. I use my own custom forked package in prod that uses the LESS only package.
The difficulty is allowing for flexibility in customizing the package while also allowing downstream updates.Its difficult but possible to do this in NPM with post-update hooks, but in meteor with atmosphere its not very viable. I wish I had a better solution here.
I know I’ve been on radio silence for the last year or so, and dev might seem to have slowed down, but this will be the year for important announcements around SUI. This is my core lifetime project so you can count on reliable updates to SUI, albeit with some dead time for life hiccups coming up along the way.