User:Proteins

'NOTICE:'' This account is retired. It served as a legitimate alternate account for WillowW, in compliance with Wikipedia's policy on such accounts. It was used mainly for outreach to scientific organizations, research on Wikipedia, and developing software tools and tutorials for Wikipedia users. Please redirect future questions, discussion, or requests to WillowW.'''

A series of Wikipedia tutorials
I've begun a series of "bitesize" tutorials for editing Wikipedia. In addition to the webpages below, I've also made the corresponding screencast presentation. They're still rather rough, but I hope they're helpful to newbie editors.


 * Finished
 * User:Proteins/New user account tutorial
 * User:Proteins/Article creation tutorial
 * User:Proteins/Start editing tutorial
 * User:Proteins/Cheatsheet tutorial


 * Half-finished
 * User:Proteins/Finding images tutorial
 * User:Proteins/References and footnotes tutorial
 * User:Proteins/Basic list tutorial


 * Begun
 * User:Proteins/Uploading images tutorial
 * User:Proteins/Text formatting tutorial
 * User:Proteins/Wikilinks tutorial
 * User:Proteins/Hatnote tutorial
 * User:Proteins/Special characters tutorial
 * User:Proteins/Watchlist and history tutorial
 * User:Proteins/Introduction to the article tabs
 * User:Proteins/Introduction to the editing toolbar buttons


 * On the drawing board
 * User:Proteins/Tables tutorial
 * User:Proteins/Citation templates tutorial

Workshops for scientific societies
{{hidden|headerstyle=background:#aaaaff|ASCB workshop in December 2008|

ASCB workshop in December 2008
The American Society for Cell Biology (ASCB) has invited Tim Vickers and me to introduce its members to editing Wikipedia, specifically cell biology articles, at its 2008 annual meeting in December 2008. Here is our welcome page for the scientists, and we've begun writing a practical tutorial for scientists here. As described in that tutorial, This article template is designed to help the scientists begin editing quickly.



All the participants should be listed in the category. Those needing help will be in, and should have a template that looks like this:

}}

Wikimania 2008 talk on the quality of the English Wikipedia's scientific articles
Since January 2007, my students and I have investigated the scope of the English Wikipedia and the quality of its scientific articles. Part of our assessment involved quantitative analyses of hundreds of randomly selected articles from Wikipedia, whereas another part involved asking nearly 100 tenured professors at research institutions to review Wikipedia science articles in detail. Our data provide some evidence with which to address commonly held misconceptions about Wikipedia, and to appreciate where Wikipedia is and how far it has yet to go. I presented my students' work at Wikimania 2008 in Alexandria, together with some suggestions for the community of Wikipedians. You can see a video of the presentation here. However, the file is almost half a gigabyte (over 500 MB), and may take a long time to download. I'll be submitting our work for publication, and once the article is accepted for publication, I'll make the raw data, reviews and methods publicly available without restrictions.

Teaching Resources
As part of my teaching, I've been developing public-domain resources for teaching biochemistry, particularly protein science. Some example quiz problems are given here. I've written several hundred such problems and I would be happy to see them used more broadly. I would also appreciate any suggestions for improving them.

JavaScript programs
I've begun to learn JavaScript, often called the "assembly language of the web" and very helpful in making scripts for Wikipedia. My long-term goal is to make a WYSIWYG editor for Wikipedians, which is an urgent but difficult need for Wikipedians, according to the discussion at Wikimania 2008. As a warm-up exercise, I've made a few fun scripts that you might enjoy. To install them, you can add (for example) " importScript('User:Proteins/striparticlelinks.js'); " to your monobook.js subpage under your user name, as you can see at my own user page. These scripts are still being developed, so they may have bugs. Alerts to such bugs and suggestions for improving the scripts are always welcome.

Check for compliance with the Manual of Style
User:Proteins/mosheadcheck.js

The Manual of Style (MoS) is sometimes hard to keep entirely in one's head, especially as a newbie. This convenient little script checks an article for possible violations of the MoS guidelines on section headings. You can try it out on this MoS nightmare.

Analyze chemical reactions
User:Proteins/chemicalreactions.js

This draft script analyzes chemical reactions, checking whether they're balanced and whether mass is conserved. You can test it out in this sandbox.

Pose study questions to the reader
User:Proteins/studyquestions.js

This draft script poses study questions to the reader. You can test it out in this sandbox.

Sort unordered lists
User:Proteins/sortunorderedlists.js

This script adds buttons to all the unordered lists with more than one item. Clicking that button sorts the unordered list alphabetically.

A great use for this script is in ordering the output of the Special:WhatLinkshere page. The output is normally ordered by the pageID of the article in the database. This makes it hard to search through for humans. PageID's corresponds roughly to the order in which articles were added to the database, but not entirely, since a new page ID is assigned when the article is moved, as happens occasionally, esp. in mergers and some forms of vandalism.

Here's a convenient link for obtaining 1000 article-space links to a given article:


 * Super-charged WhatLinksHere


 * Super-charged WhatLinksHere (secure server)

The script should sort these results in under 15 seconds, depending on your browser and computer. Google Chrome appears to be fastest in running this script, although systematic comparisons have not been made. If the browser warns that the page has become inactive when sorting an extremely long list, please allow the script to continue; it will finish eventually.

List redlinks on a page and provide search links to major databases
User:Proteins/listredlinks.js

This script creates a new section at the top of an article, listing the remaining redlinks in the article and providing search links to Google, Google Scholar and various other databases. The underlying article on the Wikipedia database is unchanged. The search links resemble those of the Findsources and Search templates, but I tried to make them slightly more user-friendly and also biased towards science. Suggestions for new databases would be welcome. It would also be possible to make several versions of this script, for example specializing the databases for different groups of users.

Follow a random link on a page (good for random FA, random GA, etc.)
User:Proteins/followrandomlinkonpage.js

This script randomly selects a link on the present page and opens it in a new tab or window. The script is invoked by clicking on the "Follow a lucky link!" message in the "navigation" portlet, which is in the left-hand column, just below the Wikipedia logo. Multiple random articles can be spawned by clicking multiple times.

Wikipedia already has a "Random article" function found in the same portlet. However, that function takes you anywhere in the English Wikipedia, which now has articles. It might be more fun and more useful to be able to choose randomly from a more restricted set, such as the set of Featured Articles, the articles in a category, or a list made by the user.

A user can gradually "diffuse" away from the original page by iteratively following a random link on each successive random page. I think it's a popular pastime in paper encyclopedias. For this reason, I almost named this script "Get lost in Wikipedia", but "Follow a lucky link!" sounded more fun and positive. A minor modification of this script would allow users to follow a random link in the "See also" list, but putting all links in play seemed better.

Another modification of this script would allow users to generate statistics on large sets of articles; as such, it may be useful to WikiProjects and researchers of Wikipedia.

Expand Wikipedia acronyms for newbies
User:Proteins/expandWPacronyms.js

Various acronyms such as WP:OR, WP:NOT and WP:V are used as a convenient shorthand among long-time contributors to Wikipedia. However, these acronyms have the disadvantage of making Wikipedia seem unwelcoming to newbies, as described in the essay WTF? OMG! TMD TLA. ARG! This script seeks to reconcile the convenience of these abbreviations with the comfort of newcomers. When invoked, the script adds a parenthetical explanation to every such hyperlinked abbreviation on a page. Long-time contributors can use the abbreviations and need not invoke the script, whereas newbies can invoke the script when perplexed. Thus, different editors can see the same page in different ways, in the way most comfortable to each.

Check whether the images on a page have alt text
User:Proteins/checkALTtext.js

This script determines the percentage of images on a page that lack alternative text. Alt text is what is read to visually impaired readers of Wikipedia in lieu of the images. This script also blanks images that lack alt text, to help editors think of good alt text by considering the essential elements of the image.

Online help messages
User:Proteins/helpmessages.js

Wikipedia has a rich repetoire of Help pages, but they can be daunting for newbies to read through. It can also be hard for newbies to find out which one pertains to their question or quandry. Wikipedia also has online users who will help answer questions, but newbies might not know of them or how to find them.

Therefore, it might be helpful to have something inbetween, a automated system by which users can type questions into a text box, be given a short answer, and be directed to pages that give a fuller answer. This script (under development) is a step towards that goal. Try typing in a question about boldface type, for example.

Translate interwiki links into English
User:Proteins/translateinterwikicodes.js

This script translates the interwiki links in the lefthand column into English. This is helpful for screen readers such as Fire Vox, which skips over words written in alphabets it doesn't recognize and gives no hint of their presence. Many English-speaking Wikipedians may also appreciate being able to recognize the interwiki languages at a glance. The access key is "i".

Summarize diffs
User:Proteins/quickdiffs.js

This script produces a summary of the differences between two versions of a page. Especially helpful for accessibility reasons.

Summarize AfD !votes
User:Proteins/summarizeAfD.js

This script counts the different types of !votes on an XfD page. The first pop-up window gives the counts of each type (such as Keep, Delete/remove, Merge, Redirect, Note, Comment or other); following windows list the users who voted each way. The access key is "a".

Assist screen readers by stripping out hyperlinks
User:Proteins/striparticlelinks.js

This script strips out hyperlinks from an article that are likely to interrupt its smooth reading by a screen reader. Screen readers such as Fire Vox highlight hyperlinks by pausing and saying something like "LINK". Wikipedia prose is dense with hyperlinks, which makes the reading laborious; stripping out links improves its flow. The access key is "s".

To hear articles read aloud, you can install a screen reader and this script. To strip the links from a given article, you can click on the "strip links" tab near the top, or type the keyboard shortcut ALT-Shift-S in Fire Fox, Chrome and Internet Explorer (see Keyboard shortcuts for the prefix for other browsers). Click at the beginning of the prose you'd like to read and start your screen reader (Ctrl-Shift-A in Fire Vox). The stripping may take a few seconds, roughly 1 second for every 100 hyperlinks removed. As a bonus, the script numbers the images on the fly, "Image 1", "Image 2", etc. As an aside, I'm not endorsing Fire Vox as a screen reader; there are many good screen readers available.

Outdent indented text, while coloring and labeling it
User:Proteins/outdent.js

The indenting created by placing colons at the start of the line in MediaWiki software is actually quite complicated in HTML, and causes accessibility problems. The complex nesting of discursive lists required to make that apparently simple formatting makes reading tiresome for people using screen readers, which describe each level of each discursive list. This script outdents all such indented text but does not affect true discursive lists that have a DT element. To keep track of the indenting level, the script colors the outdented text according to its indent level and prepends a short string such as "(Indent 2)" to make the indent level audible with screen readers. The access key is "o".

Please try the script out and let me know of any bugs that you encounter. Sighted people may enjoy the script as well, since over-indented text (such as level 14, which happens surprisingly often) is sometimes hard to read. Suggestions for improving the scripts are welcome, as with all my scripts.

Generic geotag script
User:Proteins/genericgeotagscript.js

This script reads the latitude and longitude encoded in an article. This toy script is a stepping stone to several other scripts, such as displaying a map of the stars visible at that location on a given day at a given time, or creating lists of animals and plants that might be found in that vicinity.

Analyze article structure: the distribution of prose, images,...
User:Proteins/articlestructure.js

This script analyzes the distribution of prose and other elements within an article. It also checks for jumps in heading level, such as an illegal H1 heading ( =Really important section= ) or jumps in heading level, such as placing an H4 section ( ====Tiny script==== ) after an H2 section (( ==Normal script== ) without an intervening H3 section ( ===Medium script=== ). Even some Featured Articles have such jumps!  Such jumps are not only a Manual of Style issue, but also make articles less accessible, at least as I understand it.  If you try it out here, you'll see a jump in this very section.  The access key is "g".

While testing my script on Featured Articles, some random pages and some not-so-random, I've discovered numerous pathologies of articles that can trip up prose-size scripts, such as lists, quotes, PRE-tagged text, indented text, poems, special characters such as non-breaking spaces, and so on. I gathered many of them into User:Proteins/Prosesize_script_acid_test.


 * Possible extensions
 * 1) Show CDF plots of the prose per section to highlight visually the sections that are thick with prose; can be made accessible using a chirp, by varying frequency (y-axis) versus time (x-axis). By playing the two limiting values as constant tones, even small discrepancies could be detected as beat frequencies.
 * 2) Plot the evolution of article parameters over time, perhaps with markers for the median values for Featured Articles and Good Articles. Use the same frequency vs. time trick to make the plot accessible.

New ideas for scripts

 * Script to check for overlinking and other FAC violations.
 * Add button to all unordered lists to sort them alphabetically, or by other criteria. Generally useful, but good for easier searching in Special:WhatLinksHere.
 * Drag-n-drop editor that works on the Table of Contents, to allow whole sections to be re-arranged within an article, or to make it easy to create a new section at a specific point in an article.
 * Turn on "Add image" icon before every paragraph, analogous to HotCat. Add (±)(&minus;) to existing images.
 * Turn on "Add reference" icon after every sentence. Trigger pops up a form window that allows editors to type the needed elements for a well-formed reference into labeled boxes.
 * Make analogous "Add Table" form, after every section heading.
 * Allow easy surfing of the relevant images in the Commons category; have each image expand upon mouseover for visibility.
 * Clicking on the Enlarge button of thumb images to generate a copy of that image that can be moved around and re-sized at will to reconcile the needs of article layout (favors small images) and visibility (favors large images). An accessibility issue.
 * Include Lists of Figures, Images and Abbreviations next to the Table of Contents
 * Incorporate normally hidden glossary into technical articles that floast next to where the reader is, so that they can keep track of technical terms as they need them. Alternatively, incorporate hidden triggers into all instances of specific technical words, so that the right event would trigger a popup window with the definition and a hyperlink to a page that explains more.
 * allow more flexibility in sortable tables; sort then change layout on the fly
 * Some ideas for visualizing/navigating sets of interrelated articles exploiting the &lt;imagemap&gt; tag. Make it easy for editors to make their own imagemaps
 * Random featured article, random good article, random article within a category or hyperlinked on a page
 * slider button to scroll through animations frame-by-frame; could be used to visualize evolutions, field densities (set iso-levels) and flows such as historical migrations
 * activate GIF animations onmouseover
 * make the left-hand column customizable
 * controls to adjust the colors of images, or even of individual elements in images, for color blindness and other applications
 * flesh out tiny leads in otherwise full articles by automatically generating a summary in an alert window, by combining topic sentences from section paragraphs. Perhaps do likewise for individual sections when they're clicked on in the TOC.
 * more support for music and sound; generate music from score
 * need to add equivalent to ALT for Deaf readers?
 * include Watchlist tracker (like a stockmarket ticker) at the bottom of the present screen to monitor the latest N changes in an editor's Watchlist. Could be really annoying.
 * modified Watchlist that describes not only the latest change, but the recent frequency of edits and rate of change in bytes; alerts editors to rash of activity instead of one-off vandalism
 * JavaScript package that offers plotting powers
 * allow readers/editors to customize their workspace for pleasure and efficiency
 * Given a geotag (latitude and longitude), generate an image with two sliders of what the major stars would look like there. The sliders would control the time of day, and the day of the year.  Have options for different calendars and different projections of the celestial hemisphere into two dimensions.
 * Given a geotag, generate clickable image maps of local geology, plants, animals, and local sites. Akin to Google Maps.
 * link images into a single structure to allow "motion" in multiple dimensions. For example, allow readers to "zoom in" to see substructures of a cell in arbitrary detail, or to "zoom out" to see the context of an animal in its ecosystem.  Allow readers to travel through time, to see causes and consequences, such as the evolution of animals or the motion of continents in geological time.  Could be cool; other dimensions or networks are possible.  Similar to the animation slider idea above.  Probably needs to be developed within the MediaWiki software.
 * redlink scripts: (1) list them, (2) automatically search Google for externally links on them or relevant free images
 * replace "edit", "history", etc. tabs with images; or eliminate them altogether for specialized purposes

Other random ideas

 * Write sequence alignment method that is cyclic, i.e., that minimizes the differences between successive sequences including the first and last sequences. This allows one to make an animation of the changes, insertions and deletions.  This approach wouldn't be good for showing the phylogeny, but it'd be great for showing the variable segments.  Such animations might be educational for the snRNA articles of the RNA WikiProject.