Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Better discoverability for self-hosted web projects

A topic by yurisizov created 1 day ago Views: 187 Replies: 18
Viewing posts 1 to 6
(1 edit)

Hey!

As far as I can tell, the only way for your project to be recognized as browser-compatible is to use the feature where you upload it directly to itch.io. I have a case where I cannot do that. Mainly because I need a custom web server configuration and I don’t expect itch.io to support such situations, but also because I want a carefully crafted landing experience for people who chose to use the web version of my project. So this is fine!

This means, however, that my project is missing the shiny “Run in browser” tag across the platform, and cannot be found using related filters. And while I mention and link the web version, this is hardly the most important feature of the project, so it is only described in the middle of the project summary. Nowhere near where the supported platforms are listed on the page.

So my proposal here is to provide a way to indicate web support with an external link, which would opt the project into the system to be recognized and discoverable as a “run in browser” project. Now, I understand that you may have concerns about redirecting people to 3rd party resources, and if that’s a strong argument against this idea, I appreciate that. Still, I’d love to be able to tell people that they can use the project from their browser on the same level as other projects do, even if it is not hosted by itch itself.

On a sidenote, while looking for an answer I spotted this blog post which suggests injecting an iframe into the uploaded HTML file to sneakily use your self-hosted version. I’m not entirely sure if this is something that you openly support as a solution in this case, is it? If security is a concern, this seems equally problematic in my opinion. At least in terms of the phishing angle. In any case, this would probably not be a suitable replacement for me, because it doesn’t yield the best user experience.

Thanks!

EDIT: Just want to clarify that by “self-hosted” I refer to projects hosted externally, in relation to itch. I don’t refer to projects which are not hosted anywhere at all, which you need to download and host yourself or run locally in a browser. So assume that the project is already available, but for technical reasons cannot be embedded on itch and you have to navigate elsewhere to access it, if you want the browser version.

And in my specific case, the project is also available on desktop platforms. So the itch page is justified and is used appropriately. The web version is only one of the options.

(+1)

I'm in a similar situation with a project I'm working on where I need to authenticate players. I'm not sure what the 'official' Itch view is.

As a third party website inside an iframe, you face restrictions to some web APIs/functionality like third party cookies in some browsers, which won't be an issue if you direct your users to your website at the top level. Instead, you could have a web game upload where your game page just shows a link to your own website that the user has to click.

(1 edit)

In my opinion, if one's project is not downloadable and not hostable on Itch, why have an Itch page in the first place. Itch is still a project centered store, even if many projects are free or pay what you want. So if one's project is not on Itch, something is amiss with that project page.

They kinda adress this at some places, like here https://itch.io/docs/creators/quality-guidelines#avoid-only-uploading-keys-or-li...

Of course, if one's downloadable game is on Itch and one just self hosts the web version of that game, one might get away with an alibi html5 "game". But as a user one might get suspicious and concerned if the web game one browsed on Itch is not actually on Itch, but is a download game.

What is always possible is to have a devlog/blog post about one's webgame on one's attached download version of the game.

Or put up a demo version with reduced features.

--

Edit: exchanged generic pronouns with one. I know this is technically a reply, and any use of "you" might be understood as a direct form of adress to the original poster, but you cannot post a non-reply in a thread. Since we are talking about a feature for all, I though the generic context was obvious.

Who said anything about the project not being downloadable on itch? It is downloadable, for every desktop platform, and even the web version is available for download (for self-hosting), if you so choose. But the web version requires a server configuration not possible on itch (and probably for a good reason), and there are also other usability concerns with running it embedded.

This cannot be solved by a demo, as it’s not about features. And as I mentioned, the description already points users to the web version, if that’s interesting to them. The issue is that the project is not discoverable if the user looks for this type of project with a browser support.

Having an explicit option for browser-compatible versions which are hosted elsewhere can be used to gracefully handle user concerns, actually. Itch can have an explicit message that the project is hosted by a third party and even link some FAQ that explains the risks. Ultimately, it wouldn’t be any different from a link in a description, just with a benefit of actually being discoverable by users.

If that’s still suspicious to you, that’s fine. I just don’t see this as an argument against helping developers and users looking for browser apps and games to connect.

Your thread title does not include the special case where there is also a download version. You are suggesting this kind of homepage hosted web games discoverablilty for all projects.

