Thursday, January 1, 2015

In Development - We Need Your Input!

Happy New Year!

We've had a productive busman's holiday here at EveKit working on a number of new features for the site.  There are three main features we're working on, and I'm excited about all of them, but honestly I'm not sure which features (if any) are the most relevant/interesting for third party tools developers or players of EVE Online.  That's where you come in.  Take a look at our feature descriptions below and let us know what you think at our survey.

Feature 1 - Third Party Developer Freelance Site

Our extensive market research (read: we lurked on the forums a bit) has shown that many players are interested in third party tools which either don't exist yet, or would require significant modifications to existing tools.  These players are more than willing to pay ISK to get these tools made (because they can't develop themselves, they don't have the time, etc).  Conversely, there are many talented third party developers out there willing to help, and more than happy to take ISK in payment.

Outside of EVE Online, there are numerous freelance sites which match freelancers to customers looking for developer help.  Here at EveKit, we've started working on a part of the site which attempts to do the same thing for third party tool developers.  In our case, you'll pay with ISK instead of paying real money.  This part of the site works as follows:
  • Anyone can sign into EveKit and identify themselves as a developer, at which point we start keeping a history of their job activity including things like winning bids and happy customers.  Over time, this is how you'll know a given developer is reliable.
  • Anyone can sign into EveKit and post a project and call for bids.  A project consists of:
    • A description.
    • Implementation requirements (e.g. programming language, DB choice, etc).
    • Maximum price the poster is willing to pay (in ISK of course).
    • Any schedule or time requirements for the project (e.g. finish in four weeks).
  • We also keep a history of project posters: do they pay on time?  were they pleasant to work with?  Over time, this is how developers will know which customers are reliable.
  • You won't need to sign into EveKit to view projects up for bid.  But you WILL need to sign in if you want to post a project, or bid as a developer.
  • EveKit is just the matchmaker here.  YOU DON'T HAVE TO USE EVEKIT AS PART OF YOUR TOOL IMPLEMENTATION.  We'd love it if you used EveKit account synchronization as part of your implementation, but it's not required.
We haven't settled on a payment model yet but here are some ideas we're kicking around:
  • Developers and posters can either make their own arrangements or use a standard agreement (e.g. 20% up front, balance on delivery).  EveKit will offer a service to help developers confirm that posters have made payments.
  • EveKit will charge a small fee to post a job, e.g. 50M ISK.  The actual price will depend on the volume.  If many posts are made, the fee can go down substantially.
We've started the design of this feature, but we're still a month or so away from being ready to roll it out (if we focus on this feature).

Feature 2 - EVE Wayback Machine!

If you've used EveKit before, you know that we use your API credentials to maintain a snapshot of your account information in the cloud which we make accessible through the EveKit web service APIs.  Account features which have an obvious history, like wallet transactions, are retained forever.  So you can look at your entire wallet history if you want, starting from the first day you added your account to EveKit.  Account features which don't have any obvious history, like your character sheet, are only maintained in their latest up to date state.  In other words, we can't tell you what your skill point balance was a month ago.  We can only tell you what it is now.

The EVE Wayback Machine feature idea is simply to start maintaining history across ALL the state EveKit maintains.  This means that every bit of mutable account state (e.g. your character sheet, your list of contacts, your assets, etc.) would now have a history.  Moreover, the EveKit APIs would change so that you could view the state of your account at any point in time.  This will increase the amount of data we have to store in EveKit, but not as much as you might think.  Currently, wallet entries (journal or transactions) dominate our storage requirements, and this is history we already keep.

More details about this feature:
  • All EveKit web service APIs would change to include an optional "as of" timestamp field.  You would use the "as of" field to view data at a particular point in history.
  • The daily snapshots we generate in CSV format will only cover the latest data.  We'd provide a separate on demand API for requesting a CSV snapshot from a particular point in time.
  • EveKit access keys (these are required to access your data through the web service APIs) would be unchanged.  These keys already have a "limit" field which specifies the earliest date at which account history can be viewed.  Previously, we used this feature to limit access to older wallet entries.  Now we'll use this feature to limit access to any historical state.
We've started on a prototype implementation of this feature.  We're about three weeks away from a beta if we focus our efforts here.

Feature 3 - EveKit Server Side Code and Applications

Maybe you'd like to make your own third party tool (as opposed to paying someone, see the first feature), but you're not too crazy about sorting through the various API libraries, setting up your own website, etc.  Or maybe you can do a little bit of coding, but not enough to piece together an application that meets your needs.  If so, then this last feature is designed for you.  If you use EveKit, then your account data (and the Static Data Export as well) is already online and available through straightforward APIs.  All that's missing is a simple tool to put the pieces together.

To meet this need, we've built a prototype "App Developer" in EveKit which will allow players to build simple applications in-browser running against their sync'd data and the latest Static Data Export (SDE).  The tool provides a visual programming language (based on Blockly) so that most players will be able to build applications without needing to write code.  Here's what an example "program" looks like:
Sample EveKit Server Side "App"

Some of the details in plan for this feature:
  • Applications can run server side (on the EveKit servers), in the browser, or both.  Applications running on the EveKit servers will have some limits on size and run-time (TBD).
  • Server side applications can be headless.  They'll run on a schedule even if you're not actively signed into the site.
  • You can make an application "public" in the code repository sense, which means that other users can make a copy for their own use.
  • We're considering ways to allow multiple users to "share" a single copy of an application, but don't have a design finalized yet.
  • You can search and copy public applications if you don't want to start from scratch.
This feature is the furthest along of any of our features.  We already have basic server side application development and execution working.  It's likely we'll be ready to release this feature in February if we focus our efforts here.

No comments:

Post a Comment