<blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

<span class="Apple-style-span" style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255); ">* 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. </span></blockquote>

<span class="Apple-style-span" style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255); "><div><br></div><div>Sounds fun, I would encourage giving a few different content examples so there is something for everyone.</div>

<div><br></div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

* 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?</blockquote>

<div><br></div><div>I think this could be tightened up a bit, it's pretty open ended and if I were to attempt it I'd like to have a clear goal. Maybe you could provide a few different things to investigate and specific problems to look for, sort of like a checklist.</div>

<div><br></div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

* 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. </blockquote>

<div><br></div><div>I really like this idea a lot. Perhaps encourage people to wrap existing APIs and create a better interface for them. Writing an API client library is a great way to get experience as well.</div><div>
<br>
</div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

* 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.</blockquote><div><br></div><div>Love this one as well, I'd add a step that is to take a look at what others think is impossible and explain how they are possible today.</div>

<div><br></div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

* 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.</blockquote>

<div><br></div><div>Agree that it should be something more useful, maybe start with a P2PU dataset that we want converted into as many formats as possible. You can earn a badge by moving this data to a new format.</div><div>

<br></div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

* write code/pseudocode for bluetooth pairing using the android API</blockquote><div><br>This one doesn't seem to fit with webcraft, it's a bit beyond the scope of the web in my opinion.</div><div><br></div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

* 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?</blockquote><div><br></div><div>Why did the developers choose to break the rules? Inexperience? Laziness? or did they have a good reason?</div>

<div><br></div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

* 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.</blockquote>

<div><br></div><div>I think hacking on other people's stuff is great and it illustrates how keeping web standards open empowers anyone.</div></span>--<div>contact info:<br><a href="http://www.johndbritton.com/" target="_blank">http://www.johndbritton.com</a><br>

@johndbritton - <a href="http://twitter.com/johndbritton" target="_blank">http://twitter.com/johndbritton</a></div><br>
<br><br><div class="gmail_quote">On Wed, Oct 12, 2011 at 1:35 AM, Jessy Kate Schingler <span dir="ltr"><<a href="mailto:jessy@jessykate.com">jessy@jessykate.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

hi john and all! <div><br></div><div>(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!) </div>


<div><br></div><div>this is a long email. </div><div><br></div><div>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). </div>


<div><br></div><div><b>Challenge Design</b> </div><div>* 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] </div>


<div><br></div><div>* 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. </div>


<div><br></div><div>* 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. </div>


<div><br></div><div><b>Challenges Ideas</b> </div><div>(note: these are targeted at <b>intermediate</b> web developers) </div><div><br></div><div>* 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. </div>


<div><br></div><div>* 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?</div>


<div><br></div><div>* 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. </div>


<div><br></div><div>* 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.</div><div><br></div><div>* 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. </div>


<div><br></div><div>* write code/pseudocode for bluetooth pairing using the android API</div><div><br></div><div>* 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? </div>


<div><br></div><div>* 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.  </div>


<div><br></div><div><br></div><div><b>Help</b> (aka, where i could use your feedback!):</div><div><br></div><div>* 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?</div>


<div><br></div><div>* are they at the right level for an intermediate challenge?</div><div><br></div><div>* should we explicitly design challenges to be composed (using the output from one as the input to another)?</div>

<div>
<br></div><div>* do you have suggestions for incorporating game mechanics and incentives as we flesh these out? </div><div><br></div><div>* who evaluates challenge content once submitted?</div><div><br></div><div>* anything else that comes to mind!</div>


<div><br></div><div><br></div><div>thanks,</div><div>jessy</div><div><br></div><div><br></div><div>[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: <a href="http://blog.jessykate.com/blog/2011/10/07/heterogeneous-learning/" target="_blank">http://blog.jessykate.com/blog/2011/10/07/heterogeneous-learning/</a> </div>


<div><div><br></div><div>[1] see this article philipp sent around to the community list if you didn't already: </div><div><a href="http://www.wired.com/wiredscience/2011/10/why-do-some-people-learn-faster-2/#" target="_blank">http://www.wired.com/wiredscience/2011/10/why-do-some-people-learn-faster-2/#</a><br clear="all">

<font color="#888888">
<div><br></div>-- <br><div>Jessy</div><div><a href="http://jessykate.com" target="_blank">http://jessykate.com</a></div><br>
</font></div></div>
<br>_______________________________________________<br>
p2pu-webcraft mailing list<br>
<a href="mailto:p2pu-webcraft@lists.p2pu.org">p2pu-webcraft@lists.p2pu.org</a><br>
<a href="http://lists.p2pu.org/mailman/listinfo/p2pu-webcraft" target="_blank">http://lists.p2pu.org/mailman/listinfo/p2pu-webcraft</a><br>
<br></blockquote></div><br>