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

Support multiple channels for installing/ updating Postman app. #4576

Open
prashantagarwal opened this Issue May 21, 2018 · 19 comments

Comments

Projects
None yet
@prashantagarwal

prashantagarwal commented May 21, 2018

Linux: Snap, Debian package, Flatpack.

Windows: MSI installer

@prashantagarwal

This comment has been minimized.

prashantagarwal commented May 21, 2018

Related to #2931 #3019 #4512

@x80486

This comment has been minimized.

x80486 commented May 22, 2018

I think the best way today is to use Flatpak. I've even seen complex applications that use Java working perfectly. On the other hand, Flatpak runs the application in a sandbox — which is a huge advantage especially for apps based on Electron (which is basically a notoriously outdated browser, stripped by some security features, e.g.: sand-boxing); auto-updates are incremental, you can basically install a Flatpak in almost any distro these days, etc.

Snap has many disadvantages, such as the non-independence of the provider, having to agree with the Ubuntu CLA to contribute, a centralized store (I know it is possible to create independent repositories, but it is complex and almost nobody has done it) and its little adoption in other distros. For example it is not being maintained by the community after the push made by Canonical, it also still depends on an LSM like AppArmor (Solus OS had to integrate it into the system to offer all the features of the format, something I doubt all distros want to do that).

@ghisvail

This comment has been minimized.

ghisvail commented May 31, 2018

Flatpak submission to flathub here

@ghisvail

This comment has been minimized.

ghisvail commented Jun 3, 2018

Could someone from the team / company review the comments regarding the licensing in the flatpak submission thread above?

@SamvelRaja

This comment has been minimized.

SamvelRaja commented Jun 6, 2018

@ghisvail Thanks a tons for taking your time in adding postman to flathub.
Unfortunately, we can't put Postman into flathub.

Hope you know postman handles lots of sensitive user data and we ship features to a vast user base, the updates we push to users are in staged manner. Since, Postman doesn't have proper crowd in its other channels, we are following different strategy for providing staged updates to our users. Ideally, Postman need granular control over its updates.

Hence we decided to build our own for linux, and using the update mechanism provided by electron for other platform, which is more self sufficient and provides much control.

Also the fact we need to consider migration of all our users to different update distribution.

We completely understand the advantages of briging in other update distributions. But it's a known trade off we took for now.

@senpl

This comment has been minimized.

senpl commented Jun 6, 2018

Maybe just not show update window until Postman will be able to handle auto-update. Most users don't care about new features, They just want to use app. And annoy them with window that is not helpful to them is waste of everyone time. When You figure out how to make auto-update for linux show that info. Long notification with link to new version would be enough to this interested in update.

@SamvelRaja

This comment has been minimized.

SamvelRaja commented Jun 6, 2018

@senpl Hope we figured out at the right moment for you 😄. With our 6.1.0 version we actually shipped with Linux auto-update. http://blog.getpostman.com/2018/05/16/postman-6-1-linux-auto-update/

@grzegorzjudas

This comment has been minimized.

grzegorzjudas commented Jun 18, 2018

@SamvelRaja So you basically just ignored what everyone here wanted to have (and this issue is the essence of) and improved your "auto-update" solution that noone wants?

Great way to loose support, I guess.

By the way, We still want to have Snap/Debian/Flatpack option. I couldn't care less about better autoupdate.

@a85

This comment has been minimized.

a85 commented Jun 18, 2018

@grzegorzjudas Unfortunately, I don't think we can support everything that everyone asks for. If you don't care about it, that's fine. I care more about our users rather than somebody who yells the loudest. If we were working only on whatever people would ask us to do, we wouldn't probably be building Postman.

@a85

This comment has been minimized.

a85 commented Jun 18, 2018

And seriously, Linux needs to sort out it's shit around distributing apps. Until a while back, it was impossible to develop apps for Linux until Electron came around. Because there were a zillion ways to develop apps on it - which is why nobody bothered creating UI based apps for Linux. Now that you CAN actually develop on it, there are a zillion ways to distribute it.

@a85

This comment has been minimized.

a85 commented Jun 18, 2018

@grzegorzjudas And yes, people do want an auto-update but they are separate from people who want Snap/Debian/Flatpack apps just because they happen to use Snap/Debian/Flatpack. Why not ask Snap/Debian/Flatpack to go and build those apps instead?

@x80486

This comment has been minimized.

x80486 commented Jun 18, 2018

I think you didn't get the point of having, for instance, a Flatpak or a Snap...like, at all. The auto-update capability is just the tip of the iceberg — at least for those two. Moreover, you went ahead and implemented your own (and custom) auto-update feature!

On the other hand, Linux is the precursor of many features and functionalities you see in other operating systems, so distributing apps is really a minor thing.

I for myself stopped using Postman in favor of Insomnia...so good luck with your decisions. In the end, there are tons of options out there. Postman is one of the greatest ones though 😉

@ilya40umov

This comment has been minimized.

ilya40umov commented Jun 18, 2018

@a85
Until a while back, it was impossible to develop apps for Linux until Electron came around. Because there were a zillion ways to develop apps on it - which is why nobody bothered creating UI based apps for Linux.