I covered both cases in my reply.

I have seen attempts of having a placeholder project to drive people to a 3rd party service. Some of those have been crypto projects. So, yes, if someone would have a project that consists only of a web "game" that directs me to a another service, I would get very suspicous. I am browsing Itch and not a general software catalogue.

The "Play in Browser" filter can be understood as "Play in Browser on Itch and in the Itch app". A version hosted on some homepage would not run in the Itch app, nor on Itch. It is also understood as being hosted somehwere and not be a browser version for download. Though I would imagine the option to select "browser" as a platform for downloadable files would be usefull - but those files should not make projects appear in the "Play in Browser" category.

But this is my opinion and this is a discussion board.

For your case specifically, what kind of webhoster app would be compatible to self host your project? You mentioned special configuration being necessary. Or did you mean a browser version with "self host"? If you use the word host, you need a webserver even if it runs on localhost, otherwise it is not hosting. It is just running a browser version diretly from the file location. And if that is possible, I am kinda curious why the app would not run as a web version on Itch. I assumed some kind of multiplayer issues or whatever. But then I realized your project is a tool and seems to be made in godot and there is plenty of godot web projects https://itch.io/tools/made-with-godot/platform-web

I appreciate that this is just your opinion, but you started your reply by arguing with a point that nobody made. You assumed something that was never stated and wasn’t the point of the suggestion.

Back to the discussion, there seems to be a misunderstanding about the context for my suggestion. The project is already hosted and available to everyone who wants to use it in a browser. Just not on itch. But you don’t need to download it and host it yourself, locally or otherwise. I simply mention that you can also download the sources for self-hosting, if you want to. Alongside desktop versions. I’m making a point that the project is fully available on itch as you expect, to address your assumption that the project is not downloadable/available directly.

Still, the web version itself cannot be hosted directly on itch. There are specific issues and there is a general problem with user experience. Specific issues boil down to Safari being picky about certain security HTTP headers and itch is configured in a way that doesn’t make Safari happy. Safari wants more strict headers than all other browsers, but that makes it impossible to do certain things. For example, integrate ads to your web projects. Itch is specifically configured in a more relaxed way, allowing for such features, and it works in most browsers. To clarify, I don’t need ads, it’s just and example of the rationale behind server configuration considerations.

Yes, Godot projects run fine on web, and so does mine. But Safari makes it problematic, and in my specific case I cannot use a workaround introduced in a recent version of the engine.

So, again, the case here is with a project that has web as one of its platforms. The project is available in the browser, but not directly on itch, for technical reasons. Still, users might be interested in it and the fact that it runs in a browser, even if you cannot do it directly on itch.

Is this a translation issue? There are several things you say that make me believe there are things lost in translation. I shall try to exchange the generic you with one in this post, as that might have lead to misunderstandings.

You assumed something that was never stated and wasn’t the point of the suggestion.

I am not sure to what you are referring to, because I did not make any assumptions in such a way. And reading further, I am rather sure I understood your feature suggestion quite well. 

Your suggestion is to make projects discoverable in the Play in browser section, even when they do not have a web-playable thingy actually on Itch, but by giving ability to state that the game is hosted elsewhere. Is this not so?

I posed two scenarios, where one would either have no downloadable files or one would have some. And gave my opinion and reasoning for having that opinion for both cases.

But you don’t need to download it and host it yourself, locally or otherwise. I simply mention that you can also download the sources for self-hosting, if you want to.

That makes little sense. What exactly do you mean by "host it yourself/self-hosting"? The second part would imply redistribution. The normal use case seen on other projects would be to open the index.html file on one's hard drive with a browser - and that would not be called hosting, hence my confusion.

Safari 

So let me get this straight: your web project would not properly run on Itch when accessing it with Safari. But uploading it to Itch anways for all the people not using Safari was not an option? You could check for browser when starting the app and redirect people to your homepage and explaining that it does not work in that combination (Itch+this project+safari). And also put that in the description.

Well, when I try to run certain browser games on my phone, I just get the message that this and that will not run. Bad luck. Not all browser things run on all browsers. There are even flash games still on Itch and those will not run on most browsers, not only not on Safari.  https://itch.io/games/flash/platform-web

The project is available in the browser, but not directly on itch, for technical reasons. Still, users might be interested in it and the fact that it runs in a browser, even if you cannot do it directly on itch.

