Raku-Steering-Council / Papers

RSC Papers
9 stars 14 forks source link

Focus, Focus, and more Focus #56

Closed bazzaar closed 10 months ago

bazzaar commented 1 year ago

I love to use the Raku programming language when I can. I think the folk who have put so much effort into all that is Raku are absolute Stars. I have hardly contributed, and so this comment should be viewed in that light.

It pains me to say this, but it seems that there is no obvious collective focus in how Raku is presented to the world. How to attract people to use the amazing language that is Raku.

The language may be arguably the best there is, but the web presence is 'all over the shop', and hardly likely to bring in the customers in my opinion.

The fact that the website presentation is so incoherent, after the language has been in production for many years, only reinforces the impression of lack of focus, and the presence of inertia, in the extremely important task of selling the product to the people.

To my mind, the number one priority has to be bringing in new users. The prime focus. Without users, what's the point.

The website could be simply basic text and minimalist, but if the message is clear and the focus is right, people will want to jump on the bandwagon, because ultimately the product is outstanding. For every 30 users like me, perhaps 1 or 2 developers will come aboard, because they see that ordinary users are taking notice.

My question to the Steering Council is, what is the focus on in taking Raku to the world? If the focus is agreed, then things like work direction, and presentation emphasis and structure, that can so easily suffer from opinion differences, become much less intractable obstacles. If the focus is agreed, and it can be shown decisions that align with it are being taken, then I think folk would be more inclined to justify expending effort to help out.

finanalyst commented 1 year ago

@bazzaar You are not alone in your viewpoint! Well at least parts of it.

As someone who has followed Raku from the very first Apocalypses to contributing to the Documentation website, and now as the newest member of the Raku Steering Council, it seems to me that nearly everyone shares some part of what you have remarked, eg.

In fixing upon some single flaw as the reason for the lack of popularity is not - to my mind - convincing. You have mentioned a lack of 'focus'.

Focus is something we could agree on in principle, but still come to different conclusions.

So, for example, it is a reasonable argument that once a person finds out about Raku and wants to discover more, they will go to the documentation website (at the very least that is what I do when I find something I want to use or try out). Consequently, having a documentation website that looks modern and uses modern CSS is a priority related to marketing. That is why I - personally - have spent a great deal of time on it. There is a long way to go (it is not the best on a mobile, but it changes for a mobile or tablet now). Tweaking the website now will not break it, which used to be the case.

Further, the next goal is to make it multi-lingual, so that adding languages, even if initially the translations are AI driven, is easy.

The new version of Rakudo, based on RakuAST, is going to be a radical step forward. RakuAST promises to be as big a change to the idea of macros as grammars are to regexes.

So, active developers are going to be giving much more attention to marketing once Raku version E is nearly completion (the failing test files go below 50).

This seems to me to be an important conversation, and I would be interested in your response.

When you say 'focus', and 'the website presentation is so incoherent', would it be possible for you to be a bit more specific?

bazzaar commented 1 year ago

@finanalyst, thank you for your reply, and I do agree with practically everything you say. I also acknowledge the sterling work that you, and @JJ and others have done on the technical documentation, and i do understand there have been a lot of technical challenges to overcome, and also differences of opinion, mainly over technical obstacles.

My beef is not really about that so much. I'm concerned that folk might look at the raku.org website, and think well if this is in anyway representative of the Raku language, then I will stick with Python, or Rust, or whatever.

My question to the Steering Council was to ask what are we trying to achieve with the Raku website. The website isn't just a documentation site, it is mainly a vehicle to promote the language.

I believe, the website should be aimed at trying to attract users, not developers. All sorts of users, those who might be tired of Python, or those beginning their programming journey, or those who want to be in at the start of something different.

The website needs to hammer home a message that would grab the attention of prospective new users.

The website needs to be clean and simple, because we would value beginners and experienced, just as equally.

The website needs to have a consistent look and feel across a relatively few uncluttered pages.

The important things that we consider will help to sell the language, to the audience we are trying to reach, are the things that should be emphasized.

The pages should be uncluttered, access to details don't need to be emphasized with their own section of the page.

The website is there to speak to people, to try to strike up a conversation, to get them interested.

It must not look like a dogs dinner, look like a patchwork of past failed design attempts, send people off into redundant details, or confuse them with multiple names for this and that.

I could go on at length about just the landing page itself, but lets take the Download button, an important component, where does it take you? Nowhere, except into a walk down memory lane of redundancy.

Even when I cut through all that blurb, then I get over the name change from Raku to Rakudo, and head off to that website, the simplest option for installation on Linux (that is to use @nxadm's rakudo-pkg's) is buried at the bottom of a long list of other options.

Where to start on the Raku.org pages, well really it should be canned and start again from scratch, the reason it is like it is, is because it's been tinkered around the edges too many times. A painting has to start with a vision, and that vision must shine through it. A website is the same, it can't be done by committee, with infinite and unconnected PR's. It won't converge on the right answer like program code, it will tend towards a discombobulated mess, and not serve the purpose intended.

