summaryrefslogtreecommitdiff
path: root/memos/WM-026.txt
blob: 1136f31456cf3e3410fb82eafa65be6ed94b2bf6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
Document: WM-026                                                 P. Webb
Category: Project                                             2018.01.19

                           Socii Dispatch 01

Abstract

   Updates with Socii's development

Body

   For the past month I've been hard at work, developing basic social
   network features. Namely, account and post creation and editing your
   profile. To be honest, it's not glamorous work but I've been having a
   blast doing it. Here's what's been completed thus far.

   1. Profile

      📸[First look at your profile][IMG1]

      On your profile, you'll see your avatar in whatever shape you
      choose from available options which are a triangle (the default),
      circle (classic), square (old-school), diamond, and inverted
      triangle. Below your avatar in the first sidebar, you'll find your
      name and username.

      When you sign up for Socii, you're automatically logged in and
      given a generated username based on your email address so feel
      free to change it if something like `paul927465` doesn't quite fit
      you. Anecdotally, I've noticed that as people go through life
      changes they tend to want user/name changes as well so I've made
      Socii unreliant on usernames on the back-end. Friends and
      followers would want to know if you go from `SuperAwesomeMegaTon`
      to `netop://~tonton` and I'm building a notification system to
      accommodate that.

      There are currently no limits on username changes and I can
      conceivably see how harassment could occur with it. You'll be
      equipped with proper muting and blocking tools should you
      unwittingly connect with an annoying person.

      In the other sidebar, you'll see something called "top 8". Older
      readers will remember the *glory* that was MySpace and I wanted to
      bring that back as I found it useful.

      Sometimes I just want to visit a friend's page and I forget what
      their username is (and, if you follow a lot of people who post
      more often than your friend(s), you'll miss their posts). I sure
      know what my friends *look* like though and it'll be pretty sweet
      to see which shapes they choose for their avatars.

      And of course you'll find your personal stream of posts. Within
      each post block is a menu indicator that contains actions for
      editing your post, quick copying of the direct link to the post,
      pinning the post to your profile, and deleting the post. If you
      want to like your own post for some reason, you can definitely do
      that. You can also create threads by responding to your own posts.

   2. Post creation

      📸[Post creator, clean][IMG2]
      📸[Post creator with a code snippet][IMG3]
      📸[That rendered code snippet…wish it had color][IMG4]

      Socii supports Markdown! I'm using a customized version of
      Showdown[1] to enable it. The eye icon in the footer of the post
      creator allows for previewing what your post will look like when
      it's live. The character limit is 150 for reasons that will become
      apparent in a couple months, after I ship a major
      (secret) feature.

      However, your post can be up to *5,000 characters* long if you so
      choose! 😰 That'd be *extremely* annoying to attempt scrolling in
      a feed so posts longer than 150 characters will be truncated by
      default with a button to expand it should anyone want to read the
      entire thing. The question mark icon will give you quick tips on
      how to use Markdown to add a bit of flavor to your posts.

      If you'd like to read a long post but don't have time at the
      moment, you can save that post for future reading.

      📸[Respond to your own post to create a thread][IMG5]

      For the moment, only one post status type is available and that is
      "publish". Forthcoming updates will bring three more: drafts,
      queues, and schedule. Similarly, the only post creator mode
      available is "text" but future updates will bring photo, audio,
      and video options.

   3. In progress

      There's still a good amount of work to get done. For starters,
      there's no way for you to change your avatar and that's the
      *first* thing I do when joining a new service. I also want to get
      notifications and the global/top 8 feeds working. I think being
      able to toggle between what everyone is talking about versus
      whomever in your top 8 is talking about will be neat.

      I want to be more open about developing Socii for a
      couple reasons:

      1. I want this social network to be good for people.
      2. I develop in a vacuum and while I share updates with a couple
         people IRL, I think other people could benefit from what I'm
         learning in the process.
      3. External reminder of what I have accomplished. Most people can
         agree that we accomplish things but beat ourselves up for that
         *one* thing we didn't do. That's demoralizing and I don't want
         to stop before Socii gets into people's hands.

      With that said, I'm making a new commitment to releasing Socii at
      the end of this month for alpha access to members of my mailing
      list. If you haven't joined yet, you can find it at
      socii.network[2]. For more information about Socii, you can read
      this post[3] or check out the manifesto on Socii's official
      marketing page.

   4. Things I've learned

      I figured it'd be a good idea to share what I've learned since my
      last blog post about Socii:

      1. I'm tired of rounded corners everywhere. I've removed
         `border-radius` from all the Sass files.
      2. GraphQL is awesome. However, I've been building REST APIs for
         the past month and have two microservices to handle things thus
         far and that means I'm not transitioning to GraphQL until maybe
         version 1 of Socii is solidified. 😤 Wish I learned of it
         sooner (it's basically a better way to do REST and talk
         to servers).
      3. Styling with `:root`. This[4] is how everyone will have
         customized profile pages. I don't know why every example I've
         seen it used has root styles overriding each other. I try to
         write my CSS in a way that doesn't have style overrides because
         it's a hassle to deal with. If you have `:root.user` styling,
         just have `:root:not(.user)` for your default styling. Easy.

   That's all for now, see ya! 🕸

References

   [1]    <https://github.com/showdownjs/showdown>
   [2]    <https://socii.network/welcome>
   [3]    </WM-023>
   [4]    <https://developer.mozilla.org/en-US/docs/Web/CSS/:root>
   [IMG1] <https://🔥.pixels.wtf/blog/image/2018/socii-dispatch-01-a.jpg>
   [IMG2] <https://🔥.pixels.wtf/blog/image/2018/socii-dispatch-01-b.jpg>
   [IMG3] <https://🔥.pixels.wtf/blog/image/2018/socii-dispatch-01-c.jpg>
   [IMG4] <https://🔥.pixels.wtf/blog/image/2018/socii-dispatch-01-d.jpg>
   [IMG5] <https://🔥.pixels.wtf/blog/image/2018/socii-dispatch-01-e.jpg>