Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

alexa-utterances v2 thoughts #7

Closed
mreinstein opened this issue Jan 22, 2016 · 10 comments
Closed

alexa-utterances v2 thoughts #7

mreinstein opened this issue Jan 22, 2016 · 10 comments

Comments

@mreinstein
Copy link
Contributor

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:

  • Generate Multiple Versions of Static Text
  • Optional Words

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

  • drop the dictionary feature
  • drop the LITERAL slot type
  • rename NUMBER, DATE, TIME, and DURATION to the AMAZON.NUMBER, AMAZON.DATE, etc. equivalents
  • I like the parentheses format that @rickwargo proposed in his PR. Thinking about using parens instead of braces for the 2 remaining features (optional words and generate multiple versions)

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

@mreinstein
Copy link
Contributor Author

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
Copy link
Contributor Author

@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
Copy link
Collaborator

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
Copy link
Contributor Author

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
Copy link
Collaborator

dblock commented Jan 16, 2017

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
Copy link
Contributor Author

mreinstein commented Jan 16, 2017

@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
Copy link
Collaborator

dblock commented Jan 16, 2017

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
Copy link
Contributor Author

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
Copy link
Collaborator

dblock commented Jan 16, 2017

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
Copy link
Member

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

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants