#Bobby, a new voice assistant and Snowy successor

1 messages · Page 9 of 1

edgy flame
#

Samsung watches actually blur the app, im not sure what pixels do but I'm sure it's better

karmic lion
#

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.

obtuse oriole
#

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. 😉

celest pulsar
#

Personally, I get most mileage out of the timer. Pedestrian navigation is also very convenient with turn notices on the wrist.

karmic lion
#

I have never enjoyed watch-based navigation, despite it being an obvious usecase

celest pulsar
#

I wouldn't want to set up the navigation on the watch

#

But getting guided by it is nice

karmic lion
#

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.

celest pulsar
#

Another thing that would be useful is a rain alert

wooden wedge
#

screaming at a horse at your convenience

celest pulsar
#

I think that worked back in the days with buienradar

karmic lion
#

That's not really an app

#

Or even a watch feature, it is probably best done by just bridging a notification from your phone.

celest pulsar
#

Yes, but that's the point really...watches shine for notifications,...some of them...

#

Nav also boils down to notifications and so do timers

karmic lion
#

But we were talking about watch apps nrfbutitskatharineasahorse

#

Bridged notifications are a different feature

#

Incidentally you would be surprised how often people complain that their smartwatch shows notifications

celest pulsar
#

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.

karmic lion
#

Apparently not a desirable feature

wooden wedge
karmic lion
#

I am in this case referring to feedback on products that are actually functional

wooden wedge
#

sure

karmic lion
#

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

wooden wedge
#

I'm at least glad nothing leaks out of work profile while it's not active

karmic lion
#

I would like it if my calendar leaked out of work profile at all

#

Timeline is totally worthless to me

wooden wedge
#

but yeah, quiet time and night mode are not functional

#

I have a copy of work calendar in my google account for that reason

karmic lion
#

My work calendar is configured such that this is not possible

wooden wedge
#

it's a work calendar that only says "work" for every event though

karmic lion
#

Well I could have it say (busy) for everything

#

But that doesn't exactly make the timeline useful

wooden wedge
#

oh it's busy

#

it's very bad

karmic lion
#

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

wooden wedge
#

how hard is getting android to share work calendars with non work profile?

#

for an app

#

that's impossible to decode

karmic lion
#

Country, campus, building, floor, ??, room name, room capacity, room attributes

#

I've never figured out what the letter does

wooden wedge
#

A, C, E, S, Z

wooden wedge
#

does wearos do it?

karmic lion
#

No

wooden wedge
#

hmm

karmic lion
#

I think it requires the controlling enterprise to approve the app individually

wooden wedge
#

sounds like wearos would have the best chance of working then

maiden forge
#

Where did you get this gem?

edgy flame
maiden forge
weary ether
#

Giant cuff ftw

wooden wedge
#

this isn't quite right

coarse cedar
wooden wedge
#

Import...

coarse cedar
#

Like all other AI language odels

wooden wedge
#

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

karmic lion
#

😄

wooden wedge
#

in a way, it's an improvement

#

in other ways, there's no difference

hidden plover
#

odels

karmic lion
#

what is with the odels

#

do the rectangular ones also have that?

wooden wedge
#

nope

#

the m-is under the content indicator

#

because text wrapping

karmic lion
#

ah

#

it seems like that working correctly should be free, but perhaps it's not because of the weird text rendering

wooden wedge
#

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

karmic lion
#

height and width swapped?

wooden wedge
#

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

karmic lion
#

Given the hyphen it looks like it is trying to render multiple lines

wooden wedge
#

yeah...

wooden wedge
#

it's confusing because it keeps cutting the text short too

wooden wedge
#

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

karmic lion
#

and needs to work anyway because it's how every other screen with similar behaviour renders; this is weird because it predates that code

wooden wedge
#

yeah, but then the FormattedTextLayer would need to know the y value of where it is in the scroll

karmic lion
#

does it? the system perimeter should solve the problem

#

(by virtue of actually knowing that)

wooden wedge
#

hmm

karmic lion
#

though you may run into the indicator cutoff again

wooden wedge
#

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

edgy flame
wooden wedge
#

yeah

edgy flame
#

hmm

#

why's that?

wooden wedge
#

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

edgy flame
#

true

wooden wedge
#

the fact that "You" and the time are not centered the same

shell jetty
#

excellent, more screens with paging! timeround

wooden wedge
#

laying out text is so easy

edgy flame
#

have been thinking about how bobby's lie detector is genuinely a groundbreaking feature in the llm-assistant area

wooden wedge
#

strap an llm onto your llm

coarse cedar
#

honestly if it works it works, gemini flash lite isnt that expensive either

#

most is going to be spent on input tokens there

edgy flame
#

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

barren raptor
wooden wedge
#

"two weeks"

#

ignoring that this project started in 2023

coarse cedar
#

still less time (in total) than other ai assistants

wooden wedge
#

especially people time

edgy flame
#

took a few years but yeah

#

Bobby has its issues but it is much more pleasant to use than the one on my phone

wooden wedge
#

they have a bobby on phone?

coarse cedar
#

like the phone assitant

#

not the llm

wooden wedge
#

what kind of horse is gemini?

barren raptor
celest pulsar
edgy flame
#

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

#

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

celest pulsar
#

I wonder how they would implement self-awareness into a stochastic token generator

edgy flame
#

i don't think you can

celest pulsar
#

Same

edgy flame
#

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

celest pulsar
#

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

edgy flame
#

humans do this also

celest pulsar
#

What I mean is, the processing does not even become part of the context

wooden wedge
edgy flame
#

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

karmic lion
#

and a bunch of that second set of work was throwing away things done in the first set because they were no longer appropriate

karmic lion
#

@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

wooden wedge
#

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

edgy flame
#

bug report: My friend asked Bobby to "write a quick sort implementation in rust" and it crashed my watch

karmic lion
#

Pebble doesn't support rust development so that tracks

edgy flame
#

she asked again and it is hanging

karmic lion
#

If it's bringing the whole watch down I don't know that there's much to be done

edgy flame
#

or, it timed out from quick launch before getting a response back

karmic lion
#

Worked for me

#

Extremely practical development experience

edgy flame
#

crashed my Tim's steel again, wtf

#

alright time to turn off and back on

karmic lion
#

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 quicksort function that takes a mutable slice of elements that implement the Ord trait (meaning they can be compared). It recursively sorts the slice by partitioning it around a pivot element. The partition function 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, the main function demonstrates how to use the quicksort function.

edgy flame
#

fascinating

#

it responds to other prompts on my watch no clue what is happening here

karmic lion
#

your watch just doesn't like Rust.

edgy flame
#

pebble time stainless steel

karmic lion
#

¯_(ツ)_/¯

#

no major bugs

#

Was this one of the watches that crashes when it sets an appglance?

edgy flame
#

I think it may have been. I don't remember

karmic lion
#

it is known that the watches do start to misbehave more as they age. perhaps your watch has aged out of correct functionality.

edgy flame
#

perhaps the app glance thing worked properly in 2016

#

were there any watches that setting an image worked properly on?

karmic lion
#

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.

weary ether
#

Sending to service failed

karmic lion
#

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)

barren raptor
#

@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

edgy flame
#

yes I do, I have the English + Japanese characters pack installed

obtuse oriole
#

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.

wooden wedge
#

I wonder how well bobby can work if the app disconnects from the watch every half a minute

edgy flame
#

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

wooden wedge
#

at this point cobble only really has bobby problems because of the lack of support for location in the pebblekitjs

edgy flame
#

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

wooden wedge
#

it started working at some point

edgy flame
#

it just did that

wooden wedge
#

apparently

karmic lion
#

bobby can now verbally update settings

#

new lies dropped

south edgeBOT
karmic lion
#

I mostly did this so when I've wiped my settings yet again I can just tell it to use celsius please

south edgeBOT
wooden wedge
#

gear icon!

weary ether
#

Would sports and news be doable for Bobby?

wooden wedge
#

simply have the news be notable enough to end up as a wikipedia source 😄

edgy flame
#

we should make a Wikipedia page for rebble

#

we're a footnote on pebble's wiki page

barren raptor
#

like, what would it actually say

edgy flame
#

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é

barren raptor
#

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

weary ether
#

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

wooden wedge
#

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

edgy flame
#

normal for software

wooden wedge
#

I have confused myself writing it multiple times

wooden wedge
#

it sounds hella painful to actually get that working because most mapping apis cost quite a bit

hollow rivet
wooden wedge
#

wtf is wordpress the idea?

