| Feb 20 |
What We Learned
Let's start with the drawbacks. They can be broken down into...
1. Learning Curve
2. Performance & Debugging
3. Collisions/Co-Ordination
|
1 |
0 |
0 |
0 |
158 |
. |
| Feb 20 |
Learning Curve
The new setup required different commands for things like tailing logs, restarting the server, and running background jobs.
Overall I was surprised by how minor this ended up being. We did a walkthrough call, created a cheat sheet, and the team was on their way.
|
0 |
0 |
0 |
0 |
279 |
. |
| Feb 20 |
I remember the first time we got this working - making an update in @code, opening chrome, hitting reload, and seeing changes reflect in real time - it felt like magic. Now it feels normal. But it makes working with apps where you have to wait for deploy feel slow by comparison.
|
1 |
0 |
0 |
0 |
279 |
. |
| Feb 20 |
We ended up with a chunky script that auto-installs everything and uses Nginx & Passenger to serve apps. To start a new vm you just create an ssl cert with certbot, add a few lines to the Nginx config to point the domain to the app folder. Then it just stays running.
|
1 |
0 |
0 |
0 |
271 |
. |
| Feb 20 |
The server setup was by far the most involved part of the process. We wanted to be able to easily spin up a new server that serves a Rails app and requires zero dev-ops knowledge to keep alive once provisioned.
|
2 |
0 |
0 |
0 |
210 |
. |
| Feb 20 |
Diving In
Our first port of call was browser-based tools. We tried @gitpod, @Codeanywhere, and CodeSpaces, which all use @code, but inside the browser. The ease of setup and replicability was great, but coding in the browser still felt like a step backwards vs native @code
|
1 |
0 |
0 |
0 |
274 |
. |
| Feb 20 |
So we ditched the browser products and went VScode-first.
The downside is that we had to set up our own server. The upside is that, provided the server is geographically close to the developers, it feels completely identical to an offline-first setup.
|
2 |
0 |
0 |
0 |
252 |
. |
| Feb 20 |
3. Is architecturally capable of treating remote file systems identically to local ones.
Since early 2022, Microsoft @code has had all three. The consequences and applications of this still seem under-appreciated, but that's for another day.
|
1 |
0 |
0 |
0 |
242 |
. |
| Feb 20 |
In order for this to work, there needed to be a tool that:
1. Is ubiquitous enough that most devs already use it.
2. Has really great built-in support for the "non-text-editor" parts of building software (version control & terminal), and...
|
2 |
0 |
0 |
0 |
245 |
. |
| Feb 20 |
Up until recently, running this experiment was a non-starter, because the amount of behavioural and ergonomic change required was simply too high.
|
2 |
0 |
0 |
0 |
146 |
. |
| Feb 20 |
Additionally, software programming is an area where ergonomics matter a lot. Most developers have spent a lot of time customising their setup to suit how they work, so this also needs to be considered.
|
2 |
0 |
1 |
210 |
201 |
. |
| Feb 20 |
Because of this, developers are rightfully protective of their workspaces, so asking them to code alongside each other, where everyone can see and modify the same code in real time, feels jarring and takes a lot of getting used to.
|
2 |
0 |
1 |
212 |
231 |
. |
| Feb 20 |
This is a radical idea in more ways than one. Writing software collaboratively is different to writing documents collaboratively. With word processing, if I make a change on page 8, it doesn't affect my colleagues work on page 2. With software it can, and it does.
|
2 |
0 |
0 |
0 |
264 |
. |
| Feb 20 |
There is lots of value in that, but it doesn't solve the "many versions" problem I mentioned above.
We wanted to go a bit further.
So, for our smaller projects (2 developer team), we switched to doing all development on one single online-by-default environment. https://t.co/ZgQbd4zFHC
|
2 |
0 |
0 |
0 |
287 |
. |
| Feb 20 |
Remote Development has advantages for 1. Developer Productivity and 2. Team Collaboration. It's been growing in popularity recently, but most of the discourse seems focused on 1. (Developer Productivity), and giving each developer their own online-by-default environment. https://t.co/KqDKvbxqiA
|
1 |
0 |
0 |
0 |
295 |
. |
| Feb 20 |
👆 This idea is nuanced and deserves it's own thread, but in the interest of keeping this one semi-readable, I'll leave that 'til another time.
|
1 |
0 |
0 |
0 |
142 |
. |
| Feb 20 |
Why does this interest me?
IMO, one of the biggest barriers to building software as an iterative group design process, is the cognitive and operational friction introduced by having many (mostly offline) versions of the same software at the same time.
https://t.co/bnl9acsDTX
|
2 |
0 |
0 |
0 |
277 |
. |
| Feb 20 |
This is in contrast to many other creative tools which have moved online-by-default. For example, if I create and share a Google doc with a colleague, there is only one version of that document, which we both edit in real time. Similarly for Figma, Canva etc.
|
2 |
0 |
0 |
0 |
259 |
. |
| Feb 20 |
Remote Development is a way to build software that is online-by-default. Whenever you make a code change, your colleagues see the updates to the software immediately. Similarly, other developers can also see the changes you've made to the code immediately. No "push" needed.
|
1 |
0 |
0 |
0 |
274 |
. |
| Feb 20 |
First, what's "Remote Development"?
Usually, when a developer writes a software program, that program runs on *their* computer. The files, the application and the database are not connected to the internet and can't be viewed by anyone else until they proactively "push" it. https://t.co/e5KHpbRrbH
|
3 |
0 |
0 |
0 |
299 |
. |
| Feb 20 |
Last year, my team started a "Remote Development" experiment. We're still iterating, but it's already a core part of our workflow. The learnings are broadly applicable/interesting to both a technical & non-technical audience, so I've written this thread for both.
👇
|
11 |
1 |
1 |
1.9k |
271 |
. |
| Feb 12 |
@myles_cooks @reflectnotes Yup! I built it and never properly launched it. https://t.co/iqEBXttgyL to sign up https://t.co/kolGprMkjE
|
1 |
0 |
0 |
0 |
133 |
. |
| Feb 11 |
Hot take: This was one of the worst ideas in @JamesClear’s book. Not because compounding isn’t powerful, but because *daily compounding*, applied to human behaviour, for a year, is preposterous. https://t.co/kWiSNsb2Or
|
2 |
0 |
0 |
0 |
218 |
. |
| Feb 10 |
@_williamkennedy Yeuuuup
|
1 |
0 |
0 |
0 |
24 |
. |
| Feb 10 |
@thomasauros Other devs *who know typescript* 😏. What percentage of js devs (new and existing) you think that is?
|
0 |
0 |
0 |
0 |
113 |
. |
| Feb 10 |
@mikenikles And once it becomes accepted, it becomes invisible. Good example is the fact that despite most browsers support css/js code splitting now, it’s still super rare to find a codebase that doesn’t do pre/post compilation (which requires additional conceptual and tooling knowledge)
|
0 |
0 |
0 |
0 |
289 |
. |
| Feb 10 |
@mikenikles In that way, every new approach to “doing stuff properly” seems justifiable in isolation, but stack them up over time and it’s death by a thousand small cuts.
|
0 |
0 |
0 |
0 |
170 |
. |
| Feb 10 |
@mikenikles Also agree with the spirit of that statement (doing stuff properly), the problem it’s normative, subjective, and almost always applied post hoc (in that it wasn’t like people pre typescript were thinking “Ugh this codebase is really not done properly”).
|
0 |
0 |
0 |
0 |
265 |
. |
| Feb 10 |
@mikenikles Yeah. And also for those who are used to it, it makes building a bit quicker from what I understand? My very strong hunch is that for crudware (low complexity, low interactivity apps), the ratios are still small and the tradeoffs not worth it. Also this https://t.co/dofPgbYm7s
|
0 |
0 |
0 |
0 |
289 |
. |
| Feb 10 |
@mikenikles What’s your guess as to the percentage of bugs you’d find in a non-typed (let’s say ruby/rails as an example), well maintained 4 year old codebase (mid level engineers), vs the same codebase, same age, same seniority, but written with js/ts? Like 20% fewer bugs?
|
0 |
0 |
0 |
0 |
274 |
. |
| Feb 10 |
I haven’t gone super deep on typescript, but I’ve noticed many people talk about it like this. If that’s the case - honest question - why is it so popular? https://t.co/eAW6p7KJqN
|
1 |
1 |
0 |
0 |
179 |
. |
| Feb 07 |
@Shpigford How do we get the name of this stealth startup? 👀
|
0 |
0 |
0 |
0 |
60 |
. |
| Feb 04 |
Oh https://t.co/YGY88lO264
|
1 |
0 |
0 |
0 |
26 |
. |
| Feb 03 |
@andrewculver 😱
|
2 |
0 |
0 |
0 |
15 |
. |
| Feb 01 |
@faborio Needed because VCs expect it, but not actually necessary to build the software
|
0 |
0 |
0 |
0 |
87 |
. |
| Feb 01 |
To be fair, the standard of the average outsourced agency isn't known to be very high, and the go-to agency pricing model (hourly/project based) often doesn't work well for startups. Wonder will that change as people are forced to be more honest and lean in the next few years.
|
2 |
0 |
0 |
0 |
277 |
. |
| Feb 01 |
Still regularly having conversations where founders are totally convinced that they *need* a technical co-founder for their marketplace/e-commerce/e-learning/health-tech etc. startup, because the dogma is so ingrained and basically completely unquestioned. https://t.co/6Ht3AFQeTX
|
1 |
0 |
0 |
0 |
280 |
. |
| Feb 01 |
It's surprising to me that the investor narrative that "Not having in-house tech is a red flag for a startup" still prevails, even though >50% of startups are just a thin layer over real-world processes, and the frontend/backend layers are completely homogenous/undifferentiated
|
4 |
0 |
0 |
0 |
281 |
. |
| Feb 01 |
@jakobgreenfeld Only one I haven't seen suggested in replies is @getfernand . No idea if it's good (haven't used) but I use their other product which is really great.
|
1 |
0 |
0 |
0 |
166 |
. |
| Jan 31 |
https://t.co/L3PDvxZeiS
|
1 |
0 |
0 |
0 |
23 |
. |
| Jan 31 |
@thdxr Such a cop out. Instead of using that framing, you could also just ask “Is this additional layer likely to lead to more casual learners or fewer entering the space?”. Learning and developing new behaviours is just a fuel-vs-friction equation, not necessarily “overwhelm”
|
1 |
0 |
0 |
0 |
277 |
. |
| Jan 23 |
As another data point here, I've attempted to buy things from Gumroad creators on several ocassions and every time my card gets rejected, has never worked. I always thought that was surely impacting creator revenue, turns out maybe it was https://t.co/7W6CuOQCsv
|
0 |
0 |
0 |
0 |
262 |
. |
| Jan 21 |
@volkandkaya @framer I may be misreading, but it seems your attitude toward Framer is to dismiss it, which I think is short-sighted, as it's (IMO) going to start to take market-share from other website builders (including Versoly I'd guess), and it's not just because of polish.
|
0 |
0 |
0 |
0 |
278 |
. |
| Jan 21 |
@volkandkaya @framer I get you - twitter is a lossy place to discuss this stuff with any nuance, I'd guess we have pretty similar opinions on a lot of it if we sat down. I've also been following/have used versoly, and tried my hand at solving similar problem with https://t.co/HafcfF5Xha
|
1 |
0 |
0 |
0 |
287 |
. |
| Jan 21 |
@jessethanley @volkandkaya @framer Not trying to reinvent anything, having language for new ideas is helpful, and "Beginner friendly tools" doesn't capture the same idea https://t.co/lNkwXalTM5
|
1 |
0 |
0 |
0 |
193 |
. |
| Jan 21 |
@volkandkaya @framer That's a good point and I think if it doesn't work, that'll be the reason why, but my hunch is that that can be solved with smart abstractions vs full access to the html. They may be different use cases though
|
1 |
0 |
0 |
0 |
230 |
. |
| Jan 21 |
@volkandkaya @framer I think you're missing the point. It's built in such a way that designers don't need to know react. The react people can do their thing and build out complex stuff, the non-devs can access and control things using the UI.
|
1 |
0 |
0 |
0 |
242 |
. |
| Jan 21 |
@volkandkaya @framer On the dev side, the fact that it's built on react, which means devs can re-use and/or build new stuff without changing behaviour. On the builder side, the fact that the UI/UX is intuitive/feels enjoyable to use. Plus the out-of-the-box templates & components are A+ quality
|
1 |
0 |
0 |
0 |
299 |
. |
| Jan 21 |
@volkandkaya @framer If you count me, then yes 😊
I'm still playing around with the ability to work with my own react components which is very cool. But a better example is developers building extensions for it that can be copy/pasted in, e.g https://t.co/zJMGtIY29y
|
1 |
0 |
0 |
0 |
267 |
. |
| Jan 21 |
A few years ago I suggested the term "co-code" as a product/tool that allows both developers and non-developers to build/collaborate in the same environment. Of the products I've used since then, @framer is the exemplar. Still early but they're nailing it
https://t.co/NmNl8DxGue
|
4 |
1 |
2 |
1.1k |
280 |
. |
| Jan 20 |
@Huperniketes @notengoid @johncutlefish The Ship & Done is in there to highlight how some people (IMO incorrectly) attempt to build software. Wrt manufacturing, you're right that my familiarity is limited, but I'm pretty sure I'm correct to implying that once a product is shipped, it's shipped
|
0 |
0 |
0 |
0 |
298 |
. |
| Jan 20 |
@benjaminnathan @framer Trying it now, is there any way to connect it to a CMS collection?
|
0 |
0 |
0 |
0 |
90 |
. |
| Jan 19 |
@johncutlefish Yes! Stated slightly more bluntly here, but I think we're making the same point
https://t.co/bnl9acsDTX
|
18 |
2 |
0 |
0 |
120 |
. |
| Jan 19 |
@elidourado https://t.co/ztCYe2FIQW
|
0 |
0 |
0 |
0 |
35 |
. |
| Jan 19 |
Drew this last week as I was complaining about the lack of thoughtful commentary on our "AI future". Lots of people in Category A. Haven't found any in Category C yet, but starting to see more in category B. This from @elidourado is great.
https://t.co/2wXw66gafV https://t.co/1lyiqqwTYV
|
1 |
0 |
0 |
0 |
288 |
. |
| Jan 17 |
@joemasilotti Check out @hyperview_org
|
0 |
0 |
0 |
0 |
38 |
. |
| Jan 17 |
@willobri @patrickc Epic
|
1 |
0 |
0 |
0 |
24 |
. |
| Jan 17 |
@pydanny @bitdotioinc
|
1 |
0 |
0 |
0 |
21 |
. |
| Jan 16 |
@hughdurkin @heroku @Railway I keep seeing tweets like this and I’m a bit stumped. I spent 2 weeks trying all the alternatives and still found Heroku to be basically the same on price but still better on compatibility/features. What’s your setup/stack?
|
1 |
0 |
0 |
0 |
252 |
. |
| Jan 13 |
@keithwhor @stripe Or companies should make is easier to access data directly via SQL, which is much easier for this kind of stuff than API. There are a few that do this for stripe I think - check out @sequin_io
|
1 |
0 |
0 |
0 |
211 |
. |
| Jan 13 |
The obvious downside here is file size & performance. Our current size is 749kb which isn't ideal, but there are still many places it's been useful (simple internal apps for example)
There is tailwind play but that's not recommended for prod
@tailwindcss/@adamwathan thoughts?
|
0 |
0 |
0 |
0 |
282 |
. |
| Jan 13 |
A few months ago I went looking for a "dumb-tailwind" - where you just load in a public css file and it gives you the 95% most-used classes, no need for processors/js. It didn't exist, so I built it. Is that something people would use? Might register https://t.co/qC6q0DlBcP https://t.co/0eC0t8gIW2
|
0 |
0 |
0 |
0 |
298 |
. |
| Jan 12 |
@3AmitDhama I believe the "complex process" you're referring to here is what I call "legacy systems" in my original tweet. Aside from AML and fraud detection, there is no reason for it to exist. And no, a standalone payment that requires three inputs is not the same as bookkeeping
|
0 |
0 |
0 |
0 |
281 |
. |
| Jan 11 |
Referring specifically to the B2B payments and consumer payments bars on the chart. I know there’s *some* value there, but it feels extractive and rent seek-y. Like how it cost $10 for a short international call before VOIP. Not something I’d bet on or feel proud to build
|
0 |
0 |
0 |
0 |
272 |
. |
| Jan 11 |
Making “revenue” from a payment from one party to another, where you provide zero value besides paper over legacy systems, feels like a business model that shouldn’t really exist in a future where the technology exists to send value for fractions of a cent without middlemen, no? https://t.co/GRBuoUVlEH
|
3 |
0 |
0 |
0 |
303 |
. |
| Jan 08 |
@marckohlbrugge @ImprovMx Ahhhh gotcha, sorry! Makes sense
|
1 |
0 |
0 |
0 |
58 |
. |
| Jan 08 |
@marckohlbrugge @ImprovMx That’s what I use improvmx for - it’s a forwarder rather than them each having their own inbox, but for new projects having whole new accounts/inboxes is overkill IME
|
1 |
0 |
0 |
0 |
192 |
. |
| Jan 06 |
@marckohlbrugge Have you seen @improvmx? My go to for new projects, particularly if they’re experimental
|
1 |
0 |
0 |
0 |
104 |
. |
| Jan 05 |
Love this analogy from @spulec. Part of becoming an expert at something is being able to understand which "truths" are dogmatic, and having the bravery (and the credibility) to propose and adopt "low status" ideas. https://t.co/nNXc6MtxiO
|
5 |
1 |
1 |
765 |
238 |
. |
| Jan 04 |
@TrevMcKendrick I haven't used @retool a lot (we used @ForestAdmin at my last place) but it was the exact same story. I honestly don't think there's a solution - the closest I came was finding an alternative that was also quick but was fully code-driven. V frustrating, but not new or unique fwiw
|
0 |
0 |
0 |
0 |
296 |
. |
| Jan 04 |
@wolfejosh “Making electric motors for planes” is not what you predicted. You’re undermining your credibility by equating the two
|
0 |
0 |
0 |
0 |
129 |
. |
| Jan 04 |
🤡 https://t.co/CuW09ZeYkd
|
1 |
0 |
0 |
0 |
25 |
. |
| Jan 03 |
It seems that meeting-hating as a narrative arose as a necessary defense against a culture of meetings for everything with no opposition - makes sense. But "meetings are universally a bug" is the same level of silly absolutist thinking, just in the opposite direction.
|
1 |
0 |
0 |
0 |
268 |
. |
| Jan 03 |
Never thought I'd be the one defending meetings, and there are good reasons for a reset, but this is exactly the kind of blanket advice that looks good in a tweet but is neither true nor useful. The key isn't killing communication methods, it's figuring out which ones to use when https://t.co/27NMf0Dh3K https://t.co/rCWGpCXUlw
|
3 |
0 |
0 |
0 |
328 |
. |
| Jan 03 |
Related
https://t.co/VXtTMNCIYI
|
3 |
0 |
2 |
350 |
31 |
. |
| Jan 01 |
By that I mean practically speaking. Is the argument that all point-and-click interfaces will switch to being natural language driven? Why would people use a keyboard where a mouse will suffice? If it’s dictation, how does that behaviour change happen?
|
1 |
0 |
0 |
0 |
252 |
. |
| Jan 01 |
It’s really difficult to not be skeptical that “AI will replace programming” when pieces like this are what people are sharing. There may be some good arguments, but this is so weak. What does “models will replace programs” even mean?
https://t.co/qSP8Xk0DQC
|
2 |
0 |
0 |
0 |
260 |
. |
| Dec 28 |
@elcharliep @htmx_org Client apps (shipping and construction) and our own consumer bookmarking tool, so a combo of a few. I have some patterns we re use for things like modals and alerts that I’ll open source at some point
|
1 |
0 |
0 |
0 |
222 |
. |
| Dec 28 |
@htmx_org @elcharliep 👋 as a data point here. I run a rails team that intentionally uses htmx instead of hotwire/turbo frames and we're super happy with the decision. Original thinking was that htmx is simpler abstraction-wise, and better documented, which seems to have been proven out.
|
7 |
1 |
0 |
0 |
287 |
. |
| Dec 24 |
Related:
https://t.co/qn9WleDhjj
|
1 |
0 |
0 |
0 |
33 |
. |
| Dec 24 |
MTWCPA
(Make the web copy-paste-able again)
|
2 |
1 |
1 |
813 |
44 |
. |
| Dec 24 |
@htmx_org In a live app with close button added https://t.co/cfhiih3e6v
|
0 |
0 |
0 |
0 |
71 |
. |
| Dec 24 |
Xmas Eve hacking: Building an animated toast library with hyperscript, stock tailwind and the teeniest bit of CSS
cc @htmx_org
https://t.co/Y3I91SJ2yO https://t.co/DPaS7aIszL
|
9 |
3 |
0 |
0 |
178 |
. |
| Dec 23 |
@p_millerd I think I attempted to articulate this exact idea before! Blunt but I’ve found it a useful mental model. Interested if you agree or not https://t.co/w5lrvXFQGy
|
8 |
2 |
0 |
0 |
170 |
. |
| Dec 15 |
@dvargas92495 Send me stripe link? Wanna pay also plz 😁
|
1 |
0 |
0 |
0 |
55 |
. |
| Dec 13 |
https://t.co/jLLetGaY2Z
|
0 |
0 |
0 |
0 |
23 |
. |
| Dec 03 |
https://t.co/YTOFJhSUIM
|
3 |
0 |
0 |
0 |
23 |
. |
| Nov 29 |
Interesting
The software we build is too beginner friendly, expert unfriendly, & has a low ceiling (@michael_nielsen’s point)
At the same time, the tools we use to build this software are too expert-focussed, beginner unfriendly. (My belief)
Seems we have it exactly backwards https://t.co/skqGezWFJj
|
0 |
0 |
0 |
0 |
307 |
. |
| Nov 26 |
@ctjlewis You’re correct on the problem, lil bit off on the solution (IMO). Which is surprising because you seem like someone who prides themselves on cutting through BS. Why is stateful react the desired output format? Why are you working for orgs that take wks to create basic interfaces?
|
3 |
0 |
0 |
0 |
290 |
. |
| Nov 24 |
@synopsi @tommysendra Seems like we’re conversing over semantics. I’d define tourist friendly less narrowly than that, and dispute that people are locked out from infra, but agree it’s not as easy as other cities. I’m sorry you’re having a bad experience though!
|
0 |
0 |
0 |
0 |
262 |
. |
| Nov 24 |
@synopsi @tommysendra Within the crescent, options for getting around are 1. On foot, 2. Metro, 3. Hotel bikes (most hotels have them, 4. Daily bike rental. Outside the crescent you have train, tram, donkey republic bikes and my fave - the car sharing apps (share now is everywhere and super cheap)
|
0 |
0 |
0 |
0 |
298 |
. |
| Nov 24 |
@synopsi @tommysendra I don’t think it’s tourist unfriendly because on-demand bike/scooter apps are one facet of the tourist experience and it’s otherwise exceptionally tourist friendly, having been here several times as a tourist lived here for a few months. https://t.co/hKrtEAlJdu
|
0 |
0 |
0 |
0 |
283 |
. |
| Nov 24 |
@synopsi @tommysendra As someone who also did 6 months of travelling to lime-covered cities and loved the convenience, I agree Amsterdam’s frustrating because of having that expectation coming in. But disagree it’s badly regulated or tourist-unfriendly
|
0 |
0 |
0 |
0 |
252 |
. |
| Nov 24 |
@synopsi Bikes - Everyone has em already, but there is Donkey Republic which is decent. Tons of e scooters - Felyx, Check. People hate push scooters, think they might even be banned.
|
0 |
0 |
0 |
0 |
182 |
. |
| Nov 22 |
@AliAbdaal And if I were doing that, I'd start with @scrimba's HTML & CSS crash course as an entry point.
|
0 |
0 |
0 |
0 |
109 |
. |
| Nov 22 |
@AliAbdaal What would you like to code?
My experience is that prompt (Learning to code) leads to learning the principles of coding, vs learning practical skills. In my experience "Learning to code web sites, then web apps" is the most valuable broad set of skills.
|
3 |
0 |
0 |
0 |
266 |
. |
| Nov 17 |
Because building software is so new, people rely on existing mental models to understand it, and most think of it as a *manufacturing* process, with design as a step, as opposed to a *design* process. Both are useful heuristically, but it's useful to know which style your team is https://t.co/azJBuFVvTB https://t.co/OOViLGBxSF
|
26 |
4 |
0 |
0 |
328 |
. |
| Nov 14 |
@levelsio @Cloudflare Are you setting any user cookies? That’ll disable it.
|
1 |
0 |
0 |
0 |
75 |
. |
| Nov 14 |
Twitter would have you believe there are two discrete groups of people: Those who are idealistic-but-wrongheaded about how to improve the world, and those who see it as their sole job to dunk on them.
Be neither.
|
2 |
0 |
0 |
0 |
213 |
. |
| Nov 13 |
@realDannyHakim @RoamResearch @obsdmd Yup! Can't remember off hand but I think the main missing feature was customizability (custom CSS). I've spent prob 20+ hrs on my Roam CSS. Only realized how important this was when I tried Tana, which on paper has all the features I wanted but no custom CSS.
|
1 |
0 |
0 |
0 |
297 |
. |