If one makes a game, a game for Windows in this example, that also has a version for Linux, would you want to have that game appear in the section that officially proclaims that the game runs on a platform, even though the version for that platform is not actually on Itch? Like, one would only have the Linux version on github or whatever.

That makes little sense.

Key words are “don’t need to” and “can”. Hope it helps.

So let me get this straight

Quite frankly and with all due respect, I’m not asking for an advice on how to best distribute my projects. I’m explaining the circumstances and the problem with discoverability. If you do not believe it’s a real problem and think that my suggestion is unreasonable, just say so and let’s stop there.

Is this a translation issue?

I don’t like how this conversation is unfolding. And I’m sure you’re not trying to be rude on purpose, but the way you opened your initial reply and continue to engage with me is very unpleasant and hard to take in any way other than condescending.

You are perfectly clear. But you also make tangential and lengthy arguments which have little to do with the suggestion, like your opening point about projects not being available for download having no place on itch. And you also keep missing the point about source files being provided for download for those who want them — which has been just a side note, which I now regret making because it seems to have really confused you. And you keep trying to catch me on some technicality, posting, as if it’s some kind of proof, links to Godot games available on web or questioning my rationale for distributing the project the way I do.

To which end you do this I don’t know. I assume you just don’t see value in the idea, and that’s fine. You’re entitled to your opinion. The added scrutiny, insistence, and argumentative attitude is unnecessary. So let’s leave it at that, and have a nice day.

No. It does not help. What do you mean with self-hosting? It is not an unreasonable question. This very thread here comes up on page 1 or 2 when searching for its usage on Itch  https://duckduckgo.com/?q=site%3Aitch.io+self-hosting&ia=web 

And wether or not you are interested in my opinion about your situation, I asked, if I understood your situation correctly. Judging from your reaction, I did understand. Sorry for bringing my point of view into a situation. And to clarify my view: I fail to undertsand why you do not upload your web version to Itch for the people that do can use it here. This would also have the benefit that you do not have to wait till your suggestion is implemented.

As for the general case, if you had answered the example with the Windows version on Itch + Linux version elsewhere scenario, there would have been a base for further discussion, depending on how you would like the discovery system to work, based on platforms. I consider that scenario and the one with external web hoster quite similar.

(3 edits)

Self-hosting is a way of providing a web resource by hosting it on the server that you directly control, rather than using a service that hosts something for you and lets you control it via some high level tools like an admin or control panel.

When I talk about self-hosting I mean a situation where a developer hosts a web project of theirs on their own server or a server that they directly control, and not by uploading and embedding it on itch.

What got you so confused is my mention of the fact that I also provide the source files of the web version, so people who desire, for whatever reason, to host a copy of the project themselves, can do so. This is unrelated to my question, but I brought it up because you decided to make an argument about a situation where the project is not downloadable from itch. I merely pointed out that this is not the case for me, and that this is not a part of the premise for my proposal.

I provide source files because it’s an open source project. People are free to do with it as they please. So in good faith I provide as much as I can, because different users might have different needs. Which is, again, beside the point of this proposal and was but a side remark that I’ve added to highlight that the project is very much downloadable in my case, and that I use itch for its primary purpose.

This is not a blocker to me, and if leafo and team decide against this, or even completely ignore this suggestion, it wouldn’t really bother me. I just thought it’d be good to let the users know that the project is available on web in a way that is as noticeable as other related projects. It sucks to not be discoverable when great efforts have been put to make this version happen. But it is what it is, and I’d be fine with either resolution. Nothing hangs in balance for me. It’s just an idea.

I find your comparison inappropriate and pointless. There are no technical limitations for uploading any executable to itch and labeling them appropriately between the 4 supported platforms. If someone chooses not to do it, then, well, it’s up to them. Hosting web applications on 3rd party services like itch, however, is not always possible. While itch is extremely accommodating, it has its own things to consider. And as a developer I have to consider that if part of my users may have inadequate experience, I should make sure that they don’t.

I could upload the project to be hosted by itch in whatever form it can be, but that means I have to support this second web version of the app, in an environment that I do not control and cannot apply every fix possible if needed. This is undesirable, and it increases burden on me, as a sole developer maintaining a rather popular open source project. But again, I don’t demand or request itch to change anything about their support for web-based projects. And it’s not critical to me that they even consider my suggestion.

