Successfully reported this slideshow.
Your SlideShare is downloading. ×

Wordcamp 2010 I'm A Scientist Get me Out of Here - Mike Little

Ad

 

Ad

Mike Little <ul><li>Long term software developer

Ad

Open source enthusiast

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Upcoming SlideShare
Free and Stress Free!
Free and Stress Free!
Loading in …3
×

Check these out next

1 of 44 Ad
1 of 44 Ad

Wordcamp 2010 I'm A Scientist Get me Out of Here - Mike Little

Download to read offline

My slides from my WordCamp 2010 talk -
"I'm a Scientist Get me Out of Here - Doing things with WordPress that no-one has ever done before"

See ’Notes on slide x’ tab or transcript below for speaker notes.

My slides from my WordCamp 2010 talk -
"I'm a Scientist Get me Out of Here - Doing things with WordPress that no-one has ever done before"

See ’Notes on slide x’ tab or transcript below for speaker notes.

Advertisement
Advertisement

More Related Content

Advertisement

Wordcamp 2010 I'm A Scientist Get me Out of Here - Mike Little

  1.  
  2. Mike Little <ul><li>Long term software developer
  3. Open source enthusiast
  4. Co-founded WordPress
  5. Blog: http://zed1.com/journalized
  6. Company: zed1.com
  7. Contact: mike@zed1.com </li></ul>
  8. I'm a Scientist Get me Out of Here I’m a Scientist is like school science lessons meet the X Factor! School students choose which scientist gets a prize of £500 to communicate their work.
  9. The Team Gallomanor Dot design Communis zed1.com Sponsors – Wellcome Trust
  10. What is I'm a Scientist? Scientists and students talk on this website. They both break down barriers, have fun and learn. But only the students get to vote. 20 zones! five scientists in each zone, talking to 20 classes of students. So that’s 100 scientists and 5,000 students .
  11. Root Site
  12. Zone home page
  13. Interaction The kids ask questions of the scientists The scientists answer the questions Everyone (registered) gets to comment Real time chat sessions The students vote for their favourite scientist Scientist profiles. Student profiles.
  14. Original Plan / Requirements Multiple zones – WPMU Custom profiles – Buddypress Questions & Answers – Custom post types Registration – specific restrictions Privacy / Child protection – Custom Roles Easy interaction Administration / Moderation
  15. What Worked WPMU – of course Buddypress – Too much Custom post types – To little Custom registration – Too hard Data / Child protection – Half a plugin
  16. Custom Profiles Extra fields on registration Password on registration Registration with role – Student/Teacher/Scientist, Sign up code – URN Duplicate or no email! Avatar for students/Profile pics for scientists
  17. BuddyPress Problems Too much functionality More effort turning things off Conflict with 'profile' plugins Abandoned!
  18. Custom Profiles <ul><li>Students, Scientists
  19. Cimy User Extra Fields
  20. Theme my profile
  21. Custom code
  22. Custom validation </li></ul>
  23. Registration
  24. Scientist Profile Brief details Expanded Interview
  25. Expanded Scientist Profile
  26. Scientist Page
  27. Student Profile <ul><li>Avatar
  28. Achievements
  29. Current Vote </li></ul>
  30. Questions & Answers <ul><li>Students ask questions
  31. Moderator approves questions
  32. Scientists answer questions
  33. Duplicate questions
  34. Question categories
  35. Notifications </li></ul>
  36. Custom Types <ul><li>Not enough support in 2.9
  37. UI non-existent
  38. No feed
  39. No good! </li></ul>
  40. Questions & Answers Posts in 'question' category Custom taxonomy / permalinks Answers are comments with meta data Comments are comments Asked by whom – Author + meta data Asked to whom – meta data
  41. Ask a Question
  42. Questions Page
  43. A Question <ul><li>Answers styled
  44. Comments
  45. Avatars </li></ul>
  46. Custom URLs <ul><li>Questions
  47. Question categories
  48. To scientist
  49. Short URLs
  50. Extra URL </li></ul>
  51. Other features Library – hierarchy of pages FAQ – hierarchy of pages Wall (now dropped) – page with comments Global questions on root Global comments on root
  52. Voting Positive voting – who do you want to win? Per round – multiple rounds Change your mind at any time
  53. Vote Page
  54. Voted
  55. Chat Real time chat, Two 'rooms' side by side – Scientists / everyone else Moderated Previous solution – Java applet/ugly/cost, Pierre's Wordspew
  56. Chat
  57. Chat Backend
  58. Tweet! <ul><li>Turn off chat engine in back end
  59. Plus force refresh of browser page
  60. Equals very happy client </li></ul>
  61. Email When scientist is asked a Question, When question is answered, When question is marked as duplicate When news items are posted, e.g. eviction
  62. Email Pooling <ul><li>Pool emails to control flow
  63. Concatenate multiple ones
  64. WordPress' cron jobs
  65. Auto generated posts/emails - eviction </li></ul>
  66. Administration and Moderation Zone Configuration Questions Email URN generation Votes/ Eviction Chat control User import
  67. Question Moderation
  68. Question Moderation 2
  69. Dashboard
  70. Tweets <ul><li>Implementing major feature within hours of request == happy client again! </li></ul>
  71. Future More features Next year International I'm a councillor I'm a footballer? I'm a celebrity!
  72. Plugins Pierre's Wordspew – Heavily hacked for two room chat and lighter load (looks like some of my issues have been addressed recently). http://bit.ly/9Xpvps Theme my profile – great starting point for profile pages and profile editing – heavily added to. http://bit.ly/boYEEj Post indexer (premium) – for global questions list. http://bit.ly/duZhhS Comment indexer (premium) – for global comment list. http://bit.ly/cb2UqB Capability Manager – (used to create roles) http://bit.ly/bdkN3i CIMY User Extra Fields – http://bit.ly/aYDfR7
  73. Links The site: http://imascientist.org.uk/ Gallomanor: http://www.gallomanor.com/ The Wellcome Trust: http://www.wellcome.ac.uk Dot Design http://dot-design.co.uk/ Communis: http://communis.co.uk/ Scientist Mark Fogg's ( http://ias.im/u.1479 ) 4am Eureka moment inspired by student question: http://bit.ly/bmEith zed1.com: http://zed1.com/
  74. Questions

