Aah, thi.ng! The creative coding framework I've been meaning to check out for years but never have! But the things (hah) made in it have always amazed me!
So one bit of feedback on the site: it's fantastic as a portfolio site. However, while it's great for getting an impression for everything made with this framework and how large the framework is, what is missing is a big "START HERE" button.
I get why that might feel like something you don't need: th.ing is set up differently than Processing, p5.js, OpenFrameworks or any game-loop based creative coding framework. So there is no real centralized starting point. Which is fine, but then that has to be clearly communicated too, and it isn't. It's mentioned in very thin fine print under the How? section, which is hidden under a "read more" link when viewing the website on mobile (also, I do get that thi.ng/umbrella is kind of emphasized as an implicit suggested starting point, but it's still a bit confusing).
So basically, the discoverability for how people should get into the framework could use a lot of improvement. It could use a bit more awareness of expectations of your visitors and how you either meet or break those.
Maybe it's just me, but that seems like part of a common problem on websites submitted to HN - you go to gooblorgs.io, because now apparently it is compatible with snootlr and that somehow got it to the top of the page, only to discover that the entire website doesn't contain a single line that explains what a gooblorg actually does, or would even point you in the general area of the industry this is related to.
If you read the comments in this thread it's clear that there are readers who haven't understood from the submission title or from the landing page what thi.ng is. When I read the word 'computational design' I don't immediately think of 'parametric design', 'algorithmic design', 'generative design'. Instead, I have to use google and read around. The landing page itself describes thi.ng as 'a truly manifold long-term project devoted to Computational Design'; again I'm a bit stumped, what does the author mean by manifold in this context? Go to the github page and the title reads 'Polyglot computational design tools', are we calling ourselves Polyglots now? Seriously?
That's usually about as far as I get before I conclude that I don't care enough. To my mind those are all flags which indicate that it's probably not something I want to engage with.
I'm pretty sensitive to marketing BS/buzzwords myself, but unlike the usual "blazing fast" and similar hypephrases, the above two words actually are 100% correct use of the terms (IMHO)
See my other reply above re:scope and projects written in: TypeScript, Clojure/script, C, OpenCL, GLSL, VEX, Java, Forth - if this is not polyglot, then what is?
To be frank, I take issue with manifold and polyglot because both come across as unnecessarily pretentious use of english. The secondary problem is that I looked in two places to find 'what' the project is. Instead of finding information I found adjectives which can convey an intention to impress, this can easily give a negative first impression.
With no context the sentence 'truly manifold long-term project devoted to ...' is meaningless to me, because I don't know if we share common definitions of four highly subjective terms: 'truly', 'manifold', 'long-term' and 'project'. On first impression this does not come across as a singular 'project' in the way I would define one. Consequently, as a first time reader a get confused.
In contrast to the site, your description in this thread 'thi.ng is definitely not a framework - it is a collection of ...' makes immediate sense. Here you expressed the essential information in a 20 word sentence. On the site the same thing is expressed in a meandering 40 word sentence.
Correct doesn't mean it's obvious to the average person, especially with uncommon words. I for one don't ever use manifold as an adjective. In fact, I only use it as part of technobabble nonsense to cheekily remind my mathematician friend that he's free to think that the topics he works on are trivial, but that the rest of the world won't agree with him.
Thanks for the feedback - very much confirms some of my own issues, but it's also clear that I still have to find a better solution to emphasize some key points of differentiation:
1. thi.ng is definitely not a framework - it is a collection of 260 largely independent libraries & projects built around them
2. Because of #1, there cannot be a single "start here". I was hoping that the interactive tag cloud would make this obvious and also fulfil that "start here" role: Users choose a tag/topic of interest and get a list of relevant projects, each with a readme (and often a list of examples)
To give an example of the problem: Say you're interested in building UIs. There're currently ~20 different projects related to that (of which only a few are related to each other, the rest independent), some are DOM based, some use canvas, others are for OpenGL, Java, Clojure, even others are for baremetal ARM devices. Where's the "start here"? An even larger number of packages are dealing with/providing data structures? What funnel should/could these have?
140 of the ~260 projects are part of the thi.ng/umbrella monorepo and written in TypeScript. These are somewhat more cohesive (in terms of style, approach & infrastructure), but still definitely not a framework. Then, there's also the issue that "monorepo" has multiple interpretations too by now:
1. a large (more or less) single-purpose project consisting of multiple packages/sub-projects
2. a google-style monolithic repository providing a common source of truth for thousands of projects (not all related)
thi.ng/umbrella is somewhere between #1 & #2. thi.ng at large is definitely a #2...
I'd really be interested in hearing how others would approach this from an UX POV, since it is seemingly different to the vast majority of open source offerings, especially in that wider field of "creative computing" (which itself IMHO is a too limiting term for thi.ng - there's a much stronger focus on topics outside what's covered by P5, OF, Cinder, OPENRNDR etc.)
Well, I'd start with assuming the majority of visitors will expect a framework, and countering that with explicitly saying THIS IS NOT A FRAMEWORK! very early on on the website. Expectation management will go a long way.
Maybe a search box with "what topic would you like to play around with?", with some optional checkboxes to refine the search query (for example, maybe I want to work in the browser and limit my results to TypeScript and ClojureScript. That would also help a bit with getting the "toolbox" aspect across.
Another idea is to have example projects made with thing (the portfolio part) that also clearly demonstrate which of the libraries were used.
Ok, I think the issue is that people really just don't read anymore :)
First paragraph, second sentence:
"Not a framework, nor bound to any specific use case, environment or even language, it's a vast and mature set of complementing code libraries, which has organically grown to approx. 250 sub-projects"
As for the topic search: The search box says "search by topic" (fuzzy search) - the tags in the tag cloud are all clickable. Is that really not obvious (even though it's also mentioned in the text)? Click on "typescript" to only show typescript projects etc.
As for the example projects. This is also explained in the text. This work is ongoing. There're another 150 or so projects to be added (just my own). For community submissions there is & will be: http://awesome.thi.ng/ (currently just linking to the submission form)
> Ok, I think the issue is that people really just don't read anymore :)
The willingness to invest in reading many paragraphs of fine print (and really, as presented it is fine print) comes after a successful sales-pitch, not before it.
(Also, blaming bad UX on the user won't help in the long run)
> As for the topic search: The search box says "search by topic" (fuzzy search) - the tags in the tag cloud are all clickable. Is that really not obvious (even though it's also mentioned in the text)? Click on "typescript" to only show typescript projects etc.
It's not obvious in terms of telling anyone how this helps them get started. Sure I can search, but what am I searching through?
I didn't mean to imply that your comments are invalid, they're fair enough. Though, this is NOT a sales website, it's a springboard/archive of a body of work, spanning 15-20 years (eventually)...
My sense from some of your above argumentation and issues re: word choices, is that there's somewhat of an implicit expectation of the uniform format of SV-stylee startup landing pages and JS libraries: snappy big letter bullet list of selling points, 5-line code examples and a big fat get started button...
People with such expectations really haven't been the audience so far and likely never will be. Can I/we do a better job to demonstrate use cases and help guiding people discovering relevant projects for their use cases? Yes, definitely, but bandwidth issue, function over time. Though, it's very likely the following will remain an unmovable truth (as explained on the thi.ng/umbrella readme):
> This project is NOT a framework, provides no turn-key, one-size-fits-all approach and instead encourages a mix & match philosophy for various key aspects of application design.
There're many (likely experienced) developers who do very much appreciate such an approach, just as there will be developers for which this means a no-go zone. I think this is fine.
(...and again, I sincerely thank you for your feedback - food for thought!)
> there's somewhat of an implicit expectation of the uniform format of SV-stylee startup landing pages and JS libraries: snappy big letter bullet list of selling points, 5-line code examples and a big fat get started button...
Oh I absolutely do not wish the main take-away from my comments to be that your website should be that! Apologies if that was what it felt like
My point is that even when you do not want to give people what they expect (and you have good reasons for not doing so, as you sum up here), you still need to meet them where their expectations are and lead them out of it. Because that's the best way to make sure that they find their way to where you are coming from and where you want them to end up too.
So one bit of feedback on the site: it's fantastic as a portfolio site. However, while it's great for getting an impression for everything made with this framework and how large the framework is, what is missing is a big "START HERE" button.
I get why that might feel like something you don't need: th.ing is set up differently than Processing, p5.js, OpenFrameworks or any game-loop based creative coding framework. So there is no real centralized starting point. Which is fine, but then that has to be clearly communicated too, and it isn't. It's mentioned in very thin fine print under the How? section, which is hidden under a "read more" link when viewing the website on mobile (also, I do get that thi.ng/umbrella is kind of emphasized as an implicit suggested starting point, but it's still a bit confusing).
So basically, the discoverability for how people should get into the framework could use a lot of improvement. It could use a bit more awareness of expectations of your visitors and how you either meet or break those.