hollow rivet
#

The OSS

wooden wedge
#

oh sure

edgy flame
#

different again from biblical wordpress

wooden wedge
#

there is also wordpress the company

edgy flame
#

the royal wordpress

weary ether
#

right - meant to say mediawiki

#

re:

#

and LCP you suggested a particular gaming wiki

#

but that doesn't really answer the sports / news question

#

so yeah IDK

#

sports seems like a perfect widget

wooden wedge
weary ether
#

xD

wooden wedge
#

oh yeah, that's an important addition

karmic lion
#

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

wooden wedge
#

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

karmic lion
#

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

wooden wedge
#

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

karmic lion
#

That tracks

wooden wedge
#

oh I found a very long list

karmic lion
#

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

wooden wedge
#

that's a lot of wikis

karmic lion
#
My Little Pony Friendship is Magic Wiki

This is a list of lists of all ponies and other characters which have been mentioned or appear in My Little Pony Friendship is Magic, Equestria Girls, and the My Little Pony Friendship is Magic...

wooden wedge
#

there's a helpful link to display the full list

karmic lion
#

Hurrah

#

This is going to crash my phone browser.

wooden wedge
#

the "a new generation" designs are so weird and kinda creepy

karmic lion
#

Yes

#

They look (even) closer to dogs

wooden wedge
karmic lion
#

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.

wooden wedge
#

yeah,that's fine

karmic lion
#

They do have the advantage that it's actually possible for them to physically exist

wooden wedge
#

oh that's cute, the figurines of friendship is magic cast on the shelf

karmic lion
#

The FiM approach of character designs that cannot exist in three dimensions was interesting for what is functionally a toy advert

wooden wedge
#

I love that

wooden wedge
#

I guess the idea of that new series is more akin to the world being actually modern though

karmic lion
#

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

wooden wedge
#

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

karmic lion
#

As with all things, split.

wooden wedge
#

yeah

karmic lion
#

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

wooden wedge
#

oh was it

karmic lion
#

Yup

#

Along the way some even more dubiously conceived G6 stuff leaked but that never went anywhere.

wooden wedge
#

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

karmic lion
#

(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.

wooden wedge
#

I keep forgetting what the actual original ponies looked like

#

that is very horse

karmic lion
#

Yes

wooden wedge
#

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

karmic lion
#

I think Pony Life was always intended as essentially an intermission

#

But it sure is very weird.

urban solstice
#

My god

rough cliff
#

???

#

I thought there were like 9?

karmic lion
#

it is an exhaustive list.

rough cliff
#

I am obviously not well versed in the pony universe 😄

wooden wedge
#

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/

karmic lion
#

I like how some of them have titles

wooden wedge
#

even though I'm not much of an expert

karmic lion
#

"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

wooden wedge
#

he has fabulous hair

rough cliff
#

His hair gives off powdered wig vibes 😄

karmic lion
#

given the name and the note "see Weather Control Pegasi", I'm going to assume it's just like that

wooden wedge
#

the entire universe is wild

#

is there a list of humans on that wiki btw?

#

a list of dragons?

karmic lion
#

no clue

wooden wedge
karmic lion
#

though there is also, separately, a list of non-pony humans

wooden wedge
#

huh

karmic lion
#

honestly in retrospect it is wild that this cartoon managed to run for almost a decade as a single series and largely coherent universe

wooden wedge
#

the concept of two twilights confuses me

karmic lion
#

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)

wooden wedge
#

I watched this a long time ago at this point

karmic lion
#

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.

wooden wedge
#

uh huh

#

well, I need to seriously catch up

karmic lion
#

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.

wooden wedge
#

at that time, mlp was a bit more of a current topic at least

#

it was a huge thing

karmic lion
#

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

wooden wedge
karmic lion
#

(everfree, for general context: https://everfreenw.com )

karmic lion
# wooden wedge I'm sure covid didn't help this

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.

wooden wedge
#

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

karmic lion
#

then there was a big bounce for everyone else in 2020 except they were all cancelled and the thing just disappeared

karmic lion
wooden wedge
#

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

karmic lion
#

I ran some online stuff with him in 2020/2021

wooden wedge
#

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

karmic lion
#

I certainly tired of it after running them at a rapid clip

wooden wedge
#

that's really cool

karmic lion
#

it was great, back in early 2020 it was so easy to get Special Guests to do these things.

wooden wedge
#

not that surprising

karmic lion
#

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.

wooden wedge
#

oh yeah, this logo, I wonder what was the inspiration

karmic lion
#

haha

wooden wedge
#

(it makes perfect sense in toki pona since the word for sun and day is the same)

karmic lion
#

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.

wooden wedge
#

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

karmic lion
#

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

wooden wedge
#

at some point I gave up and made an exporter from google sheets

karmic lion
#

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.

wooden wedge
#

it still kinda sucks though, because it will not work unless you have all the events ordered correctly

karmic lion
#

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

wooden wedge
wooden wedge
karmic lion
wooden wedge
#

I need to rewrite that website, it's a pile of the worst js in existence

karmic lion
#

this was the sheet

wooden wedge
#

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

karmic lion
#

(that links into an intermission, but you can skip around for actual content)

#

the 2D game integration was a wild adventure

wooden wedge
#

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

south edgeBOT
wooden wedge
#

is there wind direction available?

karmic lion
#

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?

wooden wedge
#

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

karmic lion
#

I do not think Bobby is an appropriate navigational resource for sailors

wooden wedge
#

yet

south edgeBOT
karmic lion
#

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

karmic lion
#

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'

obtuse oriole
#

Bobby keeps getting brainier and brainier. 🤘

karmic lion
#

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

south edgeBOT
karmic lion
#

whee.

south edgeBOT
quasi steeple
#

Hell yeah, that's awesome

edgy flame
#

wooooooo thank you so muuuuuch

#

this is amazing

weary ether
#

Wow this is sweet!!

barren raptor
#

this is awesome

urban solstice
upbeat nacelle
#

I would ❤️ to see more of the beautiful artwork across pebble os

wooden wedge
#

from bobby or in bobby

karmic lion
#

whee, traces

karmic lion
#

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

wooden wedge
#

thankfully, otherwise selling new products based on it would require you to do some development

karmic lion
#

route map no longer has giant pins on it.

#

Wish I could afford the memory for the line to be a different colour

acoustic wolf
karmic lion
#

That is generally false.

acoustic wolf
#

I've noticed it a lot

#

on different apps, not just bobby

karmic lion
#

I have crashed many an app and the watch almost never reboots in the process.

karmic lion
#

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

acoustic wolf
#

I wonder if you can run bobby on a bigboard and get the coredump

#

swans has one

#

snowy_bb but monochrome

upbeat garden
#

snowy doesn't have bt yet on the OSS firmware though

acoustic wolf
#

who said anything about OSS firmware

#

his bb runs pebbleOS 3.0.2

#

oh that probably is a problem

#

oh well

upbeat garden
#

coredump annoying to use if you dont have elf with all the nice debug data

karmic lion
#

how do you end up with a monochrome snowy_bb

acoustic wolf
#

rev B

#

rev C was colour

#

most of the rev C's are dead too, the FPGA isn't flashed

karmic lion
#

targeting a nonexistent device might alsobe a problem.

acoustic wolf
#

it is a real platform

karmic lion
#

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

acoustic wolf
#

I think mine was rev C

#

and dead

#

I'll get to find out on monday

south edgeBOT
karmic lion
#

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"

wooden wedge
#

that's really cool

#

it does work rather well

karmic lion
#

and it should provide a little map showing the route

wooden wedge
#

it does

karmic lion
#

I probably still need some sort of favourite location system though.

weary ether
#

This app is amazing!

#

The transit stuff is honestly super helpful

#

The natural language feel of the information is so nice

weary ether
#

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.

rough cliff
#

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

coarse cedar
#

gave me the route and directions to my uni campus, awesome!

wooden wedge
#

oh boy, we are gonna run out of the free api queries in no time

karmic lion
#

🎉

#

Glad it's useful

karmic lion
#

Like this

barren raptor
#

They do technically own it

karmic lion
#

It's true, Bobby is a Google project

fervent steppe
barren raptor
rough cliff
#

Pff

#

It's amazing what can happen when you build a good product

#

(/s)

fervent steppe
#

and thus begins the transformation of Rebble to an AI First company

rough cliff
#

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.

barren raptor
#

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.

wooden wedge
#

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

barren raptor
wooden wedge
#

I don't believe in magic fixing bugs really

barren raptor
#

Katharine's "minor hardware faults" theory is still technically possible even if I doubt it

wooden wedge
#

is there a watch that doesn't have an issue with cyrillic?

barren raptor
#

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

karmic lion
#

I think the Cyrillic bug is universal.

#

I think we even knew that happened when pebble was still around

barren raptor
#

are you sure? I've only seen Bobby do it. Is there something else that would trigger a similar thing?

karmic lion
#

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"

wooden wedge
#

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

barren raptor
#

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

wooden wedge
#

if it responds in english though, it's fine

karmic lion
#

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

barren raptor
#

And Rebble has suddenly decided that I speak Greek.

#

And hilariously, Bobby claims not to understand me.

karmic lion
#

sometimes it decides that it's not going to deal with non-english input

#

I don't know what's up with that

wooden wedge
#

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

barren raptor
#

it behaves pretty much like latin with different symbols, it doesn't have compound characters or weird formatting or anything like that

wooden wedge
#

pebble doesn't think so

#

I could see if maybe it's a fault of the language pack itself

coarse cedar
#

computer pebble says no

wooden wedge
#

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

barren raptor
wooden wedge
#

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

wooden wedge
#

yeeah

#

my system is slowly just becoming an assembly of hacks

wooden wedge
#

tumbleweed

rough cliff
#

I know pyenv will just built python + pip from source

rough cliff
wooden wedge
#

no relation to debian!

rough cliff
#

correction: tumbleweed is not debian

rough cliff
#

It sure sounds like a Debian name!

wooden wedge
#

it's an english word for a plant

#

it could be any of them really

rough cliff
#

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

wooden wedge
#

well, I have a working setup yet again

#

it was relatively easy, I just linked some stuff together

#

my emulator is wrecked though

karmic lion
#

I'm not aware of a Toy Story character called Tumbleweed

wooden wedge
#

I'm sure they are coming in toy story 6

rough cliff
karmic lion
#

Debian codenames are all Toy Story characters

#

It's important to have a theme

rough cliff
#

That's fun

#

I never noticed ¯_(ツ)_/¯

karmic lion
#

Apparently the one after the next one will be Forky, so they're keeping their list of options up to date

rough cliff
#

I've only ever seen the first toy story so I'm totally unaware of any new characters 😅

karmic lion
#

Disappointing

wooden wedge
#

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?

obtuse oriole
#

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.)

