pouet - new platforms
category: general [glöplog]
Two cents...
"Wild" as a platform is really silly, it's a catch-all invented for compo purposes. "Alternative platform" is less of a catch-all, but it still is one.
Rudi's idea about tags is spot on. I guess it might be what Gargaj and Marq were talking about, and I guess Demozoo has something similar to an extent. If you added a tag system I think it'd be an easy but expandable way to mitigate many of the concerns related to platforms.
There's (at least) two choices for the tag system as I see it:
1) Top-to-bottom: explicitly have platforms, and have platform-specific tags associated to them under the platform - e.g. you'd have the platform PC (or the platform MS-DOS, or whatever the definition of platform turns out to be), and under it you'd have e.g. the tags GUS and CGA associated only with that particular platform.
2) Bottom-to-top: just have tags, all on the same level, and have a platform consist of any number of tags - e.g. you'd have the tags "PC" and "MS-DOS", and the platform "PC/MS-DOS" (or however you'd want to name it) would be the compound of the tags PC and MS-DOS. In this model the platform would mainly be there for presentation purposes as a kind of shortcut - you could just use the tags for everything, but for displaying the information so that it's useful to the viewer, you might want a way to emphasize a certain set of tags (that is, make it clear that the prod is for "PC" and "MS-DOS" instead of showing the whole bunch of tags as equally important).
Now... I'm not sure what the sensible platform setup would be. I mostly agree with Gargaj's approach, but what if Windows and MS-DOS are platforms and you want to search for all the PC prods? Would PC be a tag for the platforms Windows and MS-DOS, or would PC be the platform and Windows and MS-DOS be tags for it? Or would you simply select both Windows and MS-DOS to search for PC prods? Fine, then you should also select BeOS and OS/2 and stuff. How about Amiga? Is Amiga a platform? Or are OCS and AGA platforms? I don't know.
I think approach 2 has two advantages: more leeway in defining and redefining platforms as needed, and the fact that you could (if needed) use only some of the compound tags - e.g. if there's an Amiga prod that is either OCS or AGA but you just don't know yet, you could just tag it as Amiga and confirm it later. Missing information is better than incorrect information.
Regarding the "alternative platforms", overall I think it's nicer to have more specific data than less specific data. For oscilloscope demos I think it's quite clear, the oscilloscope is the platform. If there's a demo made for an ATM, the platform is ATM. Church belltower, well, sure. If you want to point out that they're alternative, add a tag.
I also don't understand the whining that ensues every time someone suggests adding a new platform - I guess the problem is mostly in the presentation, scrolling through the long list of platforms etc? In that case the solution should also be in the presentation; prioritize the most used platforms in the lists to make sure people find what they're most likely looking for, or organize the lists into groups of platforms, or something.
For some reason I'm slightly anal about this, but I think you should always strive for the most exact information possible. As long as you have the data, you can present it the way you want. And usually the more flexible your data structure is, the more options you have for presenting it.
"Wild" as a platform is really silly, it's a catch-all invented for compo purposes. "Alternative platform" is less of a catch-all, but it still is one.
Rudi's idea about tags is spot on. I guess it might be what Gargaj and Marq were talking about, and I guess Demozoo has something similar to an extent. If you added a tag system I think it'd be an easy but expandable way to mitigate many of the concerns related to platforms.
There's (at least) two choices for the tag system as I see it:
1) Top-to-bottom: explicitly have platforms, and have platform-specific tags associated to them under the platform - e.g. you'd have the platform PC (or the platform MS-DOS, or whatever the definition of platform turns out to be), and under it you'd have e.g. the tags GUS and CGA associated only with that particular platform.
2) Bottom-to-top: just have tags, all on the same level, and have a platform consist of any number of tags - e.g. you'd have the tags "PC" and "MS-DOS", and the platform "PC/MS-DOS" (or however you'd want to name it) would be the compound of the tags PC and MS-DOS. In this model the platform would mainly be there for presentation purposes as a kind of shortcut - you could just use the tags for everything, but for displaying the information so that it's useful to the viewer, you might want a way to emphasize a certain set of tags (that is, make it clear that the prod is for "PC" and "MS-DOS" instead of showing the whole bunch of tags as equally important).
Now... I'm not sure what the sensible platform setup would be. I mostly agree with Gargaj's approach, but what if Windows and MS-DOS are platforms and you want to search for all the PC prods? Would PC be a tag for the platforms Windows and MS-DOS, or would PC be the platform and Windows and MS-DOS be tags for it? Or would you simply select both Windows and MS-DOS to search for PC prods? Fine, then you should also select BeOS and OS/2 and stuff. How about Amiga? Is Amiga a platform? Or are OCS and AGA platforms? I don't know.
I think approach 2 has two advantages: more leeway in defining and redefining platforms as needed, and the fact that you could (if needed) use only some of the compound tags - e.g. if there's an Amiga prod that is either OCS or AGA but you just don't know yet, you could just tag it as Amiga and confirm it later. Missing information is better than incorrect information.
Regarding the "alternative platforms", overall I think it's nicer to have more specific data than less specific data. For oscilloscope demos I think it's quite clear, the oscilloscope is the platform. If there's a demo made for an ATM, the platform is ATM. Church belltower, well, sure. If you want to point out that they're alternative, add a tag.
I also don't understand the whining that ensues every time someone suggests adding a new platform - I guess the problem is mostly in the presentation, scrolling through the long list of platforms etc? In that case the solution should also be in the presentation; prioritize the most used platforms in the lists to make sure people find what they're most likely looking for, or organize the lists into groups of platforms, or something.
For some reason I'm slightly anal about this, but I think you should always strive for the most exact information possible. As long as you have the data, you can present it the way you want. And usually the more flexible your data structure is, the more options you have for presenting it.
I disagree for the most part: I think tags are more well suited for subjective description (i.e. "heavy metal", "uptempo", "monochrome", "cinematic"), whereas platforms should be an objective classification, similar to how we classify plants or animals or even musical genres. I don't think a flat structure is appropriate for that.
As said, the definition of "platform" does throw a bit of a wrench in that machine (i.e. with an OS that runs on multiple architectures), but then, a binary is rarely ambiguous in that aspect.
As said, the definition of "platform" does throw a bit of a wrench in that machine (i.e. with an OS that runs on multiple architectures), but then, a binary is rarely ambiguous in that aspect.
I think the word "platform" is actually used in a more diverse way, and it wont't work very well if you try to declare a narrow official meaning for it. "What platform is this prod for" might sometimes mean more like "what scene did this prod arise from". PC/DOS prod, means, PC/DOS scene prod.
How about looking at it this way. The attributes... well, _words_ that are implied to characterize the prod in some way, shown on a prod page, essentially work like tags. They are a tagging facility. Whatever characterizing words are seen attached to the prod, are, in a way, tags. This "objective classification" hierarchy thing you'd like to have, where everything belongs to exactly one "class", does not work in practice, when you try to apply it to the so-called real world with people and their culture. Just like class hierarchies in o-o programming, it only works perfectly for simple classroom examples.
So why not accept reality and support the currently used tagging system as a tagging system...
How about looking at it this way. The attributes... well, _words_ that are implied to characterize the prod in some way, shown on a prod page, essentially work like tags. They are a tagging facility. Whatever characterizing words are seen attached to the prod, are, in a way, tags. This "objective classification" hierarchy thing you'd like to have, where everything belongs to exactly one "class", does not work in practice, when you try to apply it to the so-called real world with people and their culture. Just like class hierarchies in o-o programming, it only works perfectly for simple classroom examples.
So why not accept reality and support the currently used tagging system as a tagging system...
Car analogies are bad, but let's try a programming analogy.
Classes are groupings of pure abstract interfaces. (If you'd like to disagree, go back and assume this definition for the duration of this message) "Tags" are like pure abstract interfaces. A defined aspect of functionality, defined narrowly enough for the modeling needs of a particular application domain (=how narrow, depends on application). What you suggest with this "objective classification" thing is, you'd like every object to belong to exactly one class. But, since you don't support tags i.e. pure abstract interfaces, and you don't support describing platforms i.e. classes, as groupings of tags, it's like a very primitive o-o language. No wonder the users of this language i.e. Pouet, are struggling, trying to model their ideas and express things in the language!
And by the way. If "platform" is such an extremely narrowly and specifically defined (*ahem* "objective"... lol ) concept, then surely each platform, being an important first-class citizen, has its own page that very clearly explains all aspects of that platform? Like http://www.pouet.net/platform.php?which=123
I guess I'm saying basically the same thing as Reed.
Classes are groupings of pure abstract interfaces. (If you'd like to disagree, go back and assume this definition for the duration of this message) "Tags" are like pure abstract interfaces. A defined aspect of functionality, defined narrowly enough for the modeling needs of a particular application domain (=how narrow, depends on application). What you suggest with this "objective classification" thing is, you'd like every object to belong to exactly one class. But, since you don't support tags i.e. pure abstract interfaces, and you don't support describing platforms i.e. classes, as groupings of tags, it's like a very primitive o-o language. No wonder the users of this language i.e. Pouet, are struggling, trying to model their ideas and express things in the language!
And by the way. If "platform" is such an extremely narrowly and specifically defined (*ahem* "objective"... lol ) concept, then surely each platform, being an important first-class citizen, has its own page that very clearly explains all aspects of that platform? Like http://www.pouet.net/platform.php?which=123
I guess I'm saying basically the same thing as Reed.
Um. Simple question. Why now use both systems and get the best of both worlds?
When it comes to tags, it is IMHO important, to limit the number of tags given (like Stack Overflow does) and to have a good recommendation / match engine if you begin the type in stuff, so that you will not end in many many tags, that have only on demo attached to it.
When it comes to tags, it is IMHO important, to limit the number of tags given (like Stack Overflow does) and to have a good recommendation / match engine if you begin the type in stuff, so that you will not end in many many tags, that have only on demo attached to it.
I don't think tags (in regard to platforms) should be subjective at all. Even if you go for the more rigid platform approach, there are still lots of valid use cases for "platform tags". There are e.g. Amiga prods that require Kickstart 1.2 and not any newer, there are prods that require the external disk drive to be disconnected, there are prods that require a 68030 processor or better - that kind of stuff makes sense to be tagged. Most importantly, there are productions that are OCS and also run on AGA, and there are productions that are OCS but don't run on AGA. And if you go down that road, you'll soon be wondering why OCS or AGA should be separate platforms in the first place, instead of tags.
Feels like 2013 all over again ;)
Just platforms are fine, surely? Taking Amiga as an example, OCS or AGA = ok. Anything more specific than that then put it in the comments, that's what I've seen most people do. (68060, needs fastram, assign this folder etc) The vast majority of pouet users are just regular demosceners, if it doesn't work first time we're going to look through the comments or fiddle about with the config until it works. (and then probably post in the comments how to do it) Seems like a system that works already? Let's be honest, the demoscene is unlikely to have an influx of new users at this point that would need an extensive tagging system to navigate things. As an aside the thing that really bugs me here is when people upload a prod and don't add a screenshot or a first comment, that should be mandatory on any upload.
The problem with tags (it is quite obvious at demozoo) is that sometimes they are interpreted as "requirements" and sometimes as "compatibility". These are not the same thing. E.g. "zx-spectrum-48k" can mean that ZX Spectrum with 48K of memory is required or that it is supported. Sometimes it is more natural to use former and sometimes the latter. This makes it very easy to introduce tags and add some tags to products, but extremely difficult to actually make it work consistently.
You have a fixed tags right now, basically options in "platform" and "type" selection box.
I guess adding custom tags is easy - just one more field into a table, but it leads to another problem: how to utilize those tags? If it's just for additional info, then you can use .nfo file. If you want to search by "tags" - it might make sense, but why not search within an .nfo file too ? :) I guess at the end, it is a question what is easier to implement ;)
I guess adding custom tags is easy - just one more field into a table, but it leads to another problem: how to utilize those tags? If it's just for additional info, then you can use .nfo file. If you want to search by "tags" - it might make sense, but why not search within an .nfo file too ? :) I guess at the end, it is a question what is easier to implement ;)
I always think, what is the agenda of all people. why we really do what we do
why at the end we want to subdivide platforms? what is the genetic tyranny of the human condition?
Have to agree with Optimus somewhat about "agendas".
I remember, for example, last Meteoriks Yzi and Photon tried hard (and almost succeeding) to convince other jurors 4Kb Win32 were TinyTros...
Also introspec made a valid comment about tag usage.
Most of the time the only real accurate standard platform measure is a specific demoparty's entry submission rules.
I would not feel comfortable seeing short-lived trends like "tool.io" or "unreal engine" as new platforms. It's closer to Google Creative Coding or Game company work lazy refurbishing segments and not really demoscene spirit ? I suppose it's a taste of choice.
I think some "platforms" are indeed already confusing novices like .js/shaders codegolfing vs. sizecoding "Code golf is a type of recreational computer programming competition in which participants ... participants strive to achieve the shortest possible source code (not to be confused with binary Sizecoding)" source, emulators prods that don't work on real machines or expanded/accelerated versus barebone/vanilla.
As for the rest, half of the thread is confusing enough to grasp a big overhaul is most likely unnecessary (means the admins are doing a good job already :), not until the above trivial matters and all the blatant fake voting accounts spawning regularly are fixed anyway.
I remember, for example, last Meteoriks Yzi and Photon tried hard (and almost succeeding) to convince other jurors 4Kb Win32 were TinyTros...
Also introspec made a valid comment about tag usage.
Most of the time the only real accurate standard platform measure is a specific demoparty's entry submission rules.
I would not feel comfortable seeing short-lived trends like "tool.io" or "unreal engine" as new platforms. It's closer to Google Creative Coding or Game company work lazy refurbishing segments and not really demoscene spirit ? I suppose it's a taste of choice.
I think some "platforms" are indeed already confusing novices like .js/shaders codegolfing vs. sizecoding "Code golf is a type of recreational computer programming competition in which participants ... participants strive to achieve the shortest possible source code (not to be confused with binary Sizecoding)" source, emulators prods that don't work on real machines or expanded/accelerated versus barebone/vanilla.
As for the rest, half of the thread is confusing enough to grasp a big overhaul is most likely unnecessary (means the admins are doing a good job already :), not until the above trivial matters and all the blatant fake voting accounts spawning regularly are fixed anyway.
Baud: the note about code golfing made me laugh. You do realize sizecoding is purely recreational too?;)
I'd like to see platforms as raw machines/things [ such as: Amiga ECS, or MS-DOS), and THEN some sort of tags(?) , revealing the actual requirements of the demo.
Because there's nothing as infuriating as demos which you think will work on your computer but NOPE IT REQUIRES MORE RAM/060/Dragon's blood mixed with hair from the Lenin's head in a bowl made from australopitecus's skull.
Not only you get the info that YOU CAN't AFFORD THE HARDWARE, GTFO TO EMULATORS YOU LAME FUCK, but also it's actually lying, because it does not include the specific requirements, so anyone would think it runs on any version or configuration. Shaon you, guys, this feature should be here aeons ago!
Because there's nothing as infuriating as demos which you think will work on your computer but NOPE IT REQUIRES MORE RAM/060/Dragon's blood mixed with hair from the Lenin's head in a bowl made from australopitecus's skull.
Not only you get the info that YOU CAN't AFFORD THE HARDWARE, GTFO TO EMULATORS YOU LAME FUCK, but also it's actually lying, because it does not include the specific requirements, so anyone would think it runs on any version or configuration. Shaon you, guys, this feature should be here aeons ago!
Err, it was "shame on you" :P
OlaHughson: Wot? ;P Why not put requirements to .nfo file (again).
PS Speaking of tags, so I looked into this demozoo.org and there are so little prods actually tagged with something. But what is worst - I couldn't search by platform/type keyword (which is again, a fixed tag for me, together with release date, party etc...). This essentially draws searchbox useless and you have to click on productions menu and use those "lovely" comboboxes instead ;)
PS Speaking of tags, so I looked into this demozoo.org and there are so little prods actually tagged with something. But what is worst - I couldn't search by platform/type keyword (which is again, a fixed tag for me, together with release date, party etc...). This essentially draws searchbox useless and you have to click on productions menu and use those "lovely" comboboxes instead ;)
Quote:
I remember, for example, last Meteoriks Yzi and Photon tried hard (and almost succeeding) to convince other jurors 4Kb Win32 were TinyTros...
wtf o_Ô
Ah, the classic "badmouthing people without giving context". Meteoriks structuring has absolutely nothing to do with Pouet platforms.
I don't recall being a juror or a particular tiny intro discussion.
So. What do I upload my 4K exegfx prod for iPad (NOT phone) as? :D
@psonice: "Platform: iOS" seems fitting?
As long as we're just throwing out platforms... can we get an Arduboy platform? ;P or an Arduino-compatible platform (a little more broad)? Polynomial released an Arduboy [Dev Kit] prod at Sundown, I released a small simple one last year just before the new year, and may put out more. Team A.R.G. may also release something in the future at a demoparty if they're poked enough. :) Sure, it's a bit of future expectation I suppose...
The big position to take (especially for compo organizers) is whether the demoscene cares about "standard platform+exe" as separate from the interesting Wild platform which to me is everything else.
If a software package is required to run it, the package is the platform. Now, we can't keep adding platforms indefinitely (at least not before we subdivide the Spectrum hardware platform..), so this indicates that we should count standalone executables as demos and other releases as Wild. (Or even as non-releases, as Pouet currently considers graphics and music, including executable music - but not including executable graphics, for some completely arbitrary reason.)
A practical rule of thumb for organizers might be that if you need to film the performance or run it in emulator (or otherwise install software to run it), it goes in Wild.
To me, progress has brought the demoscene from real-time executable, to executable, to script, to clicking on Youtube links. It's basically up to us where we draw the line. No line, no subculture.
We seem to care - enough to impose and encourage size limits that are completely artificial - but we seem reluctant to impose other, more sensible, limits.
If a software package is required to run it, the package is the platform. Now, we can't keep adding platforms indefinitely (at least not before we subdivide the Spectrum hardware platform..), so this indicates that we should count standalone executables as demos and other releases as Wild. (Or even as non-releases, as Pouet currently considers graphics and music, including executable music - but not including executable graphics, for some completely arbitrary reason.)
A practical rule of thumb for organizers might be that if you need to film the performance or run it in emulator (or otherwise install software to run it), it goes in Wild.
To me, progress has brought the demoscene from real-time executable, to executable, to script, to clicking on Youtube links. It's basically up to us where we draw the line. No line, no subculture.
We seem to care - enough to impose and encourage size limits that are completely artificial - but we seem reluctant to impose other, more sensible, limits.
My lame attempt at fitting the Atmel AVR logo in a platform icon from last time AVR/Arduino had been discussed:
Maybe an Arduino logo would be easier, but then it doesn't cover several prods from lft and other using the AVR chips directly.
Maybe an Arduino logo would be easier, but then it doesn't cover several prods from lft and other using the AVR chips directly.