[archived] Introducing Pulse, and ind.ie


(Jakob Borg) #1

This is out of date; see this post for the continuation:


I’d like to introduce you all to ind.ie - an initiative to create independent technology, as in independent from being spied on by various entities, and to @aral. We’ve been talking about what they’re building and what they want to accomplish, and how syncthing fits into that picture.

For me, solving a technical problem in what I consider the right way has been the prime driver, while ind.ie is more about using technology to solve a perceived, growing societal problem. I wouldn’t take that on myself, but I agree with the idea and I’m happy to see people working on it.

As a part of that initiative, I’ve agreed to let syncthing be adopted under their umbrella and be rebranded as “Pulse”. You can see Pulse being mentioned already on the ind.ie website.

This will have the following practical consequences:

  • Syncthing will be rebranded, as mentioned. This will probably be a somewhat gradual process as it includes various sites etc. in addition to the existing GUI and names itself. This is basically a name/logo/color-scheme change, so doesn’t really affect existing users and developers very much.

  • Syncthing (as Pulse) will gain a certain amount of momentum and recognition as part of the larger platform / movement.

  • ind.ie will be adding manpower both in the form of user experience and user interface designers (something sorely needed, which syncthing has in common with many open source projects) and in the form of core developers. Exactly how this turns out is something the future will determine, but they are building a larger solution on top of syncthing (also to be released as free software) and will need to ensure the smooth workings of the engine underneath.

In the best case, this ushers in a new era of growth and development for syncthing as we proceed towards world domination of the syncing space. :wink: Syncthing, or Pulse, will remain an open source / free software project, all development will remain in the open, and ind.ie has the same amount of influence as any other on what features get developed - i.e. convince one of the core developers to do it or do it themselves. No money has changed hands and there are no hidden agendas or benefits here.

In the worst case ind.ie fails to achieve what they’ve set out to and some time and energy has been wasted. The syncthing core remains, the name change is reversible if we so wish, and we’re no worse off in any way than we are today.

I think it’s going to be awesome!

Now, I’ve been simplifying somewhat what ind.ie is about, and I’m sure @aral will want to add something here. :wink:


Difference between Syncthing and Pulse
(Jakob Borg) #2

(Aral Balkan) #3

Hey Jakob,

Thank you for the lovely introduction :smile:

A quick personal introduction: I’ve been making stuff with computers since I was about seven years old (when my dad brought home an IBM XT clone and a BASIC manual — ah, those were the days; Screen 13 FTW — and said “go ahead, play with it, you can’t break it.”) So, like many of you, it’s not a job for me, it’s just what I do. And, recently, I’ve been increasingly disenchanted with the platforms that exist. Platforms like Google and Facebook and (name your Silicon Valley darling of the week here) whose job it is to learn as much about us as they can, because that’s how they make their money. I love working with technology but I don’t want to contribute to these platforms. That’s why I founded Ind.ie, with the goal of making alternatives.

You can read about what we stand for on the Ind.ie Manifesto, and here’s a talk I gave recently that summarises why I feel the problem is important: I, Simulation. (There is a shorter, 30-minute version that I gave at the RSA a few months ago on my web site.)

Our ultimate goal with Ind.ie is to create a consumer product that can compete on user experience with the likes of a Google Nexus phone or an Apple iPhone. In order to do that, though, we first need to create the core platform. This platform has to be distributed. And it has to be simple. So you can see why I was hugely excited when I stumbled upon Syncthing.

Needless to say, Jakob instinctively gets simplicity and user experience. You can see it in every aspect of Syncthing. It is one of the most accessible developer-oriented projects I’ve come across in my career. It solves a hard problem in a simple manner. It was love at first sight and I decided Syncthing would become the core of our platform.

Meeting Jakob recently during a conference in Cologne reaffirmed that I’d made the right decision. He is as awesome in person as he is in code. (So awesome that I asked if he’d consider joining our board of advisors. He kindly accepted. I know that we have a lot we can learn from him. Having your friendship and supports means a lot, Jakob, thank you.)

As I see it, we are simply assuming stewardship of Syncthing/Pulse. It is our primary responsibility to help support the continued development and progress of the project in any way we can. As a start, I’ve spoken with a number of the core contributors to see how we can support their efforts.

As Jakob mentioned in his post, there is also going to be more visibility for the project. I hope that this will also help drive development and engagement.

I want to make one thing absolutely clear, so there’s no confusion: I believe we can all agree Syncthing/Pulse is Jakob’s baby. It will remain so for as long as Jakob wants.

We are getting ready to launch the Pulse site today. Initially, the Syncthing site will remain up with the content mirrored on the Pulse site. We’ll begin the slow transfer of the domains, etc., next week. We will do our best to make sure that this has as little impact as possible.

I’ve already gone on for long enough, so I’ll leave it here. If you have any questions, just ask. I’ve been following the forums for a while and will continue do so. If you want to get in touch with me directly, just shoot me an email at aral@ind.ie

Here’s to making Syncthing/Pulse even more awesome. And here’s to freedom :slight_smile:

Aral


(Alan Pope ㋛) #4

As a Linux user, this (among other things) inspires near-zero confidence that the ind.ie project won’t balls this up completely:-

“Keep an eye on us. We’ll be posting updates every week. In November, we are launching a very early pre-alpha of Heartbeat for OS X Yosemite users and for developers to play with. Other platforms and further updates will follow.”

From https://ind.ie/


(Adam Piggott) #5

ind.ie manifesto. Your tools shouldn’t spy on you. Our fundamental freedoms and democracy are under threat from the monopoly of a business model called corporate surveillance.”

nslookup api.ind.ie Address: 54.236.216.66 Amazon.com, Inc. AMAZO-USEAST-11 (NET-54-236-0-0-1) 54.236.0.0 - 54.237.255.255


(Jakob Borg) #6

Be that as it may, it doesn’t affect syncthing, under whatever name. It’s built and released for FreeBSD, Linux, Mac OS X, Solaris and Windows, and that’s not going to change on my watch.


(Stuart Langridge) #7

Pleased to hear that, @calmh. I have already spoken to @aral about not just supporting Macs; hopefully this extra declaration will add to the weight. I’m totally happy with syncthing/Pulse and have been for months now :slight_smile:


(Bob Hope) #8

I can already see it:

Pulse is setup to host the Sozial Media i like to share with friends. Becoming friends means: Add the friend as a device. I share “My folder” with him (I am the master). I add his folder to my folders. We exchange which friends we have in common and i add him to the folders (my friends) where he is also a friend. If i have enough friends and at least some decent online time, i can imagine this works quite well! Some Website around it to display it. The content is always only on harddrives of me and my friends. I am in control!


(Aral Balkan) #9

Hey Alan,

I just want to reiterate what Jakob said — Syncthing/Pulse is cross-platform and will remain cross-platform and the fact that is cross-platform is one of the major reasons I chose it for the Ind.ie platform.

The reason I’ve chosen to release Heartbeat under Yosemite only initially is because it is a prototype and we will be using it to fine-tune the user experience on one platform before we can adapt it to others. That said, the native Yosemite app is a thin client. I’m writing the business logic in Node.js which communicates to the native client via a WebSocket interface. And, of course, the Node app communicates to Syncthing/Pulse via the REST API.

So I am developing Heartbeat to make it as easy as possible to run across platforms but since we’re tiny right now (I’m coding the initial pre-alpha myself), we need to focus, and I’ve selected Yosemite as the initial platform as that’s what I’m on. This way we can focus our energies on fine-tuning the user experience and not spread ourselves thin trying to support every possible platform from the beginning. This isn’t the way it’s done in traditional free and open source, I realise that, but Ind.ie isn’t traditional free and open source. Our goal is to produce a beautiful experience for people who are not enthusiasts on this subject.