karmic lion
#

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

quasi steeple
#

Is it worth filtering out Cyrillic characters server side?

karmic lion
#

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.

karmic lion
#

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.

quasi steeple
karmic lion
#

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.

quasi steeple
karmic lion
#

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.

quasi steeple
karmic lion
#

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.

quasi steeple
acoustic wolf
#

I wonder if you could make bobby send its version to the conversation and then reply back with changelog

wooden wedge
#

the js is very inconsistent version wise apparently

#

as in, the c code can be different version compared to js code

karmic lion
#

Which sure is exciting

karmic lion
#

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

fervent steppe
#

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

karmic lion
#

(Granted if you're not doing classic then this is not so easy)

fervent steppe
#

indeed, you get only AMS over BLE

karmic lion
#

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)

fervent steppe
#

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

karmic lion
#

now I guess you just need to get this functionality into the iOS app and pebblekit js

fervent steppe
#

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

karmic lion
#

🎉

fervent steppe
#

mission failed successfully

fervent steppe
#

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

coarse cedar
sage laurel
#

Yes please, that would unlock so much functionality in Bobby!

quasi steeple
#

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

shell jetty
#

can you go into the options and set the dictation language to auto? 🤔

quasi steeple
#

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!

shell jetty
#

mission accomplished!

hollow rivet
#

Bobby sometimes gets a little temperamental if you try to use it right after signing up for web services

quasi steeple
#

Understandable, I'd be freaked out by a stranger too

quasi steeple
kind halo
#

are there any plans to have bobby be able to interact with other apps?

wooden wedge
#

what do you have in mind?

kind halo
#

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

wooden wedge
#

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

kind halo
#

but that's Google Maps integration, isn't it?

wooden wedge
#

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

kind halo
#

sad... oh well

edgy flame
#

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

wooden wedge
#

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

weary ether
#

Bobby API

wooden wedge
#

bapi

karmic lion
#

This is the question to which MCP is the generic answer

wooden wedge
#

