#Bobby, a new voice assistant and Snowy successor
1 messages · Page 6 of 1
doesnt seem to actually be breaking anything, at least the pages look identical both locally and the result from github pages
❤️ The favicon
What exactly doesnt work right?
it displays svg instead of ico on lower resolutions
Looks fine on firefox to me
so in the tab bar, it displays a blurry mess and not my custom icon
Okay, I will hold off on any feedback 🙂
I'll wait until everything's closer to being finished?
well, I'm planning to have this done tomorrow so I would rather know if there's something that needs to be improved
it's not finished in terms of progress but almost finished in terms of deadline
i don't like "extracting value"
"bobby is a new addition to your Rebble voice and weather subscription"
I don't think we need to advertise the Rebble sub here, just bobby.
"Bobby is an AI assistant that lives on your watch, and works with the other features of your Rebble subscription like timeline for reminders. Powered by an LLM, bobby can answer almost any question you could ask"
firefox mobile seams like its using your custom icon
the text above and below Bobby feel off in terms of information hierarchy at the moment. anyone who starts reading naturally at the top won't necessarily know what "the platform" is. I'd consider removing the top line entirely here in the current mockup. i like the line, it just made more sense to me in the earlier banners with all the additional context imagery
or like... "bobby adds LLM assistance to your existing rebble voice and weather, at the same price of $3/mo"
I do not think we should mention the price here
I'm sure you already have it, but the code for making the rebble clock tell the correct time is @ https://github.com/pebble-dev/pebble-dev.github.io/blob/master/js/svg.js
If you copied the SVG from the Rebble site you should be able to drop that in
This bit looks really nice
the points of interest functionality is so mediocre I'm not sure it's worth actually advertising, mind
I really need to figure out how to make that useful
i tried to use it once; i was in the car with my friend, we wanted to find somewhere to eat. i asked it for restaurants and quickly realized it can't actually navigate me to those restaurants or follow up on the information past "this place exists"
If you switch the .header-block to use display:flex then you can choose the order it reflows into on mobile. Currently the image is above the title which I think looks a little odd
Although it looks better in that screenshot 😁
Yeah ignore me
On my desktop in mobile mode the image was most of the screen
So all I got was horse
On my actual phone it looks better
I agree with this - I love the fence image but something that actually shows bobby on a watch (even just the home screen) provides immediate, helpful context to the viewer
Aware you said it's not final copy, but this reads like you mean the Android/iOS app
yes it does
I assume you mean this lopsidedness
yeah, I need to make the text shrink at some point
I hate dealing with text in html sometimes
Could bobby wink on mouseover?
bobby can do anything on mouseover
though that bobby is going away
we will need a different bobby
I agree "The most well-ready pony on the platform" makes less sense if you're coming into this blind
What about "The tiny horse that knows it all", or something that gives a bit more insight into what it is
I do like that
yeah, I will think about it
there has to be something wrong with pkpyjs that doesn't work with bobby, the emulator really doesn't wanna do much with ws
looking good
something still vaguely bothers me about the density and margins and alignment of everything
Looks good! Given the new text, I don't think you need the "Requires a rebble subscription" under the button
the "Bobby" text looks very off to me
yeah, I know what you mean
i should draw a thicker question mark button and PR the app
well, that's a vector
so it's not entirely true to life
though that question mark is rather small anyway
also I didn't find a good stand in for leco
it bugs me on the watch too but I can't imagine anyone else caring about something so small lol
you may be asking: is that current time and greeting?
and my answer is yes, that's a stupid detail
I was thinking if I could draw the rest of the interface as vectors, but I don't think that's a good idea
because I do not have the time for that mostly
I still think it should just be a screenshot and dodge all the accuracy snags, but you are doing cool things with it
well, accurate or not, it's bobby on a watch
kinda funny to think, I did make custom fonts for that, maybe I could do the same for leco
I also made a recreation of Agency from the sdk in a form of pebble font that I never released
I should do that
I think I called it Will or something
agency?
the font used in kickstart
ohhhhhh
don't put too much work into this girl, it does what it needs to
but think of all the overengineering
I am 😆
anyway, I would like to record bobby, but I can't
I might have to modify the code a bit to make that happen
there's fiddling that needs done in other places
like put 16px between the bobby title and the subtitle under it
I'm gonna pretend to be bobby if bobby doesn't let me do this
anyway, I clearly don't know what I'm doing
hmm
next order of business is getting the right edge of the watch screenshot widget to line up with the right edge of the cards below
I also think it'd look good if the header kept the pink background but the cards were on a white background - reminiscent of this thing the header on rebble.io
that's personal preference though
the Bobby site should be pink but right now there's so much pink that everything drowns in it
yeahhhhh yessss
we would have to do use black instead of white for the cards then
or pink?
the cards right now are transparent white
huh
can they be opaque pink instead
let me try and sketch out what I'm thinking actually
yes yes yes this is perfect! that's exactly what I was thinking
okay, one last tweak: make the "get Bobby" button white/black/same color as text so it stands out more on the pink header
what are your thoughts on this look?
technicality tbh. it looks good
what text color?
the text is black, so probably make the button fill black and the button text white
the problem I'm noticing is bright pink button blends in with soft pink background
yeahhhh!
hmmm can we make that button bigger
how big can it be for three syllables of text before it looks weird
do you think this is better than all pink?
pfffht
button jumpscare
I want to work on Bobby chalk tonight
i have enough system components built out to give myself a scaffold
i do miss Bobby very much when I wear my round
thing about my new design: we will need to include a new roughly 40-50px version of most of the icons we already include at 18px
actually, 25px for the little bottom peek and ~40-50px for the big card screen
that shouldn't be an issue outside of me having to do all that
yeahhh
I'm not gonna complain though
i can redraw the icons if you don't wanna do it
it would be nice to have some texture behind those cards
I like to show off the blur
I would love to redraw them
though it's probably better to split
i am still not entirely sure if supporting round is something Katharine cares about implementing, especially with it requiring all the conversation screen logic to be redone
the size we need for card icons will depend on if I feel they need to be smaller to fit more info into one card
i'm loving all the updates, but i would say personally i'm not sure that right-aligning the watch graphic is doing it for me. Maybe it would be improved if the descriptive text was wider, but i think i like that part as is... just feels like there's a really large empty space here when the browser is fullscreen
if anything i'd consider shifting both the header elements toward the center and having the content be center-aligned
how many bobbies can we fit there
ooh, new bobby challenge unlocked
good catch. i think the answer here is have the text fill its container with 64dp or so of margin between it and the watch
yeah, i think that's also worth exploring - unless it suddenly makes that block of text look "off" it's probably the simplest tweak 🙂
infinite thanks to you for shouldering the burden of doing website btw
bO
it's not just me
I did relatively little in all of this :D
Do lemme know if there's anything else that I should look at tho
I would say recording bobby, but I don't think that's very likely
I think we should just use some screenshots in there for now
oh yeah, would you be able to have a look at why that screenshot can be scrolled?
I will fetch a few screenshots and write a small thing to just scroll through them
do a cropped screen record with emulator
Yea recording is hard for me to do as emulator lags for me too much, at least on my laptop
I can record, emulator is fine for me
Can have a look later this evening, probably just need to disable pointer events if you want it to be handled just through scripts
does bobby work in emulator for you?
I can try
I would appreciate it
anyway, I should figure out the text I wanna put on the website
It is time! Give or take
@wooden wedge How is website looking? I'd like to push out the blog post within an hour or so.
it's pretty good, I am finishing up displaying screenshots in the watches
I'm sure we could add more content, but I am not good at generating content
I see Bobby is still even more anti-emulator than anti-pebble
I am also anti-content
I have a blog post that is 90% pictures because I had nothing to say
well I'm not anti content I'm just bad at it
ooh, pretty
I will finish the screenshots on watches meanwhile
I wanted a nice animation and I am getting it
deployment is presumably going to be easy for people who have this kinda access
@harsh brook are you around to migrate the repo to the org?
if not, there's nothing stopping us from creating another repo
except for me anyway
besides you not being able to
because then its google property? (genuine question)
No, anything I do is Google property regardless of who creates the repo
But Google policy holds that I can't start OSS projects without Google approving me doing so.
I can, however, contribute to an appropriately-licensed OSS project with no approvals needed
Bobby, for instance, went through a full launch process at work
(including three rounds of privacy review)
which is why, despite me having actually made Bobby in 2023, I did not ship it until 2025
(Not because the launch review took two years, mind - it took about three weeks. I didn't start it until 2025 because getting launch approval for a ChatGPT wrapper seemed dubious.)
(There's a reason it uses Gemini now and aside from Gemini 2.0 Flash actually being quite good it's because it had to make it through Google's approval process.)
gotcha, thanks for elaborating!
fancy
You could steal some screenshots from the blog post if you're so inclined (especially since that weather query would show a widget these days)
that's fair, there is a weather widget somewhere in there too
that being said, replacing screenshots seems secondary
I should be making a banner, shouldn't I
I guess we'll start with that and see if it looks broken
not too heavy, probably - less text than the website header has
my distro updated to gimp 3 so we will see how fast I can be with this new software
big "bobby", screenshot to the side the tagline is good, maybe that's all it needs
Just "The tiny horse that knows it all - Bobby - Rebble AI Assistant"
that basically covers it
and watch container with screenshot at the right
probably a screenshot of the home page
up to date screenshots!
I was just taking one
you should use the colour corrected ones
bobby is not nearly as pink as in your screenshots
cobble just needs to gain this map: https://github.com/pebble/pebble-tool/blob/master/pebble_tool/commands/screenshot.py#L61-L128
I'm on mobile, but if I get an invitation I can indeed just transfer ownership
Dunno who is the right person to ask
you are invited.
seems okay, might be a bit much text? I'd have to see the whole thing to say
I cannot touch it without a license
for legal reasons!
yeah, that might be too much

Please do so! I am free to take suggestions on what it should be, guess if anything the same one as the existing rebbleio website
apparently it now lives at https://rebble.io/bobby-website/ which is a ridiculous URL
Bobby is a new voice assistant for Pebble, using Google's Gemini technology.
Bobby can: - Answer questions about general knowledge - Do calculations for you - Tell you the weather - Set timers and alarms - Set Timeline-based reminders for the future - Convert between currencies - Tell you about nearby restaurants and businesses - ...and more!
Us...
thanks github
it's a shame I can't change it to just rebble.io/bobby without renaming the repo
oh well, bobby.rebble.io it is
there's a license now
Thanks!
Oh I see things are still scrollable 
I'll look at fixing it once I'm home again
Nice swipe effect
I underestimated the amount of space I have for the pony image
well that did not work. https://bobby.rebble.io
Bobby is a new voice assistant for Pebble, using Google's Gemini technology.
Bobby can: - Answer questions about general knowledge - Do calculations for you - Tell you the weather - Set timers and alarms - Set Timeline-based reminders for the future - Convert between currencies - Tell you about nearby restaurants and businesses - ...and more!
Us...
I assume you need to update the config for the styles to work
probably.
it's trying to do https://bobby.rebble.io/bobby-website/assets/pager/p2-4.png
Website for https://github.com/pebble-dev/bobby-assistant - pebble-dev/bobby-website
You now have space for "the" in "shares world's knowledge"
I also think I have space to flip them around
Styles look happy now
Err, almost, guess the text is still too wide, letting me zoom out
That'll do
cool
I will do the things when you send the file.
though it looks like I don't get to specify a banner for it. maybe it just uses the app's banner?
guess I'll replace the first banner with this one
thanks!
I really wish you could reorder assets in the dev portal
let's see what this does
eegh. is this gonna stay
well, post your feedback
it feels busy with both
it is relatively busy
the tiny pony blown up to massive stroke width also feels extremely clunky
yeah
that's the main thing i think.
if we want more art in the banner i feel like the banners you did for the app store work a lot better
I mean, in that specific file, that scale makes sense for 80px icon
but the fonts in that file are also 2px tall
well that didn't work great
mmm
not particularly useful to have a big whie rectangle
I bet that pink at the bottom is the banner…
I can't see pink. only orange
"banners": [
{
"application_id": "67c3afe7d2acb30009a3c7c2",
"image": {
"720x320": null
},
"title": "Bobby"
}
]
I am open to creating something more creative, but I also want something that works better as a general banner
so I'm open to any ideas you might have
oh apparently the banner is set separately
and is another thing you can't upload
it's also not platform-specific
that makes some sense
I'd agree that having bobby and a bobby screenshot feels less necessary/kinda busy. fence bobby got removed specifically to be replaced by the watch screenshot to provide more context
standalone bobby could go somewhere lower down the page, maybe?
oh, that's for the app page? instead of the current one?
no
i'm confused :/
that's for the frontpage of the store
OH, gotcha
it's fixed
though it might still be busted on chalk and aplite
might have to hack something up so it just doesn't show there?
that doesn't seem to be something we considered.
yeah
okay it does show up so it's not just busted
it's just also pointless because it's unsuppotred
anyway will deal with that later
blog post time
copy that- let me think
i'd consider:
- removing standalone bobby or reducing line thickness (A)
- if bobby is staying, shrinking the smaller text at the bottom (B) so that it doesn't get so close to the watch graphic (if standalone bobby is leaving this won't be necessary
the small text is very small on my phone
maybe the blurb goes away and the rest of the text gets bigger.
yeah, was about to suggest that as a third possiblity
yeah, that doesn't sound like that bad of an idea
I’m excited to announce a new Rebble service for our paying Rebble subscribers: Bobby, a voice assistant app foryour Pebble!Bobby is available from the Rebbl...
for reddit post, thoughts on the title:
Introducing Bobby, Rebble's new AI assistant for Pebble
maybe voice assistant instead of AI assistant
don't want to AI too hard
imo
- embiggen the watch so you can see the screenshot pony better
- drop the supertitle above Bobby
- bigger font size for the bullet points, and/or...
- replace bullet points for a more natural "this tiny horse can check the weather, set alarms and timers, search the world's knowledge, and more" across a max of three lines
if you embiggen the watch it ceases to be pixel perfect (and also doesn't fit)
it is not pixel perfect
the banner templates are kinda bad
feel like something like this would be perfectly enticing - i'd click through to learn more
anyway please feedback on reddit title
people get more info once they land on the page
the thing that is happening now instead of the thing that happened twenty minutes ago
I do like voice more than ai
should it be Rebble instead of Pebble? to immediately set expectations
it already says Rebble
well. you're too late now
lmao
"for rebble" feels weird to me because a rebble watch isn't a thing
indeed
rebble is an organization and a set of services, the watches are pebbles
it doesn't matter because it cannot be changed, but it also does not make sense
please forget i opened my mouth
https://www.reddit.com/r/pebble/comments/1jj0ew2/introducing_bobby_rebbles_new_voice_assistant_for/ in any case
you're fine
bobby.rebble.io sadly doesn't have a banner I wanted to add because I didn't have the time
there is a banner.png it tries to use but doesn't
because it doesn't exist
as in the path exists but the banner doesn't
I am making no sense
so what's the state of appstore banners?
I do generally agree with this
(but that's unsurprising because it's identical to my original suggestion)
I mostly ask before I post something on bluesky, where I guess I'll manually attach a banner because rebble doesn't embed anything
I am working on it
👍
I have no idea how I'm supposed to run migrations against the appstore database
Which makes it much harder to make the home banners platform specific
Where?
I guess I just attach myself to the prod database and run it
But the appstore won't start if the migration hasn't already been performed
I had this problem on Auth and just gave up and had it tell me the SQL it would run and ran that against the database by hand
Thus doing the first Auth migration that has been done in six years
docker-compose exec appstore flask db upgrade is what I ran against a blank DB according to my notes
check out it is webpage?
To my understanding, "it's" -> "it is" and "its" -> possessive
¯_(ツ)_/¯
Removed scrolling alltogether since your auto scrolling solution doesn't need it at all, and slightly tweaked the header screenshot to try and prevent pixel gaps by enlargening it by one percent and tweaking the frame border values a tiny bit
You are correct, I am currently in bed with a bad headache and should go back to bed 😁
I should have moved the text a bit
Do you intend to move the text or should I use those?
mmm, I will move it real quick
this is much much better than lots of tiny text
this is fine
also this time the watch screenshots are pixel perfect
because I used my own frames and not the ones from the banner
I'm going to replace the banner at the top of the blog post with this too
cool
it is done
we should run a formatter over this entire website, it's a mess
Bobby is a new voice assistant for Pebble, using Google's Gemini technology.
Bobby can: - Answer questions about general knowledge - Do calculations for you - Tell you the weather - Set timers and alarms - Set Timeline-based reminders for the future - Convert between currencies - Tell you about nearby restaurants and businesses - ...and more!
Us...
yay, a banner
I wish it was bigger, but that requires x specific metadata even on discord for some reason
I sort of hate websites that show a giant banner despite the banner not actually being the intended content
though I do understand the desire to make that happen.
tiny banner it is
I guess when linking a marketing website it is the intended content
less compelling argument when I link a github repo and get a giant github banner
those are the worst
Fiddled with the responsiveness a tiny bit more, should be less broken now
cool
do we care about iphone 4's
I think we need to make it pinker specifically for that tablet
detect kindle colour user agent, make it bright pink again
so it gets muted back again
the experience of colour on a kindle is much like the experience of colour on a pebble
looking at the logs I'm seeing "user has no subscription" pop up more now
well the app is free, it's using it that's not 😄
fair 🙂
does bobby show a warning or does it just not work
it shows a lazy warning
a notification appears when you launch the app
(as in an actual Pebble notification)
good enough
an effortful solution could look like removing the actionbar mic and example prompts from the home screen, and the speech bubble telling you to subscribe to rebble
Man https://bobby.rebble.io/ does look really good
Bobby is a new voice assistant for Pebble, using Google's Gemini technology.
Bobby can: - Answer questions about general knowledge - Do calculations for you - Tell you the weather - Set timers and alarms - Set Timeline-based reminders for the future - Convert between currencies - Tell you about nearby restaurants and businesses - ...and more!
Us...
it would be even cooler if the canned prompts still worked and gave you canned answers with a subscription prompt at the end
(or real answers with a subscription prompt at the end)
oooo
oh well, this is probably bobby's one moment to shine and we didn't do that
I don't know. Do we tweet things any more?
But we haven't tweeted that we've moved to bluesky
I feels like if we're going to have a principle we should stick to the principle
Though we haven't actually announced the move so we aren't doing a very good job
Fair. I think we should do a final tweet saying we're not tweeting then
I think we want to also spin up something in fediland before we announce moving anywhere
then offer both as options
but spinning something up in fediland requires board approval
because it costs money
those five dollars a month are going to bankrupt us
I guess until we get that sorted out we could keep tweeting.
Imo we should bin off honeycomb, that'll give us loads of five dollars' to spend
But fediverse sounds good
We can still do metrics, but something we host ourselves
That costs less than all our other cloud bills
Is Rebble not already on the fediverse? https://mastodon.social/@rebble
I guess so
though if it's news to everyone, has made a total of five posts, and only one person has access, also arguably not
I asked "can you tell me a number whose cosine is itself" and it restarted my watch lol
it's a hard question
it even said "getting a calculator"
I asked it and it just said "that"
which by itself didn't seem particularly hard to do
lmao
I do think asking a watch to find a calculator is a bit too much to ask
wait
lua legit has a constant called math.huge?
apparently
eh I think asking it to do math is understandable, I'd like my pebble to be smarter than a casio databank
after an unplanned restart it actually gave me a correct answer!
it probably helps if it doesn't mishear "cosine" as "cofine"
or dentist
or dentist
honestly after making the new rebble audio debug feature I'm amazed it ever understands a word I say
I was literally just wondering "what does any of this sound like?"
does rebble have a service for you
speech recognition tends to misunderstand me
but come on. "dentist"??
Press "enable audio debug mode" at https://auth.rebble.io/account
then use dictation and go to https://audio-debug.rebble.io to listen to the audio
logging of what?
just general error logging
it died again during the "getting a calculator" part
that's a shame...
all the more reasons to celebrate having the source code, I suppose
also, I don't want to hijack this thread too much, but is it normal for the microphone to be constantly popping?
who knows, nobody has ever really listened to these before
the audio on some of them is quite terrible though
like this
guess the copy pasted site description could be trimmed down a bit
okay... how does it even recognise anything from this??
did it recognise anything? 😄
I sure can't understand it
anyway this is why pebble speech recognition isn't very good sometimes
the microphones are really bad
actually my Pebble 2 sounds perfect
but my Pebble Time Steel is abysmal
I thought it was just my accent making it hard sometimes
unfortunately, while the dictation request includes the type of phone you are using (and also for some reason your network carrier), it does not tell me what sort of watch you are using, so I can't helpfully label that in the dictation UI
and also for some reason your network carrier
Could that have been to do with the hacky sms replies on Verison?
no, I think it was a contractual requirement from nuance that we tell them
That is weird
the SMS replies were a separate adventure
I think only @wooden wedge has a lot of them
doesnt matter what it is im just doing napkin sketches
ill grab one of the bitmaps off github
okay, napkin sketches about chalk
each Widget can be represented by a small icon, which will show in the peek when it is the card below the one youre viewing. bobby's smallicon is a little horse face
also, each type of card gets its own color code - user prompts are grey, bobby text responses are pink, tools can be a third thing
here's an example conversation thread. while bobby is thinking about what to respond with, it shows you your prompt, and as soon as bobby starts to reply the screen wil automatically flip down to the top of the response widget-stack
more widget card sketches
I should upload them somewhere
the deepest, darkest secret of Bobby:
for i, w := range words {
ps.conn.Write(streamCtx, websocket.MessageText, []byte("c"+w))
time.Sleep(time.Millisecond * 40)
}
the words appearing gradually on screen is entirely for show, there is a delay introduced at the server
I just had a brainwave
A companion app that detects if you have a Bluetooth microphone attached, and uses the audio from that when Bobby is invoked
I see you have learned things about the quality of the pebble mic
That's not impossible
But then again, almost all Bluetooth headsets also have horrible mics
Have you listened to a pebble?
In several of these recordings it is not clear anyone is speaking
Yeah I can hear it if I turn the volume up
I still couldn't tell you wtf is said there
I have more respect for the Google speech recognition now
what's the mothra seeking sunder
that's my guess
maybe it's a kaiju, pokemon and a type of fish
maybe it's thunder
I am lost as to how voice recognition even works anymore
The new one is a two billion parameter transformer model trained on 12 million hours of speech in 300 languages
So I assume it's matrix math and deep magic
how does google even get that much data
right
An interesting property of all these new generation ASR models is that they are capable of transcribing in a language different to the original audio
Apparently this is just an expected capability now
No translation step needed
that would make writing a translation app relatively easy
well, that's pebbles for you
True, though you don't actually get audio input from them
yeah, that really is unfortunate
I guess there was some concern about privacy though
Also practicality
It's much easier to ship text
But privacy was big too
I'm considering building a mechanism to register your app with the ASR service to get a webhook when the dictation is invoked for your app
Maybe then the ASR service returns a UUID as the transcription and passes the same one in the webhook so you can match it up
that sounds really cool
Opt in in the developer portal or something
Not sure who would use it
Bobby could - give Gemini your audio directly instead of a transcript
Though given how incredibly bad the mics are I question the value
Also it would not work in apps that don't use Rebble asr
Or for people who have decided to self-host
Mine sounds fine idk
I checked it on the audio debug and it sounded a very fair bit better than what I expected from how it's been described
Given a bunch of them were posted here you did not have to lean on descriptions!
I have one watch that is perfectly audible
But clearly many are not.
today in Bobby: google is just returning Service Unavailable all the time
woah, like, Gemini API is down?
oh is that what happened
Apparently
This happens sometimes
Which is why that is the one bobby error that has crazy things like punctuation
Bobby tip: after an error message like that, you can long press to repeat your last request
oh good god i just found those, yeah those are horrible
Hooray, bobby has surpassed 100 hearts
Hello everyone! First of all, I want to express my respect and gratitude to your work, bobby, - it's just a miracle, my dream.
However, I found a critical error. on pebble 2 hr, there is a problem when working with bobby in Russian: when making a request in Russian, the request is successfully translated into text, but at the stage of receiving the answer, the watch is stolen and reboots. On the third time, they go into SOS mode. You have to reconnect to the watch and reinstall the OS through the application. There are no such problems in English.
I might guess that this is caused by the russian language pack
I'm not sure I can do much about it
Here is a video with an example of the error
This is really some kind of incompatibility with the English + Cyrillic language package, I changed the system language to English, but made a request in Russian, and Bobby was able to answer me in Russian, naturally the text was in squares.
However, I have not seen such a problem in other applications, so I think this problem can be solved.
Moreover, the application crashes precisely at the response stage, but it displays the request text in Russian correctly.
crashing for random reasons is a very pebble thing to do
hm.
Does it do it for non-weather queries?
I wonder whether the weather widget crashes it
I tried to set a timer for 10 minutes, my request in Russian was translated into text, the timer was set, but at the stage of showing the generated response the clock crashed again
again, the request text is successfully written in Russian, it is logical that the text from ai should also be written correctly, however, at this stage it crashes
i have seen the weather widget work with cyrillic city names before
however only after i have asked it in english
here's an example
good point
I guess it's formatting the response that causes problems when combined with the language pack
lemme see what happens if I enable the english + cyrillic language pack that likes to make the pebble crash
(and which I also don't understand the point of, because my watch displays cyrillic fine without it..?)
ooh @karmic lion, it is a cyrillic issue
I just asked it (in english) to respond to me in cyrillic and it crashed the watch
I gathered
I wonder why
I think cyrillic is also multibyte and latin is mostly single-byte but I don't think I do any interesting text processing on the watch
it's possible the pebble system is falling over doing the measurements
¯_(ツ)_/¯
does the debugger not give you any info about what caused a crash? i'm not familiar with the tooling that's available
what debugger?
there actually is a debugger but since bobby does not run in the emulator I cannot use it anyway
and it's only really useful for app crashes, which this is not.
oh that makes sense, i didn't realize bobby couldn't run in the emulator
asking it to respond with an emoji also crashes the watch
so that leads me to assume it is something related to multibyte charaters
aand now my firmware has uninstalled itself, curse you pebble :p
if your watch reboots three times in fifteen minutes, your firmware gets uninstalled
you can reset the counter by turning the watch off from settings
oh that's good to know
seems fine
...that's weird because it definitely just crashed for me
i'll give it another shot once it finished reinstalling
well, my watch is responding with failures now, so I can't even test
well I managed to crash the app
I asked it for a lot of emoji
it was going fine
then I guess it ran out of memory.
I cannot get bobby to crash
yeah still crashes for me
I asked for 50 emojis and it told me it couldn't send me that many, but I could have 5 😆
What's the exact input you're giving it?
and do you have a language pack installed?
[22:17:02] ation_manager.c:122> Sent message successfully.
[22:17:03] conversation.c:174> Expanding buffer to 16 bytes. New buffer: 0x20024444. Old buffer: 0x20023ab8.
[22:17:03] conversation.c:176> Copied 7 bytes.
[22:17:03] conversation.c:174> Expanding buffer to 32 bytes. New buffer: 0x2002496c. Old buffer: 0x20024444.
[22:17:03] conversation.c:176> Copied 16 bytes.
[22:17:03] conversation.c:174> Expanding buffer to 64 bytes. New buffer: 0x20024b30. Old buffer: 0x2002496c.
[22:17:03] conversation.c:176> Copied 23 bytes.
[22:17:03] conversation.c:174> Expanding buffer to 128 bytes. New buffer: 0x20024c88. Old buffer: 0x20024b30.
[22:17:03] conversation.c:176> Copied 51 bytes.
[22:17:03] conversation.c:174> Expanding buffer to 256 bytes. New buffer: 0x20027050. Old buffer: 0x20024c88.
[22:17:03] conversation.c:176> Copied 102 bytes.
[22:17:03] conversation.c:174> Expanding buffer to 512 bytes. New buffer: 0x20026e4c. Old buffer: 0x20027050.
[22:17:03] conversation.c:176> Copied 231 bytes.
[22:17:04] conversation.c:174> Expanding buffer to 1024 bytes. New buffer: 0x20026a48. Old buffer: 0x20026e4c.
[22:17:04] conversation.c:176> Copied 360 bytes.
[22:17:05] conversation.c:174> Expanding buffer to 2048 bytes. New buffer: 0x20026244. Old buffer: 0x20026a48.
[22:17:05] conversation.c:176> Copied 979 bytes.
[22:17:06] conversation.c:174> Expanding buffer to 4096 bytes. New buffer: 0x20025240. Old buffer: 0x20026244.
[22:17:06] conversation.c:176> Copied 1913 bytes.
[22:17:10] conversation.c:174> Expanding buffer to 8192 bytes. New buffer: 0. Old buffer: 0x20025240.
[22:17:10] ault_handling.c:97> App fault! {1d272bb4-cf00-4e3e-a7f3-7394309e0341} PC: 0x80074c0 LR: 0x80c2b5f
Program Counter (PC) : 0x80074c0 ???
Link Register (LR) : 0x80c2b5f ???
[22:17:10] pkjs> Bobby:315 c🇹🇼🇹🇯🇹🇿🇹🇭🇹🇱🇹🇬🇹🇰🇹🇴🇹🇹🇹🇳🇹🇷🇹🇲🇹🇨🇹🇻🇺🇬🇺🇦🇦🇪🇬🇧🇺🇸🇺🇾🇺🇿🇻🇺🇻🇦🇻?
too many emoji
...okay now it's working consistently, what the fuck?
it crashed after 3 for me
how would i check that? is that what the "Language" setting actually does?
I should probably actually handle the case where it can't allocate memory for the inbound message
You'd know if you'd installed one 🙂
have it tell you to leave the thread and start over or something
okay, then I have not
😁
i do have two choices for language, English and English + Кирилица
that's a surprisingly short list
the only difference i have found between the two is that English + Кирилица makes the watch crash every time I dismiss a notification
Oh. How come people sideload language packs in certain cases then, just ones that aren't on the lp server?
Yes
I asked for 12, it worked, then I asked for 50 and it also worked.
LLM's, y'all.
oh no sorry, i mean on the watch
it crashes for more mundane reasons
The difference between "Sorry, I can't send emojis" and sending me 50 is the LLM 😄
true
on the app i also have that list of languages
there's a list on the watch?
I think that only has more than one option if you already picked something else in the pebble app
🙃
In other news, factory resetting my Pebble 2 has caused the microphone to work again. Beyond me.
Picking a language in the pebble app installs a language pack. Without a language pack the watch knows only English.
With a language pack I guess it knows English and also one other language.
you are in fact right, i explictly set it to english and now it only has english
which in this case is also English
and now i wonder if this means my watch can no longer display cyrllic text in notifcaitons
yes.
that's so weird
why have two language packs where one does nothing and one breaks everything?
Hm?
"English" isn't a language pack, it's the default.
(I think technically this is a language pack, but it is the null pack)
i just switch back to "English + Кирилица" in the app, and it did give me back the "English + Кирилица" option
But even when I set it back to just "English", my watch can still display Cyrillic text.
Yes, because you still have the language pack
You just have the English text
I assume the fonts still apply
but I know from prior testing that the "English + Кирилица" option makes the watch crash when doing various things
so why does it make it crash when it does nothing of actual value?
and why have it at all if it doesn't do anything
I have explained this multiple times already.
There is a language pack called "English + Кирилица".
A language pack is two things: a bunch of translations of system text, and extra fonts to show languages without native support
By installing the language pack, you get both of these things added to the watch
The "English + Кирилица" pack does not actually have any translations (or it does, but they're identical to the source - I'm not sure), but it does include cyrillic fonts
translation file is zero length
The thing I'm wondering is why a pack with no translation or with identical translations makes the watch crash if it's not actually doing anything
So when you change the display language in watch settings, you switch which set of translations you're using
Because if you disable the translation pack and leave only the fonts, everything works fine.
does this include the things that were previously crashing the watch?
(It perhaps has the actual impact of no longer needing to go through the translation machinery to look up the empty strings when you explicitly disable doing that)
there are certain things that only crash with "English + Кирилица" enabled - a specific example is dismissing notifications
interesting, mine crashed too, it crashed when I asked it to send emoji, while I set the system language to English, and the recognition language to English
how do you disable the pack and only leave fonts
this is known to crash without any language packs
that crashes consistently with "English + Кирилица" enabled, but works just fine when the watch setting is set to "English"
apparently by going to settings > display > language on the watch
hmm
no major firmware bugs eh eric?
Dismissing notifications crashes when some apps are open under the notification, but not when others are
I might have to unpack the official language packs and analyse them
because that's sus
hmm, that makes it even weirder
presumably it's running out of memory. or stack.
I wonder if it's a stack thing, and looking up translation strings requires pushing an extra thing onto the stack or something since it's calling another function
the notification UI was always running out of stack
by the way, i do want to say thank you @karmic lion for building bobby despite all the weird limitations it's had imposed on it by the firmware
it's still amazingly useful and i'm glad it exists - hopefully one day some of these issues might get fixed and it can be even better
anyway I have shipped bobby updates
- it is now less likely to be wrong or throw an error when you ask it what the time is in a place that isn't your current location
- it is now able to answer questions like "how far is it to New York?"
- POI lookup was broken but is now fixed
- with the 1.1 update, it does not crash when you change settings in the config page
to whoever just tried that: it can't tell you how far away new york is if you have location disabled, which you do
yeah, that was unhelpful
to bobby and me
bobby has a nebulous idea of what nearby means
bobby thinks all results are nearby
because they are the closest results that satisfy the query
having too much fun
woman i hung out with today asked me about smartwatches (happens to me) so i showed her Bobby; the fence pony art got squeals of delight
😌
that's really cool to hear
I would love to see some mockups and start working on it
I think the next thing on my bobby to-do list is to handle being out of memory
Instead of crashing it should just start throwing away conversation history
And if that doesn't cut it, it should stop
... without allocating any memory, of course.
I'm not sure whether throwing away history will really help - if it's trying to allocate space for a very long answer the resulting memory may well be too fragmented to be useful
But at least it can do something other than crash immediately
I think I'm up for doing the round work at some point
Though I have no idea where my round watches have gone to
I wish I could find a nice band for my round, I don't wear it very often because of that
i have posted a few mockups in here
they're 50px icons for now but they feel very cramped
do you need some help with any of it?
widgets
here's a conversation thread
that does look pretty cool
I would appreciate that - i think these are competent but the widgets are missing something
im not sure if more space is what they need
have I posted my Bobby figma drafts?
circles are on page 2
I kind of wish the author of the message was a different font or something for differentiation
it's a smaller font
what I am doing to approximate pebble fonts here here Pretty Bad
things im thinking about:
- we could use our existing 25px icons as the confirmation for every widget and free up some space, though i really like the big art
- need to vertically center text responses that don't take up a full screen height, for the added width of screen
- the horizontal timer layout Doesn't Work and i should put the live countdown below the big icon. maybe move the name to the top in small text, and drop the "for 5 minutes" - bobby doesn't show the max time of a timer on widgets on rect anyway
I would love it if the lightbulb icon with the circle would do pulsing
yesss I was thinking similarly
I imagine it would work like this: you have a normal thinking dot that pulses, but the moment the card for thinking would appear on time/2, makes the dot yellow and expands it to be large enough to fit a bulb within
it would also be nice to use the pdc animation that the firmware uses a lot of expanding icon
yeah.. gods we would have to find a spot for the thinking dots wouldn't we
I think the bottom half circle indicator is a good place for it while processing
I suppose we could shove it into the bottom but I don't love it
yeah
it'd have to be cut to just one pulsing circle instead of three which isn't great
actually, I wonder if you could expand the dot into the entire circle indicator at the bottom
to make that pulse instead
actually no
expand it from a dot into the circle for bulb, and then after it's done, it expands from the circle into the bottom indicator
it's grow + move down probably
do you think that animation would be very visible at the edge of the dark Spalding screen?
ough
well
the screen ain't great :p
i think that an animation living in just the bottom margin would be hard to see without the backlight
I mean, I imagine yellow is particularly painful
I found a band I might wanna buy for it, so I might wear it more often whenever we are reunited
I found really good looking cork straps that I love
I love natural material and this looks like a pretty cool alternative to leather that is vegan
cork?? that's super cool actually! can it bend without tearing?
people seem to be using them for years
better than what I can say about the default ptr band
my pts band lasted a bit longer
but yeah, it also fell apart
I'm really sad because they look so nice
at least bobby came with your existing 3 dollar subscription
Would it be reasonable to make location-based services estimate based off of your IP address if location is turned off?
The point of turning off location is to not use your location
We don't actually have to ask permission; we do so as a courtesy
Is there any "easy" way to know what the equivalent for timers, alarms and reminders are in other languages? I switched pebble to spanish (I'm responding to 100x more spanish messages than english ones), and I asked bobby for an alarm and Bobby set a reminder... it worked but.
And, I just added an Alarm, and it actually added an Alarm, not a reminder. oh well
"bugs" tend to resolv every time I ask for help
Do you have any really big bug? I could ask for help with it and it might solve the bug....
Unfortunately, there is no magic word (in any language), and I don't know how I'd improve that behaviour.
You could also try setting your dictation language to "auto" and then in theory the watch will figure out what language you're speaking on the fly, but your mileage may vary.
But in general: when bobby misbehaves, please report the thread either by long-pressing the middle button on the conversation, or by asking Bobby to send feedback about the conversation to the developers.
ok
two thoughts I had: what is the Google Calendar (or any kind of Calendar) integration ability? Probably low since that's what reminders are for. Also, one of the main things I like to use AI-on-wrist for is game walkthroughs. ie: "In Legends of Zelda Echos of Wisdom, how do I escape the first room of the Deku tree dungeon?" so I was curious if other wiki sites could be added to Bobby's knowlede. Fandom could be a good one to add because then a whole world of awesome nerd media then becomes queryable
If it's a mediawiki with the APIs enabled (and is popular) this is a one word change. Unfortunately, Fandom in particular is an entire thing in itself
Ok like these? https://m.mediawiki.org/wiki/Sites_using_MediaWiki/Wikimedia
Yes
Looks like a lot of really useful information haha. Bobby can use one of these at a time and currently uses Wikipedia?
Bobby could get the headlines from wikinews maybe?
Wikiquote would be fun
Just did the bare minimum to get Bobby on Chalk - glad that it needed only minor configuration to build & deploy
Before I dive all the way in, is it worthwhile me doing this? As much as Chalk is a PITA to design for I really do love it; but I don't want to waste time duplicating any work that's already in progress
I do use strategywiki sometimes for this
a minecraft wiki could also be useful from my pov
Cool stuff! The issue with getting Bobby on chalk was never a technical challenge, but a design one - Bobby is built of mostly dense, rectangular widgets and text on a continuously scrolling view, none of which fly on the round Pebble screen. Solving this design challenge is something I've been chipping away at slowly
This is roughly what I have so far
feel free to ask for any resources you need to accomplish it
😊
I've been following your descent into madness journey on this problem and planned to implement your designs, and then just "make it up" to get things functional where needed
(Like making sure text wraps sensibly, elements aren't cut off - real basic stuff)
lots of horsing around ahead
text wrap isn't awful on chalk, there are tools built into TextLayer for sane behavior on chalk
Details on how to use the Pebble SDK to create layouts specifically for round
displays.
make everything more centered
like.. max height is somewhere around 116 pixels, but within that, we are centered to get the most out of the screen width
oops, those layouts are the same
timer variants
'timer' label gets replaced with the name of the timer, if exists
this really, really feels like it's missing something still.
anybody have ideas?
I have animations in mind, but that doesn't seem very helpful
it's kinda weird there is no scroll indicator at the top
we can put it in place of the statusbar
I assume it would work the same way as rectangles then
i'm kind of, sort of, working off the notifications app on chalk for this, which has a down content indicator but no up indicator
that's why the timeline past isn't easily available I guess
it does help I think
I imagine that moving the icon to the left of the text would make the layout a bit weird
that's what i'd do on rect
what does the notification look like when you are on page 2 of it?
my worry with bobby is that the pink reduces the contrast a bit
full screen of text, drop the header, keep the status bar and content indicator
it doesn't sound like it should work but on the watch it works
it's like
this is true
i have a few thoughts about it
I wish we could keep the header somehow and not necessarily have everything be pink
have a smaller header on second page?
- shocking pink is pretty light, and we can switch up to richbrilliantlavender for even better contrast
- the system does do this in several places on basalt and chalk, notably Timeline pins and the music app are text on a colorful background
- i desire more pink and more pony
could do, could do
because like, you can do a significantly smaller circle on second page
exclude the header icon
keep just the time in the header
just for the things bobby says that is: for full screen widgets I would keep full background
that would differentiate the two even better I think
my worry with that is that there is no good way to indicate YOU this way
YOU is a little boring but what icon could meaningfully and playfully indicate the whole person using it yknow
so youre thinking we give the text response pages a white background, but a pink header like a notification has?
I was thinking
YOU
it's impossible to read
I don't know, I would have to try and fail a couple times
I do like that I managed to draw something that resembled it in google keep
it's a cute little pictograph for sure
i was honestly going to just leave user prompts basic
grey background and all. it's probably fine
this might be a bit more viable if I manage to convey that form
Also consider: the rule is (now) that if something appears above the bobby header it is trustworthy, but if it appears below the bobby header it could be made up
This layout puts everything above the header
This is particularly interesting for timers, which can be in either place depending on the context
the thought for me was that anywhere the model decides to insert a widget, it would behave like a page break on round
That seems orthogonal?
anyway, I agree with this, I would only do something different for bobby
Or perhaps causitive
then i don't understand what you mean by 'above the header' here
By giving each widget its own page with its own layout, there is no defined start of response
Which is what the "Bobby" text is on rectangles
Before that: objective truth, things that happened. After that: things the model made up
But as far as I can tell you've reattached the "bobby" label to text responses, specifically
ah!
Most widgets can only appear after the "bobby" header because the app will never generate them, but timers can appear on either side - the app puts one there when it sets a new timer. And besides, following the rule would be nice.
I'm not overly attached to this because practically I don't think people can distinguish that some parts of a response are definitely true and others might not be
(my mental model was that everything in a little box was true, except maybe numbers sometimes, but now i am second guessing that)
The lie detector is to solve that (and to solve the issue where people don't notice the model lying about doing something because the confirmation prompt just didn't appear because nothing really happened)
Timers definitely count down, but the model gets to pick when exactly they count down to. You can probably get it to produce one without an associated timer if you try
Numbers are always from the model, weather is sort of from the model but it only gets to pick a layout and location
It never gets to make any of the things with a stripe on the left
But the thing that's actually consistent now is that the LLM response starts at the "bobby" header
I guess with the edge case exception of communication errors during the response, which will appear whenever the error was
okay, what i'm hearing is that on rect, "Bobby" specifically denotes the start of the response. within a response, text and model-inserted widgets are not distinguished from each other, but the app itself can place widgets before the start of the model's response. This round design breaks that rule by associating "Bobby" with the start of any run of text, not the start of one [entire response] to one prompt
Big fan of the finger point, if perhaps a little "rude"
If all else fails, a microphone icon might be a decent stand-in
i still don't feel like i understand every reason a widget can happen
I think you could have an indicator that bobby created a widget by adding a pink half circle at the very top
though, again, that indication relies on an object in a margin on an already tiny display
i am tentative about having top headers because we would probably run into screens with a peek at both the top and bottom
that ig get split into two screens
you could also use left margin for icons or something, but that seems sacrilegious for round interface
ugh, the fact that it doesnt continuously scroll makes it so hard to denote starts and ends of anything
on a rectangle you can tell roughly how long a response goes for when it scrolls off the screen. on a circle you just have to keep scrolling until you find out
you can specify the number of remaining pages, can't you?
idk if that's how notifications work on ptr
that is actually dropped from ptr!
the one bit of the firmware i can think of that has a meaningful page count is just gone on ptr
that's not really surprising, but also annoying
this freaking watch, man
hear me out || yet I am braced for "eww" ||
I was saying left side for that reason
I would do half circle on the left
but that feels like breaking the convention in ptr ui
mm, was about to say
it could work!
I appreciate this suggestion is a "new pattern" but it kinda works as a little bubble
put the peeks there too
no I mean
put them on the left too
put an icon under Bobby
we do have smaller icons that could work there
is that how timeline works on round?
OH HANG ON ACTUALLY
I'm so smart 🤓
timeline does something like this
ew
only issue with timeline interface is that the "respond" action wouldn't make as much sense
where's roundness
IDK about ew... it's giving speech, no?
sure, but that seems like the designers gave up on making it look good
or making it look round
round = good after all
my favourite font is comic sans
aw, I wish it would be circles
I would love more icons in the sidebar to indicate an action below
see i feel like having a circle at the edge of the screen communicates that theres an action you can take here
yeah, fair
The lines make sense for timeline because it's representing navigating through a continuous line. This is not that. Especially if you do them both.
