[p2pu-webcraft] Intermediate Webcraft Challenges

Jessy Kate Schingler jessy at jessykate.com
Tue Oct 11 23:35:25 UTC 2011

hi john and all!

(for those i don't know: my name is jessy schingler. you might have seen me
around the lists. i'm starting to work on designing challenges for the
school of webcraft. woo hoo!)

this is a long email.

first i mention a few design principles that i've been thinking about, and
then i list a whole bunch of starting-point ideas for intermediate webcraft
challenges. these are totally preliminary, so feel free to rip them apart,
riff off of them, or take them in very different directions. mostly i want
to get a sense which (if any) of these sound interesting, and if you think
i'm headed in the right direction. so, feedback please! (and specific
requests at the bottom).

*Challenge Design*
* a specific design thought is that challenges should focus on a measurable
outcome, product or activity, but that where possible, the content should be
left up to the user, so that they can customize the challenge to their own
interests, or so that it can be customized to the content of a specific
course/study group/etc.[0]

* another is to be cognizant to creating some intermediary-level challenges,
challenges that go beyond intro-level stuff. IMHO, part of this is in using
real-world data sets, and asking for questions or products that don't have
clear yes/no or right/wrong answers.

* incorporate challenges that "reward hard work, not the right answers."[1]
this doesn't mean to reward time spent over output-- it means to reward
peoples' thinking process, and their willingness to struggle with something
unfamiliar and to make learning mistakes. i can see this manifesting in
challenges similar to the above-- by having problems which do not
necessarily have a "right" answer, or possibly haven't been done before--
eg. working with a new data set, refining or improving existing work, etc.

*Challenges Ideas*
(note: these are targeted at *intermediate* web developers)

* writing scrapers and parsers for large/messy unstructured data. for
example, taking the plain text transcripts from a senate hearing and parsing
it into a structured form that identifies and associated speakers with their
spoken text, and possibly brings in other data about each speaker from a
secondary source.

* examining an existing site/module/library, and identifying architectural,
design, or deployment choices that are likely to result in a
bottleneck/crash during scaling or high load. what component of the site in
question would be the limiting factor? why? for example, would it be
bandwidth? number of connections? database speed? a really inefficient loop?
how could these expected bottlenecks/load issues be addressed?

* design an API from scratch (either design-only or design and implement):
for example, pick a site you think is cool, that has an API (but one that
you are not familiar with). without looking at what they have done, write
out a design for what you think the API should look like - what function
calls and features would it support? what should the API calls look like?
what format would the returned data be in? after you're done, compare with
what the existing site has, and compare/contrast.

* identify 10 things that cannot be done on the web today. what are they,
why are they not possible, what could be done to make them possible.

* an import/export tool-- for example, write an import tool that grabs all
your tweets and imports them as wordpress posts. (this gets at the idea but
would prefer to make it more useful). the idea would be to get at working
with larger data, working with data you can't control, and having to work
with/convert between interfaces that others have designed.

* write code/pseudocode for bluetooth pairing using the android API

* pick your favourite website. what browser standards is it compatible with?
which ones is it NOT compatible with? are there simple changes you could
make, to make it compliant?

* pick a site you like that does not have a mobile version. grab a snapshot
of their page and any necessary css and js files being used. then modify the
design locally to produce a proper mobile version of the site.

*Help* (aka, where i could use your feedback!):

* do these challenges seem interesting? fun? too much work? imagining they
were fleshed out in a more detail, do they seem self-contained/manageable
enough? too big?

* are they at the right level for an intermediate challenge?

* should we explicitly design challenges to be composed (using the output
from one as the input to another)?

* do you have suggestions for incorporating game mechanics and incentives as
we flesh these out?

* who evaluates challenge content once submitted?

* anything else that comes to mind!


[0] this comes out of some of the questions/concerns i expressed on a blog
post the other day, and some great discussion in the comments:

[1] see this article philipp sent around to the community list if you didn't

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.p2pu.org/pipermail/p2pu-webcraft/attachments/20111011/4e828f0d/attachment.html>

More information about the p2pu-webcraft mailing list