that would be fun

mortal mantle
# wooden wedge I was thinking specifically in the context of home automation stuff

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).

wooden wedge
#

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

mellow plaza
hollow rivet
#

You could just try adding Diorite to the supported platforms list and building?

mellow plaza
hollow rivet
mellow plaza
hollow rivet
#

You can use the Sideload Helper app on F-Droid on Android, not sure about iPhone

mellow plaza
#

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!

wooden wedge
#

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

mellow plaza
#

haven't got round to creating a "complete task" timeline action yet but will eventually

wooden wedge
#

I should probably do that for myself and google tasks

mellow plaza
silent meadow
#

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?

wooden wedge
#

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

deft quail
#

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. ❤️

karmic lion
karmic lion
south edgeBOT
karmic lion
#

it cost 440 bytes of code space to have release notes, incidentally, since we're counting.

karmic lion
#

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

hollow rivet
#

Damnit why did I try that 😑

karmic lion
#

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.

hollow rivet
#

Huh. I asked it, it brought up the calculation widget then froze and restarted

karmic lion
#

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"}

hollow rivet
#

Huh. It's not an overflow issue, is it?

karmic lion
#

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

hollow rivet
#

Asking it what 1 trillion plus 1 is results in a similar crash

#

Oops it... unpaired my watch??

karmic lion
#

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

hollow rivet
#

Oh lol

karmic lion
#

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.)

hollow rivet
#

Yeah looks like you're right about the width thing. It crashes at 100 billion and longer

karmic lion
#

this may be the latin version of the cyrillic crash

hollow rivet
#

Anything shorter fits in 1 line

karmic lion
#

I don't think wrapping is the problem

#

it can deal with it if you don't start a dictation session first

hollow rivet
#

Huh. Maybe it's just a coincidence then?

karmic lion
#

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.

hollow rivet
#

Does it crash if you immediately select a font size approximated from the string length?

karmic lion
#

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

hollow rivet
#

Yeah...

karmic lion
#

I would be happy to clean up my font usage after I was done with them but that's not an available option

hollow rivet
#

Love that loading system fonts can crash the whole system lol

karmic lion
#

it's exciting!

hollow rivet
#

You can't just free them?

hollow rivet
karmic lion
#

it's not really new though, loading cyrillic fonts in bobby always crashes the system

karmic lion
hollow rivet
#

Yippee

karmic lion
#

technically the type system allows you to pass a system font into the unload method but who knows what that would actually do

hollow rivet
#

Could be fun 👀

karmic lion
#

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

hollow rivet
#

Are you able to cache a reference to all the system fonts beforehand? Instead of calling get_system_font each time?

karmic lion
#

The system caches them

#

Me caching them all wouldn't make a difference

karmic lion
#

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)

silent meadow
karmic lion
#

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?

silent meadow
#

I was wondering, how much time does it take for a reminder set by Bobby to show up in the timeline?

karmic lion
#

It should show up within thirty minutes.

wooden wedge
#

bobby crossed borders into another timezone

static jackal
wooden wedge
#

I have a separate smartphone, this phone runs s30+

coarse cedar
#

I asked bobby 1/0.6 and it crashed my watch

karmic lion
#

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

wooden wedge
#

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

karmic lion
#

It shouldn't be possible to crash the system like this

#

The function call should fail instead

wooden wedge
#

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

karmic lion
#

The new F platform, whatever it is, does not have more memory

wooden wedge
#

that's highly disappointing, but I guess expected

karmic lion
#

It is very disappointing

#

New bobby features are going to have to be emery exclusive

#

Unless someone finally implements xip for apps.

wooden wedge
#

I wish somebody worked on extending the apis

weary ether
#

Bobby being super helpful lately

#

would it be difficult to add a way to save / recall conversations?

karmic lion
#

(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)

hollow rivet
#

Just make all the variable names shorter. Easy 😎

weary ether
#

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

rain plinth
#

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?

karmic lion
#

It may

wooden wedge
#

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

#

idk why but holding a button in the emulator doesn't seem to work?

covert ingot
#

It does not

edgy flame
#

it might be keyboard repeat on the host machine

wooden wedge
#

that's what I assumed

#

it's a shame that wasn't covered though

edgy flame
# wooden wedge

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

wooden wedge
#

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

wooden wedge
#