I just think it’s a good idea to help developers and users connect better. Your views seem to be rather conservative in that regard. So you try to convince me that I need to do something, that I’m approaching this incorrectly, that it’s mine and mine alone problem and my point of view is insignificant. You wave at the other comment here that mentions that they don’t want to go outside of itch’s ecosystem as if that should discourage me. You demand someone enlighten you why this should be such a brilliant idea.

What’s with all the gatekeeping? You’re making such a big deal out of a tiny suggestion, creating a hostile environment where the person proposing must prove something to you. I’m beginning to regret to even trying to propose anything. But maybe that is exactly what you want people to feel.

Thanks for the clarification. This was unexpected, as regular users usually do not have the capacity to do such a thing.

You might have understood my initial posting to be specific about your project. It was not. 

I do hope that this is a language thing (btw, English is not my native language). You accuse me of things I did not do. Being of a different opinion is neither gatekeeping nor creating a hostile environment. Nor would asking for reasoning be a discouragement. And voicing an opinion is not telling you, that you are incorrectly doing something. Also, hoping for further arguments, is not a demand.

I really do look forward for any arguments, from you or other people, in favor for your suggestion. Or against it, for that matter. 

Your argument seems to be, better discoverability.

And I agree!

My main argument was, that this is not what I expect from the filter "Play in browser". You also seemed fine with that.

So let's leave it at that.

(1 edit) (+2)

My opinion as a user (So you can see the other side).

If I search for a web game on Itch, I don't want to get a game that has to be played on another server or hosted locally.

I understand that you make that decision because your game needs it and you consider it to be the best, I don't argue with that, but I, as a player, am not interested in finding that limitation when I'm looking for a game with the "web" tag.

Thank you for your POV. Could you explain, why would you consider opening a project hosted on another domain a limitation specifically?

(+2)

Because of the security settings I use, I block code from any domain that isn't on a whitelist. If a game needs to run code from another domain, it most likely won't be able to run it unless I manually add it to the whitelist.

In those cases, my first thought is that it might be a security risk or the game is simply trying to use the Itch page to drive an audience to their site. Unless I have a good reason to test the game or trust its developer, I won't try to play it.

I'm not saying that's the case for you, I'm just explaining why I consider it a limitation.

(+1)

That’s absolutely fair! To be honest, I don’t think most people have a similar setup where they actively opt into stuff, but it’s still a valid approach.

If my suggestion is implemented in any way, I’d expect itch to clearly label projects which are available in a browser but hosted externally to keep the users informed. That would be essential in my opinion, and should help you avoid them just as well.

I shall try again to phrase it differently and shorter:

If I search for browser games on a hoster, I want to find browser games on that hoster and not browser games that are hosted somewhere.

The situation is different if I search on a generic game searching site. Itch is not the google for indie games.

(1 edit)

That’s fine. If this suggestion is implemented, there should be a clear indication if the project is available via a third party and not directly on itch. So you can avoid such projects if they are not your cup of tea.

And there can be extra guardrails too, like your project must be otherwise present on the platform. So itch doesn’t turn into an ad board for 3rd party services. Though I think it’s a bit premature to worry about that. And, besides, that can already take place regardless of this suggestion, as you are not required to upload any files for your project.

I do not think it premature to discuss the benefits, ramifications, obstacles, and other things related to a feature suggestion. That is what discussions are for. There is a feature request button for "silent" suggestions.

Maybe someone will speak up and gives insight why this would be an excellent addition to Itch. You already heard two voices that basically said, they want to find projects on Itch when searching on Itch.

There even is precedent for part of the thematic in your suggestion. External file hosters. Those can't be filtered too. So when they would add a filter option for hosted on Itch/hosted external this might be applied to browser games too.

(1 edit) (+1)
  1. You put a URL to your self-hosted game on the Itch page
  2. You upload an HTML canvas to Itch that simply says "Use the link below", so now it's also marked as a brower game
  3. $$$

Yes it's a hack, but what you're asking for shouldn't be implemented. Itch is not a directory of external links, it has responsibility to keep what it hosts safe for users. And if they add a big POTENTIALLY DANGEROUS EXTERNAL LINK  warning no one will play it anyway, so trouble of implementing the feature isn't worth it.