on master help sign in
Add Astrolabe proposal (#1357)
e1fe74fmikeosborne
content/grants/astrolabe.mdnew file+164
@@ -0,0 +1,164 @@
1++++
2+
3+title = "Astrolabe"
4+date = "2022-03-03"
5+
6+[taxonomies]
7+grant_type = ["Proposal"]
8+grant_category = ["App Dev: Other"]
9+
10+[extra]
11+image = ""
12+description = "Urbit address space explorer"
13+reward = "$45000 in WSTR"
14+assignee = "~midlev-mindyr"
15+champion = "~norsyr-torryn"
16+grant_id = "P0120"
17+completed = false
18+canceled = false
19+link = ""
20+
21++++
22+
23+## Astrolabe
24+
25+Astrolabe (%astrolabe) is a one-stop shop %docket app for exploring Urbit address space. Main features: ID Search, Sigil Search, Sky Chart, and Ship View (for viewing a given ship's details). Astrolabe integrates with %pals wherever possible, and contains documentation to explain the many quirks of Urbit address space to a new user.
26+
27+## Justification
28+
29+There should be a place on Urbit to explore Urbit address space. It will help new Urbiters get their bearings, and be a useful tool for anyone who wants to explore. Having open-source tools for this in one place on Urbit is important.
30+I like the name Astrolabe, because it's an old-timey guide to the heavenly bodies. Planisphere could also be cool.
31+
32+## Features
33+
34+ID Search
35+
36+You type IDs into a box to search all keyed Azimuth points. It automatically checks to see if you're typing valid prefixes and suffixes, and warns you if you're not. When you search for a specific complete @p, it takes to you a Ship View of that point. When you search a partial @p (or use wildcards), it will show you the spawned/owned ships which match your search. You can also search by Azimuth point numbers Obviously it will also highlight your pals, and clicking on a search result will take you to a Ship View.
37+
38+There are in-app explanations of how @p's work, what the valid suffixes and prefixes are, why ~dozzod is special, why some moons only seem to have 6 syllables sometimes, etc.
39+
40+### Sigil Search (Sigil Input Tool)
41+
42+There are in-app docs on how sigils work, etc.
43+
44+You can use a visual interface to enter sigils, either just general shapes, or specific shape/pattern combos. As with the ID search, you can be specific or search with wildcards. As far as I know, this tool hasn't built anywhere yet, but it shouldn't be too hard to let users mix and match svgs. Ok, it might be a little hard. See this table to understand why we shouldn't just have a dropdown for each basic shape:
45+
46+### Sky Chart
47+
48+This is mostly a rip-off of Tirrel's PKI Graph, but with some performance improvements. It integrates with %pals to highlight your pals on the sky chart. Clicking/tapping on a point opens a small modal with basic info and a button to take you to a Ship View of the point.
49+
50+There are in-app explanations of the basics of how Urbit ID ownership works, and the purpose of sponsors in networking.
51+
52+### Ship View
53+
54+Summary view for any ship. As on urbit.live or urbit.me, it shows the @p, owner, parent, etc. Allows PNG or SVG download of sigils. Displays tags from %pals, and potentially allows you to add pals and/or edit tags from that screen.
55+
56+## Docs
57+
58+All the explainer docs in the app are also integrated with the %docs app.
59+
60+## Credentials / About Me
61+
62+I have a moderate amount of experience with frontend development (Angular, React, a tiny bit of Svelte), and I've done backend server stuff as well. I'm a hobbyist artist with enough CSS knowledge to be dangerous, and I believe if I put my mind to it I can come up with a visually and experientially pleasing UI for Astrolabe. I'm a bit obsessive and perfectionistic which helps me to deliver polished results. I think I can write well enough to synthesize and flesh out clear and concise explainer docs for each page.
63+
64+I contributed some features to the Canvas app, if you'd like to see a bit of my work.
65+
66+I don't really know Hoon yet, but I'm a quick learner and I think it'll be fine.
67+
68+In conclusion, I think I'm capable of doing the job well, and I plan on doing so, and I would love to get rewarded for it.
69+
70+## Implementation
71+
72+Check out the source code on Github.
73+
74+## Frontend
75+
76+Some of this app has already been implemented in various places. I'm confident that I can pull those pieces together and implement what's missing. The hardest problems that I foresee here are optimizing/reworking the Star Chart from Tirrel's PKI Graph and implementing the Sigil Input Tool.
77+
78+## Backend
79+
80+I'm sure I'll need lots of scries. I'll likely have to write some Hoon to make some scry endpoints that don't exist, or to make more convenient ones. Most likely I'll have to write some Hoon for interacting with %pals. The biggest unknown for me is how search will work. It may be that users will only be able to search for ships that they've had some interaction with. I'll have to research this (probably starting with the Groups search feature).
81+
82+## Milestones
83+
84+I'm planning to put in about 75 hours a month. Since initially submitting the proposal, I've been learning hoon, but I'll have to do some further learning "on the job".
85+
86+The rewards are based on $100 per estimated hour.
87+
88+### Milestone #1 - Skeleton app with Ship view
89+
90+Time to Complete: ~80 hours over ~1 month
91+
92+Desired Reward: $8.000
93+
94+- Make a cool frontend for @p entry (alert user of mistakes)
95+
96+- ship view
97+
98+ - sigil, azimuth info, etc
99+ - may involve learning more hoon
100+
101+- @p explainer doc
102+
103+- put some polish on it
104+
105+### Milestone #2 - @p Search
106+
107+Time to Complete: ~100 hours over ~1 1⁄3 months
108+
109+Desired Reward: $10.000
110+
111+- write hoon for searching urbit ids
112+
113+ - will involve learning more hoon / gall
114+
115+- update frontend with search
116+
117+### Milestone #3 - Star Chart
118+
119+Time to Complete: ~100 hours over ~1 1⁄3 months
120+
121+Desired Reward: $10.000
122+
123+- PKI graph with performance optimizations
124+
125+- networking explainer doc
126+
127+- links to ship views
128+
129+- inevitable tweaking and polishing
130+
131+### Milestone #4 - Sigil Search
132+
133+Time to Complete: ~100 hours over ~1 1⁄3 months
134+
135+Desired Reward: $10.000
136+
137+- design and make a cool ui for inputting sigils
138+
139+- use sigil data with existing search
140+
141+- sigil explainer doc(s)
142+
143+### Milestone #5 - Polish Round
144+
145+Time to Complete: ~70 hours over ~1 month (very rough estimate)
146+
147+Desired Reward: $7.000
148+
149+- Integrations:
150+
151+ - Show Groups profile pic in Ship View
152+ - %pals integration in Ship View and Star Chart
153+ - Display a ship’s public gora (if applicable)
154+
155+- make the ui even slicker, if possible
156+- keyboard shortcuts / accessibility improvements
157+- dark/light mode support
158+- we’ll know what else we need when we get here
159+
160+## In Total
161+
162+Time to Complete: ~450 hours over ~6 months
163+
164+Desired Reward: $45.000