it does reflow properly, but it's not exactly paging

weary ether
#

@shell jetty get ready pal

wooden wedge
#

I wouldn't hold my breath, I have no idea how to make the formatted text layer work

obtuse oriole
#

This looks fantastic!

shell jetty
wooden wedge
#

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

edgy flame
#

how does paging work in regular textlayers?

wooden wedge
#

I should be able to just rip stuff out of the firmware, but I have a feeling there must be an easier way

hazy crag
#

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!)

karmic lion
#

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)

coarse cedar
#

Feature Idea: transit support (i.e. "when does the next train depart")
There is this cool API I recently found https://transitous.org/api/

karmic lion
#

Could be interesting, though it'd be important not to conflict with or contradict the existing transit routing feature

coarse cedar
#

Oh yeah I completely forgot about that

hazy crag
karmic lion
#

Hm, odd

hazy crag
# karmic lion 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.

karmic lion
#

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.)

wooden wedge
#

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

karmic lion
#

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

wooden wedge
#

I wonder how hard it would be to forward the computer's mic to qemu

#

surely not impossible

karmic lion
#

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

wooden wedge
#

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)

hollow rivet
#

IIRC it doesn't crash without dictation

karmic lion
#

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

karmic lion
#

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

shell jetty
#

my vote is for bobby for ios, bobby feels like what-siri-is-supposed-to-be

karmic lion
#

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

barren raptor
#

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

shell jetty
#

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

karmic lion
#

Bobby would definitely have a voice on platforms with speakers

#

Though presumably it would be optional

edgy flame
#

a new axis on the gender expression field to play with

#

what would Bobby sound like

hollow rivet
#

My vote is normal speech synthesis run through an RVC model trained on horse noises

karmic lion
hollow rivet
#

What's the UI made in?

karmic lion
#

It's React (and a web app)

hollow rivet
#

Ah nice

karmic lion
#

(no frameworks, just HTML and CSS)

hollow rivet
#

Isn't React a framework?

karmic lion
#

well yes, but it doesn't give you any UI

hollow rivet
#

Ah, true

karmic lion
#

just fancy ways to generate some tags

hollow rivet
#

Apparently it's a "library"

#

Which I guess makes sense

karmic lion
#

I would probably consider it a framework

#

but not a UI one

hollow rivet
hollow rivet
karmic lion
hollow rivet
#

Yup. I realise I asked about specifically UI frameworks 😅

karmic lion
#

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.

weary ether
#

It doesn't crash that much honestly, at least not for me

shell jetty
#

with react native, i suppose "bobby for mobile" could exist based on this

karmic lion
#

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

barren raptor
karmic lion
#

True

shell jetty
#

i was thinking less of rebble and more of your future glorious AI startup 💰 📈

karmic lion
#

I will take one billion dollars please

wooden wedge
#

that's so much taxes to pay...

rain plinth
barren raptor
wooden wedge
#

that's fucked up

rain plinth
sick apex
#

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

novel fiber
#

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?

barren raptor
#

(your phone also needs to have location on and the pebble app needs to be able to use it)

novel fiber
barren raptor
#

shouldn't, no - that all sounds like it should work

novel fiber
covert ingot
#

Yes, you can tell Bobby to submit feedback

#

I think you can also long press select

fair dagger
#

Does Bobby still work currently now that developer Katharine is gone?

humble owl
#

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

fair dagger
#

Okay. Thank you for the reassurance. As long as it can set a timer, I'm okay.

shell jetty
#

does this mean rebble would be vetting code contributions? perhaps this means the various attempts at porting it to round could get merged 🤔

fervent steppe
#

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

shell jetty
#

yeah, i think IIRC both me and @wooden wedge made incomplete attempts at porting it, but i might give it another go

wooden wedge
#

yeah

wooden wedge
#

@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
GitHub

A smiley AI assistant for the Pebble. Contribute to pebble-dev/bobby-assistant development by creating an account on GitHub.

#

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

shell jetty
#

ah excellent, thanks for uploading! i'll have to go set up the classic app on my test android device to try this out

wooden wedge
#

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

shell jetty
#

oh good idea! though might be a while before i can get something meaningful to push

wooden wedge
#

cool, you should have gotten an email with an invite

shell jetty
#

got it! i am hyped for BOBBY ROUND EDITION

round helm
#

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?