Categories
Programming

I got my Pebble, now let’s play

Just received my Pebble smartwatch yesterday, a bit more than a year after the Kickstarter campaign has ended. Its pitch is being a watch with e-paper display, Bluetooth communication with Android and iOS, a Cortex-M3 ARM processor, with the ability to run programs that change the watch look (“watchfaces”) or provide extra functionality (“watchapps” ).

I almost forgot about that I have supported it, until my friends on Facebook started to receive theirs, and I run into a person recently wearing one (the red coloured one, mine is gray and that was manufactured later). Even if I’m not really a wristwatch person – haven’t had one for years -, I like watches in general and clever new tech all is always welcome with me. (I wonder if any of these will be  in pocket watch form some day).

Pebble watch showing the time, 2:45
Pebble watch in action. Or just chilling and showing the time anyways.

Setting it up was pretty easy, the Pebble app on Android does pretty much everything. Setting up notifications for emails, Facebook messages, calls and SMS is one of the first thing. Until I get overwhelmed them and will turn them off, probably. The app also sets up such that when my phone downloads a file with the right extension (.pbw), it will automatically sent to the connected Pebble. The updates are pretty easy and quick too. I got a bunch of different watchfaces from My Pebble Faces, an unofficial repository that has much more than the official one. Maxed out around 10 or so, then had to use the app on my phone to remove some of them. Easy, though now really feel it all depends on the phone I use as well, the watch is mostly as clever as the accompanying phone app.

Fooled around with it a bit more, checking the alarms, the automatic Runkeeper integration (pretty neat, if only I could switch from “pace” display to “speed” for the watch), some small watchapps. In the case of watchfaces, I switched back to the original “Text Watch” face, which is pretty neat and unique for non-smart-watches. If only it could be modified to write things like “ten oh seven” for “10:07” instead of “ten seven”, it would feel more natural. There’s a watchface called Words o’Date that does that, except that it also adds the date, making the front look a bit too crowded for me. So keeping the original at the moment.

With this playing around I noticed one possible strength of the display, that almost everything can be animated, and that animation is pretty smooth. [Update: it’s actually e-paper, not e-ink, so my bad, the following comparison is not really valid Thanks for the comment.] From my limited experience with e-ink in the form of reading on my Kindle Touch, Pebble is really agile. Looking in the the Software Development Kit (SDK) documentation, there is a lot of functionality dedicated to animation.

After the whole day of usage I was thinking that when I was young(er), I would start hacking on interesting things right away, would have a lot of ideas, put in loads of effort, oftentimes stay up late to make something new to work. These days it’s less like that, even if I have much more toys lying around waiting to be hacked on. Around dinner time I decided that it cannot continue like that, so before going to sleep, will have my very on watchapp done.

Magic 8-Ball

Didn’t have many ideas, though, and haven’t looked yet too much, just wanted something simple. A Magic 8-Ball came up as a possibility: an app that gives you answers to your yes/no questions. It’s pretty easy in the core: a bunch of stock answers (20 in the original case), a random number generator to choose from them, and display it. Can do just bare text for the first time.

To set up my Linux box for the development, got the latest Pebblekit from Github, which is the SDK and examples and all the tools together. Unfortunately everything inside relies on “python” being Python 2.x, and on my ArchLinux this is not the case. The quickest workaround I found was to use Python’s virtualenv. I have also needed a different version of GCC that compiles for the Pebble’s ARM processor, the arm-none-eabi-gcc, fortunately in the ArchLinux User Repository (AUR). It just took a looooong time to compile. These two steps put me right into business and been able to compile the example watchapps and watchfaces.

I don’t remember much of my C skills (never had that much), that are mostly kept alive just by Arduino programming. Fortunately the Magic 8-Ball is simple enough program that looking at the examples, Stack Overflow, and Github, I could find all the pieces I needed (array of strings, random number generator in C, text display).

The Magic 8-Ball app is showing its result to my question: ask again later.
My first watchapp, the Magic 8-Ball

By around 1am I had a working version, and it’s totally fine. It’s even fun, even if very simple. People can get it directly from its page on My Pebble Faces, and apparently while I was writing this, 3 people already did, sweet!

In the future, I would like to keep up this creative hacking. For the Magic 8-Ball I could include some graphics, maybe neater transitions, make it less an “example” app and more an app. It’s really cool, that so many of the uploaded watchapps and watchfaces on My Pebble Faces also share their source code (50% of the 500 items, can filter for it in the search form), so I can learn from that. How much better Android apps would be if they’d do the same? My code is also on Github, naturally, in the magic8 repo.

For Pebble in general, communicating with the phone over Bluetooth can be very useful, if a useful Android app complements it. Smart clothing and accessories are just going to be more prevalent. There are already “next generation” smartwatches out there, like the Agent, that will be cool in a different way (I haven’t supported yet, they got 10x funding anyways).

Also, I think I should put some effort into compiling Libpebble for my laptop, that would make it possible to cut out the phone as a middleman and make things more future proof.

And as a first priority, I should be getting used to wearing a watch again, it’s been a while.

Categories
Taiwan

Create @ Public

I can hardly believe that it is only about 3 weeks ago, that I first heard about the World Creativity and Innovation Week (WCIW). My friend, Dao Wen (creator and maintainer of the Playtivity 玩 . 創意 blog, where I’m an occasional contributor as well) was telling me about it. Every year, April 15-21, celebrate creativity, timed to coincide with Leonardo di ser Piero da Vinci‘s birthday. She was telling me that even if there’s a short time left (less than 2 weeks at that time) and that she cannot be in Taiwan this time, would like to see if I can help her to set up some activities for that week. Anything’s good, she said. Well, I like creative things so I’m a sucker for this kind of challenges. Quicker than you can say “Leonardo” I was hooked, even if I had no idea what to do, who to do it with, or generally anything.

Of course, these days every project starts with setting up a Facebook page, maybe even a G+ Page, and only then start thinking what to do. Talking to a few people, brainstorming, and generally digging up ideas that I wanted to do for a long time, came up with two ideas: one for creativity and one for innovation.

The idea

Reading about what other people did around the world, one pattern came up: everyone is creative, just not everyone knows it. Some people have to be pushed a little, or more optimistically, have to be given an opportunity when they can try something without the risk of getting hurt trying. I’m not saying “without risk of failure”, because it’s always there, but just because something doesn’t work out, it is usually not bad – and that can be part of the message.

Thinking more about the most creative people I know, I remembered Hunter, from whom I always learn new things how to just let it go and make new stuff. Anything goes. He and another friend of mine, Reuben are running Swings Tampa Bay, where they make and hang up swings everywhere around town and engage the people. So I thought, why couldn’t we combine these: go to public and make stuff! Here you go, Create@Public.

Our logo hanging on the tree
Create @ Public logo

The event

Basically one fine Sunday Morning of 2012 April 15, headed out to a park downtown, with a big bag of stationery: paper, crayons, pens, pencils, glue, paperclip, patterned sheets, origami instructions, chalks, other stuff I don’t remember. It was a big bag. Found a nice place, sat down and started to do everything come to our mind.

Cobble stone Scrabble, making a model of the National Taiwan Museum just next to us, drawings, idea wall, collaborative story writing, chatting with passers by, and all kinds of other stuff…. It was such a good feeling for about 5 hours I could totally turn off and try new stuff for the sake of it. I could actually head out there and do this more often than once a year, and maybe will do that…

Group of people in the park, making stuff
People at the event, in the middle of it

Here’s our photo album where you can see all the things that happened.

Also, for the first time, here’s our collaborative story: everyone writes one sentence, then passes it on to another person, and so on. All original with misspelling and that.

The bear was running in the forest. It’s running from a hunter chasing after it. The hunter is called TinYu who likes to eat bear. TinYu is a bad girl who likes to speak bad words, so the only thing she can do is hunting. Suddenly she stopped because she saw a lovely rabbit on the grass, which happens to be another of her favorite food. Same time, Minho (the boy) also is looking for chance to hunt that rabbit. As they both reaching the rabbit, they noticed each other and look into eyes. The boy is not a very handsome one, but exactly TinYu’s type…. Big kiss. When they open their eyes, they both were actually kissing the cheek of the bear, who is smiling now. 1 year pass, they decide to get marry in the forest. The witness is the bear. and Tin-Yu given birth to the child, the child looks like a bear – a cute Teddy bear. The most scary part is about to come…. she relize that it was dream after wake up. And the most horrible part is that: how come “she” dreams about “herself” being a girl named TingYu…? Actually, TingYu is a fictitious girl who is imagined by a sad, lonely and desolate boy named “Ray” who is currently dating a boy called Cliff… So this “bear dream” is it kinda of a self-consciousness that, Ray he wants to be a girl in the real life, so his underground relationship with Cliff can be accepted by the public, and they can get married, have a lovely baby afterwards, happily life afterwards. THE END#

Probably you can guess the names of a few of the people there that day… :)

Chatting with others also had interesting consequence. There was this guy, who came by and started to tell us how the Taiwanese language and English are quite similar, so many expressions have the same pronunciation. Actually, he was twisting things around quite a bit, but apparently it is very funny if you understand Taiwanese. Which I barely do, but it was good enough. One of the guys there took a video of it, and put it up on Youtube:

Apparently it got quite popular on the student message boards, and in a day or two it was up to 20.000 views, and several friends were messaging me, whether it is me in it. Not bad, feature in a viral video – achievement unlocked! I also know the Taiwanese TV channels – they quite often just go on the message boards, pick out the latest popular videos, and present those as news. Didn’t have to wait for long:

Lessons learned

All in all, it was a fun event, and I’m really glad to have done it. Some things I’ve learned from this:

  • Activities which don’t need much preparation can still be very rewarding
  • Many people just freeze when presented with the opportunity of “make something, anything”, they don’t know how to start
  • On the other hand, once you do something yourself, those who are interested and just been watching, will take part and contribute cool things
  • It’s hard to engage the people in public
  • It’s easy to try to engage the people in public
  • Have to find some better way to spread the word than Facebook (this comes up every time, and I don’t have a solution), it is just too limited and too much noise/too little signal
  • I have to check my spelling, because it seems very bad
  • Just a mere couple of good people can turn an event from so-so to great

What’s next

Let’s see if we can do it another time, maybe another place. Also, there was the other event for the week, Hack+Taiwan, just being written up as well.