Augur Front-End Update – February 8th

Augur Front-End Update – February 8th

The new login, sign up, and import account pages have been completed and merged this past week. This will allow for a significantly cleaner authorization process.

The new trading system on the contract end has been implemented, and removes a lot of complexity out of the UI/client. There are still a few remaining tasks to get through within the contracts before audits begin.

We’re also working on a new home page for the Augur app. Highlighted in detail on the February 3rd update by Jack, the first tag defined during market creation will now be the “primary tag” or “topic” for the market. The initial home page will be a display of the most popular tags, rather than a list of all markets. A rough sketch of what this will look like can be seen here.

This will improve the on-page performance with loading of the markets, allow for on-chain searching of the tags, and hopefully provide a more intuitive experience for users.

In my opinion, it is more intuitive than the landing page we have now. Users may not have a particular market they want to trade in when they come to Augur, but I think the vast majority will have a topic in mind: users that are interested trading politics are probably different overall than users that want to trade financials, or sports, etc. I further think that average volumes will probably be quite different between topics (e.g., financials might be an order of magnitude more popular than politics), and I think that a user interested in political markets might be turned off if the initial display was composed entirely of financial markets. “Oh, looks like just stocks and stuff,” they would think, and then leave. Similarly if the most popular markets happen to all be horse races, or sports, or celebrity gossip, etc. In short, I think a landing page structured around topics instead will be an overall improved UX for users that want to browse, or are not exactly sure of the market they want to use. (For reference, although the focus is of course somewhat different, bet365 is a good example of a site that first displays “topics” to users.) – Jack

Feel free to let us know your thoughts in our Slack!

Technical Updates:

February 7, 2017

  1. Renamed data_api/ contract to data_api/ and updated function names for “primary tag” to “topic”.
  2. The getTopicsInfo(Chunked) wrapper functions in augur.js now return objects (where the keys are topic names and values are popularities) instead of arrays. The topics selector in the front-end converts the stored topics object to a sorted array.
  3. Added sender address check to log_short_fill_tx listener.
  4. Added increase(Market)TopicPopularity actions and reducer; call increaseMarketTopicPopularity in fillOrder.

February 5, 2017

  1. The transaction relay in ethrpc now automatically adds the transaction hash the onFailed callback argument when it is available (usually only for transactions with mutable returns).
  2. Default hosted nodes in ethrpc are now (temporarily) using network 9000, due to severe congestion on Ropsten.
  3. Added placeAskAndShortAsk to placeSell sequence, to makeOrder, and to placeTrade sequence and tests.
  4. Trade and short-sell receipt parsing are now handled by dedicated methods in augur.js.
  5. The final trading callback for multi-action sequences now always fires at the correct time.
  6. Added logic to delete trade/short_sell transaction on empty trade to constructRelayTransaction. This fixes an error where sometimes simultaneous trades would both appear as “successful”, but only one trader would actually get the shares from the trade.
  7. Sell complete sets has been disabled in the front-end, since this will be handled automatically by the contracts in the (upcoming) updated contract version.

February 4, 2017

  1. Replaced orderBooks object with getOrderBooks function in placeTrade and subroutines.
  2. Added new modifyOrderBook module: makes local changes to order book.
  3. Fixed fullPrecisionPrice/price order in adjustScalarOrder.
  4. For orders filled by the user, call fillOrder in constructRelayTransaction instead of log_fill_tx callback.
  5. Refactored market order book updating functions: these functions now call to modifyOrderBook functions in augur.js, and replace the existing order book, instead of updating it.

February 3, 2017

  1. Report and Snitch tabs on market detail page now use isReportTabVisible market selector property to determine visibility.
  2. Reporting markets listing filter now works correctly.
  3. Scalar market outcome input box now displays correctly in the Snitch tab.
  4. The first tag defined during market creation is now the “primary tag” or “topic” for the market. A new contract, data_api/, now tracks the “popularity” of each tag, defined (for simplicity) as the sum of the volume of all markets that share a particular primary tag. (This crude metric will be fine-tuned through user testing.) The initial landing page will be a display of the most popular tags, rather than a list of all markets. Here is a sketch of what this will look like. There are a few advantages of this approach:
    1. The initial page load will be faster, since all markets will not be downloaded immediately.
    2. Tags are stored as “short strings” (i.e., normal 256-bit integers) on contract, so it is possible to search for them on-chain; that is, without first downloading all the tags either to the browser or to a persistent datastore. (Market/event descriptions, by contrast, are bytearrays that are not limited to 256 bits, so on-chain search is too slow to be practical.)

February 2, 2017

  1. Re-uploaded all Augur contracts to the Ropsten testnet (network 3) and our private test chain (network 9000).

February 1, 2017

  1. Added the ability to ‘close’ an existing market position. This action will determine if a position can be either fully or partially closed based on the current order book state and will attempt to do so at the best available price.
  2. Snitch (slashRep) messaging now displays correctly.
  3. Fixed reporterIndex reference in slashRep function.
  4. Fixed eventID reference in slashedRep log and added a timestamp.
  5. Added missing doNotMakeOrders and tradeCommitLockCallback arguments to placeShortSell from placeSell.
  6. Added arguments lengthcheck to the first if statement in augur.js bindContractMethod.
  7. Updated/removed expired events from “canned markets” list.

– The Augur Team

Comments are closed.