A little while ago the Alexa team updated the Alexa Presentation Layer from v1 to v1.1 and with it brought a large range of updates to their components, commands and capabilities.
Okay, so you’ve survived your application’s monolith phase. But it left you jarred and cynical. You understand that by breaking this monstrosity down into smaller services it should be more maintainable, easier to change, faster to innovate. Microservice all the things!
Non-tech post, feel free to skip it. I’ve had two conversations with people recently that have meant me talking about my job. Not bad conversations, not important ones, but they’ve been working away in the back there trying to figure something out.
When you work in technology, if you asked a random sampling of people if they normally felt very confident they’d say “no”. When you ask a question like that confidence is always seen as a social attribute, synonymous with extravert.
Yes, this is a personal post, and I’m trying to get across ideas I’m not hugely comfortable talking about. You’ve been warned and feel free to ignore it and wait until the next Alexa post.
So after my last post I did just want to quickly point something out. These aren’t related events, I haven’t suddenly become the guy at work who flies around and does stuff, they’re separate situations and conversations that happen to have ended up being scheduled in the same time period. But whatever the reasons for the trips, being able to fly off for three weeks has meant a lot of people changing their routines to fit around my plans
I’m currently at the beginning of a few incredibly interesting weeks of travel, and they’re all thanks to the thoughts and efforts of those around me within Experian. I know most of my posts are about Code and Alexa (they’re not going anywhere!) but I can’t experience these trips without writing a little about them – so excuse my indulgence in talking about my actual day job for a little while.
Using the new Alexa Presentation Language in .NET Core with Alexa.NET
So you have your skill, everything’s deployed and sounds fantastic and your users are happy. How often does a blog article start with that? But that’s where we need to start in this article.
Amazon have been super busy recently, and one of the most exciting announcements for me to be able to look into has been the ability to have in-skill purchasing.
Amazon have released a fabulous new update to the way Alexa works. If a user makes a request without a skill name and Alexa can’t handle it, machine learning kicks in and some of the most likely skills to handle it are sent a new kind of request asking if they could handle it. Based on the responses from those skills the most appropriate can then be used to handle the request. This post is showing you how to enable your skill to take advantage of this new functionality with the latest Alexa.NET.
I think I may genuinely be running out of packages to write for the .NET Alexa community, but this one was important I got finished before I looked for my next project (I’ve not developed an actual skill in some time – it’s been all about the NuGet packages recently!)
In my last article I wrote a little about using Gadgets with the Amazon Echo – specifically (at least at the moment) the Echo Buttons. We talked about the concept of the Gadget Controller changing the state of the buttons and the Game Engine interpreting the interactions.
So after a long period of “coming soon”, Amazon have released the Gadgets Skill API Beta! And sticking to my previous goal of making the development of skills easier for .NET Core developers I’ve created a NuGet package to help with that.
It’s now Monday night and I still can’t quite piece together the last couple of days properly. I went from 7am Saturday until midnight Sunday without sleep, but I wanted to experience the whole thing at least once. Bottom line? I have no idea what I’m going to write – but I want try and write something about my first Hack24.
Amazon have just announced the Alexa Sound Library
I had a request come through regarding one of my NuGet packages yesterday. It’s primarily a wrapper around an API, and there was a problem with it deserializing one of the requests – the user was seeing the API perform the call (it altered the server resource) but it was throwing an exception trying to give back a response. How do you find out what the problem is?
Amazon have recently enabled access for developers to send push notifications to users through Alexa. I’ve been waiting for this for months, because there was a particular use case I wanted to work on.
This Google Action does not store, share or analyse any information sent to us by using it.
Update April 2018: Added StateManagement and Gadgets now work with the Skill Beta.
I’ve gone more than 24 hours without writing a single line of code, without drawing a flow diagram or opening up Google Keep and writing a list of requirements for some random idea I’ve just had.
When .NET libraries started to aim for the .NET Standard versions rather than particular Framework Versions, it’s fair to say that there was a lot of confusion about what that meant for the people writing the code.
I’ve been spending a lot of time looking at OAuth2 recently, both from a provider and consumer point of view.
It’s been over a year since I’ve touched this blog.
Change occurs all the time. As programmers we write rules and logic, but knowing that the requirements of today aren’t going to work in the business world of tomorrow is part of the deal. We allow for that, we write around it.
Developers love to experiment. There’s always something we don’t know, and we have a constant desire to play with the latest tech; ensuring we’ve figured it out and are keeping those skills razor sharp. This post is a way of reminding myself of the quagmire that is learning new things.
Sorry I’ve been so quiet of late. I did exactly what I said I wouldn’t do and re-wrote my old Windows 8/WP8 version of DashBuddy – moving it to Windows 10. What does that mean? It means I have a new UI, with a lovely menu down the side of the app, it means that this app can be installed to desktops and phones alike, the same app rather than “kinda similar” versions, and so hopefully fixes will take a lot less time and be a lot more reliable as I only have to make them once.
This is more of a reminder for me than anything. In VS2015, when you’re pulling a branch from source control for the first time – a perfectly working application may suddenly throw thousands of errors and die in Shakespearean style. Every last gasp, or error message, will seemingly come from the fact that System.Object or similarly ubiquitous type is missing a reference.
Ensuring that your users have a consistent view when they navigate through your application can be one of the most time consuming parts of development. This has been made even more difficult with Universal Apps in WP 8.1 due to a change in the navigation model.
Programmers tend to be arrogant, self-absorbed introverts. We didn’t get into this business because we like people. Most of us got into programming because we prefer to deeply focus on sterile minutia, juggle lots of concepts simultaneously, and in general prove to ourselves that we have brains the size of a planet, all while not having to interact with the messy complexities of other people.
I was so weary.
My inner geek says that a lot. I’ll read an article about a new component, a new style of project or yet another way of trying to make anything I do look prettier than I can ever create it – and there it is, high pitched and getting in the way of my stream of thought trying to figure out how it can be wedged into something I already have. If it’s shiny, it must be better!
I have no idea how this blog post is going to turn out. It stems from a comment made by ProfessorVod about naming. He mentions the affect self-doubt can have on your ability to name things correctly, and more importantly for me the fact that his original thought was normally the correct one.
The 1.4.1 release of DotLess is available on NuGet.
I was recently asked about the Linq extension method FirstOrDefault and the question was put to me “where do I put the default?”
Since I started working on my first Windows Phone app I’ve always used the Little Watson class developed by Andy Penell. The original version is available here.