This is also a way of keeping it small at the beginning as we iterate. We’re in this for the long-term and the last thing I want is a huge influx of people onto Heartbeat because it is the Next New Thing and the Flavour of the Week. Our goal is to build something solid that grows organically and sustainably over a long period of time. And we’re at the very beginning of that process.

My goal for Heartbeat is that it will have native clients on the major platforms (my next target — which I hope we will begin parallel development on, is Android). Also, as we reveal more about it in the coming weeks, you will see that Heartbeat has a strong web component and makes strong use of standard web technologies. However, regardless of all that, Heartbeat and Pulse are separate products with the relationship being that Heartbeat uses Pulse as an engine. As I stated earlier, Pulse is Jakob’s baby and we are simply going to be supporting its development by financially supporting some of the core developers, contributing to it directly to improve the user experience, and using our visibility to expose it to a larger audience.

All that said, I do hope that you’ll give us a chance with Heartbeat also. My criteria for success for Ind.ie is whether or not I’m still working on it in twenty years time so I’m thinking long term on this. It’s one of the advantages we have over the 2-5 year exit-fueled short-term thinking of venture capitalists and Silicon Valley. I don’t have the resources right now to support every platform (and, even if I did, I’d still focus those resources on getting the user experience right on one platform first) but, since Heartbeat will be released under a free as in freedom license, others can also help out by creating unofficial clients. They won’t have to wait for us to get round to it and Heartbeat is designed to make that as easy as possible to do.

I hope that helps to clear up that particular decision about Heartbeat. Regardless, it has no bearing on Pulse. Pulse will remain cross-platform and development will continue as it always has, as led by Jakob and the rest of the contributors. We will simply be helping to support it the best we can.


(Aral Balkan) #10

Hi Simply Peachy,

Thank you for sharing your concern.

The app at api.ind.ie is a Node.js API that is used by the static ind.ie web site for any dynamic features we need. Right now, it doesn’t do much (it was used mainly for signups for the Indie Summit). It is hosted on Modulus.io, who host their infrastructure on Amazon.com. We also host certain services on DigitalOcean. And the web site itself is static and currently hosted on Amazon S3.

None of these decisions run contrary to the Ind.ie Manifesto. Here’s what actually matters:

That’s a screenshot of the Ind.ie web site, with Ghostery showing the trackers that are on it. Or, to be more precise, the complete lack of trackers on it. The only item being shown by Ghostery is our own installation of the free and open Piwik Analytics which we use to gauge usage of the site to see how we’re doing with various campaigns to raise awareness of spyware and our work. Needless to say, the data from Piwik is not used for any other purpose, can’t track or identify individual users, and isn’t shared with anyone else.

It isn’t easy today to create a site without using third-party trackers (embed a Facebook or Twitter button and boom, you’re compromising your users) but we will expand energy where necessary to make sure that the site stays tracker free (e.g., we had to create our own cross-platform video player based on Video.js instead of simply embedding the Vimeo player for videos from the Ind.ie Summit because Vimeo was using the Google Analytics and Conviva trackers. This isn’t a negligible amount of work for a tiny team with one web designer and one web developer — the latter who was full-time at the time and is part-time now — especially when you care about also making it as accessible and progressively-enhanced as possible but we were willing to prioritise that because the alternative was simply not acceptable.)

However, our manifesto does not mean that we do not make use of existing infrastructure. We are tiny (three full-time people and two part-timers with a couple more part-time developers we are going to be supporting now that we are supporting Pulse) and we have to be pragmatic about certain things if we are to achieve anything at all. Where third-party infrastructure is convenient and doesn’t compromise user privacy, we will use it.

That said, we are also always looking for better alternatives and always looking to improve. If you have any suggestions for alternatives that we can use, I am more than happy to evaluate them and to iterate whenever it is practical for us to do so given our limited resources. Our long term goal, of course, is to be independent and sustainable throughout our supply chain.


