A post was split to a new topic: Mark II stopped booting - fans at max
I got to agree with LiberalArtist here; Iâve spent quite a few hours hacking and tinkering, writing a couple of skills for Mycroft, getting the setup just so; now all that work is, without communication from core-devs, deprecated or required to be ported to a new platform. I was working on:
- features for the spotify skill
- a new skill that integrates purpleair
- a new skill that allows you to change mycroftâs voice (in runtime, via voice commands).
I appreciate the difficulty of what youâre trying to do, but working behind closed doors and then sort of âhard forkingâ your own project â without warning anyone who might be messing with your code â is an unpleasant thing to do to your community. Like, will the dinkum repo be able to run outside the mark 2 hardware? If I develop a skill, am I forced to choose developing for an unsupported platform that works on a pi or working on a mark 2?
I placed on order for the mark 2 based on the promise of a really hackable, open and integrity-focused piece of software. Iâm paying a premium over what Amazon/Google/Apple provide, and happy to do so, but when I pay that premium Iâm not simply hoping Mycroft succeeds or that I get a good device (indeed, I expect Mycroft wonât compete in UX for some years), but that Mycroft can be a platform that I can be part of. For this to work, you all have to merge PRs, and be really transparent about whatâs up inside your org.
Again, I appreciate that you all seem to be in serious production hell, and underwater, but youâve set a really high bar for yourselves when you advertise a different kind of product and different kind of company, and making trade-offs that favor âconsumer experienceâ over community-engagement are the kind that make me think about cancelling my order and just going back to alexa.
Hi @osheroff,
For those that want the extensibility and access to the existing ecosystem - we have released a Classic Core image that includes all the tooling youâd be used to and is completely compatible with all the Skills youâve been working on.
We built Dinkum because we wanted to show what was possible with heavily refactored code, and provide the best possible direct user experience when people plug their Mark II in for the first time. We did this âbehind closed doorsâ because we were trying lots of different things and every time we did this publicly there was an outcry that it wasnât backwards compatible. We tried to explain our intentions the first few times, but honestly, our dev team was able to move far more quickly by hunkering down and just trying things out in private.
Dinkum was made as a fork, precisely because we didnât want to force this on everyone and it is only written to work on the Mark II. For those like yourself that have written Skills we didnât want to suddenly force you to port this to a new framework, particularly before weâd really tested it out in the field.
Maybe we should have released Classic Core as the default and provided Dinkum as an optional image? However Dinkum is simply far more stable. So for consumers that arenât comfortable on the command line it provides the best experience as a voice assistant performing the core functions that weâve seen people use most.
For yourself, if Classic Core is working well, then I wouldnât bother porting your Skills to Dinkum. Just grab the Classic Core Sandbox image and away you go.
Itâs an interesting point about making trade-offâs between âconsumer experienceâ and âcommunity engagementâ. I think I need to sit with that for a bit, but I do hope that we can find a place where as a community we are working toward a better consumer experience together.
The Mark II production model I received is a total disappointment. It took 3 days until I finally stumbled on the documentation that explained that the Mark II OS didnât have the capabilities I thought Iâd been sold when I decided to order it. As a retired software engineer I understand how the pressure to deliver promises can lead to bad decisions. All the justifications offered above donât justify the fact that this appliance is effectively not what was promised. Furthermore the fact that the documentation did not make this failure blatently clear is even more disappointing.
My Mark II thinks its paired, but it doesnât respond to any commands or show up in my account.
Attempts to get help via forum, email and MM chat havenât been successful yet. My GF wants me to just box it up and get a refund.
Linux HAL: âThe purpose of the hardware abstraction layer (HAL) was to allow desktop applications to discover and use the hardware of the host system through a simple, portable and abstract API, regardless of the type of the underlying hardwareâ
Can Mycroft strive for a HAL? Just a thought âŚ
-Mike Mac
OVOS and Neon does that.
our PHAL service can also be used together with vanilla mycroft, just run it on same machine, all it needs is to connect to the bus. but our plugins may not make sense in vanilla mycroft
docs here
We did this âbehind closed doorsâ because we were trying lots of different things and every time we did this publicly there was an outcry that it wasnât backwards compatible.
Definitely sounds painful. That said, you did sign up to run an open-source based companyâŚ
Maybe we should have released Classic Core as the default and provided Dinkum as an optional image?
No, I donât want to stay on classic. If you all have a better framework in dinkum Iâm happy to port skills there â I want to be swimming as close to HEAD as possible; I know that even in open source projects itâs usually one person or one company that does the bulk of the heavy lifting. But:
-
Giving your devs more of a heads up of where youâre going (even if only to say âhey guys, this it the new stuff, like it or notâ) so that your community doesnât feel totally surprised / left in the dark is going to engender goodwill down the line, and the inverse is just going to make your community feel left out / devalued.
-
Dinkum has a lot of odd systemd stuffs that seem to be aimed at just the mark 2; Iâm happy to have ordered a mark 2 personally, but Iâd like to know that if I contribute skills for mycroft Iâm not going to either have to (a) contribute to a deprecated, unmaintained codebase or (b) only have skills be available to people who pay for premium hardware.
Can you elaborate on âno automatic updatesâ ?
I received my unit yesterday and already had to flash an imageâŚ
Also, to anyone who flashes⌠Make sure you go into the Advanced Settings on the Raspberry Imager and set your SSID credentials⌠Wasted 20-30 minutes before realizing the Mycroft temporary SSID will not broadcast.
Back in October 26th, I read with interest michael-mycroftâs response to missing files in this Mk2 missing files topic. Quote, " Rest assured, we will soon be releasing images that allow you make use of the hardware with any version of Mycroft. This should be within days, not months." unquote.
At the time I assumed, (obviously mistakenly), that this meant that the dinkum variant would shortly be upgraded to support installation of other existing skills etc, a common complaint here. However after waiting over a month, thought that Iâd better re-read it.
On re-reading am I to assume now that the mycroft Core image is the one that was being talked about, (which Has been made available), and that thereâs no immediate plans to bring installation of other existing skills into dinkum ?
(Did initially load up another USB with the core version, but as I ran into problems immediately, decided to hang on till dinkum was brought up to scratch).
So the question is, is this currently it for dinkum, or are there any plans to make it and/or other software compatible ? If so, any ideas on timelines ?
Thanks
It looks like the README in dinkum now includes some direction on porting skills to Dinkum:
With sessions, skill intent handlers change from:
def handle_intent(self): self.speak_dialog("my-dialog", data={"x": 1}) self.gui["y"] = 2 self.gui.show_page("my-page.qml")
to this:
def handle_intent(self): return self.end_session( dialog=("my-dialog", {"x": 1}), gui=("my-page.qml", {"y": 2}) )
Rather than executing commands to control the GUI and TTS, the skill is returning a message that expresses what it wants to do. The session manager (intent service) can then decide whether or not to do it.
A new session begins when an utterance is received, and is usually ended by a skillâs intent handler (
self.end_session()
). When the session is over, the GUI returns to the home screen after all TTS has been spoken.Exceptions to the default flow include:
- Using
self.continue_session(expect_response=True)
to get a response from the user.
- The skillâs
raw_utterance
method is called with the utterance- Common Query/Play
- The parent skill uses
continue_session
and expects the child skill to end it
As a skill developer I want to reiterate what @osheroff said here: Iâd like to be working against the future of the platform, not the past. But the documentation is lacking.
Edit:
In particular what I would love to see is instructions or a general guide on setting up a dev environment for dinkum that doesnât involve the mark Ii hardware itself. Whether this be using a virtual machine or something elseâŚmy Mark ii is a production device in my house and I canât always use it for skill development
Thank you Harmony for bringing that to our collective attention! I appreciate your contribution. I want to suss out how to develop new skills, and Iâm shocked that this info is not more readily available.
Iâd like to point out that Mycroft AI has done a great job of documentation beforeâŚ
just see their docs for mycroft-core: Development Setup - Mycroft AI
I suspect what we are seeing is just an overworked team trying to develop and ship a production product ready for the market and meet their kickstarter obligations. Obviously they have prioritized shipping the hardware along with suitable production firmware⌠hopefully now that this crunch is over they will be able to update the documentation with the new system.
Merry Christmas to the Mycroft team!
My two cents: Iâm thinking thereâs a misalignment about what the target market is. I think Iâm (software developer, interested in mucking with things myself and willing to pay a premium for hardware to avoid adtech) pretty much the target market for the original product I ordered . It feels like the target market has shifted (or maybe it was always this way?) and thereâs an intention that this is a mass market device?
It worked out so that I unboxed this at Christmas, so my first experience showing it off was âhuh, it doesnât seem to really work or do any of the stuff it says it can doâ. It can turn on very slowly with fan whine, connect to Wi-Fi, and then tell you in a bunch of different ways that it canât do anything you ask. The room full of âmass market consumersâ is not going to be buying this based of my demo, thatâs for sure.
I understand the team is under pressure and it blows to have to make hard choices. That said, how many shipment delay, address confirmation, âorder nowâ, âno really, order nowâ emails did we get and how many mentioned anything about Dinkum or the âstripped-downâ (from my perspective, crippled) software that would ultimately ship?
Iâm really surprised this wasnât the decision made, but I guess itâs also got me curious. How many sales of the Mark 2 went to people unfamiliar with the command line? Is that really the majority end user that should be optimized for?
The product that showed up did not feel like it was produced to be user-empowering, hackable, open source alternative to adtech. It feels like it got halfway there, someone said âhmm, but itâs gotta make moneyâ and turned it into mass market shovelware.
Maybe this is a rant and overly harsh, but sure was a disappointing Christmas reveal.
Edit: Thinking about how to make this rant more constructive, I think itâs all down to communication. If I buy a microcontroller, I know it doesnât do anything and the first thing Iâm going to have to do is flash it. Dinkum was a complete surprise to me, and I only found out about it indirectly in response to my own bewilderment in Mycroft Skills Manager on Mark 2? - #4 by devilish_cobweb. If the version that shows up is stripped to the core and canât even install skills, then that should be front and center in the on-boarding so I donât assume itâs just broken.
Release of the Mark II was botched. The device has been described as an expensive paperweight and no more than a clock. Mycroft leadership should own this, and share a roadmap of the way forward, and by the way, give thanks to those who trusted them and who might continue to trust them. The goal of the Mycroft exercise is admirable, but those who peripherally support the effort shouldnât be treated with disrespect.
Yes exactly this. Iâve had my Mark 2 a couple of months but itâs only now at Christmas that I have some time to spend messing around with it. It is so disappointing to find that it has so few skills and no simple way to add more.
I spent the day yesterday getting the hello.mark2 skill working - it was painful, the guide assumes knowledge of pre-Mark2 which I donât have. I finally figured it out but it was much harder than it needed to be.
Now Iâd like to try to get some other skills working on my Mark2 but there is very little to go on.
This was stated on October 26th. Where is the new documentation? Where are images that donât force me to rollback to an older version of the OS? If this is not ready, I would like a full refund on this product or I will report Mycroft to the FTC for bait and switch tactics.