~2017.8.11 Update

~sorreg-namtyv + ~ravmel-ropdyl

Usually after a crowdsale we rethink our direction a little. Sorry for the radio silence — it's hard to talk while you're thinking.

We've decided to refocus our efforts a little in the short term, optimizing against long-term infrastructure work in favor of making Urbit work better right now. Bear in mind that this is a short-term decision and Urbit is still a long-term project! We just find ourselves in, um, a very fast-moving industry.

There are two sides to this effort: design/usability and stability.

Design and usability

Making static publishing static

:tree, the Urbit publishing framework, can be painfully slow. In part, this is because we do too much work client-side to put pages together. It would make a lot more sense for a page to be a single fixed function of a URL -- the original "functional publishing" design.

So, we've gone and made that actually work. Server-side includes will now be possible, since we're adding a Markdown subset to Hoon itself. We're also going to improve Vere's internal HTTP server to include our own caching with proper dependency invalidation.

Bootstrapping a style guide

Currently, all of Urbit's CSS and styling is based on Bootstrap. It's not a very good fit. We do a lot of work to override the default styles.

While we were improving some of our example apps a little while back it became obvious that we need our own base CSS and style guide. So, we went ahead and started down that path. After years of working with other CSS frameworks, it's a relief to be producing one that's purpose-built for Urbit itself.

Urbit is a tool, so its branding needs to be completely calm and quiet. It can't get in the way. In a way, a CSS framework is the brand itself. Urbit isn't a logo or a tagline — it's a look and feel. This way, it's a look and feel that you can also send pull requests to.

There's a working prototype of this style guide today, and we'll publish a repo sometime in the next week or two. Hopefully some substantive design discussions can be had in connection with the code itself.

Write, talk, socialize

We already use Urbit to chat and write, but the edges are pretty rough. Better, faster publishing and a look and feel refresh will allow us to update and clean up our existing tools for chatting and writing. Hopefully to the point that they clear the 'Facebook 2004' bar. But, of course, in a pretty different way.


Also, our examples repo is now hosted on Urbit itself. You can just |sync a desk and open a URL on your own Urbit to view the examples.

Try it yourself! The instructions are in this fora post. If you've got ideas for examples to contribute, that'd be great. The source is on GitHub. ~poldec-tonteg just contributed his Tumblr connector, which he is also using to syndicate his Tumblr through Urbit. Check it out.


The last test network managed to stay up for about a year. That's pretty good! During that time we discovered a few bugs that would cause urbits to end up in one-way-connectivity. A short explanation is that remote crashes would often not get properly passed back to the requesting ship.

So we fixed that. We could probably hack this change in via an OTA update, but it's much easier to breach this change in, and it'll be great to have it out on the network. So, we'll be doing a breach once the code has been properly tested.

Urbit + ETH

Finally, we've been working on a design for how Urbit can bootstrap itself off of the Ethereum blockchain. We have a loose specification of how this could happen, and will present those at the meetup tonight. Come, critique and ask questions. We'll publish what we come up with in the coming weeks.

Keep in touch

As usual, discussion is on fora: fora/posts/~2017.8.11..21.45.52..4296~.

Also, we managed to get the @urbit Twitter handle: https://twitter.com/urbit/status/895698846918909952. Finally!