Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nile: decentralized, commission-free, local-economy focused ecommerce #78

Open
2 of 6 tasks
marcocastignoli opened this issue Aug 6, 2018 · 98 comments
Open
2 of 6 tasks
Labels
Advanced Projects that require a high level of understanding of the topics specified, or programming in gnrl. APIs/Backend Like getting feature requests from the frontend team? Look no further! Design/UX Make the users' experience as smoooooth as possible by developing cutting-edge interfaces. Frontend/UI Focus on a frontend for an existing backend. Both frontend development and UI design. Futuristic tech/Unique ideas Sometimes, the ideas are just so cutting edge that it's hard to describe. Joined This project has someone working on it. Much work This project takes little time to complete. (ETA several weeks+) Web app Applications on the web. Perhaps with React? Or Vue? Or Angular?

Comments

@marcocastignoli
Copy link

marcocastignoli commented Aug 6, 2018

UPDATE: We are on Discord here

I already wrote the description of the project as if it's already an established organization, but it is not. I'm searching for developers, lawyers and advertisers interested in the project!

Description

Why?

We live in a society in which huge corporations have the power to influence economies and trends. Today the big companies that owns the online market don’t pay taxes, they underpay their employees, and they are disrupting local economies. We think that the world deserves a better alternative, so we decide to found Nile.

What is Nile?

Nile is a decentralized ecommerce that promotes local stores, and it’s commission free: all the money you pay for a good goes directly to the seller. Nile is made to be, as far as possible, similar to the online shops you already use; so, when you are searching for something, you’ll not even notice that you are using a decentralized system.

How will you earn money?

The application is decentralized so we just need money for the developers, the lawyers and the advertisers, we don’t have to build and maintain a huge and expansive network infrastructure. So we’ll just earn money from advertisement, but it will not be specific for you, because we want your data to be yours, and we will accept to advertise only local products.

How do you build a decentralized ecommerce?

Every city (or village) will have a Nile instance, the Nile instance is needed to group all the stores of your city so you can view them in a storefront like the one that you already use. All the Nile instances will talk to each other, so when you search for a product and it’s not near to you (it means it’s not in the instance of your city), you will find it anyway.
Stores will also contribute to the platform: every store will host its part of the system: when you buy a product, the computational cost of the operation is processed by the store. The store will have different ways to connect to the local Nile instance, if a store doesn’t handle lots of requests then it just need a browser to be part of the network. If the store needs to handle thousands of requests per seconds then a more powerful architecture is needed but we will help configuring it.

What about the delivery?

Nile comes with a delivery service that works like Deliveroo: a network of cyclist that cover the local area. An algorithm calculates the best and cheapest route to deliver your goods.
Also the delivery service will be commission-free, when a good is delivered, the money for the delivery goes directly to the cyclists involved.
When you buy something from far away a cyclist can’t do the job, so the app will suggest the cheapest delivery method from a third party delivery service.

Relevant Technology

I'm open to discuss about which language or protocol fit best this idea

Who is this for

The project is very ambitious so everyone is welcome, of course experienced developers are needed to build the decentralized architecture

Complexity and required time

Nile is an ambitious project, from a programming point of view, building a decentralized system is something difficult, there are a lot of concept involved. But a first version of Nile, without the complete decentralization implemented could be ready in just 3 months. Later, for the next 9 months, we could decentralized every piece of Nile while it is already online.
So in total we need 1 year to launch Nile.

Complexity

  • Beginner - This project requires no or little prior knowledge of the technolog(y|ies) specified to contribute to the project
  • Intermediate - The user should have some prior knowledge of the technolog(y|ies) to the point where they know how to use it, but not necessarily all the nooks and crannies of the technology
  • Advanced - The project requires the user to have a good understanding of all components of the project to contribute

Required time (ETA)

  • Little work - A couple of days
  • Medium work - A week or two
  • Much work - The project will take more than a couple of weeks and serious planning is required

Share on Twitter/other social media if you will. Something like

New project on Open Source Ideas Initiative: [Nile: decentralized, commission-free, local-economy focused ecommerce]
@FredrikAugust FredrikAugust added Much work This project takes little time to complete. (ETA several weeks+) Advanced Projects that require a high level of understanding of the topics specified, or programming in gnrl. labels Aug 6, 2018
@FredrikAugust
Copy link
Collaborator

Wow, this sounds really cool 😮! Hope it works out :) Would love to join, but I'm starting my studies soon, so won't have time to work on this full time, though if you end up building it in a language I'm familiar with, I'll definitely come help out! :)

@paulcmal
Copy link

paulcmal commented Aug 6, 2018

I feel like the basis for your project is already covered by OpenBazaar, a fully P2P marketplace with support for many cryptocurrencies. Maybe extending Openbazaar to support delivery via local bike coops (there are a few) or to support local currencies / cash (with optional third-party escrow) could be an option?

@marcocastignoli
Copy link
Author

@paulcmal I already tried OpenBazaar, the problem that I see is about the "Getting started". The OpenBazaar server is written in Python or Go, this means that every shopper needs to have a machine with external software installed. I think that the average shopper doesn't have a running computer / server and doesn't want to install anything on his/her OS (if not on his/her smartphone). My idea is to have a central server for each city that's only used as a websocket server and to serve the showcase APIs (Each central server will communicate to the others, so users can see also shops in other instances), so a shopper just need a browser to get started.

@victorb
Copy link

victorb commented Aug 6, 2018

@marcocastignoli AFAIK, OpenBazaar is working on getting OB to work in both browsers and mobile without having to rely on a server running somewhere.

Running OpenBazaar in a browser is more difficult. The network is built on top of IPFS. Running an OpenBazaar node is essentially running a custom IPFS node. There is an effort underway to have an IPFS node run in browser called IPFS-JS, and we believe this will allow us to build a web-based OpenBazaar version. Building the web-based version is a significant task, and we believe it will take us into early 2019.

We expect the payoff to be worth the wait. The initial web-based client will allow buyers to make purchases without needing to download anything. Users can share links to stores or listings that will be viewable from the web. These improvements won’t compromise the completely distributed architecture of the network; all the necessary code is run client-side in the browser.

You can read more about their plans here: https://www.openbazaar.org/blog/openbazaar-2018-roadmap/

@northfoxz
Copy link

The website can be hosted on IPFS and payments on smart contracts.
I can help with the project :D

@cyberpz
Copy link

cyberpz commented Aug 6, 2018

Bella Marco!
I love your ideas and share your thoughts about big companies, like Amazon that raise their capital exploiting locals and selling without even paying taxes.
I thought that this project should be full open source in order to get more people to contribute and share as well this Anti-Amazon propaganda. Decentralization on cities make sense, i agree, the vendor doesnt want to have too much crap to think about, so let them use the service only, paying a little fee monthly to make the service run and support economically the maintenance.

@AtHeartEngineer
Copy link

Typo: "when you when you are"

@marcocastignoli
Copy link
Author

@victorbjelkholm that's a great news! Maybe the store part of Nile could be found upon OpenBazaar, thanks for the suggestion. I'm gonna search more about this!

@paulcmal
Copy link

paulcmal commented Aug 6, 2018

every shopper needs to have a machine with external software installed

In my experience this is not a problem, especially when it comes to growing a local economy based on trust relationship with free-software activists. What is a major stopper though is key/data backup & recovery, which is usually not given enough thought leading to people losing access to stuff (and making them angry at p2p/selfhosting)

My idea is to have a central server for each city

Well if you're not going to centralize, why not federate from the bottom up? Let people run their own (personal/community) instances and federate through ActivityPub or XMPP? That would avoid a single point of trust/failure, even if on a local level :)
(of course in order to fight spam it does make sense to build some sort of web-of-trust or a whitelist for federation like peertube does)

