Sort:  

It's explained better when reading the spec, in short there are a few things:

  • native apis for nfts (querying, issuing, burning)
  • separate storage inside each token for issuer's, owner's and dapp's data - they can write only to their own section.
  • a new mechanism for users to send NFT tokens to third party dapps (similar to a smart contract)
  • for those apps to consume/process token interactions asynchronously using queueing

This enables powerful new ways to build apps.

For example you could send your steemmonster cards to a real time strategy game dapp built by a 3rd party, play with them,earn custom points, and then convert those points to native experience points by steemmonsters - all data logged nativelly inside the token

Yes I understand your spec does things in a different way. Since you worked on your own to design something, and there are always different ways to get to the same goal line, it will clearly be different in terms of details such as the names of the APIs.

What I'm trying to drill down to are the core functional differences that can bridge the gap because I think there is near zero probability that the Steemit devs are going to implement your spec, but actually decent probability they might be convinced to make some small functional changes to enable the same or similar use cases.

For example, having data storage areas seems like something might be possible to go into even simple SMTs. If it goes in, many of the uses cases you have in mind will be enabled, if not using the same APIs that you specified, etc. If not then those use cases won't be able to use SMTs (or certainly not as easily)

You are absolutely right, that's why I'm trying to convince @ned to shedule a review with his dev team to see if there are points of overlap that need to be considered now between SMTs and this proposal.

The other option is to build this as a community plugin.

I hope you guys discuss soon.

Are you on discord? Just curious

I think I'm registered but I rarely open it.

Thank you for your explanation here. I didn't quite get the benefit when I read your post and glanced over the documentation.