Sunday, June 08, 2008 3:03:06 PM (GMT Standard Time, UTC+00:00)

The last one was starting to get a bit busy, and I was starting to panic because I'm never going to release if I have to work my way through them all.

I've split it up into things I need to do before I release Scrobbles, and those that can wait until its out the door. For one thing, I should stop assuming that my potential users are going to want things, and should really pass the lead onto them. Unless of course nobody wants to use Scrobbles, in which case I'll either start working on one of my many other ideas, or I'll push Scrobbles development in my own direction until I have what users will actually want off me.

I also realised that developing the snippet editor was going to take me a long time, not through technical difficulty - but actually designing something that wasn't harder to use than simply writing some XML was actually quite challenging. It means less people will be able to create snippets if I don't do it, but I'm not looking at wanting a particularly large amount of users right now anyway, just some - so I can start learning off them.

Focusing on the important list, and developing a good pitch so the World of Warcraft users understand what Scrobbles is all about should be my priorities. With the enormous scope that Scrobbles has, I run the risk of overcomplicating the description and confusing people, and if people don't know what software does, they won't use it.

Before Release
-----------------------------------------------

  • Core Scrobbles
    • Friendly URLs
    • Referal system for 'earning' queries
    • Embedding Data From Third Party Sites
    • Compressed Raw Data Queries
    • Compressed Batch Data Submission
    • Registration System
    • Sort the database out [fast fast fast]
    • Arbitrary Views (using Snippet System)
    • Ajax-Driven Page Requests
    • Windows Service for Data Generation
      • Page Generation Queue
      • Pending Data Crunching
    • Automatic Data Submission (Scrobbles App)
    • Security/Validation of All Existing Forms
  • Third Party
    • Online submission of WoW Data
    • Heatmaps (location tracking)
  • Community
    • Wiki
      • SDK for PHP and .NET (wrappers around system)
      • Service Documentation
      • Snippet Documentation
      • Family/Key/Value Documentation
    • Forums
      • Requests etc


Post Release
-----------------------------------------------

  • Core Scrobbles
    • Javascript Snippet Editor
    • Create an intallation manager (DOH, re-invent wheel!?) 
    • XML based 'module' installation/uninstallation 
    • Filterable install list 
    • Rollback on fail
    • Create click-once installer for the installation manager
    • Cache At Query Level (in DB)
      • Add cached query pre-generation to Windows Service
    • Crunch data on commonly used keys, primary, secondary, tertiary (speed up queries)
    • WoWWebStats Emulation
  • Logistics
    • Finance of new server
    • Add a 'status' to each account for payment info
    • Provide the means with which to easily pay (Paypal/Google Checkout/Direct CC/Phone??) 
    • Limit the number of queries each user is allowed and make this dependent on account status 
    • Third party limitations (payment system too?), to prevent DoS attacks
  • Third Party
    • World of Warcraft Blogging 
      • Develop automatic user creation based on Scrobbles data
      • Choose a decent template for advertising revenue
      • Architect a data-driven pipeline for generation of blog posts based on:
        • Location 
        • Activity 
        • Player Character 
        • Party 
        • ???
      • Develop background process to generate blog posts
      • Use the World of Warcraft Armory to populate character profiles 
      • Add capability for characters to automatically post comments on each other's blogs for purposes of hilarity
    • World of warcraft Avatar/Signature Generation
    • Embeddable Widgets into blogs/etc
    • Generate Vista Gadgets from form
       

So, there we have it. I'm not going to copy and paste this entire list again - I'm going to focus on the things I have to do in order to release the product, and then I'll revisit the second list.