I am reticent to say much about the documentation, but wish to seperate the presentation and overal organisation from the content (which is a completely different matter ). The link to the documentation takes one to a page with radically different styling, and colour. Then after the shock of that, one is faced with a bewildering set of categories, in a hard to decipher order. Again, the impression is this is raw documentation rendered, but what is the purpose?

I feel that the Steering Council have to set out the simple vision, and from that the scope of the website will come.

If the Raku community doesn't have the skills to create a slick and minimalist website to convey the desired message, then it must reach out for help.

codesections commented 1 year ago

I also agree with many of the points you've both made; Raku's presentation needs a lot more time/attention than it has gotten recently. I have (many!) more thoughts than I have time to go into right now (especially with a still-unfinished Raku Conference talk hanging over my head). But I'm really hoping that the run up to the v6.e release will spur us to revamp our presentation significantly – hopefully, the language release will generate a burst of interest ("Try Raku 6.e, now with macros! And new, faster dispatch!" (for those who've been gone a while)). And I'd really hate for initially-interested people to be put off by our current presentation. It'll be a lot of work, but I'm hopeful: I know we had some well-designed brochures and such for the v6.c release.

Of course, we'll need to decide as a community on the goals for any major change to the presentation. But, personally, I'd love to see something closer to .

On the topic of "Marketing" more broadly, I'd love to see more (okay, any) Rakoon's involved in TPRF's marketing committee. Right now, it's basically just Dean, who is a Perl developer; he tries his best to be fair to Raku but it's inherently harder for him to know how to support marketing the language. The Perl & Raku Foundation could also pay for graphic/web-design efforts, if the Raku community thinks that's the best use of our limited resources.

Finally, a more procedural question: Is this repo the correct place to have this conversation? I would have thought it'd go in Problem Solving – it really is an issue for the whole Raku community. And, so far, this repo hasn't been used for substantive discussions; I don't know if many people are following it.

bazzaar commented 1 year ago

@codesections thankyou for your reply, and I'm encouraged by what you say, ie. that it's probably time to revamp the website.

I'm ok with this discussion / issue being moved to the Problem Solving repo.

A thought that has just occurred to me this morning, and it's about the language name and the logo. Obviously the Raku name is mostly associated with pottery, and this is evident in any general web search. The photos that come up show pottery objects that are often beautiful to behold. The saying goes, that if you can't beat 'em, then join 'em. So I just typed into the search bar 'Raku pottery butterfly' and there's some rather nice designs / color palettes that might give a starting point for design. There's a ready made 'brand look' there, we probably could use it, rather than trying to invent one.

coke commented 1 year ago

@lizmat has done an excellent job pushing #rakulang as the appropriate hashtag when posting on socials.

patrickbkr commented 1 year ago

Just a (maybe bad) idea. AFAIK Zoffix is a marketeer by trade. He's pretty much responible for everything that is pretty in our websites and our marketing brochures. I know he's been gone from the Raku / Perl 6 bubble for a long time and I don't want to give him pains by pulling him back. But just maybe he'd be the right guy to hire (for money) to give us a good presentation. He's proven times and times again how capable he is. And he knows the goals.

bazzaar commented 1 year ago

Here's a nice website (https://rweekly.org/) where the admin compiles a weekly selection from various blogged articles submitted by R users, which is then sent out as a free-newsletter to subscribers.

Imagine my surprise when the first article I browsed, mentioned the Raku language [and in a positive light too :-)]

https://jcarroll.com.au/2023/10/09/hooray-array/

Somehow I'd forgotten about Raku's Weekly News (https://rakudoweekly.blog/) which I see is still going strong, and from which I used to receive and avidly read the newsletter each week. I don't know why it stopped appearing in my inbox, perhaps I changed my email URL.

Therefore, I went straight over to the Raku.org landing page, ...where the "subscribe to Raku Weekly News" button is ... Absent!

nige123 commented 1 year ago

Focusing on just three brand values could help a lot.

For example, ChatGPT 3.5 suggests:

Focus on just three values, concentrates marketing messages and can form the base of an authentic brand stack for Raku. Authentic brands benefit from viral, word-of-mouth growth.

This combined with a strategy to target early adopter audiences (e.g., solo-preneurs) could help Raku find product<-> market fit.

At this point the product is not simply the language - but what you can build with it. The Raku committee could identify early adopting audiences and encourage Raku projects those audiences want.

bazzaar commented 1 year ago

One of Raku's strengths is that it has all the built-in's, and therefore working with data in Raku has a very consistent, and intuitive feel about it. It feels like the data is in your hands, not partly hidden behind an API screen. To me this is one of the areas that should be promoted. Obviously, where we lag behind is in the number of applications that can analyse data in different ways. Therefore, we need to stress the ability of Raku to interact with these other language / data analysis applications. This will potentially allow many new users to utilise Raku in their data analysis pipeline. Obviously Python users are the big target, and in my mind 'data structures' in Python is an area of inconsistency and confusion, especially for new users, arising from the multitude of different packages each doing it's own thing.

I remember a phrase "the swiss army knife of programming languages". Well Raku can surely lay claim to being that language, especially in it's data manipulation capabilities.

There is the Inline::Python module for Raku, which I used quite a bit several years ago with Python2, but I've not been able to get it to install for quite a while (but maybe that's my bad).

