Re: [Foundation-l] [Wikitech-l] Big problem to solve: good WYSIWYG on WMF wikis
It wouldn't be all that hard. Elements are either inline or block elements. Inline elements insert into the text flow, while text flows around block elements. If we make the distinction as simple as that, and disallow all methods of positioning other than that which is natively available in wiki code (ie, no html or css positioning), we can make that process very easy. That said, the editing interface needs to be tightly integrated - you shouldn't have to go to a separate page to edit a template or other external element. For users that are able to function with a nice pretty AJAX-capable editor, that interface could be clicking on the element marker, and a dialog pops up to edit the element. For users that have to use a flat HTML form, make these elements list defined, like list defined references, and then use simple syntax to indicate all the markers, basically as entities. This would result in a WYSIWYM interface, with any and all complex markup being rendered as placeholders editors could click to get a property screen for that item, and it would probably be way more practical than WYSIWYG given the complexity of the markup we are trying to fix. On Fri, Dec 31, 2010 at 8:13 AM, Platonides platoni...@gmail.com wrote: Ryan Lomonaco wrote: I think this has been brought up before, but a thought I've had: Apart from the fact that it will require a ton of work in coding, what would keep us from separating templates (and, for that matter, images) from the article text? Article text would exist by itself, and categories, templates, images and metadata would all be kept and edited separately from the article itself, with pointers indicating where the templates and images should go within the article. Nothing. But images and /some/ inline templates can't be done that way since they also need a position. That can be automated for eg. license templates, or infoboxes, but not for a template formatting a quote. ___ foundation-l mailing list foundation-l@lists.wikimedia.org Unsubscribe: https://lists.wikimedia.org/mailman/listinfo/foundation-l -- Faith is about what you really truly believe in, not about what you are taught to believe. ___ foundation-l mailing list foundation-l@lists.wikimedia.org Unsubscribe: https://lists.wikimedia.org/mailman/listinfo/foundation-l
Re: [Foundation-l] [Wikitech-l] Big problem to solve: good WYSIWYG on WMF wikis
Ryan Lomonaco wrote: I think this has been brought up before, but a thought I've had: Apart from the fact that it will require a ton of work in coding, what would keep us from separating templates (and, for that matter, images) from the article text? Article text would exist by itself, and categories, templates, images and metadata would all be kept and edited separately from the article itself, with pointers indicating where the templates and images should go within the article. Nothing. But images and /some/ inline templates can't be done that way since they also need a position. That can be automated for eg. license templates, or infoboxes, but not for a template formatting a quote. ___ foundation-l mailing list foundation-l@lists.wikimedia.org Unsubscribe: https://lists.wikimedia.org/mailman/listinfo/foundation-l
Re: [Foundation-l] [Wikitech-l] Big problem to solve: good WYSIWYG on WMF wikis
Really good points. I still advocate moving the possibility for these ugly constructs to templates, so that we keep all the magic tricks we have now, but lose the ability to make an article that is write only by littering it with code that only the wikigods and the parser itself could decypher. Well-formedness checks would be a huge step forward - if the edit form could catch showstoppers like mismatched braces , brackets, quotes, and even misused templates it would go a long way towards making the site safe to edit. As for all the deep magic, like parser functions, inline html, and the like, why do we even need to allow the parser to recognize such nonsense in article space. Treat templates as a special case and be rid of just about everything thats not on the editing toolbar. There will be some people upset that they cant turn an article into an elaborate html and css work of art but they will get over it and go back to writing articles, or if they didn't have any interest in doing that they will go back to myspace. Either way net gain - article code becomes readable and we promote the development and expansion of freely available content, which is the real business we are in. On 12/29/10, Brion Vibber br...@pobox.com wrote: On Tue, Dec 28, 2010 at 5:28 PM, Rob Lanphier ro...@wikimedia.org wrote: Let me riff on what you're saying here (partly just to confirm that I understand fully what you're saying). It'd be very cool to have the ability to declare a single article, or probably more helpfully, a single revision of an article to use a completely different syntax. Yes, though I'd recommend jettisoning the word syntax entirely from the discussion at this stage, as I worry it distracts towards bikeshedding about unimportant details. Rather, it could be more useful to primarily think of data resources having features or structure. With images for instance, we don't make people pay too much attention about whether something's in JPEG, PNG, GIF, or SVG format. At the level of actual people working with the system, the file's *format* is completely unimportant -- only its features and metadata are relevant. Set a size, give a caption, specify a page if it's a paged format, or a time if it's a video format. Is it TIFF or PDF? Ogg Theora or WebM? Don't know, don't care, and any time a user has to worry about it we've let them down. We need to think about similarly concentrating on document structure rather than markup syntax for text pages. I definitely agree that the idea of progressively moving bits and pieces in that direction is a wise one. If we can devise a *document structure* that lets us embed magic templatey _things_ into a paragraph-oriented-text document and maintain their structural identity all the way to browser-ready HTML and back, then we can have a useful migration path: * identify possibly unsafe uses of templates, extensions, and parserfunctions (machines are great at this!) * clean them up bit by bit (bots are often good at many common cases) * once a page can be confirmed as not using Weird Template Magic, but only using templates/images/plugins that fit within the structure, it's golden. * depending on which flavor of overlords we have, we might have various ways of enforcing that a page will always *remain* well-structured from then on. That might not even involve changing syntax per se -- we shouldn't care too much about whether italic is i or ''. But knowing where a table or a div block starts and ends reliably is extremely important to being able to tell which part of your document is which. And heck, even if not everything gets fixed along that kind of path, just being able to *have* pages and other resource types that *are* well-structured mixed into the system is going to be hugely useful for the non-Wikipedia projects. -- brion vibber (brion @ pobox.com) ___ foundation-l mailing list foundation-l@lists.wikimedia.org Unsubscribe: https://lists.wikimedia.org/mailman/listinfo/foundation-l -- Faith is about what you really truly believe in, not about what you are taught to believe. ___ foundation-l mailing list foundation-l@lists.wikimedia.org Unsubscribe: https://lists.wikimedia.org/mailman/listinfo/foundation-l
Re: [Foundation-l] [Wikitech-l] Big problem to solve: good WYSIWYG on WMF wikis
I think this has been brought up before, but a thought I've had: Apart from the fact that it will require a ton of work in coding, what would keep us from separating templates (and, for that matter, images) from the article text? Article text would exist by itself, and categories, templates, images and metadata would all be kept and edited separately from the article itself, with pointers indicating where the templates and images should go within the article. -- [[User:Ral315]] ___ foundation-l mailing list foundation-l@lists.wikimedia.org Unsubscribe: https://lists.wikimedia.org/mailman/listinfo/foundation-l
Re: [Foundation-l] [Wikitech-l] Big problem to solve: good WYSIWYG on WMF wikis
On Tue, Dec 28, 2010 at 5:28 PM, Rob Lanphier ro...@wikimedia.org wrote: Let me riff on what you're saying here (partly just to confirm that I understand fully what you're saying). It'd be very cool to have the ability to declare a single article, or probably more helpfully, a single revision of an article to use a completely different syntax. Yes, though I'd recommend jettisoning the word syntax entirely from the discussion at this stage, as I worry it distracts towards bikeshedding about unimportant details. Rather, it could be more useful to primarily think of data resources having features or structure. With images for instance, we don't make people pay too much attention about whether something's in JPEG, PNG, GIF, or SVG format. At the level of actual people working with the system, the file's *format* is completely unimportant -- only its features and metadata are relevant. Set a size, give a caption, specify a page if it's a paged format, or a time if it's a video format. Is it TIFF or PDF? Ogg Theora or WebM? Don't know, don't care, and any time a user has to worry about it we've let them down. We need to think about similarly concentrating on document structure rather than markup syntax for text pages. I definitely agree that the idea of progressively moving bits and pieces in that direction is a wise one. If we can devise a *document structure* that lets us embed magic templatey _things_ into a paragraph-oriented-text document and maintain their structural identity all the way to browser-ready HTML and back, then we can have a useful migration path: * identify possibly unsafe uses of templates, extensions, and parserfunctions (machines are great at this!) * clean them up bit by bit (bots are often good at many common cases) * once a page can be confirmed as not using Weird Template Magic, but only using templates/images/plugins that fit within the structure, it's golden. * depending on which flavor of overlords we have, we might have various ways of enforcing that a page will always *remain* well-structured from then on. That might not even involve changing syntax per se -- we shouldn't care too much about whether italic is i or ''. But knowing where a table or a div block starts and ends reliably is extremely important to being able to tell which part of your document is which. And heck, even if not everything gets fixed along that kind of path, just being able to *have* pages and other resource types that *are* well-structured mixed into the system is going to be hugely useful for the non-Wikipedia projects. -- brion vibber (brion @ pobox.com) ___ foundation-l mailing list foundation-l@lists.wikimedia.org Unsubscribe: https://lists.wikimedia.org/mailman/listinfo/foundation-l
Re: [Foundation-l] [Wikitech-l] Big problem to solve: good WYSIWYG on WMF wikis
On Tue, Dec 28, 2010 at 8:43 AM, David Gerard dger...@gmail.com wrote: e.g. Wikia has WYSIWYG editing and templates. They have a sort of solution to template editing in WYSIWYG. It's not great, but people sort of cope. How did they get there? What can be done to make it better, *conceptually*? What I'm saying there is that we don't start from the assumption that we know nothing and have to start from scratch, forming our answers only from pure application of personal brilliance; we should start from the assumption that we know actually quite a bit, if we only know who to ask and where. Does it require throwing out all previous work? etc., etc. And this is the sort of question that requires actual expense on resources to answer. Given that considerable work has gone on already, what would we do with resources to apply to the problem? My primary interest at the moment in this area is to reframe the question a bit; rather than how do we make good WYSIWYG that works on the way Wikipedia pages' markup and templates are structured now -- which we know has been extremely hard to get going -- to instead consider how do we make good WYSIWYG that does the sorts of things we currently use markup and templates for, plus the things we wish we could do that we can't? We have indeed learned a *huge* amount from the last decade of Wikipedia and friends, among them: * authors and readers crave advanced systems for data format-sharing (eg putting structured info into infoboxes) and interactive features (even just sticking a marker on a map!) * most authors prefer simplicity of editing (keep the complicated stuff out of the way until you need it) * some authors will happily dive into hardcore coding to create the tools they need (templates, user/site JS, gadgets) * many other authors will very happily use those tools once they're created * the less the guts of those tools are exposed, the easier it is for other people to reuse them The incredible creativity of Wikimedians in extending the frontend capabilities of MediaWiki through custom JavaScript, and the markup system through templates, has been blowing my mind for years. I want to find a way to point that creativity straight forward, as it were, and use it to kick some ass. :) Within the Wikimedia ecosystem, we can roughly divide the world into Wikipedia and all the other projects. MediaWiki was created for Wikipedia, based on previous software that had been adapted to the needs of Wikipedia; and while the editing and template systems are sometimes awkward, they work. Our other projects like Commons, Wiktionary, Wikibooks, Wikiversity, and Wikinews have *never* been as well served. The freeform markup model -- which works very well for body text on Wikipedia even if it's icky for creating tables, diagrams and information sets -- has been a poorer fit, and little effort has been spent on actually creating ways to support them well. Commons needs better tools for annotating and grouping media resources. Wiktionary needs structured data with editing and search tools geared towards it. Wikibooks needs a structure model that's based on groups of pages and media resources, instead of just standalone freetext articles which may happen to link to each other. Wikiversity needs all those, and more interactive features and the ability for users to group themselves socially and work together. Getting anything done that would work on the huge, well-developed, wildly-popular Wikipedia has always been a non-starter because it has to deal with 10 years of backwards-compatibility from the get-go. I think it's going to be a *lot* easier to get things going on those smaller projects which are now so poorly served that most people don't even know they exist. :) This isn't a problem specific to Wikimedia; established organizations of all sorts have a very difficult time getting new ideas over that hump from not good enough for our core needs to *bam* slap it everywhere. By concentrating on the areas that aren't served at all well by the current system, we can make much greater headway in the early stages of development; Clayton Christensen's The Innovator's Dilemma calls this competing against non-consumption. For the Wikipedia case, we need to incubate the next generation of templating up to the point that they can actually undercut and replace today's wikitext templates, or I worry we're just going to be sitting around going gosh I wish we could replace these templates and have markup that works cleanly in wysiwyg forever. My current thoughts are to concentrate on a few areas: 1) create a widget/gadget/template/extension/plugin model built around embedding blocks of information within a larger context... 2) ...where the data and rendering can be reasonably separate... (eg, not having to pull tricks where you manually mix different levels of table templates to make the infobox work right) 3) ...and the rendering can be as simple, or as fancy as complex,
Re: [Foundation-l] [Wikitech-l] Big problem to solve: good WYSIWYG on WMF wikis
How about attacking the problem by using something that already exists... - The Wikimedia Foundation gets a lot of support from Google, financially. How about we ask for some technology support as well? Google has a completely plugin-independant JS-based editor in Google Docs, as well as plenty of coders. - The simplest solution seems to be to translate WYS output into wikicode, so using the Google Docs editor, we simply have to translate the bold-looking text into wikicode. Timeline of editing: [WYSIWYG editor view:] *Albert Einstein *was a popular [Save page] [One moment please] HIDDEN (translation) (wikicode output): *'''Albert Einstein''' *was a popular /HIDDEN [Article re-appears] *Albert Einstein *was a popular What do you think? On Tue, Dec 28, 2010 at 10:27 AM, Brion Vibber br...@pobox.com wrote: On Tue, Dec 28, 2010 at 8:43 AM, David Gerard dger...@gmail.com wrote: e.g. Wikia has WYSIWYG editing and templates. They have a sort of solution to template editing in WYSIWYG. It's not great, but people sort of cope. How did they get there? What can be done to make it better, *conceptually*? What I'm saying there is that we don't start from the assumption that we know nothing and have to start from scratch, forming our answers only from pure application of personal brilliance; we should start from the assumption that we know actually quite a bit, if we only know who to ask and where. Does it require throwing out all previous work? etc., etc. And this is the sort of question that requires actual expense on resources to answer. Given that considerable work has gone on already, what would we do with resources to apply to the problem? My primary interest at the moment in this area is to reframe the question a bit; rather than how do we make good WYSIWYG that works on the way Wikipedia pages' markup and templates are structured now -- which we know has been extremely hard to get going -- to instead consider how do we make good WYSIWYG that does the sorts of things we currently use markup and templates for, plus the things we wish we could do that we can't? We have indeed learned a *huge* amount from the last decade of Wikipedia and friends, among them: * authors and readers crave advanced systems for data format-sharing (eg putting structured info into infoboxes) and interactive features (even just sticking a marker on a map!) * most authors prefer simplicity of editing (keep the complicated stuff out of the way until you need it) * some authors will happily dive into hardcore coding to create the tools they need (templates, user/site JS, gadgets) * many other authors will very happily use those tools once they're created * the less the guts of those tools are exposed, the easier it is for other people to reuse them The incredible creativity of Wikimedians in extending the frontend capabilities of MediaWiki through custom JavaScript, and the markup system through templates, has been blowing my mind for years. I want to find a way to point that creativity straight forward, as it were, and use it to kick some ass. :) Within the Wikimedia ecosystem, we can roughly divide the world into Wikipedia and all the other projects. MediaWiki was created for Wikipedia, based on previous software that had been adapted to the needs of Wikipedia; and while the editing and template systems are sometimes awkward, they work. Our other projects like Commons, Wiktionary, Wikibooks, Wikiversity, and Wikinews have *never* been as well served. The freeform markup model -- which works very well for body text on Wikipedia even if it's icky for creating tables, diagrams and information sets -- has been a poorer fit, and little effort has been spent on actually creating ways to support them well. Commons needs better tools for annotating and grouping media resources. Wiktionary needs structured data with editing and search tools geared towards it. Wikibooks needs a structure model that's based on groups of pages and media resources, instead of just standalone freetext articles which may happen to link to each other. Wikiversity needs all those, and more interactive features and the ability for users to group themselves socially and work together. Getting anything done that would work on the huge, well-developed, wildly-popular Wikipedia has always been a non-starter because it has to deal with 10 years of backwards-compatibility from the get-go. I think it's going to be a *lot* easier to get things going on those smaller projects which are now so poorly served that most people don't even know they exist. :) This isn't a problem specific to Wikimedia; established organizations of all sorts have a very difficult time getting new ideas over that hump from not good enough for our core needs to *bam* slap it everywhere. By concentrating on the areas that aren't served at all well by the current system, we
Re: [Foundation-l] [Wikitech-l] Big problem to solve: good WYSIWYG on WMF wikis
Hi Brion, Thanks for laying out the problem so clearly! I agree wholeheartedly that we need to avoid thinking about this problem too narrowly as a user interface issue on top of existing markup+templates. More inline: On Tue, Dec 28, 2010 at 9:27 AM, Brion Vibber br...@pobox.com wrote: This isn't a problem specific to Wikimedia; established organizations of all sorts have a very difficult time getting new ideas over that hump from not good enough for our core needs to *bam* slap it everywhere. By concentrating on the areas that aren't served at all well by the current system, we can make much greater headway in the early stages of development; Clayton Christensen's The Innovator's Dilemma calls this competing against non-consumption. Thankfully, we at least we're not trying to defend a business model and cost structure that's fundamentally incompatible with making a change here. However, I know that's not the part that you're highlighting, and I agree that Christensen's competing against non-consumption concept is well worth learning about in this context[1], as well as the concepts of disruptive innovation vs continuous innovation[2]. As you've said, we've learned a lot in the past decade of Wikipedia about how people use our the technology. A new editing model that incorporates that learning will almost certainly take a while to reach full parity in flexibility, power, and performance. The current editor base of English Wikipedia probably won't be patient with any changes that result in a loss of flexibility, power and performance. Furthermore, many (perhaps even most) things we'd be inclined to try would *not* have a measurable and traceable impact on new editor acquisition and retention, which will further diminish patience. A mature project like Wikipedia is a hard place to hunt for willing guinea pigs. For the Wikipedia case, we need to incubate the next generation of templating up to the point that they can actually undercut and replace today's wikitext templates, or I worry we're just going to be sitting around going gosh I wish we could replace these templates and have markup that works cleanly in wysiwyg forever. My current thoughts are to concentrate on a few areas: 1) create a widget/gadget/template/extension/plugin model built around embedding blocks of information within a larger context... 2) ...where the data and rendering can be reasonably separate... (eg, not having to pull tricks where you manually mix different levels of table templates to make the infobox work right) 3) ...and the rendering can be as simple, or as fancy as complex, as your imagination and HTML5 allow. Let me riff on what you're saying here (partly just to confirm that I understand fully what you're saying). It'd be very cool to have the ability to declare a single article, or probably more helpfully, a single revision of an article to use a completely different syntax. There's already technically a kludgy model for that now: wrap the whole thing in a tag, and put the parser for the new syntax in a tag extension. That said, it would probably exacerbate our problems if we allowed intermixing of old syntax and new syntax in a single revision. The goal should be to move articles irreversibly toward a new model, and I don't think it'd be possible to do this without the tools to prevent us from backsliding (for example, tools that allow editors to convert an article from old syntax to new syntax, and also tools that allow administrators to lock down the syntax choice for an article without locking down the article). Still, it's pretty alluring to think about the upgrade of syntax as an incremental problem within an article. We could figure out how to solve one little corner of the data/rendering separation problem and then move on to the next. For example, we could start with citations and make sure it's possible to insert citations easily and cleanly, and to extract citations from an article without relying on scraping the HTML to get them. Or maybe we do that certain types of infoboxes instead, and then gradually get more general. We can take advantage of the fact that we've got millions of articles to help us choose which particular types of data will benefit from a targeted approach, and tailor extensions to very specific data problems, and then generalize after we sort out what works/doesn't work with a few specific cases. So, which problem first? Rob [1] Those with an aversion to business-speak will require steely fortitude to even click on the url, let alone actually read the article, but it's still worth extracting the non-business points from this article: http://businessinnovationfactory.com/weblog/christensen_worldinnovationforum [2] While there is a Wikipedia article describing this[3], a better description of the important bits is here: http://www.mail-archive.com/haskell@haskell.org/msg18498.html [3] Whee, footnote to a footnote!
Re: [Foundation-l] [Wikitech-l] Big problem to solve: good WYSIWYG on WMF wikis
On Tue, Dec 28, 2010 at 8:28 PM, Rob Lanphier ro...@wikimedia.org wrote: Let me riff on what you're saying here (partly just to confirm that I understand fully what you're saying). It'd be very cool to have the ability to declare a single article, or probably more helpfully, a single revision of an article to use a completely different syntax. There's already technically a kludgy model for that now: wrap the whole thing in a tag, and put the parser for the new syntax in a tag extension. That said, it would probably exacerbate our problems if we allowed intermixing of old syntax and new syntax in a single revision. The goal should be to move articles irreversibly toward a new model, and I don't think it'd be possible to do this without the tools to prevent us from backsliding (for example, tools that allow editors to convert an article from old syntax to new syntax, and also tools that allow administrators to lock down the syntax choice for an article without locking down the article). I'd actually approach it from the opposite direction. Add a tag to mark the old syntax at the same time as the new parser is ready, but before it's installed. Set up the interface initially to mask the presence of the oldsyntax marker, but still have it present when the text is saved. Make sure the old parser ignores the oldsyntax tag, and then run a job to add it everywhere. Install the new parser, which defers the delimited text to the old one. Bring the new UI online that is able to edit the new markup, and make sure it's used for all new articles. Start unhiding the oldsyntax marker and letting conversions happen on an all or nothing basis. After a few weeks of that, throw an editfilter up that stops the addition or readdition of the oldsyntax marker. Keep converting, and start doing more and more rounds of automatic conversions. Finally, when it's down to a handful of articles still using the old parser throw an editfilter up that won't allow saving until you convert the wikitext. That gives us a way to do it that's not all at once, and lets us use existing tools to keep decreasing the use of the old syntax until it dies completely. And an administrator or other appropriately flagged user could overrule the edit filter to go back to the old syntax on an article if it broke. ___ foundation-l mailing list foundation-l@lists.wikimedia.org Unsubscribe: https://lists.wikimedia.org/mailman/listinfo/foundation-l