Are there any non-techies here? I need to talk to ...
# thinking-together
d
Are there any non-techies here? I need to talk to you! 😄
t
I feel like saying I am a non-techie in this space is like admitting to be a sheep in a den full of lions. Knowing that the lions here are pretty nice, I will bare my neck and admit I'm still very early in my tech-evolution. I'm more of a product manager than a coder. What's up?
🦁 4
d
Hi Tim, no lions here! We're all nice now - especially since the Great Purge of Dissidents and Grumpies! I was hoping to find some FoC-aware non techies to run my ideas past. You probably guessed it was more about you potentially helping me than the other way around! But on the plus side, you may like the ideas and it may change your life forever...
k
Computational scientist here. Not sure if that makes me a techie. I see myself as a power user rather than as a developer.
t
Yes please! I love being a thought guinea pig! I'm so relieved to hear about the great purge.
d
Konrad: hmmm.. you sound slightly techie! 😄 Tim: yeah, it was bloody, but the right thing to do!
s
I’m closer to @Konrad Hinsen myself, more a data scientist who learned enough coding to get things done than a pure engineer!
d
Good to meet you all! Hopefully you haven't had your brains tainted by too much legacy technology! I'm hoping you'll scan the front page of http://object.network for me and tell me what you make of it all! Both (a) comments on the idea and (b) comments on how I present the idea are welcome. Be brutal if necessary 😮
It's a new page, so if you've ever been there before you should hit the Big Refresh on your browser to get the latest bits.
(Shift-Ctrl R I think)
Take your time, I'm not sitting here waiting..
(I'm actually off to bed now)
t
I really like the premise. There are some quasi technical questions I want to ask but I will leave those since I'm not supposed to think of them. It ties closely into the work I'm doing with my own project (inonit.ca) and messagenotunderstood.com. The most significant comment I have on how you present the idea is that it needs more examples, and visuals of the examples then visuals of the framework. The benefit of reality is that everyone's always building a model of reality in their head which we all independently verify against reality. I'm not entirely clear how that process would be possible efficiently at scale with this idea. I suspect perhaps through some sort of blockchain? It's super cool that there is a companion smartwatch! It's in line with something I thought about in the past. Let me give it some more thought and circle back in a week or so.
k
@Duncan Cragg What is your target audience for that page? The first section describes a problem that many non-technies would recognize, but I doubt they would make much of the technical details that follow. As a rule of thumb, when you talk about "objects" you are addressing an audience of people with programming experience. Putting on my "programmer but not professional" hat, the description is pretty clear. But with that perspective, I'd want to know how the Object Network differs e.g. from the Fediverse. And when I see "live" (and thus mutable) objects, I immediately wonder about access rights, authentification, etc.
@Duncan Cragg Unrelated to the new Web page: I also wonder if Object Network could profit from the Hypercore Protocol used by Beaker Browser. It also revolves around shared mutable objects referred to by UUIDs, with a lot of infrastructure in place already that might be useful for you. Sure, it's "objects" are just small file systems, but that's still a very general infrastructure to build an object system on.
c
@Duncan Cragg I showed it to my wife. I don't think it made a good first impression 😂 . She just kept asking "what is it?". To be clear I gave her essentially zero context. She's not a programmer at all but she's got a maths degree (mainly theoretical physics) and she's an Excel wizz, don't know how non-techie that makes her. Firstly she was saying like "is it mad? It's talking about the government watching you...?". I think this bit gives off kook vibes. Bear in mind the general public don't give a shit about privacy 😂 . Then she read the bit about "no apps" etc. She just found this confusing. I don't think she can really conceptualise what this means. To her it just sounded like "you can't use Instagram or WhatsApp on this". At this point she was just kind of bored and started skimming. 🤷‍♂️ I think she got the general idea of accessing data in a general way, but it didn't really interest her. I think maybe you need to come at it from the direction of what problems you are promising to solve. Rather than bashing on Instagram, say how you will make it better, stuff like that
❤️ 1
d
This is all excellent feedback, I'm really pleased to get so much good stuff. I'm going to give myself some time to digest it .. thanks again, folks. And feel free to keep piling on, um, piling it up.. 😄
@Tim Lipp
It ties closely into the work I'm doing with my own project (inonit.ca) and messagenotunderstood.com.
.
I'm interested in inonit.ca, sounds a bit like agorism or voluntaryism? That's kinda where I'm going with my politics these days! And I'd be interested in seeing what you come up with in the other project. Good stuff.
The most significant comment I have on how you present the idea is that it needs more examples, and visuals of the examples then visuals of the framework.
.
OK. Point taken, and I'll add it to my fix-up list!
The benefit of reality is that everyone's always building a model of reality in their head which we all independently verify against reality. I'm not entirely clear how that process would be possible efficiently at scale with this idea. I suspect perhaps through some sort of blockchain?
.
Not sure I get where you're going with this, 😞 sorry. Can you elaborate a little? Do you mean scaling up with different points of view? Thus harder to settle on common data types for shared data? That is, models that are specific to a person or group versus sharable models.
It's super cool that there is a companion smartwatch! It's in line with something I thought about in the past.
.
OK - tell me more! The watch is a fun side project really. Just to keep the code lean and buildable on embedded devices for when the time comes that it's needed more.
Let me give it some more thought and circle back in a week or so.
.
Please do!
@Konrad Hinsen
What is your target audience for that page? The first section describes a problem that many non-technies would recognize, but I doubt they would make much of the technical details that follow. As a rule of thumb, when you talk about "objects" you are addressing an audience of people with programming experience.
.
Yeah well you're a techie! You're not supposed to know about "objects"! I can't find another suitable name that hasn't already been used and isn't already loaded with meaning. Entities, Datachunks, Things, Stuffbits?? And for non-techies, "object" conveys what I want very well. Something tangible and real that has innate properties. There are no technical aspects to this page outside the experience of normal non-techies, at least that's my hope..
Putting on my "programmer but not professional" hat, the description is pretty clear. But with that perspective, I'd want to know how the Object Network differs e.g. from the Fediverse. And when I see "live" (and thus mutable) objects, I immediately wonder about access rights, authentification, etc.
.
Fediverse is an interesting lead - thanks for reminding me about that, I've seen it before but not dug in. Access rights, auth: yes, as an owner you have rights. No one can edit an object apart from you unless you permit it. That's the plan. Not written that bit yet in the current (C) implementation!
@Konrad Hinsen
Unrelated to the new Web page: I also wonder if Object Network could profit from the Hypercore Protocol used by Beaker Browser. It also revolves around shared mutable objects referred to by UUIDs, with a lot of infrastructure in place already that might be useful for you. Sure, it's "objects" are just small file systems, but that's still a very general infrastructure to build an object system on.
.
Yes, I've been researching existing P2P infra to build upon. I ended up with a shortlist of one: OpenDHT! Trouble is that it has to (a) be written in C (or have a C header file) (b) NOT be bloody blockchain based! (c) be active and used not academic. I'll dig some more into Hypercore though, so thanks for that!
@Chris Knott
I showed it to my wife. I don't think it made a good first impression 😂 . She just kept asking "what is it?".
.
Ouch! 😄 Thanks for doing that for me! Good feedback, too.
She's not a programmer at all but she's got a maths degree (mainly theoretical physics) and she's an Excel wizz, don't know how non-techie that makes her.
.
Sounds like a good semi-techie to get feedback from, for sure!
Firstly she was saying like "is it mad? It's talking about the government watching you...?". I think this bit gives off kook vibes. Bear in mind the general public don't give a shit about privacy 😂 .
.
OK, not sure about "kook vibes", but I get that some folks won't be motivated by the P2P-ness and freedom aspects. Many do though, especially recently.
Then she read the bit about "no apps" etc. She just found this confusing. I don't think she can really conceptualise what this means. To her it just sounded like "you can't use Instagram or WhatsApp on this".
.
Nope, no apps. That's the point. Give up apps, give up their prison and their control and surveillance. Get freedom. I guess that either is or isn't a motivation for a given person!
I think maybe you need to come at it from the direction of what problems you are promising to solve. Rather than bashing on Instagram, say how you will make it better, stuff like that
.
The problem is that we have given up control. The Object Network solves that problem. So bashing on Insta is part of the story! Thanks again for the experiment, it's useful from a "framing the audience" point of view to know that there are people out there who are happy with how things are. Which is great! :-D
j
I’m not a non-techie, but I do have a non-technical piece of feedback. I’ve had a project in the same direction of unwalling the data in apps, and Solid is another similar project. The thing that I struggled with, and I don’t see how other projects are going to solve, is incentives. How do you convince anybody developing a piece of software to build it using this framework rather than a framework in which they own the data? This may seem like a criticism, which it is, but I think it’s also the key thing. Like, if you find a way to make this a compelling platform for the guys who want to get rich making the next great food delivery app, then you’ve solved the hard problem. Just my $0.02.
c
I think if it's sufficiently easy, there won't be such a thing as "guys who make delivery app", because the value add of that would be very low. Put another way, the restaurants will handle their own deliveries.
d
@Jared Windover
I’ve had a project in the same direction of unwalling the data in apps
.
Tell me more!
How do you convince anybody developing a piece of software to build it using this framework rather than a framework in which they own the data?
.
Well if they're the kind of people who want to control my life and my stuff, I'm fine with them doing that the old way!
Like, if you find a way to make this a compelling platform for the guys who want to get rich making the next great food delivery app, then you’ve solved the hard problem.
.
Getting rich making killer apps is definitely not in my list of primary use cases! This is about people helping each other create a shared, open cyberspace that they own themselves, and where they build functionality together (not apps, but useful open source, sharable behaviours for objects).
👍 1
I think if it's sufficiently easy, there won't be such a thing as "guys who make delivery app", because the value add of that would be very low. Put another way, the restaurants will handle their own deliveries.
.
Exactly... I think... I mean, you're speaking from my point of view, right?, not pulling a rhetorical trick there? 😄 (excuse my wariness after the demolition job you/yours did!)
@Konrad Hinsen I didn't realise that Hypercore is the new Dat! Yes, I've looked into that, but unfortunately there is no C binding. There's a dead-looking C++ implementation and a dead-looking Rust implementation. Also, it has a clear use-case that drives its design, so I'm not sure about the cost of that ongoing mismatch of goals. But thanks for the tip! In fact, if anyone on this thread knows of a good C-based P2P infra, I'd be glad to hear about it.
c
Haha no tricks. To be clear, I have followed Onex for a while, I think its great - I was as surprised/disappointed as you that she just didn't get it at all...
👍🏼 1
d
😄
@Konrad Hinsen The Object Network differs from the Fediverse by virtue of being much lower level in the stack. The Fediverse ties high level social platforms together. The Object Network has a more ambitious goal that starts from much lower level basics..
k
@Duncan Cragg Good point about being lower level than the Fediverse. As for P2P, it seems that C is not popular at all in that space. The main P2P software I actually use daily is Syncthing, written in Go. IPFS is Go and JS. All of them could be implemented in C, being defined in terms of protocols rather than APIs, but nobody does it. I guess it's a cultural issue: C is the lingua franca of Unix and a process-centric view of computing. P2P takes a data-centric and network-based approach. Rejecting the "old world" leads to rejecting its lingua franca as well.
d
Hi everyone again - I've updated the page (http://object.network) with a different angle and some more material. Hopefully this approach works better.. ? 😄 (Please hit Big Refresh, as I don't seem to have my cacheing settings right on the server so it'll probably give you a stale page if you just visit the link.)
j
There are no individual apps in the Web - just a single browser for visiting every site, found by its URL. There are no app or service boundaries that trap you, as each site is just a link away.
This doesn't ring true. I get what you mean, but for most people the web is a collection of apps. I think you could spend a couple of lines contextualizing this as the early web, or the web as designed.
d
Tell me about your project "unwalling the data"..😊
j
I called it a "distributed universal semantic data layer". It was basically an rdf datastore with some nice patterns for making the data accessible by a client/interface. I built a couple of prototype apps on top of it to convince myself that you could build most of what people go to walled gardens for (while handwaving away some eventual performance issues). The piece that I got stuck on was I wanted clients/interfaces to be remixable in a straightforward way (which would be possible without considerable programming, since the backing data was all in the same DUSDL thing). I initially thought that it was "one last app" that would have recombination built into it, but eventually I decided that you give up too much of the heterogeneity that makes computing good. So then I tried to build one that supported that heterogeneity and largely shrunk from the challenge of building an alternative graphics stack that would enforce composition all the way down (like, at the X/Wayland layer allow me to recombine interfaces).
d
Cool. Link?
j
Nope. I'll try and put something up soon about it, but it mostly served to convince me that even if an alternative model is built, it wouldn't disrupt the current orthodoxy. I'm not sure what would be compelling enough for the average user to choose it over walled gardens.
d
They'd have to want out of walled gardens!
The piece that I got stuck on was I wanted clients/interfaces to be remixable in a straightforward way (which would be possible without considerable programming, since the backing data was all in the same DUSDL thing). I initially thought that it was "one last app" that would have recombination built into it, but eventually I decided that you give up too much of the heterogeneity that makes computing good. So then I tried to build one that supported that heterogeneity and largely shrunk from the challenge of building an alternative graphics stack that would enforce composition all the way down (like, at the X/Wayland layer allow me to recombine interfaces).
I don't understand what it means to remix/compose/recombine interfaces and what you mean by heterogeneity, sorry, can you elaborate? 😄
j
So, my motivating example has been the common desktop apps I use, spotify and slack. They have a bunch of graphical components. Spotify has a player, a list of playlists and a pane that shows the activity of my friends. Why can't I drag the player into my slack app? Even just controlling the exact same data? Just somewhere else on the screen? If we could do this, then the obvious next demand is to repurpose graphical components for other uses. Why can't I use slack's channel list to show my spotify playlists? The ability to recombine and repurpose graphical components is what I'm talking about. I think that this sort of functionality would free end users to meaningfully build their own software.
One solution to this that I considered would be to build an environment where this is possible. Like, a super flexible QT app that you can split and remix into purpose-built apps. There would be a plugin system to add new graphical components (or ideally, they'd all be plugins). The issue I hit was that such a plugin system would make two many assumptions about how we ought to drive graphical components. It would naturally be limited to a few programming languages, or at best accessible through an ffi. I feel it would be a step backwards in a way, as currently, I can run a collection of graphical applications written in virtually any programming language. This is what I mean by heterogeneity. I'm not locked into a particular framework.
Which is why I think the X/Wayland (for linux) layer is the place that would need to change. A display server that makes composition happen at the process level. Like, one process is driving the playlist pane, and another is driving the player pane, and a top level process is orchestrating all of it. But this seems like a lot to take on.
d
OK .. sounds like we share many common goals here.. however: • Instead of remixing at the UI level I have remixing at the data level. You mash up data chunks in common types with interlinks • You don't have processes, you "animate" data chunks, which can be done in any language, or in a common end-user language Does that make any sense?
So you need standard UI renders of a given type, but the freedom pass is that one of those types is "gui", which lets you define arbitrary UIs
But they're basically all just linked up data chunks (objects)
(disclaimer for techies: sorry, but I had to re-use the word "object" because nothing else worked; "entity" is a possible alternative .. )
j
Pushing the gui into the data is interesting. It seems like it would be a complex type to also encapsulate how other data gets wired into it/how actions affect data. But if gui types can compose, then it could have those remixability properties. What would "animation" mean in the context of the ui? Does the "animation" control the ui, or is the behaviour of the ui defined in the data?
d
An object rendered would show its changes when they happen. Objects changing for whatever reason is the animation. The behaviour of the UI beyond that render of changing data is the other direction, from user object to the object being rendered
Example: rendering a calendar event: you see all the details in the default event render, which change if they're changed in the event object. But you can also RSVP to say you're attending the event. "You" are an object, and your RSVPs are objects also, which the event object can be made aware of. An internal animation rule of events is to update their (rendered!) attendee lists when they see (valid) RSVPs
(I'm using "event" as shorthand for "calendar event", not the techie event of event-driven, etc)
j
Is it a strictly presentational gui, or would/could you embed an RSVP button?
d
Yes the default render of cal events has the RSVP button or form if the event type indicates that it's happy to accept them
↑ just posted again, to drum up more interest ..
Thanks for all the feedback, folks! Some threads above dried up, but it was useful to me