alexa-js / alexa-utterances

generate expanded utterances for Amazon Alexa from a template string
MIT License
152 stars 28 forks source link

alexa-utterances v2 thoughts #7

Closed mreinstein closed 8 years ago

mreinstein commented 8 years ago

sorry for delay on this. There are several issues #2 #5 #6 that deal with changes related to Amazon Alexa's recent improved built-ins and custom slot types.

I've come to the conclusion that much of the functionality in this module is duplication of the new capabilities. There are the 2 bits that are still useful IMO:

Here are my thoughts on what might be done in 2.x:

I haven't done any of this yet, just talking about next steps. Open for feedback, ideas, etc.

mreinstein commented 8 years ago

for completeness here's the link to the Amazon developer docs describing the new features and migration steps https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/migrating-to-the-improved-built-in-and-custom-slot-types

mreinstein commented 8 years ago

@matt-kruse any thoughts on this? I split alexa-utterances out from your module to make this re-usable across projects but given yours is the primary use case, do you see any issues with what is outlined above?

matt-kruse commented 8 years ago

I agree that the dictionary is redundant now, and support for custom slots is needed. I don't mind the change to () but it would be ideal to keep backwards compatibility if possible. I've not used custom slot types yet, so I don't know any of the quirks of how to best represent all of this in the utterance syntax.

mreinstein commented 8 years ago

This has been accomplished in the 1.0 branch, but I'm going to hold off publishing to npm for a little while.

https://github.com/mreinstein/alexa-utterances/tree/1.0

This is a pretty massive breaking change, and the major consumer of this module is alexa-app, so I'm not in any hurry to push this out. At some point, @matt-kruse may decide to publish a major revision with breaking changes, at which point it might be a good idea to lump in these breaking changes in.

constructive feedback of any kind welcome. :)

dblock commented 7 years ago

The list of things makes total sense. I think if you publish a major version of alexa-utterances and PR whatever we need to use it in alexa-app we can easily make a release of that with little delay to avoid breaking people. We also have a clear UPGRADING document now that should contain everything.

mreinstein commented 7 years ago

@dblock I think there's some misunderstanding. I'll try to clarify.

alexa-app relies on this library to parse/expand utterances. Any existing code that relies on alexa-app and uses some of these removed features will break. In order for alexa-app to use the new version of this module, it would be a breaking change, and require upping the major version number. We'd also have to document this carefully in the readme, changelog, etc.

While this is totally doable with semver, it is a pretty large change, especially if you maintain a lot of utterance files, or even 1 very large utterance file. Hence the lack of movement on this ticket.

Hope this provides some clarification.

dblock commented 7 years ago

That's exactly how I understood it. IMHO we shouldn't be afraid to move forward and make breaking changes and just properly document everything as you say. Most people don't update dependencies blindly and Amazon continues to make pretty substantial changes too (eg. LITERAL), the earlier we help people not use it the better off they will be.

mreinstein commented 7 years ago

That's exactly how I understood it.

Cool, just wanted to be sure. šŸ‘

shouldn't be afraid to move forward and make breaking changes and just properly document everything

I agree, but I also didn't want to dictate to @matt-kruse how to run his module. :) I'd rather favor stability over breaking change for the sake of change. To me (and I suspect to him) this hasn't been that big of an issue that it warranted making everyone update their utterances files to use the newest module version. That's why I was saying we should wait until the day where alexa-app introduces some other breaking changes and lump this change in with it at the same time. but that was about a year ago now.

dblock commented 7 years ago

I think now is as good timeĀ as any. We (I) recently released 2.4.0 and we should do a 2.5.0 or even 3.0 if you think it's better. I'm here to help with alexa-app and its release.

tejashah88 commented 7 years ago

A quick update about the LITERAL slot option. Amazon has decided to not remove the feature, although they still recommend using custom slots.

image