Thanks for taking the time to reply. I wish you lots of luck and courage to build your project and destroy these capitalist assholes who profit from our misery ! 🔥

@bigolol
Copy link

bigolol commented Aug 6, 2018

This has maybe a 0.0001% chance of succeeding, but damn I sure hope it does.

@paulmillr
Copy link

Learn capitalism. You're focusing on shitty problems. Most folks don't give a crap about decentralization or local economy as long as something's cheaper and more accessible to them, see Prime does its job better than local government in Canada. That local economy "need" arises from overfed western view.

Focus on real problems that would make the product a great competition to AMZN.

@marcocastignoli
Copy link
Author

@paulmillr thanks for the suggestion, and I totally agree with you, except

You're focusing on shitty problems

I think that the only way to make the local economy to rise, is to give the local store the tools that made Amazon a successful service. And that's exactly the purpose of this project.

@as1ndu
Copy link

as1ndu commented Aug 6, 2018

I recommend you use http://foam.space for proof of location when managing logistics

@nerdbeere
Copy link

Great Idea!

In Germany/Austria there's a startup (https://atalanda.com) that tries to solve at least parts of what you are describing. It's not decentralized but still an interesting project though.

@sardaukar
Copy link

Not a big fan of Amazon, would love to help.

@russellballestrini
Copy link

I would like to partner, when can we talk?

I drafted a blog post on Friday which details how I would tackle this problem, instead of building the market first I would build a free SaaS "value add" application for side gig and small business operators which would help them keep track of work-in-progress. This data would then be used to power recommendation engines, and a marketplace. The network would come naturally after that.

Reference to my post: https://russell.ballestrini.net/all-local-heros-need-a-gig-side-kick/

@marcocastignoli
Copy link
Author

@russellballestrini @sardaukar @northfoxz @FredrikAugust This evening (CET) I will crete a group somewhere (suggestion about the platform? Better if it's open source, Telegram is ok?), and add you if you want, so we can speak easily.

@nadavdrewe
Copy link

nadavdrewe commented Aug 6, 2018

I have already built a good portion of this in c# using websockets, mongodb, javaScript. The platform is token based, the payment mechanism runs on eos. I have working demos and a working server with extensive apis, plus various nsservicebus microservices handling message queuing.

@marcocastignoli
Copy link
Author

@nadavdrewe Wow! 😮 That's a great news, can I add you to the future group? Can you help explaining your projects?

@Aeolun
Copy link

Aeolun commented Aug 6, 2018

If this is going to be built on proven services without any mention of block chain, tokens, ipfs or other unicorns I am interested.

You need some degree of centralization and centralized control to make a service like this work, and trying to go for full freedom for the sake of it is just going to relegate this to a dark corner of history.

@FredrikAugust
Copy link
Collaborator

@marcocastignoli we already have a slack group, but I agree with your "the more open source the better" philosophy, so telegram is fine with me.

@FredrikAugust
Copy link
Collaborator

And before someone points it out, I know telegram isn't entirely open source

@meyer9
Copy link

meyer9 commented Aug 6, 2018

I have experience with blockchain projects and I'm interested in contributing. Please add me as well. I've worked on a fork of OpenBazaar, but I have some ideas of how to make it more accessible.

Basically, OpenBazaar forked the IPFS network for almost no reason. The OpenBazaar network could run just fine on the main IPFS network. AFAIK, OpenBazaar was waiting on https://github.com/ipfs/js-ipfs to finish DHT implementation for javascript to allow it to be accessed through a web browser.

I think the best way to develop a platform like the one you are proposing is to contribute/fork OpenBazaar and contribute to projects like js-ipfs to allow it to be used in a browser. Since OpenBazaar is open-source, if the company behind it is not going in a direction that we want, we can simply fork it. Personally, I don't agree with the monetization of their platform using tokens that they were proposing.

@nickdima
Copy link

nickdima commented Aug 6, 2018

@marcocastignoli I suggest using https://spectrum.chat It's a good compromise between a chat app and a message board. Using something like telegram would make it difficult to follow the discussions. A thread based system should be easier to follow, and searchable as well. And it's also open source.

@marcocastignoli
Copy link
Author

marcocastignoli commented Aug 6, 2018

@meyer9 @Aeolun I don't like the idea to implement a cryptocurrency.

If this is going to be built on proven services without any mention of block chain, tokens, ipfs or other unicorns I am interested.

Thanks! I totally agree with you. I think that for each problem there is a different solution, a platform like this one is huge, lots of different technologies will be involved, I don't want to advertise it focusing on just some of them.

@marcocastignoli
Copy link
Author

@russellballestrini @sardaukar @northfoxz @FredrikAugust @meyer9 @Aeolun If everyone is ok, we can go with that https://spectrum.chat/

@russellballestrini
Copy link

@marcocastignoli never used it before, I just linked my Github account, do we have a team/channel?

@phifty
Copy link

phifty commented Aug 6, 2018

I might be in as well. Let me know the chat instructions

@marcocastignoli
Copy link
Author

@paulcmal Hey Paul, this evening 18:30 CET we will try to write down together a plan on Slack. We could also discuss about the best way to communicate. I also don't like Slack, we should replace it.

@snajpa
Copy link

snajpa commented Aug 7, 2018

If my vote would count, I'm for good ol' IRC for chat. We can provide ZNC bouncer accounts for whomever needs one ;) -> https://kb.vpsfree.org/information/chat#irc

Freenode is sometimes target of scripting trolls, but I think it is exactly because they're trying hard to remain neutral - and if that's not an option, we can spawn a new server.

With the tooling we use these days (NixOS), it's a blast to deploy new services.

@FredrikAugust
Copy link
Collaborator

FredrikAugust commented Aug 7, 2018

@steckerhalter You don't need to explain why ads are bad, I think we all understand that the use of ads has negative sides. Personally I do not like, nor condone, the use of ads, but this is not my project, and if I disagree, I can form an argument as to why I think ads should not be used. What I was referring to is your first comment, where you just say "fuck ads and fuck those that build stuff with ads". This doesn't help the author improve his project, nor provide him with any alternative.

@paulcmal I did not mean to patronize @steckerhalter, but I think his comment was strictly unnecessary (as I have explained above) and destructive, rather than constructive. As for your comment;

it was not a personal attack against anyone

Yes it was; "fuck those who build stuff with ads". That would mean the people who are planning to build this with ads as the main source of income (at least to my understanding).

it was a strong political statement

Perhaps it's just me, but I would not consider that a strong political statement. He said "fuck ads and fuck those who build stuff with ads". He uttered his distaste for ads. Your comment on the other hand, is a strong political statement, as you provide arguments for why ads should not be used, and explain why they are bad.

Though I will ask you too, to stop using language such as "fuck this", and "fuck that", it makes it harder for people who are not as sure of their viewpoints to contribute in the conversation.

From the CoC:

Using welcoming and inclusive language
Being respectful of differing viewpoints and experiences

And finally;

Now that i've addressed your proclaimed intellectual superiority

Sigh, really? I did not claim in any feasible way that I was "intellectually superior" to @steckerhalter. I'm simply trying to maintain a positive and welcoming community, and part of that job is regulating the comments. I thought the comment was inappropriate, hence I wrote my comment. That's it. This has nothing to do with me thinking I'm smarter than anyone else.

Hope that cleared out any possible misunderstandings. Let's continue working on this great project instead of discussing this.

@marcocastignoli
Copy link
Author

@snajpa your vote count, but it's better if we speak about these kind of stuff this evening (or after this evening) so we can use a shared document to propose ideas.

@paulcmal
Copy link

paulcmal commented Aug 7, 2018

Your comment on the other hand, is a strong political statement, as you provide arguments for why ads are bad, and explain why it's bad.

I did not provide a single argument why ads are bad. Like i said, i would be pleased to expose actual arguments if some people want/need them, but i did not. My comment is not more constructed than the original was.

Though I will ask you too, to stop using language such as "fuck this", and "fuck that"

Will do, thanks :)

This has nothing to do with me thinking I'm smarter than anyone else.

Sorry, i thought otherwise. I felt like the original post had a valid point which you tried to silence with legalese blabbery. Hope that cleared out the misunderstanding on my part, too ;)

If my vote would count, I'm for good ol' IRC for chat.

IRC/XMPP has probably all we need indeed :), except maybe topics for long-lived discussion. This could be handled by a forum such as discourse?

@FredrikAugust
Copy link
Collaborator

But then, you may ask what's different between the advertising industry and any other industry. Indeed, is it any less ethical to buy your way into people's minds than it is to rip them off their time and energy in a factory? I don't think there's much difference (in terms of ethics).

I took this as an argument for why ads are bad. Correct, you're not explicitly saying what the downsides are, but I'd say it definitely outlined some of the social and ethical ramifications of advertisements and capitalism (though they are in several ways yin and yang) ("buying your way into people's minds").

Regardless, I'm glad we resolved this dispute so we can continue building cool open source projects! 💪

@daveloyall
Copy link

I won't be using slack. Start an IRC channel on freenode or OFTC or some established network. You can put a slack-bridge bot in the channel if you like.

@Thrilleratplay
Copy link

I do not mean to be a jerk, I just want to point out that, from an outsider, a majority of these comments are back and forths on how to communicate.

Do not waste too much time and enthusiasm on stuff like this. Pick a place that will allows data migration and get started on why you are here in the first place. Move the concersation if it is warranted later.

If no such platform exists that allows this sort of organization for open source projects, then that sounds like a good open source idea.

@marcocastignoli
Copy link
Author

@daveloyall @paulcmal @snajpa we created a document so we can share our skills and set a preference about the communication tool. Please fill it if your are interested in the project https://goo.gl/forms/C2xTeJLtwUO1QL4p2

@snajpa
Copy link

snajpa commented Aug 8, 2018

@marcocastignoli well I’ve voiced my opinion, yet you’re continuing the debate in things which are least constructive.
As you appear to be the leader of this idea, you don’t need to give the people an option to vote on every single decision you’ll make. Either you have it figured out right, where the project should be and people will follow you there because of the sincerety of the plan, or you don’t lead and then we’re waiting for a chaos to self-organize into something way less entropic. Which, without a pretty specific idea of “what this is and what this should be”, will always be overrun with people with more motivation and more concrete goals.
Back in the day when we were working on vpsFree from a total zero with nothing much existing to copy as an example, we didn’t have the stones to be thinking about a open cloud platform, yet be choosing all the closed tools to even figure out, how to get anywhere from that zero.
Closed attitude would get us exactly nowhere. We started as a blog on a community portal, which by the way has had a deep respect for authorship and the rights you tend to hand out with your own texts on proprietary platforms.

I don’t mean to sound negativistic, but let me know, when you’re truly open and have the basics figured out.

Asking me to fill out another form with my behavior being tracked in the Google datacenters is certainly not a good way forward. I’ve written the same here on Github and on that Spectrum platform; sorry, but I won’t repeat it for the third time, when it wasn’t heard the first or the second time.

I don’t want to sound insulted or upset, because that wouldn’t be accurate - I just have better things to do at this moment.

For example figuring out a ZFS management utils to be workibg in user namespaces in containers, so that we can run Docker builds at a more native time without the VFS driver ;)

@marcocastignoli
Copy link
Author

@snajpa can we please speak and you decide how to? I'm really interested to hear you suggestions, sorry if I didn't read too much messages here on github.

@FredrikAugust
Copy link
Collaborator

@snajpa Hello, I read through your comment, and I'm sorry this is the way you experienced things. It is true the beginning of this project was far from optimal, with hopping from GitHub to spectrum to slack, but I'd say the reason for that is relatively straight-forward. First we discussed on GitHub because that's where the idea was posted, but soon realized that it got too cluttered, and started looking for an alternative. I believe we first suggested slack, but people wanted something open-source, so we used spectrum.chat. After short time with that platform, we realized it was not appropriate for our use -- it felt too slow, and the chat feature was severely lacking. In order not to slow down the process, we moved to the original plan -- slack, because it had everything we wanted, and doesn't require any setup etc., so we could use it right away.

Sadly, this means that those rigid on not using proprietary software will not be able to join, and this is something we will address by moving to rocket.chat (or something similar) as soon as we can.

Until then, if you want to communicate, feel free to contact us on email, and we'll keep you up to speed :)

@snajpa
Copy link

snajpa commented Aug 8, 2018

Or, as I said, you can already find the whole team of vpsFree.cz on IRC, freenode.net #vpsfree ;)

Really, feel free to stop by and ask us, how we're doing things ;)

(guys, no need to apologize to me, I'm just stating as I see it from 10km foot view above => as I said, we're here, we've been doing virtual servers at nonzero scale for 10 years now, so you can just deploy what we do as a platform -> if you decide to go this way, things will move rather quickly, because I think we at vpsFree all know, what to do, by now)

@FredrikAugust
Copy link
Collaborator

Wonderful @snajpa! We'll definitely stop by :) Thanks for your reply!

@marcocastignoli marcocastignoli changed the title Nile: decentralized, commission-free, local-economy focused Amazon alternative Nile: decentralized, commission-free, local-economy focused ecommerce Aug 8, 2018
@codekk
Copy link

codekk commented Aug 8, 2018

sounds massively cool. Im in!

@FredrikAugust
Copy link
Collaborator

@codekk just join the slack channel, and skim through the chats in #general. That should get you up to date

@eduard-tkv
Copy link

The slack invite link is dead. I'm not an experienced developer but would still like to help.

@marcocastignoli
Copy link
Author

@snajpa Hey :) I know it was a long time ago but now I created the bridge you were suggesting between Slack and IRC. You can join us here irc://freenode/##nile

@FredrikAugust FredrikAugust added APIs/Backend Like getting feature requests from the frontend team? Look no further! Design/UX Make the users' experience as smoooooth as possible by developing cutting-edge interfaces. Frontend/UI Focus on a frontend for an existing backend. Both frontend development and UI design. Futuristic tech/Unique ideas Sometimes, the ideas are just so cutting edge that it's hard to describe. Web app Applications on the web. Perhaps with React? Or Vue? Or Angular? labels May 19, 2019
@madbob
Copy link

madbob commented Jul 10, 2024

FYI: in Italy we have "ethical purchasing groups", groups of people living on the same area and collectively buying goods mostly from local producers. Usually those are organized in associations, and periodically collect orders from members (on a weekly, monthly, biannual basis, depending on the type of product) to be then shipped together.
Smaller groups communicate via email with spreadsheet files in attachment. Larger groups use more or less specific software applications.

I maintain one of most popular applications, since 2009: GASdotto is of course opensource, it is partially translated also in English, German and French, a free (donations supported) hosting service is provided to lesser tech savvy users to just click and run their own instance, and actually there are more than 100 freely hosted groups for a turnover of about 2 million euros per year on local economies.

Not visionary as the Nile project, but it actually exists ;-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Advanced Projects that require a high level of understanding of the topics specified, or programming in gnrl. APIs/Backend Like getting feature requests from the frontend team? Look no further! Design/UX Make the users' experience as smoooooth as possible by developing cutting-edge interfaces. Frontend/UI Focus on a frontend for an existing backend. Both frontend development and UI design. Futuristic tech/Unique ideas Sometimes, the ideas are just so cutting edge that it's hard to describe. Joined This project has someone working on it. Much work This project takes little time to complete. (ETA several weeks+) Web app Applications on the web. Perhaps with React? Or Vue? Or Angular?
Projects
None yet
Development

No branches or pull requests