Open FrankHossfeld opened 8 months ago
Great idea and looks great - I'd love to expand this in the future to have RSS... maybe a template that lets the news be defined in a single file and update both the html listing and rss - definitely not required to get this first version out the door.
Great ideas! In addition to a separate news page, I think the latest a few news items can also be shown on the loading page directly, so that users can be aware of what's happening in the first place.
@niloc132 I think the next step is to create a issue template for adding news here inside the repo. The template should request three informations:
Once we got that template, we should ask for information to add more news. I know several lib maintainers to contact, but pretty sure, I also miss a lot.
Personally I don't particularly like it to bundle all release announcement and related news of whole GWT ecosystem in one long list of articles. Reason is that nobody really needs a release ticker of everything because nobody uses everything.
How to decide what goes in there and what doesn't? What if we publish a page to combine all kinds of GWT news and this page is still relatively rarely updated or contains the same three libraries again and again? While I see the good intend I am skeptical and it might backfire.
GWT itself is old and relatively boring. I think what you really want is a GWT blog with interesting articles, highlighting its ability to use Java libraries, how it can be used with modern JS libraries, web components, etc. In addition an overview of the GWT ecosystem with short descriptions and links to libraries worth mentioning might be good, if that list is long enough. But someone still needs to write these articles and keep track of 404 if the blog links to other pages.
From the point of view of a dev, you are absoulutely right. As you said: 'GWT itself is old and relatively boring'. It does the job transpiling Java to JavaScript without making noise.
So why add third party libs to the GWT news?
Well, things change. GWT is no longer driven by Google, now it is the comunity driven. The community create a lot of replacements for parts from GWT. Let's look at the webAppCreator. Many of us use Thomas Broyer's gwt-maven-archetypes, the gwt-maven-springboot-archetype from Nalukit or domino-cli coming from DominoKit instead. Who uses the webAppCreator? Especially, that the code created by the webAppCreator is no longer state of the art. Many GWT devs use domino-rest instead of GWT-RPC, because the JSON format is more readable compared to RPC and at least it is standard. Instead of using MVP and Activities & Places, devs use Nalu or domino-mvp & domino-history. Who is using GWT widegts today? The widgets look outdated are hard to customize. To you end up with Domino-UI, Elemnto or Pattternfly (Harald Pehl). I am pretty sure I missed some other frameworks (sorry for that) but I don't know where I can find information about those.
So, in modern GWT development these libs are an important part. Some of the GWT modules are really outdated and these libs are valuable replacements. So, why not adding them to the gwt web site in one way or another? They are part of modern way to write GWT applications today.
Next, let's imagine somene will start with GWT and studies the web site, i am pretty sure, he will be frustrated. The next step for those is not looking for the new cool stuff in the GWT univers, they will move away.
We have to stop thinking like devs, who know GWT well, know where to get help and know all the new frameworks. We have to think like a rookie, who wants to learn GWT and help them with the information they need to learn. At the end we also have to update the rest of the site, showing these other frameworks (see my other PR). That's my opinion and that's why I see news among other things on the site.
In my opinion, GWT (and J2CL in the future) is (mostly) the only way to write SPA (client side) in Java. I see companies moving away from GWT, back to JSF or JSPs, because they think GWT is EOL. That's insane. Why, because they do not know it better.
A news page is something has a great impact with less effort.
Yep, a blog would be nice. But, compared to a news page, it will take more time. And sure, we have to keep track of 404 and put some effort in it. But that is what all other framework also have to do. We need marketing and that could be the first step ...
m2c
As a developer looking for news about the tools I use, I personally agree with @jnehlmeier, but nearly every inquiry we get about GWT starts with "hey does GWT have a future, or are we going to need to immediately rewrite after this conversation" and not "hey is GWT stable, and how can I do X with it". Nobody needs everything, but there are a lot of folks that don't have or take the time to look. The stability and ongoing potential of a toolkit like GWT isn't defined by its own releases, but by its ecosystem, so the news of the ecosystem turns out to be the news of the tool itself.
Your counterproposal isn't a bad one, but it has the same problems that you're calling out for a news page - what if the blog is weighed down too much by content for a particular library. How do you get people to write those blog posts (seriously: I can't even beg people to review 30 lines of code and ~150 lines of tests). There is a proliferation of Gradle plugins for GWT, but most are incomplete in some way or another and usually out of date, with approximately zero blog posts that show how to use them in simple ways, to say nothing of introducing the interesting and complex cases that Gradle excels at. (The Maven situation is somewhat better, but mostly because Maven doesn't break backwards compatibility in the same ways, and tends not to encourage the "don't like this plugin? write your own" mentality.) If they exist, let's make a point of linking them, get them more attention, drive users to them.
I think some specific guidelines, like "no more than one post per three months discussing version releases", or ask that all version releases move to a table/directory listing (maybe start a parallel topic for this, if someone wants to take that up?). Good intent need not be the driver behind this, declaring and evolving guidelines to ensure that someone can skim the news every 2-3 months or read in a bit more depth once per year should be enough to help users not so deeply embedded in the ecosystem. The focus of this page is to update users who don't regularly work with GWT or have someone on hand they can as, or have an easy way to survey.
I'm all for someone picking up the "let's write a blog post per month/quarter", which might prove to replace the value of this page, but I suspect that given the examples above, the audience will be a bit different.
A news page is a great idea to show that the GWT project is still active. Happy to help out if I can be of any use.
FWIW - I found the GWT-OpenLayers 3+ library from a post on Gitter and it couldn't have come at a better time. Thanks @TDesjardins
To address the concern of a "long list of articles"...
How about we add a "category" and "subcategory" to the template (or hashtags) and eventually add a filter mechanism on the news page. (For now, we could show the category/subcategory)
ie.
To address the concern of repeating posts from active library developers...
What about a simple rule: if it's already been posted as a new library, updates should go out in a batch update with other libraries.
In terms of reducing maintenance effort, is there another way to automatically show "activity" for GWT?
Are there GITHUB tools that allow a web page to show the latest activity for tracked/starred libraries (ie, GWT-OL-CLIENT last updated 3 months ago)
Could we also automatically show messages from Gitter, Vertispan Twitch, Google Groups, etc?
Having a news Page makes the Project look a little bit more active, if it is updated from time to time. So i like the idea. A Release Plan would be great, and a page with links to (maintained) projects. The main problem i currently see, is that a lot of the other pages and links are simply outdated. And sorry, but the navigation on the pages is really bad. On a smartphone the pages are not usable, because the navigation doesn't work at all. No new developer will ever use GWT if all the descriptions to set up a working environment fail, because of references to dead pages or old versions of the eclipse plugin or gwt itself. Some examples: https://www.gwtproject.org/doc/latest/tutorial/index.html - Does not mention maven nor gradle and links to a google page https://www.gwtproject.org/meetingnotes.html - Ends 2017 https://www.gwtproject.org/learnmore-sdk.html - Video for GWT 2.0 http://gwt-plugins.github.io/documentation/gwt/launchers/CodeServer.html - Only GWT 2.7 and 2.8 https://www.gwtproject.org/doc/latest/DevGuideIE9.html - IE 9? Support has been dropped in GWT 2.10 ... Only a few pages have been updated recently. So we need more than just a news page, but it's a beginning.
@FrankHossfeld @niloc132 Well my answer was actually from a point of view of someone evaluating technologies regularly.
If I today search for java to javascript (compiler | transpiler | converter)
in Google I find JSweet, J2CL and some online converters. A link to GWT homepage only appears after these and it is not even a link to a useful page but instead to some JSNI documentation. Eventually I also find TeaVM. So my first impression would be that JSweet is the best, next is J2CL and eventually while reading about J2CL I learn about GWT. But at the same time I learn that J2CL is a successor to GWT and it was invented to provide a better integration with the JS ecosystem that wasn't possible with GWT. Also while reading about JSweet I can see how it compares itself to GWT and with the help of J4TS library it states that it can provide the same emulation as GWT.
So naturally I would likely visit the GWT homepage last.
Regardless if I end up on JSweet, J2CL or GWT homepage the very first thing that I am interesting in is how the transpiler keeps up with the regular Java updates and added language features these days. Thus I check the release cycle of the core transpiler and how fast it deals with transpiler bugs. Even though it is backed by Google J2CL releases look super bad and it feels like an internal project that happened to be open sourced. No homepage, no real releases with release notes, just a GitHub repo with some discussions. For GWT I learn that release cycle has slowed down dramatically but JSweet doesn't look a lot better here.
Next I would work through the documentation to find out how the transpiler actually works, what it can do, what it can't do. How I can use it with java libraries. Here I would probably discover that GWT bundles quite some features in its SDK and I would also learn about JSweet Candies. Documentation for J2CL is very sparse and it feels like having a steep learning curve with Bazel and Closure in the equation. I would definitely search for getting started tutorials in the documentation and work through them to get a feel of the transpiler.
Next would be all the "how do I do x?" questions. Because GWT provides quite a bit in its SDK it would look quite good here. But naturally these questions would be solved using google searches. Here now is the community aspect. The more active the community, the more likely I find answers to my questions. That is probably also the time I more closely look who is responsible for the project. Is it backed by a company or not, etc. Is it really something I want my product to depend on, etc.
What I want to say is that a centralized list of releases of all kinds of libraries is not important during evaluation of the core technology.
If you want GWT to look better GWT needs to:
(Aside, JSweet is not just slowing down, but actively looking for an org to take over the project https://news.ycombinator.com/item?id=38592087)
I think that's a very reasonable approach, but also somewhat cross purposes with what Frank was trying to achieve. Setting up GWT an enticing to new users is undoubtedly important, but the goal here appears more in centralizing news for existing users to have a single visible point for content.
I think PRs that try to address what you're looking for would also be a great addition, but need not stop or preempt this change? Or do I misunderstand somehow, and adding a news listing that points an already-familiar user to additional resources about GWT is counter-productive?
@jnehlmeier I agree with you. From a technical point, you are absolute right. But, looking into companies that started using GWT in 2010 or so and will get a current state, they usually look at gwtproject.com. And that are not technical folk, who wants to know how a transpiler works. They want to know, is it worth spending money in there existing GWT project or starting new one. All the points you mentioned, I agree. Look at the other PRs, where I try to cover some things of what you said. I will continue to improve the web - site and any help is appreciated. And I am happy to get feedback.
In my opinion the GWT eco system is one of the candies of the GWT project. Having ready to use libraries with the SDK are a real value for a project. And pointing these kind of visitors in the right direction is a big deal. I think it is important that there is the SDK and that there is the living eco-system based on the SDK.
Please look at the eco-system PR. I separated the SDK stuff from the eco-system stuff. Saying this is the transpiler and this is the eco-system. I think, this will help existing GWT users and new ones or those who decide continuing using it.
The getting starting tutorial should embrace these best practices. No more single projects with client/shared/server code produced by Eclipse plugin for example.
check this one please: https://github.com/gwtproject/gwt-site/pull/354
I think PRs that try to address what you're looking for would also be a great addition, but need not stop or preempt this change? Or do I misunderstand somehow, and adding a news listing that points an already-familiar user to additional resources about GWT is counter-productive?
I am fine with a new page as long as it only covers GWT itself and not any other library not living under the gwtproject.org umbrella.
For new users it is more important to have a structured list of libraries worth trying, similar to all those awesome lists on GitHub. For existing users a news page that aggregates news of all kinds of external projects will be just noise because they already have their stack.
So yes, I don't see a lot of value allowing external projects not under the gwtproject.org umbrella to post news on gwtproject.org.
Some projects have a blog with monthly or quarterly updates that follow a fixed structure as an in-between solution. First these posts usually talk about what is new in the core project that blog belongs to and then show some interesting links like articles, how-tos, YouTube videos, showcases. So it is more like a newsletter with interesting content. See https://svelte.dev/blog or https://www.synadia.com/newsletter . But something like this is only possible if the community has published enough interesting stuff on the internet. I don't think that is the case with GWT.
I am fine with a new page as long as it only covers GWT itself and not any other library not living under the gwtproject.org umbrella.
That's what the other PR does. It separates the SDK stuff and the eco system stuff. And there is a news site for the SDK and under eco system one for the eco system.
For new users it is more important to have a structured list of libraries worth trying, similar to all those awesome lists on GitHub. For existing users a news page that aggregates news of all kinds of external projects will be just noise because they already have their stack.
Please check: https://github.com/gwtproject/gwt-site/pull/351
But something like this is only possible if the community has published enough interesting stuff on the internet. I don't think that is the case with GWT.
Yeah, GWT is a boring toolkit framework. And that is great. It does it job very well without making much noise. But looking at the eco system, in the last years, there is awesome stuff, that happens outside. Without having the intention promoting it, look a DominoKit. These is amazing. And using it, will increase development speed tremendous. And that are the things, that plays the music in the GWT eco system. There is an awesome transpiler and a great stuff of the things, you need to create a great web application with Java.
For a business , creating widgets, thinking about the way to talk to the server has usually no value. They think about, how there business requirements get implement to low costs. That is a value. And that is something GWT SDK does not offer, but DominoKit does. That's a real value. So, why not mention it?
A newsletter requires, that you know about it. Not knowing, no newsletter.
at the end, you need something that provides informations about the eco system. So, why not using this site?
Please check: #351
Yeah that is basically what I mean with a curated list of useful libraries
So, why not using this site?
Because I don't see the point of mirroring news like e.g. https://dominokit.com/news on gwtproject.org if there is already a link to that library on the curated list of libraries in that other PR. It is duplicate content and on gwtproject.org it will become noisy if many libraries start to mirror news. It might also hurt library developers because they might loose valuable statistics if people follow news on gwtproject.org instead of the news page of the individual libraries.
While I'm skeptical that ecosystem contributors wouldn't want additional traffic, this does suggest a reason that authors of libraries/frameworks might want to control if their content appears in the listing or not, so @FrankHossfeld I'll withdraw my suggestion that we let anyone contribute news about releases.
If we suffer from too much content, we can re-evaluate? The noise level is pretty low as we can see from the PR and discussed rules? These seem like "good problems to have", but not the kind we currently have or expect to have (as above, it seems we're a lot more into bikeshedding than getting concrete changes made).
I'm worried that this thread is turning into excuses to prevent changes from being made, rather than active progress towards a goal - if we outgrow the need for the news page, we can sunset it, once the other proposed contributions start coming in?
To make clear: I do not want to merge this PR anymore. I did not close it, because of the ongoing discussion. I agree, that mixing up SDK news with eco system news is a good idea.
Having eco system news is not a relevant detail for developers. It is more or less a marketing trick to get a boring webtoolkit more shiny. So, we can close the discussion having a news page for both the sdk and the eco-system at that point.
I agree with @niloc132 that we should not use that threat for preventing other updates ...
ATM I see only one point where we have to make a decision.
Talking about best practices.
In case I am starting a new project, I will use the gwt-maven-springboot-archetype (which does basically the same as the gwt-maven-archetype, but uses Spring Boot as server) to create a new project.
Also I use
In my opinion, that's the tool stack I would use and also suggest in modern GWT development.
Now, when talking about best practice, will we point at that libraries or only the stuff of the SDK?
@niloc132 we can do this discussion in another issue or create a discussion.
What about actually archiving the whole website with all the obsolete stuff in it like -request factory, widgets, ant,...etc - and deploy a stripped version and adds stuff incrementally related to the new modules, maven, gradle and a home page with announcements and latest added features and emulations.
old stuff will be hosted in the archived site, new stuff in the new site, we can have a link to an external url with a page that list announcements and news from some RSS feed published by third party libraries and frameworks developers.
I think we reached a point where we need to get the wheel moving and see where it takes us.
I just wanted to give an opposite opinion. If the majority thinks it is still a good idea then go ahead.
In my opinion, that's the tool stack I would use and also suggest in modern GWT development.
Now, when talking about best practice, will we point at that libraries or only the stuff of the SDK?
Best practices are more like:
Recommending libraries as best practice seems like a difficult topic. GWT 2.x works well and looks like not being in total maintenance mode (however I assume mostly because of paying vertispan customers). I don't know. Currently it is a weird situation with all those rewritten SDK libraries, the old but working 2.x SDK + Compiler and J2CL just being a compiler without any real homepage. But that should be discussed somewhere else.
@jnehlmeier what I mean: f.e.: the webAppCreator creates a project that is not real best practice. The gwt-maven-archetypes creates one that is 'best practice', but is not part of the SDK.
Ok, we can say, that is a good project layout and that will do that.
A great idea.
Actually we just need to execute this action. A News Page is always a good idea. BTW. "Perfect solutions for all situations are unattainable in this world." Just do it. 😀
I'm trying hard to inform people that GWT is not a "dead product / project":
Everyone is asking "I'm still trying to figure out how much these are used. I have used GWT back in the day but wouldn't reach for anything like it today. Anyone else using those technologies?". In my workplace I cannot make the Java developers think that we should try GWT, instead they go for Vue / React.
Anything what makes this transparent will help GWT.
I'm for a new "News Page", just to show that GWT is not dead. Simple but powerful.
One example in Twitter about "GWT is dead": https://x.com/therealdanvega/status/1737947073717408201?s=20
Thanks, Lofi
What about actually archiving the whole website with all the obsolete stuff in it like -request factory, widgets, ant,...etc - and deploy a stripped version and adds stuff incrementally related to the new modules, maven, gradle and a home page with announcements and latest added features and emulations.
old stuff will be hosted in the archived site, new stuff in the new site, we can have a link to an external url with a page that list announcements and news from some RSS feed published by third party libraries and frameworks developers.
I think we reached a point where we need to get the wheel moving and see where it takes us.
It will take more effort to build a complete GWT homepage. But yes, a good idea. As we all know: idea is cheap, implementation is king. So far I cannot see, that someone will execute the complete rework of the page.
For the first step, I would say, a new News Page is simple and powerful.
Basically, anythings that shows GWT is alive and well helps, therefore I appreciated the initiative by @FrankHossfeld.
Also, I tend to take @niloc132 comment seriously:
but nearly every inquiry we get about GWT starts with "hey does GWT have a future, or are we going to need to immediately rewrite after this conversation" and not "hey is GWT stable, and how can I do X with it". Nobody needs everything, but there are a lot of folks that don't have or take the time to look. The stability and ongoing potential of a toolkit like GWT isn't defined by its own releases, but by its ecosystem, so the news of the ecosystem turns out to be the news of the tool itself.
As a GWT user, I like the idea of a central, "official" place to look for news about not only the project itself, but also about the ecosystem.
At least, the discussion with lots of input and further ideas seems to show there is a need for updates of the page. :-)
It will take more effort to build a complete GWT homepage. But yes, a good idea. As we all know: idea is cheap, implementation is king. So far I cannot see, that someone will execute the complete rework of the page.
For the first step, I would say, a new News Page is simple and powerful.
@lofidewanto
You are totally right. But today, where GWT is an Open Source project and under control of the community, it is up to the community, to get it done. And I am convinced, the community will get it done.
added release news
I think we all meet people, who are telling us, that GWT is dead. We all know, that this isn't true. You just have to look into the GitHub repos or this room. It is very vital. For devs & decision makers, who are not so familar with this room or who do not check the GWT repos, and they only take a look at the gwtproject side ... there is no information about upcoming release or features or the activity inside the community.
This is a proposal to add a news page to gwtproject.org.
The idea is, to have one place where the community can anouce things related to GWT, J2CL or related third party libs.
The landing page with the added 'News' entry:
and created a news page (the table of content is visible, cause it runs locally (I hope ... :-))):
To add news, someone has to create an issue (here in this repo - we should create a template for that) and maintainers will add the news.