Editor's Notes

  • History, I&apos;m a Councillor 7 years, IAS trial on old software, Need for updated software, More features, Up-to-date
  • Zone area, Login or register, Questions, News and announcements Parent / root site
  • Scientists gallery Loged in user&apos;s brief profile Recent questions, etc
  • My first thoughts on addressing each of the requirements.
  • Plugins interfering with each other, BP too much functionality, Spent too much time turning things off. WPMU registration nightmare – not enough hooks, to much hard-coded
  • Details of what was required over and above &apos;normal&apos; registration.
  • Cimy Didn&apos;t support per role fields, but handled with naming convention Slightly hacked – just two lines added Theme my profile – heavily hacked to add more functionality Plenty of custom validation and custom display code No / duplicate emails! Registration code / with pre-sets (role, zone) More profile questions Not enough hooks == Modify core!
  • Email not required for students, school not required for scientists. Can only prompt for the superset of required fields Handle what&apos;s really required after ascertaining role through sign up code.
  • Example scientist profile Brief view for less able/ less interested students. Not overwhelmed.
  • Scientist can add rich content
  • Scientist overview, pulls in specific profile info Live question/comment data
  • Student profile Avatar from fixed choice! Achievements for participating in the event – asking questions, voting in each round – good motivation Current voting status
  • Mods need to change categories, duplicates, mark as interesting, then approve Approved but unanswered questions not public – only scientists can see their unanswered questions Stages are : submitted -&gt; approved -&gt; answered (implemented as draft -&gt; pending -&gt; published) scientists cannot see others answers while they are answering. Many duplicates Email to scientist – new questions Email to student – your question answered Email on duplication – student look here for your answer
  • Proposed solution – wasn&apos;t ready enough in 2.9
  • Simple form no distractions Easy to choose scientists Can&apos;t ask evicted scientist (&apos;all&apos; handles that too) Form submit creates draft post in question category Text box -&gt; post_content Question text is copied to post title (possibly with truncation)
  • Nice visuals! Scientists names link to profiles. Standard wordpress category listing with extra plugin for nice paging Standard hook to modify comment count used throughout – don&apos;t count answers as comments.
  • Single question – visually separate answers from comments Avatar/profile pic – maintains relationship/ownership Supports replies/nesting maintains conversation
  • Short urls done almost completely in .htaccess! Missed screen shot of extra url it&apos;s a special for scientists only (my unanswered questions)
  • Library and FAQ – Zone specific but both will show root site content if none or not-enough zone content Global lists use post-indexer and comment-indexer premium plugins, otherwise query across zones is impossible/expensive Need to do my own later because need more info stored to do more – including search.
  • History, Change votes, Evictions, 3, 4, or 5 rounds for 4, 5, or 6 sci&apos;s Backend interface to show counts per round. Future functionality, stats, graphs
  • Cannot be more simple way to vote Students can vote again any time (Maybe need to make that explicit) Only current vote this round counts.
  • Feedback on voting Perhaps needs to be more exciting!
  • First solution – problems/ugly/slow/didn&apos;t always work cost money but hosted externally == light load. P2 tried but just too hard to make work –not geared for real time. Pierre&apos;s wordspew – revamped shoutbox clone Old school ajax Poor code – both PHP and JavaScript, Heavy load on server Hacked, hacked, and hacked – sometimes in real time on live server! Added Banning students, Added deleting messages – (increased load because delete has to propagate to all screens)
  • Simple but seemed to work OK. Right side for Scientists. Left for everyone else. Moderators get a delete link on each message, Click Avatar to ban user Needed debugging/tweaking in real time during chats to diagnose problems. Very carefully!
  • After chat session there was a problem: If the students didn&apos;t click to another page or refresh they could continue to chat. Maintained high load on server, but more importantly: unmoderated. Unsupervised chat – publicly visible! Bad, bad, bad Back end solution – turn off chat engine per zone. Force refresh of page to kill chat. Happy client! tweet
  • Info about email is stuck in one table (as an event) Who to email stuck in another table with link
  • Different queues per event type WP cron jobs mean mailouts can be staggered Scientists&apos; “new question to answer” high priority – runs more often, grabs more per pass. More also equals better concat Email message constructed from event type template + event info + user info at send time. Quite heavy processing so out of request processing with WP cron is good.
  • Not enough screen width! Mods needed to make changes en masse to cope with sheer volume Mass action = un/approve/un/interesting/delete Very expensive/slow screen to generate! These Qs are unapproved and highlighted
  • These Qs are answered Options are different, “”interesting” now individual checkbox Cannot mark a Q as duplicate now as it has been answered. High post numbers indicates sheer volume of questions/duplicates – though versions, etc included.
  • Admin/moderator summery dashboard Very, very, very expensive to accumulate data – cached for 10 minutes. Very popular with client giving a feel of progress / success of interaction. This was implemented within hours of the request Happy client again! Tweets
  • Couldn&apos;t have done it without all the framework WordPress gives.

×