(Aral Balkan) #11

Hey Stuart, I hope my longer reply to Alan explains my thoughts on this — I won’t repeat them here. In a nutshell: the longer-term goal is to support a number of platforms with Heartbeat. I’m using the Mac (and Yosemite, specifically) to (a) prototype and (b) limit usage initially while we iterate on the platform and the user experience.

Boom! You got it, Bob :slight_smile:


(Rick Truell) #12

Given how you feel about Google, you don’t have a problem with the fact that Node.js requires a Google product?


(Alex) #13

I just don’t really like the name Pulse, it’s nothing unique and you will not find syncthing if you just enter “Pulse” into a search engine (maybe if it gets popular some day but it will still be under a mass of other results), when you search for “syncthing” you only find results related to it. The name syncthing was unique and you already know more or less what it does from the name: it’s a thing that syncs something.

The other stuff we will just see if it will be good, more people developing should at least not be bad…


(David Nelson) #14

agreed, not to mention there are already several software products already using the name Pulse, the existing name is far better.


(Rodney) #15

Out of curiosity, will instant messaging be a planned feature of Heatbeat? Perhaps it could be done through WebRTC or something similar and serverless.


(Jakob Borg) #16

Note that Syncthing/Pulse is written in Go, which is also a Google-originated language. But there’s nothing about that, nor V8 (that I assume you are talking about) that compromises your privacy or freedom.


(Brenkon) #17

Onward and upward.

Are you going to continue building the code transparently in GitHub after the transition to Ind.ie and Pulse?


(Jakob Borg) #18

Yes.

(Ideally the names should be in sync (i.e. syncthing => pulse), but the obvious organization names are taken since a long time on Github.)


(Jpjp) #19

@aral There’s a bit of pushback about the new name. Could you tell us a little bit about the name Pulse, and the thinking behind it?


(Aral Balkan) #20

As Jakob also mentioned nothing about V8 or Go comprises your privacy. We have to be pragmatic about which pieces of infrastructure we can use and which we need to avoid. Where there is a free/open piece of infrastructure contributed by these companies that is useful, we will use it. As long as it is free and open we can be sure that there is no spyware attached. It’s just part of being pragmatic.

Alex (et. al.), you make a good point about the name not being as distinct as Syncthing and, as you point out, that will definitely have (at least short term) ramifications for search engine placement. However, our rationale for the new name is that even though it may not be as unique (and not much else could be as unique as Syncthing), it is shorter, more memorable, visual, emotive, and less technical. This — combined with the clean and accessible Indie look — will hopefully mean more articles about it in the tech and mainstream press, with more links, and thus better visibility and hopefully more users & developers. So between optimising for a search engine and optimising for people, I would choose people.

Not to mention, while coding the API, I was always misspelling sycnthing [sic] Pulse is shorter (less RSI is good, right?)

Seriously, though, a short, memorable name should make the project appear more accessible. And we can all work to make sure that it not only appears more accessible but is more accessible. (We’re going to be doing our best to work on improving the user experience and even little changes like Jakob’s move from using “repositories” to “folders” and “nodes” to “devices” can have a huge impact in that.)

I know that something like a name change is a very subjective matter and we have emotional attachments to names (heck, I fell in love with Syncthing when it was Syncthing, so I should know). I’m also definitely not saying that our opinions carry more weight than yours do. I’m just saying that we did give this a lot of thought and there is method to the madness. (Also, if we are to build a brand strong enough to eventually take on Google, Facebook, etc., we need to have some consistency and Pulse and Heartbeat offer that — we are crafting a story, a human story that literally and figuratively has a heart and is about the hope of building a future where our technology protects our human rights and freedoms instead of eroding them.)

It would be awesome if we could give the new name a chance and see how we all feel about it once we’ve had a chance to try it out for a bit. If we wake up in a few weeks time feeling like it was the worst thing ever, I’m sure we can do something about it. Does that sound reasonable?