bazzaar commented 1 year ago

Raku is extremely fortunate to have the modern IDE, Comma, which uses the same JetBrains platform as other popular IDE's (eg. PyCharm, IntelliJ IDEA, and even the brand new RustRover). It's been crafted by the principle architect of Raku. There's even a free Community edition, in addition to the Complete edition that has some extra capability.

Why then is there no mention of Comma on the Raku.org landing page.

If I look at the Rust web site, ok they have a 'Tools' link, but that's intuitive, where they make a big thing of support for Rust syntax in IDE's.

On Raku.org there is a 'Whatever' link, (preceded by a 'Fun' link) ... well who is likely to click on either of those?

The Rust website looks to me to be doing things the correct way.

2colours commented 1 year ago

I think what you have been saying expresses the feelings of many of us over a long time. I also touched this topic in my conference talk actually, and for what it's worth, I also wanted to take the opportunity to promote my own work with the raku.org site - which wouldn't automatically help with the design or content at all but ultimately my intention is to bring that mini project closer to potential contributors and maintainers...

Also, I think we have heard enough of 6.e and RakuAST and how it will suddenly take us to heaven. We still don't know - not even roughly - how long that's gonna take, and anyway, what if it won't take us to heaven ultimately? Please, if you have the time, consider joining the Raku conference this Saturday (unless you live somewhere Eastern, in which case the time might get tricky). It seems this will also be a topic.

Last but not least, sadly, the current user base has been trained to ignore/get by the problems that the outside world does see. The only implementation has performance and reliability problems that also scare people off every now and then, the language is really so complex that nobody knows it (I not only mean there isn't a single person who knows it all but also that there isn't a way to define what we consider Raku in the first place), and software quality seems to fall on the priority lists behind things like experimentation, individual enjoyment, or self-development. So I think all the more reason to excel at marketing because way more users are necessary to even break out of this vicious circle to unlock even more users.

finanalyst commented 1 year ago

@bazzaar I echo @2colours suggestion to attend the Raku conference. One of the sessions is an "Ask the Raku Steering Council questions", and a session on "Raku community governance". These topics are worth more discussion and I hope to post more after the conference.

AlexDaniel commented 1 year ago

Sorry to chime in unexpectedly; I just remembered one thing. There was this kind of discussion some years ago, and one thing pointed out is that most languages have a concise slogan/summary that describes some value of the language. And the website of Raku is somewhat strange in that regard because it doesn’t have that. So, it makes sense to find the most significant value of Raku as a project and put it prominently on the website.

Here’s what I mean (in no particular order):

And then:

And when it comes to listing actual key points, these are:

bazzaar commented 1 year ago

@2colours and @finanalyst, thankyou for the invite. I'd already registered and bought an online ticket, however it has coincided with a family gathering, so I'm unsure whether I'll get back in time, for to attend. Hopefully I'll be able to catch some of the live proceedings.

I guess I don't really have a view on whether the language is overly complex or not, and if folks are keen to push the technological boundaries, then who am I to question that. I just know that programming at my fairly simple level is a pleasure in Raku, with the intuitive language, consistent syntax, helpful error messages, etc. Are we saying that Python is less complex, when it relies on importing numerous additional packages?

My comments about the current state of the Raku website in terms of focus, and perhaps about the degree of connectedness of different Raku-initiatives across the web, are really just to try to highlight an area which shouldn't be too difficult to fix, with the right approach and mindset, and as others in this discussion have pointed out there are the websites of other programming languages to learn from.

bazzaar commented 1 year ago

@AlexDaniel I do agree. Of the examples you've listed, the stand-out ones for me, are those that say what a user can achieve with the language, or a specific aspect of it. It's not enough just to list features alone. Encouragement is what the website should be aiming at.

2colours commented 1 year ago

Are we saying that Python is less complex, when it relies on importing numerous additional packages?

Python is much less complex, not mainly because of the numerous additional packages, although that probably also plays a role. Anyway, complexity in itself wouldn't necessarily a problem, if we got to show what justifies the complexity. What someone can tell a newcomer: why it will be good to constantly deal with this level of complexity. Performance and reliability seem to fall out of this list but maybe there is something else; I haven't found it so far, to be honest. I just fall into the camp of people who like to tinker with one-off scripts and feel clever about all-doer lines. This is a hobby mindset, though, admittedly, and I'm not convinced how much one can build on it.

finanalyst commented 1 year ago

@bazzaar @2colours @nige123 @AlexDaniel @patrickbkr I just opened a new discussion in Problem-solvers that is a generalisation of this thread. I did promise a more extended post when I had time. A number of related issues were raised here, and sometimes its best to separate them a bit to discuss them productively. So, that's what I did in the discussion.

librasteve commented 10 months ago

suggest close this issue and all go over to new discussion in Problem-solvers