#Bobby, a new voice assistant and Snowy successor
1 messages · Page 9 of 1
Pixels blur the app and put the time in front.
I wonder whether OnePlus has a harder time of it because of their aggressive offloading scheme.
Bobby, in addition to the wealth of knowledge available on my wrist, has also become the timer I use every day at work to know when my break is over. On the topic of apps you can't do without, I'd also argue that the RSS Reader is essential for me. Helps me catch up on things when I should be working. 😉
Personally, I get most mileage out of the timer. Pedestrian navigation is also very convenient with turn notices on the wrist.
I have never enjoyed watch-based navigation, despite it being an obvious usecase
I wouldn't want to set up the navigation on the watch
But getting guided by it is nice
My big pebble app of value was my own Caltrain app, which currently does not work. Need to get that behaving again.
And I guess bobby maybe but I still don't like talking to computers
And also my watch's mic is garbage.
Another thing that would be useful is a rain alert
screaming at a horse at your convenience
I think that worked back in the days with buienradar
That's not really an app
Or even a watch feature, it is probably best done by just bridging a notification from your phone.
Yes, but that's the point really...watches shine for notifications,...some of them...
Nav also boils down to notifications and so do timers
But we were talking about watch apps 
Bridged notifications are a different feature
Incidentally you would be surprised how often people complain that their smartwatch shows notifications
I'm talking about the kind of interaction I find useful when it comes to watches..
i.e. not surfing menus, not looking and fiddling for prolonged time
But instead getting alerted to relevant things.
Some apps provide that, others don't. Sometimes forwarded notifications provide it.
Apparently not a desirable feature
to be fair, pebble app notifies about every started media playback and it's incredibly annoying
I am in this case referring to feedback on products that are actually functional
sure
It would be nice if pebble didn't alert me to my silent notifications every ten minutes
It would also be nice if I didn't have a pile of those, silent notifications are an incoherent concept
It would also be nice if it didn't alert me to the currently playing music multiple times per track
But these are pebble specific problems that do not factor into this feedback
I'm at least glad nothing leaks out of work profile while it's not active
I would like it if my calendar leaked out of work profile at all
Timeline is totally worthless to me
but yeah, quiet time and night mode are not functional
I have a copy of work calendar in my google account for that reason
My work calendar is configured such that this is not possible
it's a work calendar that only says "work" for every event though
Well I could have it say (busy) for everything
But that doesn't exactly make the timeline useful
What would make the timeline useful would be telling me which room I am supposed to go to
Unfortunately that takes more than the one word that fits on a pebble screen
how hard is getting android to share work calendars with non work profile?
for an app
that's impossible to decode
Country, campus, building, floor, ??, room name, room capacity, room attributes
I've never figured out what the letter does
A, C, E, S, Z
No idea
does wearos do it?
No
hmm
I think it requires the controlling enterprise to approve the app individually
sounds like wearos would have the best chance of working then
Where did you get this gem?
Tysm!
Giant cuff ftw
this isn't quite right
or ...
Import...
Like all other AI language odels
I also like how you can not see the middle of the sentence
why can't this be easy
I also like how it crashes the moment I get past the consent screen
😄
odels
ah
it seems like that working correctly should be free, but perhaps it's not because of the weird text rendering
yeah, I don't know why this doesn't work correctly ootb
using a frame to cut off the bottom works, so it's not exactly very difficult to fix
how does this even happen
height and width swapped?
I mean, if I limited the width, it should just render in multiple lines, since I calculate the height of the title too now
and also, it would do ellipsis and not a dash
Given the hyphen it looks like it is trying to render multiple lines
yeah...
it's confusing because it keeps cutting the text short too
I know why this is broken
you can't really do 2 text layers easily like this
fixing it would require rewriting this with text draw instead
I have a feeling the horse should be flipped on the round
the FormattedTextLayer is this thing.
and needs to work anyway because it's how every other screen with similar behaviour renders; this is weird because it predates that code
yeah, but then the FormattedTextLayer would need to know the y value of where it is in the scroll
does it? the system perimeter should solve the problem
(by virtue of actually knowing that)
hmm
though you may run into the indicator cutoff again
well, I need to figure out how to use that
fundamentally moving text around is a pain
especially on the round, because now you actually have to wrap the text differently the moment you change its position
there is probably a bit less broken way to show this information
on the home screen?
yeah
ignoring that I moved it a bit too far to the right, it seems like it would save some space if it fit under the action bar
also the bubble tail would make more sense
hmmm
true
the fact that "You" and the time are not centered the same
excellent, more screens with paging! 
have been thinking about how bobby's lie detector is genuinely a groundbreaking feature in the llm-assistant area
and its just a second llm!
strap an llm onto your llm
honestly if it works it works, gemini flash lite isnt that expensive either
most is going to be spent on input tokens there
Gemini-android lies to me about what it's doing all the time
tool -use wise
Bobby actually is reliable enough with its tools that I haven't had the lie detector ever go off without asking it to lie, but it's a massive relief just knowing it is there and it would tell me and I don't have to go open fuckin Google tasks because the AI won't tell me it doesn't have permission to create tasks
ahem
It's kind of wild how one person created a better AI assistant in two weeks than any big corporation has done with a several hundred person team and millions of dollars.
still less time (in total) than other ai assistants
especially people time
took a few years but yeah
Bobby has its issues but it is much more pleasant to use than the one on my phone
they have a bobby on phone?
i think shes talking about gemini 😭
like the phone assitant
not the llm
what kind of horse is gemini?
oh yeah i forgot that it didn't start during the hackathon
As in you ask it how it did something and that results in untrue answers?
it tells me it will use a tool, and it doesn't (or uses the wrong tool), and when i double check it it will insist that it did, in fact, use the tool
oh, this was a funny thread also: https://g.co/gemini/share/a4461e407e06
probably a YTM problem
i don't really use voice assistants for checking general knowledge questions; Google assistant broke my habit by getting less and less good at successfully answering, and I don't trust a LLM to tell me factual information without having to look it up anyway and double check. an AI assistant app is most useful to me for its tools and device integration
I wonder how they would implement self-awareness into a stochastic token generator
i don't think you can
Same
i don't think this is the path to actual non-human consciousness
but what do i know
and it's a touch off topic
Afaik if you ask claude to do something and then ask how it did it, the second answer as absolutely nothing to do with the first
Just another prompt
humans do this also
What I mean is, the processing does not even become part of the context
what is a self awareness if not just a random words we tell ourselves
i read about some study in people whose brain hemispheres had been severed, where they'd ask part of the brain to pick an object, and the other half of the brain to explain why they had picked it, without the two knowing what the other was doing. the second half of the brain would confidently explain the reasoning behind a decision it did not make
anyway the world is wrong
granted it was a few weeks in 2023 and then a very long gap where nothing happened and then another few weeks
and a bunch of that second set of work was throwing away things done in the first set because they were no longer appropriate
@wooden wedge where are you at with round? I also started (a little bit) on round at some point and will probably get back to it eventually
But I don't particularly want to duplicate work
I am barely anywhere
I have very little understanding of how the text flow features are supposed to work, that's my main issue
but that also means I can't get very far until I understand what I'm even doing
the only thing I managed to get anywhere were just adjustments to pixels in a couple places really
bug report: My friend asked Bobby to "write a quick sort implementation in rust" and it crashed my watch
Pebble doesn't support rust development so that tracks
she asked again and it is hanging
If it's bringing the whole watch down I don't know that there's much to be done
or, it timed out from quick launch before getting a response back
Good idea
Bobby on my watch says:
I can't directly execute code or provide files. However, I can provide you with a Rust implementation of the quicksort algorithm:
fn quicksort<T: Ord>(arr: &mut [T]) {
if arr.len() <= 1 {
return;
}
let pivot_index = partition(arr);
quicksort(&mut arr[0..pivot_index]);
quicksort(&mut arr[pivot_index + 1..]);
}
fn partition<T: Ord>(arr: &mut [T]) -> usize {
let len = arr.len();
let pivot_index = len / 2;
arr.swap(pivot_index, len - 1);
let mut store_index = 0;
for i in 0..len - 1 {
if arr[i] <= arr[len - 1] {
arr.swap(store_index, i);
store_index += 1;
}
}
arr.swap(store_index, len - 1);
store_index
}
fn main() {
let mut numbers = vec![4, 65, 2, -31, 0, 99, 83, 782, 1];
println!("Before: {:?}", numbers);
quicksort(&mut numbers);
println!("After: {:?}", numbers);
}
This code defines a
quicksortfunction that takes a mutable slice of elements that implement theOrdtrait (meaning they can be compared). It recursively sorts the slice by partitioning it around a pivot element. Thepartitionfunction chooses the middle element as the pivot, moves it to the end, and then rearranges the slice so that all elements less than or equal to the pivot are before it, and all elements greater than the pivot are after it. Finally, themainfunction demonstrates how to use thequicksortfunction.
your watch just doesn't like Rust.
pebble time stainless steel
¯_(ツ)_/¯
no major bugs
Was this one of the watches that crashes when it sets an appglance?
I think it may have been. I don't remember
it is known that the watches do start to misbehave more as they age. perhaps your watch has aged out of correct functionality.
perhaps the app glance thing worked properly in 2016
were there any watches that setting an image worked properly on?
no idea
I assume someone tested this feature at some point, though.
incidentally if all these random OS crashes are widespread hardware faults, that seems like another argument in favour of just using some new watches please.
Sending to service failed
not much to be done there.
you can hold the select button to retry.
(when the last response is an error, your previous query is added to the list of predefined options)
@edgy flame do you have a language pack installed
In my experience, certain symbols cause the watch to crash when bobby says them with a language pack installed
yes I do, I have the English + Japanese characters pack installed
Big shoutouts from Eric in the new video! One might infer that Bobby functionality will be specifically tested against with the new app, which makes me happy.
I wonder how well bobby can work if the app disconnects from the watch every half a minute
it's a really good stress test that covers a lot of ground in terms of sdk things
the fact that cobble has problems with it, and it brings these subtle hardware problems to attention, makes that clear
at this point cobble only really has bobby problems because of the lack of support for location in the pebblekitjs
oh yeah? i remember it having some inexplicable problems with feedback reporting
i dont think anything in cobble changed but i wasnt really paying attention
it started working at some point
it just did that
apparently
I mostly did this so when I've wiped my settings yet again I can just tell it to use celsius please
gear icon!
it is a test case yeah
Would sports and news be doable for Bobby?
simply have the news be notable enough to end up as a wikipedia source 😄
I'm not sure that Rebble would be notable enough to meet the requirements for a Wikipedia page
like, what would it actually say
that's.. hmm
I think it is notable that rebble has kept Pebble services going for longer than pebble did
we are also a 501c4 non-profit, and we pay grants to people for Pebble infrastructural development, or we used to anyway
touché
It's notable, but not much about rebble has actually been written in places wikipedia considers trustworthy
like, an article would pretty much just say "Rebble is a foundation that provides web services for discontinued Pebble smartwatches" and like a list of features
which isn't a good wikipedia article
Well, I thought that Katharine had said that Bobby can consume any thing that was wikimedia
I just saw the maps complication in real life for the first time and it is so good looking
mediawiki != wikimedia
mediawiki is the software, wikimedia is the foundation
and afaik, bobby is only connected to a single mediawiki instance, which is wikipedia
wikipedia is run by wikimedia though
so are a bunch of other mediawikis
I hope this is not too confusing
normal for software
I have confused myself writing it multiple times
somebody should really develop a good mapping software that doesn't require native pebblekit and then make use of complications whenever they come out
it sounds hella painful to actually get that working because most mapping apis cost quite a bit
Still not as bad as Wordpress the idea vs. Wordpress the service 😭
wtf is wordpress the idea?
The OSS
oh sure
different again from biblical wordpress
there is also wordpress the company
the royal wordpress
right - meant to say mediawiki
re:
and LCP you suggested a particular gaming wiki
This is an incomplete listing of sites that are using MediaWiki and that are written or provided in English language. For wikis in more than one language (including English) see the multilingual list. You might also be interested in the list of English-language wikis on WikiApiary, in the Wikibase Registry, and in http://wikiindex.org/Category:M...
but that doesn't really answer the sports / news question
so yeah IDK
sports seems like a perfect widget
xD
Technically two: https://github.com/pebble-dev/bobby-assistant/blob/f0297d9bf3c530601efc3b9aecb7b7b8cc38af4a/service/assistant/functions/wikipedia.go#L43
oh yeah, that's an important addition
There's an assumption made that's never explicitly stated: to work in practice, the wiki must be popular enough that Gemini can guess article titles effectively
And also have heard of the wiki
fair
I was gonna ask why no mlp wiki of some kind, but it seems the migration from fandom of that wiki is happening like over the last 3 days, so that might take a moment
I was not aware the was happening
Granted the last time I looked at that wiki was many years ago
I hope the ridiculous, multi-thousand entry List of Ponies makes it
oh, I might be mistaken, though it's not entirely clear what that state of mlp wikis is exactly
there's a few of them
I found at least 4 not even looking for one
That tracks
oh I found a very long list
List of ponies seems broken for me
Sad
It was constructed in JavaScript on the client by reading all the sublists
Now I just get the list of lists
that's a lot of wikis
https://mlp.fandom.com/wiki/List_of_ponies was the page
the "a new generation" designs are so weird and kinda creepy
A lot of the new generation ones suffer from being terribly rendered, too
They did the film and then IIRC dissolved the studio that did that completely, punted it to another studio for a TV series, and gave them neither time nor budget.
The ones taken from the film generally look less bad.
yeah,that's fine
They do have the advantage that it's actually possible for them to physically exist
oh that's cute, the figurines of friendship is magic cast on the shelf
The FiM approach of character designs that cannot exist in three dimensions was interesting for what is functionally a toy advert
I love that
soul over profits >:D
I guess the idea of that new series is more akin to the world being actually modern though
Yes
Apparently the kids these days need the ponies to have tiktok
Which they do
(not branded, mind)
They took the approach of setting it in the (indeterminately) distant future but nominally the same world, which really didn't work out for them
Thus the figures on the shelf
I have no idea what the opinion of the fandom on this entire shift is, I haven't been particularly involved in a decade probably
kinda wild to think about how long it has been actually
As with all things, split.
yeah
Mostly negative
Then the mostly negative contingent largely disappeared
Which makes sense
(I would be in the mostly negative camp I suppose)
The whole thing was cancelled last year so I guess it didn't really work out
oh was it
Yup
Along the way some even more dubiously conceived G6 stuff leaked but that never went anywhere.
I feel like that's kinda how mlp has been for a while since the original series, it doesn't end up working out for them, until they shifted to fim
(apparently the G6 strategy was to take (the name and design of) three main characters from G4, three from G5, and stick them in a summer camp or something)
I stopped paying almost any attention years ago so I don't really know what's up these days.
Yes
oh my god, pony life looks so weird
this is a crime I think
no wonder they did a redo of the series a year later >:D
I guess I might watch some of these on the weekend and see what it's about
I think Pony Life was always intended as essentially an intermission
But it sure is very weird.
My god
it is an exhaustive list.
I am obviously not well versed in the pony universe 😄
I can name more than 9 from the top of my head
I would have said that most people can name more than that, but I feel like that would be a bit of https://xkcd.com/2501/
I like how some of them have titles
even though I'm not much of an expert
"that sounds like a title from a game"
"ah, it is"
although the wiki and the card disagree
maybe there's another card where he's sad
he has fabulous hair
His hair gives off powdered wig vibes 😄
given the name and the note "see Weather Control Pegasi", I'm going to assume it's just like that
the entire universe is wild
is there a list of humans on that wiki btw?
a list of dragons?
no clue
https://mlp.fandom.com/wiki/List_of_Equestria_Girls_characters is where most of the humans are hiding
though there is also, separately, a list of non-pony humans
huh
honestly in retrospect it is wild that this cartoon managed to run for almost a decade as a single series and largely coherent universe
the concept of two twilights confuses me
well there's Twilight Sparkle (pony) and Twilight Sparkle (from the human dimension), and also Twilight Sparkle (from the mirror dimension) and Twilight Sparkle (evil clone)
4 twilights then
I watched this a long time ago at this point
I think the mirror dimension one may be restricted to the comics. the evil clone only lasts a few episodes before being brutally turned into a log.
you can tell the other two apart because of the glasses (as seen in this regrettably mid-blink screenshot I found on google)
and also because they mostly exist in different series and almost never interact.
anyway this sort of diversion is why a decade ago the Pebble slack had a #ponies channel
…# ponies
as you can see, this one does too, it's just harder to get to.
it was
now it is not so much
we can't even get ten thousand people together in a convention centre any more 😦
…though on that topic, I still need to figure out whether I'm going to Everfree this year.
apparently someone wants me on their panel
I'm sure covid didn't help this
(everfree, for general context: https://everfreenw.com )
Everfree Northwest, the first 3-day pony convention, is excited to be putting on their 12th annual convention Aug 22 – 24, 2025 Everfree Northwest is a family-friendly convention held in Bellevue, Washington, with fun for all ages. Join us and our loveable mascots, like adorable orca pony Marina, in celebrating our Everfree Family this year!
not remotely, but the big con decided it was done and shut down in 2019 anyway, and then all the organisers have spent the subsequent time being unable to believe their luck on that timing
in 2018 they got 4500 people or something, down from a peak of 9800 or so. in 2019 they made it back over 10,000 for the last year and were absolutely not prepared to be that popular.
I was going to attend a pony event in prague last year, but I happened to leave the country for unrelated reasons without realizing I would miss out
then there was a big bounce for everyone else in 2020 except they were all cancelled and the thing just disappeared
I was showing the guy who runs that event around my office last week
idk why but pony events avoid me a lot of the time
I was also planning to attend in warsaw a few years earlier
it's a curse I bet
that's really fun
I ran some online stuff with him in 2020/2021
hell yeah
I dislike running online events
probably for the reason that I usually do worldwide events that happent to run for 24 hours and there's no way I can stay up that long
I certainly tired of it after running them at a rapid clip
https://ponyfest.horse/3.0/staff/ look it's me. and also all the other people who helped.
that's really cool
it was great, back in early 2020 it was so easy to get Special Guests to do these things.
not that surprising
Running those things took up basically all my time for most of a year. It was fun. I don't really want to do it again.
we mostly didn't do 24 hour things, though: https://ponyfest.horse/3.0/schedule/
haha
(it makes perfect sense in toki pona since the word for sun and day is the same)
I left that group years ago, but apparently they still use the software I wrote, which is wild
partly it's wild because someone other than me managed to figure out how to run it
it was not especially easy to use.
I wrote that schedule site and it's such a pain to make a json for it
but every time we get somebody complaining that this schedule is so much nicer
so we have to bring it back
I did try to make our schedules very easy to deal with
There's a service that parses a Google Sheet and converts that into the JSON that the schedule uses
at some point I gave up and made an exporter from google sheets
and then the same data is pulled everywhere else so that e.g. the stream pages all show what's currently streaming, it's used on the overlays, etc.
it still kinda sucks though, because it will not work unless you have all the events ordered correctly
the clever part was that the google sheet was read live, and every client that read it refreshed it regularly, so we could adjust the schedule for reality on the fly and have it update everywhere
ah yeah, I wrote a discord bot and an overlay for that schema too
sadly, I didn't make it that smooth, you had to run the schedule update manually, but everything else updated automatically based on that
I need to rewrite that website, it's a pile of the worst js in existence
this was the sheet
that's really cool
I wish the date on our schedule was well formatted
we have unix timestamps there for some reason now
I just parsed the 11:30-12:30 thing into time periods since that's what the script expects though
fairly sure it takes number of minutes
at some point it used the number of 5 minute increments
also this was great: https://youtu.be/r8Mrmrli6YY?si=do2jXh4bP72fHA2F&t=670
A recording of most of the area around Bit Rate's Stage in Pony Town, from the PonyFest 2021 Summer Concert.
(that links into an intermission, but you can skip around for actual content)
the 2D game integration was a wild adventure
yeah, that's really cool
live music is always my favourite part of things like that
though that being said, I attend linguistic conferences thinly vailed as a way to have fun
is there wind direction available?
I have that information but have not plumbed it through
available in both bearings and cardinal directions
I would probably give the model the cardinal directions because intuitively "SSW" feels easier for it to deal with than 194.
do you have a use case?
idk, I'm asking because I feel like the wind speed usually comes with the direction
I'm sure it's useful if you sail or something
I do not think Bobby is an appropriate navigational resource for sailors
yet
tada
incidentally, attempting to just hook it up to strategywiki has not had useful results.
evidently not popular enough for it to just know what to do
woo
I did a thing
anyway this feature provided by popular demand (of @edgy flame and nobody else)
it'll do routes by car, bike, foot, or transit
it can give you step by step directions if you ask for them but that doesn't seem very practical.
I still probably need to set up some method to save special destinations like 'home' or 'work'
Bobby keeps getting brainier and brainier. 🤘
pebble development is the worst.
nothing works and then your watch reboots for no reason
and developing a voice assistant when the microphone is so bad that I can't tell what I'm saying, let alone the computer, is a ridiculous exercise in futility
whee.
Hell yeah, that's awesome
Wow this is sweet!!
She says, while continuing to try and succeed
this is awesome
Such is the life of a software engineer. It is love, it is pain every step of the way. (But sometimes, it's not, and that's nice)
I would ❤️ to see more of the beautiful artwork across pebble os
from bobby or in bobby
whee, traces
and there goes my watch randomly rebooting
love it when it does that
is this somehow my fault? who can say
is there any plausible way to figure out why it happens and avoid it? not really.
all we know is that the pebble firmware has no major bugs
thankfully, otherwise selling new products based on it would require you to do some development
route map no longer has giant pins on it.
Wish I could afford the memory for the line to be a different colour
app crashes also seem to reboot the watch
That is generally false.
I have crashed many an app and the watch almost never reboots in the process.
and there goes the watch rebooting again
I don't know why I am bothering to develop anything for such an unstable platform.
I guess users will just have to deal with their watch sometimes abruptly rebooting when they ask bobby a question
because that is just wholly beyond my control.
and then also deal with the android app bug where if the watch reboots it just leaves the previous instance of the JS running, reuslting in the app being in an inconsistent state when next launched
I wonder if you can run bobby on a bigboard and get the coredump
swans has one
snowy_bb but monochrome
snowy doesn't have bt yet on the OSS firmware though
who said anything about OSS firmware
his bb runs pebbleOS 3.0.2
oh that probably is a problem
oh well
coredump annoying to use if you dont have elf with all the nice debug data
how do you end up with a monochrome snowy_bb
targeting a nonexistent device might alsobe a problem.
it is a real platform
monochrome snowy is not a real platform in any meaningful sense
certainly not one bobby expects to exist.
I have a pile of bigboards, though I think my snowy one currently has a round screen attached.
or possibly I gave it to joshua, but I think that was a different one
0c09c91 routing: actually look up the name of the desti... - Katharine
b60797b Use the correct quota cost for calculating routes. - Katharine
08bb38f Charge against quota for map generation. - Katharine
14e8f63 Add trace spans for maps. - Katharine
a6509ca Use circles instead of pins to mark route line ... - Katharine
68bd422 Add ability to provide routing information. - Katharine
0c09c91 routing: actually look up the name of the desti... - Katharine
b60797b Use the correct quota cost for calculating routes. - Katharine
08bb38f Charge against quota for map generation. - Katharine
14e8f63 Add trace spans for maps. - Katharine
okay!
I have shipped the routing feature on the server
no client change needed
you can ask it questions like "how long would it take to drive to McDonald's"?
or more complicated questions like "give me transit directions to Google Building CL3 starting on Monday at 9am"
and it should provide a little map showing the route
it does
I probably still need some sort of favourite location system though.
This app is amazing!
The transit stuff is honestly super helpful
The natural language feel of the information is so nice
It works extremely well
Taking transit on a Sunday meant irregular schedules this morning and so on the way out the door hoping to catch the next train I asked Bobby when it was. Got an accurate answer with a real time snapshot of my location, the walking route, and a walk time estimate.
Bobby transit is magical
It just tells me when the next train to wherever is
Without giving me a 15 page essay on how to use Google Maps
gave me the route and directions to my uni campus, awesome!
oh boy, we are gonna run out of the free api queries in no time
I've noticed Gemini is suddenly capable of doing things without writing an essay about them
Like this
They're using Bobby code, obviously.
They do technically own it
It's true, Bobby is a Google project
My 10 year old Pebble is smarter than my iPhone 15 Pro.
Bobby continues to be the best virtual assistant

and thus begins the transformation of Rebble to an AI First company
I think it is hilarious that one person built an assistant app that is wildly more useful than the app (which uses the same technology!) provided by a multi-trillion dollar company.
the only thing I wish Bobby (well, Rebble really) could do is understand my language so I can use these features without having to spell place names
...actually, it's listed as supported on google's site... will it just understand me if i use auto?
ah, right. it crashes on cyrillic chracters. i forgot about that part.
if somebody fixes the major bugs in the firmware that doesn't have major bugs, bobby might become useful even if you try using cyrillic
I'm really hoping that all these bugs either magically go away on core devices or that the new interest they bring will make them easier to debug
I don't believe in magic fixing bugs really
There's still some uncertainty if these truly are bugs, since as far as I can tell none of the issues occur on all watches
Katharine's "minor hardware faults" theory is still technically possible even if I doubt it
is there a watch that doesn't have an issue with cyrillic?
I don't know how many people have tried, but there was another case with other symbols that crashed on some watches but not others which seems related?
Might be nice if someone installs the Cyrillic language pack and gives it a shot
I think the Cyrillic bug is universal.
I think we even knew that happened when pebble was still around
are you sure? I've only seen Bobby do it. Is there something else that would trigger a similar thing?
A reason certain language packs never officially existed was because they would cause watches to reboot occasionally
But I'm not sure, otherwise I wouldn't have said "I think"
oh interesting
it crashes only if bobby responds in russian it seems
it doesn't happen if I speak russian
which I don't do well because it keeps thinking I speak polish
on the account I'm polish, it's not that far off
How feasible is selfbuilding bobby? I'm curious if I can prompt engineer them into responding only with latin characters even if the query is in Cyrillic
if it responds in english though, it's fine
You could probably just set the response language to English and avoid the problem a chunk of the time
Though not if it tries to name a place
And Rebble has suddenly decided that I speak Greek.
And hilariously, Bobby claims not to understand me.
sometimes it decides that it's not going to deal with non-english input
I don't know what's up with that
yay, another crash
I asked it what moscow is in cyrillic alphabet
it's rather annoying that it can't use this set of characters
oh wait, spalding has a different pebble logo on boot, huh
It's very odd, because Cyrillic isn't that weird as far as alphabets go
it behaves pretty much like latin with different symbols, it doesn't have compound characters or weird formatting or anything like that
pebble doesn't think so
I could see if maybe it's a fault of the language pack itself
computer pebble says no
it's not that hard to make a new one
I would just have to isolate the unicode ranges and then generate a few sets of fonts from noto I guess
that would be interesting actually!
it is generally harder because my old way of doing it was broken by my distro deciding to no longer ship python 2
I had a modified sdk that would output any font it generated as files I could use for this kinda thing
nothing really stopping me from doing that again tbf
Just use pypy!
What distro do you have?
tumbleweed
I know pyenv will just built python + pip from source
Ah. I would have suggested using deadsnakes but not sure if it supports plain Debian
no relation to debian!
correction: tumbleweed is not debian
Fair enough
Anyway, I would give pyenv a shot
It also has a feature that when you inevitably destroy your python environment (you will, it's python) you can destroy the installation and build again
well, I have a working setup yet again
it was relatively easy, I just linked some stuff together
my emulator is wrecked though
I'm not aware of a Toy Story character called Tumbleweed
I'm sure they are coming in toy story 6
Are they actually toy story characters? That's funny
Apparently the one after the next one will be Forky, so they're keeping their list of options up to date
I've only ever seen the first toy story so I'm totally unaware of any new characters 😅
Disappointing
well, my pypkjs is broken though
ImportError: No module named pypkjs.PyV8.linux64._PyV8, fun
there is an .so of that name there, but apparently python doesn't wanna use that?
Would it help for the system prompt to avoid responding using Cyrillic characters, since it'll crash the watch due to a bug? (Bobby is already told that it's running on a Pebble, so crashing the device it's running on would be interpreted as a bad thing.)
I tried telling it this and if you tell it that and also to respond in a Cyrillic language it does it anyway
Even if you point out that the device will crash and the user will be sad
Is it worth filtering out Cyrillic characters server side?
I could transliterate them, though that requires correctly choosing one of the thirteen possible systems for doing so.
I do not have the knowledge to make that choice, nor the confidence that any such choice is both useful and wholly uncontroversial.
So I'm pondering putting a one time "what's new" popup in after certain updates.
The question is: is it too disruptive to show this popup on a quick launch? If I don't I suspect many users would never see it, but if I do then I am delaying them from their task.
(and if they never see it then they may never learn of handy new features)
I suppose they would already be delayed because by definition this popup would always be preceded by the app install progress bar
So maybe justifying that bar is alright.
Those are good points, but I'd rather have a gibberish answer than the watch crash. Could return an error message "the response contains unsupported Cyrillic characters" or something
For most people, Cyrillic has no negative impact, you just get squares
For the people for whom it does crash, refusing to answer seems exactly as useful as crashing
If I'm going to have a special workaround for an OS bug affecting almost nobody, I'd rather it be a useful one.
I love reading change logs for software I actively like using.
Windows update? Gross
Bobby update? Tell me more
I vote yes, but I'm also a big nerd and am probability in the minority. Does it need to be a pop up? Can you just insert it into the message history?
Putting it in the message flow, where it doesn't really belong, seems more confusing
If it's a popup you can just press one button and then it's gone forever
(probably I'd make both back and select dismiss it)
Having a nice list of then in the menu somewhere to go back and look would be nice, but feels like wasted code space, so is unlikely.
Definitely fair points. Though I'd add an error message is less frustrating than a crash
It's true
But what would be better would be for people at relevant context to explain the available decisions.
Preferably leading to a workaround that doesn't turn out to be deeply insulting to some set of people or just illegible.
I don't think it would be too confusing to have a message from bobby saying "hey I got smarter and can do x now!", it is supposed to be conversational. It would also allow you to finish your task immediately and read it at your convenience.
I wonder if you could make bobby send its version to the conversation and then reply back with changelog
the js is very inconsistent version wise apparently
as in, the c code can be different version compared to js code
Which sure is exciting
it does occur to me that I have no way to test these update messages
since I would only show them on an update that isn't the first install
but sideloading on Android always counts as a first install
I wonder whether pypkjs is less broken
looks like it
so I can test in the emulator
hm, there’s no way to self-AVRCP on iOS, right?
a future pkjs could otherwise learn to remote control other music player apps and read their databases, which could be a neat tool for bobby
I am reasonably confident there isn't, but there is a convenient Bluetooth device just hanging around.
(Granted if you're not doing classic then this is not so easy)
indeed, you get only AMS over BLE
Actually the one time I actually tried to implement anything involving AVRCP I spent half a day staring at completely uninformative Bluetooth documents and then implemented the volume control in the pebble app instead
(I think this is no longer permitted)
It is possible on iOS to read the user's Apple Music database and control playback, so this is in principle a possible if perhaps over-specialised thing to build
(It is also technically achievable for Spotify, but legally prohibited)
ah, that would be good enough for me
since I, like a user of modern technology who does not like it to have any functionality, have all my music locally and absolutely do not stream music
now I guess you just need to get this functionality into the iOS app and pebblekit js
exactly
luckily, the iOS app will be completely open source, except for all of the things that make it an app, so that'll be easy to do
🎉
mission failed successfully
it seems bobby.pbw gets confused if there is no phone connection
my phone dropped off while I was talking to it, and when I asked it to start dictation from the home screen, I got a blank screen with an action nub, and that was all
it also heard shenzhen bay checkpoint as a request for directions by jetpack, which it did not seem to be able to do. but I blame my Pebble 2 Titanium for that one
Got the Idea that maybe for stuff like home assistant we could add MCP Support to Bobby? https://www.home-assistant.io/integrations/mcp_server/
Yes please, that would unlock so much functionality in Bobby!
Finally got a working pebble time, I've signed up for a rebble subscription but I get a crash when trying to use dictation. Sending an example prompt works though
'05-17 04:00:01.841 1577 1577 E Pbl : [WatchVoiceSession] Session 20: Failed transition to PROCESSING state from LISTENING
05-17 04:00:26.101 1577 1577 E Pbl : [NuanceConfig] Unable to determine URL for locale: eng-USA
05-17 04:00:26.101 1577 1577 E Pbl : [NuanceConfig] Falling back to default, hard-coded endpoint: pebble-ncs-eng-USA.nuancemobility.net
05-17 04:00:26.126 1577 1577 E Pbl : [NuanceConfig] Unable to determine URL for locale: eng-USA
05-17 04:00:26.126 1577 1577 E Pbl : [NuanceConfig] Falling back to default, hard-coded endpoint: pebble-ncs-eng-USA.nuancemobility.net
05-17 04:00:26.126 1577 1577 W Pbl : [WatchVoiceSession] Session 21: Illegal attempt to transition from state LISTENING to state PROCESSING. Stack trace: [dalvik.system.VMStack.getThreadStackTrace(Native Method), java.lang.Thread.getStackTrace(Thread.java:1955), com.getpebble.android.framework.p.n$c.verifyTransition(SourceFile:85), com.getpebble.android.framework.p.n.c(SourceFile:370), com.getpebble.android.framework.p.n$6$2.run(SourceFile:259), android.os.Handler.handleCallback(Handler.java:991), android.os.Handler.dispatchMessage(Handler.java:102), android.os.Looper.loopOnce(Looper.java:232), android.os.Looper.loop(Looper.java:317), android.app.ActivityThread.main(ActivityThread.java:8973), java.lang.reflect.Method.invoke(Native Method), com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:591), com.android.internal.os.ExecInit.main(ExecInit.java:50), com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method), com.android.internal.os.RuntimeInit.main(RuntimeInit.java:369)]
05-17 04:00:26.126 1577 1577 E Pbl : [WatchVoiceSession] Session 21: Failed transition to PROCESSING state from LISTENING
05-17 04:00:52.352 1577 1577 E Pbl : [NuanceConfig] Unable to determine URL for locale: eng-USA
05-17 04:00:52.353 1577 1577 E'
Any ideas?
I'm using the latest grapheneOS
I'm also on hotel WiFi so its possible they're blocking something
No clip actually makes it to the voice debugging webpage
can you go into the options and set the dictation language to auto? 🤔
Yeah the eng-USA not working is weird. I'll try now
OK, so the setting page for voice language was blank
I force closed the app, cleared the cache, and restarted it, which let me set the language to 'English (United States)'
Its working now!
mission accomplished!
Bobby sometimes gets a little temperamental if you try to use it right after signing up for web services
Understandable, I'd be freaked out by a stranger too
Appreciate the sanity check
are there any plans to have bobby be able to interact with other apps?
what do you have in mind?
I'm planning to create an app for our local public transport service
and I thought it would be neat, if the user could ask Bobby for when a specific tram leaves
which could open the app with that tramline's information
bobby can already do that apparently
I asked it "when does the next bus # leave to x" and it told me the time and showed me a map
but that's Google Maps integration, isn't it?
yes
pebble apps can't really interact with each other like that though
you can't open another app and for sending data between apps unless you do it outside of the context of the sdk, it's not possible either
user made integrations would be interesting, and probably possible to do at least on the server side, but that's not something that's being considered as far as I know
sad... oh well
it would be amazing if we were able to do that
I'd love if Bobby could set alarms in the system app, or switch my watch face
I was thinking about user integrations on server side, though that sounds difficult to implement
I was thinking specifically in the context of home automation stuff
you would have to do quite a lot of trips to make it work, and I'm not sure how installing additional integrations would even work
there would also need to be some generic way to do things that bobby currently does in a very specific way, like drawing images or creating notices with custom icons
Bobby API
bapi
This is the question to which MCP is the generic answer
that would be fun
If you use Android and the Home Assistant Companion App you can use notification commands to call various intents for other apps on your phone (https://companion.home-assistant.io/docs/notifications/notification-commands/#broadcast-intent). For example: all Alarm apps in Android should have exposed intents for controlling alarms so you can easily automate that. Would be cool if the Pebble app supported some handy intents (launching app on watch, changing watch face, toggling quiet mode, etc).
that is assuming that the firmware has any kind of support that that sort of thing
which some of it it does since it's just blobdb storage
Any chance of having the ability to send the voice dications in Bobby to a API endpoint via an HTTP request? There's an app which used to do this but it's not compatible on my P2 and no idea if it still works anyway. https://apps.rebble.io/en_US/application/566423c99be95ecaee000023
You could just try adding Diorite to the supported platforms list and building?
cheers might give that a go, haven't got round to any pebble development yet but need to get stuck in
Oh if you don't have the SDK set up I can build it for you (I assume you've got a server you can test this with?)
Nope haven't got round to installing the SDK yet. If it's trivial to build it then that would be great thanks. Yup I've got a server to test
Here you go! It installs on my P2, I don't have a server set up to test it though
You can use the Sideload Helper app on F-Droid on Android, not sure about iPhone
that's great thanks @hollow rivet , installed sideload helper and the app now works a treat on my P2HR, just need to get my sever side script up and running now which I'll do later this evening, intending on using it to quickly add new todoist tasks. Thanks again for your help!
if it's related to time related stuff, you can also add pins to the timeline and have a possibility to ping http endpoint from the timeline
How to create timeline pins with reminders, actions, and layouts.
thanks, yeah I currently use a server script and the timeline token to push todoist tasks to my timeline
haven't got round to creating a "complete task" timeline action yet but will eventually
I should probably do that for myself and google tasks
Was a quick and easy solution for getting 4 of my most important tasks easily viewable on pebble. @hollow rivet was able to fix a broken old app called "my data" which fetches json from a custom url, so I'll be switching to that now. https://apps.rebble.io/en_US/application/53b0607c94943f8e710001e2
Hi guys, just installed the Bobby app after bringing my old pebble time back to life. However it seems I can't get any response after recording a question. Is there a support thread you can point me out to?
can you long press in a thread where that happens and report the thread? I don't remeber if there has to be a response for that to work
Just learned about this project. Seems super cool, but I have a round pebble :_(
Just wanted to voice interest for a round port at some point. ❤️
There does, otherwise there's nothing to report.
What does it actually do after you try asking a question?
it cost 440 bytes of code space to have release notes, incidentally, since we're counting.
I guess it's around time to finally ship this update
if I can remember what is actualy in the update
someone on the github issues has noted that bobby will fairly reliably cause the pebble to reset if asked for "the speed of light in furlongs per fortnight"
which I can in fact reproduce
Damnit why did I try that 😑
did it cause your pebble to reset? 😄
it doesn't cause this, however, if you don't dictate the question
discuss
so whether this causes the watch to fall over is apparently a function of whether a dictation session exists
because that makes sense.
Huh. I asked it, it brought up the calculation widget then froze and restarted
yup, that's what it does
it's actually dying trying to show you the result in a number widget
the ultimate message to the watch that kills it is {"HIGHLIGHT_WIDGET":1,"HIGHLIGHT_WIDGET_PRIMARY":"1,802,614,041,067","HIGHLIGHT_WIDGET_SECONDARY":"furlongs per fortnight"}
Huh. It's not an overflow issue, is it?
shouldn't be
the watch doesn't ever process anything as a number
the fact that it doesn't repro unless you use a real dictation session means I can't do it in an emulator
Asking it what 1 trillion plus 1 is results in a similar crash
Oops it... unpaired my watch??
My guess would be that it's exploding while it measures text to figure out the font size
that or it's actually crashing rendering the overflow ellipsis
if you crash it three times in fifteen minutes the watch will factory reset
Oh lol
you can reset the counter by turning off the watch from the settings menu
I wonder whether bobby loading every size of system font is somehow the problem.
(which is free for bobby because system fonts don't cost app memory. but maybe it's not free for the kernel.)
Yeah looks like you're right about the width thing. It crashes at 100 billion and longer
this may be the latin version of the cyrillic crash
Anything shorter fits in 1 line
I don't think wrapping is the problem
it can deal with it if you don't start a dictation session first
Huh. Maybe it's just a coincidence then?
I'm guessing the offender is this:
data->number_font = fonts_get_system_font(FONT_KEY_LECO_32_BOLD_NUMBERS);
data->number_height = 32;
size = graphics_text_layout_get_content_size(widget->number, data->number_font, GRect(0, 0, bounds.size.w + 100, bounds.size.h), GTextOverflowModeTrailingEllipsis, GTextAlignmentLeft);
if (size.w > inset_bounds.size.w) {
data->number_font = fonts_get_system_font(FONT_KEY_LECO_26_BOLD_NUMBERS_AM_PM);
data->number_height = 26;
size = graphics_text_layout_get_content_size(widget->number, data->number_font, GRect(0, 0, bounds.size.w + 100, bounds.size.h), GTextOverflowModeTrailingEllipsis, GTextAlignmentLeft);
if (size.w > inset_bounds.size.w) {
data->number_font = fonts_get_system_font(FONT_KEY_LECO_20_BOLD_NUMBERS);
data->number_height = 20;
size = graphics_text_layout_get_content_size(widget->number, data->number_font, GRect(0, 0, bounds.size.w + 100, bounds.size.h), GTextOverflowModeTrailingEllipsis, GTextAlignmentLeft);
if (size.w > inset_bounds.size.w) {
data->fallback_mode = true;
data->number_font = fonts_get_system_font(FONT_KEY_GOTHIC_24_BOLD);
size = graphics_text_layout_get_content_size(widget->number, data->number_font, GRect(0, 0, inset_bounds.size.w, bounds.size.h + 100), GTextOverflowModeWordWrap, GTextAlignmentLeft);
data->number_height = size.h;
}
}
}
hm, that was longer than I expected.
it starts with the largest font, then if it overflows it keeps trying smaller ones
The fact that having a dictation session apparently matters feels like it implies the kernel is running out of a resource and keeling over
if it were the app running out of a resource then it shouldn't take down the system
it doesn't crash if the response comes in scientific notation
which bypasses that whole sequence
(it fails the prv_is_sufficiently_numeric check at the top)
well what am I supposed to do about that
yeah, if I skip the font size checking then it doesn't crash
another pebble text rendering bug, apparently
no major bugs.
Does it crash if you immediately select a font size approximated from the string length?
presumably it would not.
but it would be nice if anything this fucking OS provides actually worked
anything at all
just once
would be nice
Yeah...
I would be happy to clean up my font usage after I was done with them but that's not an available option
Love that loading system fonts can crash the whole system lol
it's exciting!
You can't just free them?
Keeps you on your toes
it's not really new though, loading cyrillic fonts in bobby always crashes the system
no, you can only unload custom fonts
Yippee
technically the type system allows you to pass a system font into the unload method but who knows what that would actually do
Could be fun 👀
fairly reasonably, the app crashes.
instead of actually measuring the text I guess I can just do it by length
though I'll have to round down if I don't want to risk answers being truncated
meh.
my enthusiasm for working on bobby has once again been suitably damped by the joys of pebble os
Are you able to cache a reference to all the system fonts beforehand? Instead of calling get_system_font each time?
for those curious, Bobby uses the following fonts:
FONT_KEY_GOTHIC_14,
FONT_KEY_GOTHIC_18,
FONT_KEY_GOTHIC_18_BOLD,
FONT_KEY_GOTHIC_24,
FONT_KEY_GOTHIC_24_BOLD,
FONT_KEY_GOTHIC_28_BOLD,
FONT_KEY_LECO_20_BOLD_NUMBERS,
FONT_KEY_LECO_26_BOLD_NUMBERS_AM_PM,
FONT_KEY_LECO_32_BOLD_NUMBERS,
FONT_KEY_LECO_36_BOLD_NUMBERS,
loading them upfront makes no difference
It wouldn't surprise me at all if this is the same as the Cyrillic crash though
Or at least closely related
(but I can probably work around this one, while the cyrillic crash remains intractable)
After listening, a progress bar shows up and when it's done elaborating an error screen shows up saying "Erorr. Retry" and then starts listening again
That's not actually Bobby, that's the system dictation UI saying it failed
Have you a) subscribed to Rebble, and also b) having subscribed to Rebble, gone to the dictation language setting in the pebble app on your phone and selected the correct language?
(if the list of languages is empty, or only lists one option, you will need to redo boot - https://help.rebble.io/boot/)
I solved by re-selecting the right dictation lamguage on my phone, thanks!
I was wondering, how much time does it take for a reminder set by Bobby to show up in the timeline?
It should show up within thirty minutes.
bobby crossed borders into another timezone
Unrelated question - does your Nokia run android and connect to the pebble or do you have a separate smartphone?
I have a separate smartphone, this phone runs s30+
I asked bobby 1/0.6 and it crashed my watch
This is probably the same as the very large number crash
It tries measuring the number in a bunch of system fonts and the kernel runs out of memory or something in the process
it's a shame that there was no reserved space for system features in ram so that this wouldn't be as much of a problem
that being said, it's an embedded device so I'm also not really that surprised
though, the documentation should probably have some mention of memory penalty for using these
It shouldn't be possible to crash the system like this
The function call should fail instead
I have a feeling this won't get addressed if the new watches have much more memory
though it also won't be a problem there
The new F platform, whatever it is, does not have more memory
that's highly disappointing, but I guess expected
It is very disappointing
New bobby features are going to have to be emery exclusive
Unless someone finally implements xip for apps.
I wish somebody worked on extending the apis
Bobby being super helpful lately
would it be difficult to add a way to save / recall conversations?
What specifically are you looking for here?
(the short answer is probably "anything that needs watch UI is infeasible because bobby is pretty much out of code space", but maybe that doesn't apply here)
Just make all the variable names shorter. Easy 😎
anything it said that I need to reference in the future
because I have zero short term working memory xD
but, if I had it do a calculation for me I'd like for it to write that number down
I guess it's more like notes
I want to write down, semi-permanently, Bobby's response
I could just switch apps I guess
but in the long-hold menu maybe there could be a 'add to notes' option
and Bobby's last message is added to notes
and then, on the main screen, like with the other feature, the user could browse the notes and maybe even start a conversation with them
mini-threads
sounds like a lot of engineering now that I'm talking it out
Sorry if this is obvious or discussed before, but if the new firmware exposes more APIs for inter-app communication (alarms, timers, notes, timeline, etc) would that help free up space for Bobby, not having to write duplicates of these functions?
It may
alright, I actually got the consent window working
it pages correctly at this point
I also made a button indicator that matches the default one
it's a shame this wasn't exposed in pebble.h https://github.com/pebble-dev/pebble-firmware/blob/main/src/fw/applib/ui/action_button.c
idk why but holding a button in the emulator doesn't seem to work?
It does not
it might be keyboard repeat on the host machine
i think you're right about having bobby face towards the left on round, have them lean out from behind the actionbar and put the version in the 7:30 range
this is so so cool
yeah, that does require a bit more work though
I'm trying to understand why there is no icons in the menu layer on round, but that's not working out for me
it does reflow properly, but it's not exactly paging
@shell jetty get ready pal
I wouldn't hold my breath, I have no idea how to make the formatted text layer work
This looks fantastic!
I had that part working in my build! (But, like nothing else hah)
yeah, I had some trouble with it myself
the biggest issue for me is still the formatted text layer
I think we should try to work on it together or something
how does paging work in regular textlayers?
https://github.com/pebble-dev/pebble-firmware/blob/2161d7d58000f4fecc9f4907fbd1eb574859e4cd/src/fw/applib/ui/text_layer.c#L240 looks like it uses layout caching
I should be able to just rip stuff out of the firmware, but I have a feeling there must be an easier way
Just dropped a message re:Bobbie on the Help channel :
Any issues with Bobbie's timeline integration? Last few times I've used it over the last couple of weeks, I've had no reminder come through.
If I ask Bobbie to "Show my reminders", it does display them.
(and loving the idea about notes!)
Have you been able to see the pin on your timeline?
A few people have complained that the pin shows up but they never see the notification
Though I'm not sure whether this is actually it not working, or the notification just not being very noticeable
(and if it is not working I don't know what to do about it - it should work in theory, and does work for me)
Feature Idea: transit support (i.e. "when does the next train depart")
There is this cool API I recently found https://transitous.org/api/
The API provided by Transitous can be used for free, but we recommend that you let us know if you use it, so your use case can be considered in future decisions. You can do that by adding your app to our website and/or letting us know in our Matrix channel. MOTIS 2 API Transitous provides the MOTIS 2 API. It is the first stable and versioned MOT...
Could be interesting, though it'd be important not to conflict with or contradict the existing transit routing feature
Oh yeah I completely forgot about that
Thanks for replying. No, no pin shows, but it does know about the reminders. And it did work.
I'll maybe try reinstalling, etc.
Hm, odd
I've done nothing - nothing - and it seems to be working now.
It didn't even grant me the fantasy of thinking I'd fixed it. Harrumph.
Many thanks anyway.
I still can't get Bobby to stop randomly crashing the OS when trying to show numbers and at this point I have given up on trying to achieve anything
Pebble OS is not fit for any purpose, I'm done, goodbye.
just a miserable development experience.
(it is entirely plausible that this happens because bobby is doing something wrong. sadly, crashing the OS in the process does not make this easy to debug.)
I wish it was easier to debug stuff like that
I wonder what analytics would look like if you had info of how often bobby ends up crashing people's watches
You can do it in the emulator if you have full debug symbols
Though it's not currently possible to build an emulator firmware where the dictation APIs function
I wonder how hard it would be to forward the computer's mic to qemu
surely not impossible
The pebble tool has a feature supplying dictation content
It works on the official emulator firmware, but you can't build a firmware with working dictation. Or couldn't. Perhaps that's fixed by now given that working dictation is supposed to be shipping imminently.
If they use bobby as a test app it sort of implies they can dictate to it
well bobby doesn't require you to dictate anymore
you can just "What's the weather like" and "Yes", "Yes", "No"
(assuming you can long press which is not that easy with an emulator)
IIRC it doesn't crash without dictation
I think it depends on what exactly you are causing to crash
There are multiple ways bobby can take down the system
(and even more in features I built and then disabled)
But you're right for at least some of them
mostly I'm just annoyed that I thought I had a workaround for one of them and apparently didn't help at all
time to build bobby for wear os
my vote is for bobby for ios, bobby feels like what-siri-is-supposed-to-be
I am in a decade long fight with apple developer relations over what my name is and where I live
Though this apparently doesn't stop me releasing apps
Could be a fun (if slightly pointless) project
Bobby for Android
we can have Gemini but good
that being said, if bobby is to make the jump off Pebbles, they need a voice
disagree, the magic of bobby is that it doesn't talk to you
though i guess you could just use the phone's built in TTS engine
Bobby would definitely have a voice on platforms with speakers
Though presumably it would be optional
My vote is normal speech synthesis run through an RVC model trained on horse noises
I did some vibe coding
What's the UI made in?
It's React (and a web app)
Ah nice
(no frameworks, just HTML and CSS)
Isn't React a framework?
well yes, but it doesn't give you any UI
Ah, true
just fancy ways to generate some tags
Well it does nice stuff for updating UI components when values change, etc.
Fair enough
it doesn't actually provide any UI components, though
Yup. I realise I asked about specifically UI frameworks 😅
I have also cheated because it has my token hardcoded in it
though the model did all the UI and also all the comms and I just told it what to do.
it's also quite terrible but I guess I've achieved basically what I wanted.
It doesn't crash that much honestly, at least not for me
with react native, i suppose "bobby for mobile" could exist based on this
The real problem with bobby for mobile is that it makes no sense for Rebble
It has nothing to do with watches, or really even anything Rebble stands for philosophically
I am not sure a pivot into mediocre chatbots is the right future for Rebble
(I have actually found myself using Gemini on my phone all the time now and it is vastly superior to Bobby)
Although when you ask it to set a timer, the little widget doesn't count down in real time
So that's a nice touch for bobby
it is not better than Bobby in the most impotant metric - cuteness
True
i was thinking less of rebble and more of your future glorious AI startup 💰 📈
I will take one billion dollars please
that's so much taxes to pay...
pretty sure the billion dollars come with a complimentary course on tax evasion
that's fucked up
Yeah I think that bill just passed...
so I have a feature request
I'm guessing that Bobby having a voice is probably on the roadmap for the C2D and CT2, yeah?
Whenever that becomes a thing, would it be possible to have different sounding voices?
like have Bobby be a british man or an australian woman or sound like my dad or something
I think that would be neat
just putting the idea out there ig
When I ask Bobby about the weather without telling him where, the system tells me to activate location services ("Standortdienste" in German, I don't know the English term). Is it something that I have to configure somewhere or is it some limitation of Bobby?
You can give Bobby access to your location in the app's settings in the pebble app on your phone
(your phone also needs to have location on and the pebble app needs to be able to use it)
I just checked: I already allowed the location sharing in Bobby and the pebble app is allowed to access the location as well. Also the phone claims that the Pebble app just has accessed the location. Also the weather app on the Pebble shows me the correct city. I use several Pebbles and switch between them from time to time. Could that cause an issue?
shouldn't, no - that all sounds like it should work
Can I activate some setting to generate a log that could provide some help?
Does Bobby still work currently now that developer Katharine is gone?
yep
rebble will continue to maintain it, it's our web services after all
bobby is very close to the size limit for a pebble app though, so probably don't expect too many new features
Okay. Thank you for the reassurance. As long as it can set a timer, I'm okay.
does this mean rebble would be vetting code contributions? perhaps this means the various attempts at porting it to round could get merged 🤔
yes, if there's a PR to get it running well on Round, we would definitely take it
I don't know if one ever made it across the line to running well
but we will review and merge as appropriate
yeah, i think IIRC both me and @wooden wedge made incomplete attempts at porting it, but i might give it another go
yeah
@shell jetty https://github.com/pebble-dev/bobby-assistant/compare/main...hellcp:bobby-assistant:round
and this is my list of things I didn't push because they were broken, but I think I identified everything remaining:
- converse/report_window.c
- converse/segments/info_layer.c
- converse/segments/message_layer.c
- converse/segments/segment_layer.c
- converse/segments/widgets/number.c
- converse/segments/widgets/timer.c
- converse/segments/widgets/weather_current.c
- converse/segments/widgets/weather_multi_day.c
- converse/segments/widgets/weather_single_day.c
- converse/session_window.c
- menus/about_window.c
- menus/feedback_window.c
- menus/legal_window.c
- util/formatted_text_layer.c
- util/result_window.c
I assume your branch might have some things done that I haven't done because I didn't want to deal with rebasing at all
ah excellent, thanks for uploading! i'll have to go set up the classic app on my test android device to try this out
I can give you permissions to push stuff to this repo if you want
so that we can collaborate on this a little bit better
oh good idea! though might be a while before i can get something meaningful to push
cool, you should have gotten an email with an invite
got it! i am hyped for BOBBY ROUND EDITION
Is there any way to get Bobby working on the Core Beta app? I know that the voice input is not working but, at least have ability to add your own prompts or use the current ones?