I don't see how having a zillion ways to develop apps can possible lead to people not bothering to develop them (e.g. you just choose the one you like and use it, like the guys who developed IntellijIDEA did, and it has worked on Linux since like forever). Are you saying that if you provide a zillion way for me to install Postman on Linux, I'll immediately stop bothering to do so?
Also, seeing such an attitude towards Linux from Founder of Postman makes me reconsider whether I should be using this tool in the first place, not to mention suggesting it to anyone.

BTW, if you are looking for a constructive dialog, take a look at my last comment for #2931 in regards to why packaging Postman may be a good idea.

@preethammavin

This comment has been minimized.

Member

preethammavin commented Jun 18, 2018

With the auto update feature in the app we aim to solve aim to solve the issue where our users have to manually download our app from the website and update it. This was the problem which we wanted to solve the linux users community, as this affected all our linux users.

We understand that there are a lot of other solutions out there with other features, but it did not make sense for us right now to take a bet on one of them for a multitude of reasons (few of them mentioned by @SamvelRaja ). This does not mean we are throwing away any other solutions out the window, we will keep evaluating solutions and once we have enough data/value to take a bet on one of them we will.

@a85

This comment has been minimized.

a85 commented Jun 18, 2018

@ilya40umov I am not sure you completely understand the context of the original comment. On your suggestion for the Debian package as @preethammavin said, there are lots of solutions. This thread was created by @prashantagarwal who is an engineer at Postman to consolidate those issues and look at them holistically rather than take a call that ends up creating overhead and maintenance costs for the Postman team AND the end user who uses Postman. However, there are always people in the community who come up from time to time and end up "demanding" rather than having a constructive dialog. Unfortunately, it is my responsibility to say no to that unless there is a genuine need. Otherwise we'd just be building stuff for people who demand their way of working take priority over everybody else's.

On your point of debian files, I have read through your comment before and I appreciate your feedback. However, choosing a distribution mechanism for Postman basically involves working with a middleman in providing the base software as well as updates to the end user. There are several ways out there - not just for Linux but for OS X and Windows. MSI packages, Windows Store, Mac App Store including the one that you mentioned.

All stores and distribution mechanism involve overhead in packaging. This also creates a responsibility on our end to ensure that they are up to date. If the distribution mechanism itself ends up being dead, then we have to migrate users to a new way of installing and updating otherwise they are stuck on an old version. I have met people who have no clue that Postman got any updates over the past 4 years. We have been on the Chrome App Store for most of our lives which was deprecated twice in it's history and we think twice before deciding on a new mechanism.

Not just the constraints on packaging, distribution systems also enforce constraints on what the software can do. We would like to ensure that the functionality of Postman is not compromised just because of the choice of the distribution mechanism. In case there is a security patch that we want to push, we will be constrained by rules. The more distribution systems we have, the more complex packaging and distribution becomes, eventually slowing down how often we can push improvements.

A lot of the comments on the thread #2931 point out the issue that they'd like to have a trusted binary once but they don't want to get an update from Postman because from that point onwards, they won't trust Postman. That IMO, is a specious argument.

We decided to distribute Postman ourselves because it is the most convenient path for us and users. It is not cheap but for the time being it provides the most direct path to end users. If there are things that we can improve in the process of installing and updating, we'll take care of that and we'll continue looking at solutions with a wider lens than just deciding on a few data points.

@aviray48

This comment has been minimized.

aviray48 commented Jun 28, 2018

@a85, @prashantagarwal: I appreciate all the good work you are doing with Postman. While it would be nice to have Windows MSI installer, I understand that overall, there are other things that are a higher priority. Hopefully you can eventually get an installer going.

@grzegorzjudas

This comment has been minimized.

grzegorzjudas commented Jul 3, 2018

Don't get me wrong - I love Postman, and I really want to use it, privately and in work/enterprise environment, but it's right now not possible because of your custom approach to updates.

Like @x80486 mentioned, it's not just about updates. It's about how easy you can manage, maintain, support and release new versions, as well as rollback it in case there's a security issue with some of the newer versions. It's pretty much a standard - and what's more, creating and maintaining, PPA for example, is not that time and resource consuming.

I remembered the joke, where some manager in company X got irritated after discovering theres 11 different memory card formats. Decided to create one that everyone will use. One year later: there's 12 different memory cards formats.

@prashantagarwal prashantagarwal removed their assignment Jul 31, 2018

@ilya40umov

This comment has been minimized.

ilya40umov commented Aug 2, 2018

Just today I was installing Postman on a new Ubuntu system.
First tried via Chrome and it told me to use a Native App as Chrome Apps are deprecated.
Okey, fine. I removed the chrome app and downloaded the native one from the website, but it would not start.
If run in Terminal you get ./Postman: error while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory and so I had to run sudo apt-get install libgconf-2-4 manually to get the necessary dependencies on my system.
Now it runs, but I still don't have a desktop icon which I'll need to create manually by creating a .desktop file for the application.

@ghisvail

This comment has been minimized.

ghisvail commented Aug 2, 2018

@ilya40umov you might want to try installing the app via flatpak. Just follow these instructions, and then install Postman with flatpak install flathub com.getpostman.Postman or via the Ubuntu or GNOME package manager.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment