@@ -1,4 +1,19 @@
1−--- date: ~2017.1.30 type: post title: Urbit in 2017 preview: In 2017, we're ready to start making the damn thing useful. author: Curtis Yarvin + Galen Wolfe-Pauly layout: urbit,post navmode: navbar navdpad: false navselect: blog navpath: / navhome: / navclass: urbit --- <br /><br />
1+---
2+date: ~2017.1.30
3+type: post
4+title: Urbit in 2017
5+preview: In 2017, we're ready to start making the damn thing useful.
6+author: Curtis Yarvin + Galen Wolfe-Pauly
7+layout: urbit,post
8+navmode: navbar
9+navdpad: false
10+navselect: blog
11+navpath: /
12+navhome: /
13+navclass: urbit
14+---
15+
16+<br /><br />
217
318 > TLDR: a real Urbit is a Urbit that does real work. This means nontrivial progress in two areas: systems maturity and user experience. In 2H 2016 we cleaned out most of the worst holes in Arvo and vere, and totally reconceived the user experience. The new Urbit feels like an MVP and we can't wait to ship it.
419
@@ -18,9 +33,9 @@ Galen Wolfe-Pauly is Tlon's CEO and Urbit's interaction designer. Galen went to
1833
1934<img src="https://media.urbit.org/site/sketch-1.png" class="full-width inline" />
2035
21−- *UX*? As a kid it was just *design* or maybe *web design*. At some point I remember people talking about *user interface* or *UI*. But I truly don't understand where the *X* came from. It's like Monster Energy got involved in the branding.
36+- *UX*? As a kid it was just *design* or maybe *web design*. At some point I remember people talking about *user interface* or *UI*. But I truly don't understand where the *X* came from. It's like Monster Energy got involved in the branding.
2237
23−- An *experience* sounds like the kind of thing that's going to be littered with ads, or is going to manipulate me in some way. Something I passively consume. Not something I actively control. So I prefer *interface* to *experience*, and I think you should too.
38+- An *experience* sounds like the kind of thing that's going to be littered with ads, or is going to manipulate me in some way. Something I passively consume. Not something I actively control. So I prefer *interface* to *experience*, and I think you should too.
2439
2540<img src="https://media.urbit.org/site/sketch-2.png" class="full-width inline" />
2641
@@ -34,10 +49,10 @@ Galen Wolfe-Pauly is Tlon's CEO and Urbit's interaction designer. Galen went to
3449
3550- Even your Google account doesn't feel like one thing. Whatever your Google Docs are, it's not a bunch of document files on your Google Drive. All the resources of Google can't make their Borg backend feel like one computer which belongs to you.
3651
37−- The phrase 'general-purpose computing' sounds scary, but it shouldn't be. 'Computing' doesn't mean writing code. We're computing when we browse Facebook or talk to Alexa.
38−
52+- The phrase 'general-purpose computing' sounds scary, but it shouldn't be. 'Computing' doesn't mean writing code. We're computing when we browse Facebook or talk to Alexa.
53+
3954- Your personal server will be solving the same problems today's whole ecosystem of network apps solves, just all in one place that belongs to you.
40−
55+
4156- The closest thing to a general-purpose personal server today is probably the Chinese service WeChat. If you don't know much about WeChat, you should really watch [this NYT video](https://www.nytimes.com/video/technology/100000004574648/china-internet-wechat.html).
4257
4358- From a distance WeChat is great. Everyone in China loves the one-app, one-identity, all-my-own-stuff user experience. It's clearly better than being forced to switch apps constantly.
@@ -53,7 +68,7 @@ Galen Wolfe-Pauly is Tlon's CEO and Urbit's interaction designer. Galen went to
5368- But wait, is the idea of a command line bad UI? Or is the Unix command line just bad UI? We know ordinary people can use command lines. They use chatbots. Long ago, they used MS-DOS.
5469
5570- Today's computing user experiences, the PC and its mobile cousin, rejected the command line. This made computing easy enough, at the cost of hiding much of its creative power.
56−
71+
5772- The power of a general-purpose server which can command not only local applications, but also network services, is at a whole new level. We don't think any visual metaphor or 2D control panel can do it justice.
5873
5974- We need to bring the full power of the machine to the user, without breaking their trust that the machine is on their side. We can't let the user get lost or break the system. It has to feel safe and simple to explore its furthest reaches.
@@ -69,7 +84,7 @@ Galen Wolfe-Pauly is Tlon's CEO and Urbit's interaction designer. Galen went to
6984- This tradeoff — between control and safety — is false. The unfriendly command line is actually just another artifact of 70s computing, when nobody worked on UX.
7085
7186- `bash` is a bad UX because there's no easy way to control its power, or learn all the things it can do, or separate its power to do dangerous things from its power to do safe ones.
72−
87+
7388- At the other end of the spectrum is the chatbot, which is a bad UX because it's hard to make it much more than a toy. Like so many innovations, chatbots happened by accident. It's just a way to connect an input string to network services. But the natural-language metaphor of "chat" is confining. It doesn't scale well to any problem that isn't trivial.
7489
7590- What does a great command line look like? It should have a strict syntax, not try to guess what you mean. But it can't be a constant test of your ability to memorize the phonebook.
@@ -91,14 +106,14 @@ Galen Wolfe-Pauly is Tlon's CEO and Urbit's interaction designer. Galen went to
91106- How should it actually work? Let's say you're trying to put Urbit in control of your Twitter feed. That means you're creating a Twitter gateway on Urbit, which you can control with a `|twitter` command.
92107
93108- Before you type a character, Urbit offers you `|` (any command with side effects). (You could also add a `!` prefix, which is like `sudo` -- it lets you do something dangerous.) Once you type `|`, you can page through a list of commands. Once you type `|t`, that list is much shorter. Once it can tab complete to `|twitter`, it prompts you with that.
94−
109+
95110- And once you get to `|twitter`, you're in a "meta-generator" that's helping you build the correct command line. At least in a browser, you'll be stepping through a form with rich entry. But the command line will show you the text of the command you're building, so next time you can just type it.
96111
97112- Building a command is just a case of data entry. In a command-line world, data entry is always serial. You answer questions serially, one at a time. The only navigation is forward and back.
98113
99114- A great Urbit console also has to be accessible both from a browser and a Unix terminal. That means a prompt needs to tell the console if it could be a radio button, even though a terminal can't have a radio button. We'll improve the interactivity of our terminal a little, but we're not rewriting Lynx.
100115
101−- So, what do you do with this fancy command line? Command everything -- from your urbit to the world. Installing an app is a command. Publishing a tweet is a command. Paying someone in bitcoin is a command.
116+- So, what do you do with this fancy command line? Command everything -- from your urbit to the world. Installing an app is a command. Publishing a tweet is a command. Paying someone in bitcoin is a command.
102117
103118- Your urbit can show you all the things you can do, and help you do them. If there's something you'd like it to do, build it!
104119
@@ -114,7 +129,7 @@ We're actually doing pretty well on the infar. Despite there being all kinds of
114129
115130Of course, it helps that we don't ask anyone to *use* Urbit in earnest. And ships still do sink. Since an urbit is an identity, sinking your planet is a horrendous experience. You'll never bond with your second planet the way you did with your first -- never mind any *data* you may have lost.
116131
117−Our upcoming `cc-release` is the last planned breaching release. With certain exceptions discussed below, all major parts are now (January 2017) code complete or better.
132+Our upcoming `cc-release` is the last planned breaching release. With certain exceptions discussed below, all major parts are now (January 2017) code complete or better.
118133
119134This includes the rewritten network stack (`%ames`), code complete but untested; the new secret vault and promise tracker (`%jael`), mostly tested; and the new `u3_pier` event execution framework, with worker processes and real two-phase commit, smoke-tested. We've also completely restructured `hoon.hoon` and `zuse.hoon`, which now are at least cosmetically acceptable.
120135