
Going native - Garbage
http://blog.getpostman.com/2017/03/14/going-native/?utm_source=All+contacts&utm_campaign=73d8d3fafd-EMAIL_NEWSLETTER_2017_03_22&utm_medium=email&utm_term=0_bba0cca85f-73d8d3fafd-11457707
======
a85
Postman founder here HN folks. Great to see the post get featured on the
homepage! Lots of discussion about what is exactly native. I have posted some
replies but some other points about the choice of words:

1\. Postman has 3 million users and about 1.5 million MAUs. When we tell
people we have a native app, they get it. People go to our apps page, download
the installer and see everything exactly as they expect things to be.

2\. We have worked hard on optimizing our UI layer over the past several
months including mapping of keyboard shortcuts and smoothening out performance
issues.

3\. We are able to provide a consistent experience for Windows, Linux and
macOS users and people love that EVERYONE in the team can use the same app.
That has very clear advantages when development teams are chosing tools.
Postman is used by everyone who comes in touch with APIs - product managers,
sales, customer support, dev evangelists and a cross-platform app allows
everyone to standardize much faster.

4\. Reusability in the code base through node packages is amazing to have.

5\. We use React and are aiming for reusability of these components in the
browser. This includes stuff like visualizations, data rendering etc. Our time
to market has come down like crazy.

6\. With node, not only do we get reusability across OSes but also between the
app and our server-side stuff. We have a command line tool called newman that
uses the same runtime (postman-runtime, open-sourced on Github) and the same
runtime powers our monitoring service that runs on the cloud.

That's just some of the advantages. There is a lot of work going on in
optimizing our code base. Ultimately we are validated by whether we do a good
job for people who use the application. I have been building Postman over the
past 5 years now and that has been the core guiding princple.

~~~
psyklic
>> When we tell people we have a native app, they get it. People go to our
apps page, download the installer and see everything exactly as they expect
things to be.

The term "native" is used to describe apps developed for a specific operating
system. By this definition, clearly Electron apps (and hence Postman) are not
native apps.

Having to download an installer doesn't make it native. On smartphones, all
apps are installed in the same way. Yet, some are native and others use
WebViews.

I am making no comment on Postman's quality (in fact I am a customer).
However, advertising Postman as native seems a bit disconcerting to me.

~~~
alnitak
The pedantic force is strong here.

~~~
debaserab2
Not really. Especially not on Hacker News. There's an expectation when someone
says native app that you're getting a binary that you compiled from source you
created with a reasonable expectation of performance.

No one thinks native as being a webview wrapped executable where the authored
source is actually a series of HTML, CSS, and javascript. They just don't.
Calling it "native" is a misnomer.

~~~
wging
You're right about the meaning of 'native', but if you expect to have a
'reasonable expectation of performance' just because an app is written as a
native binary, you may be sorely disappointed. There are plenty of poorly
performing native applications out there, and it's also certainly possible to
write minimal, fast HTML/CSS/JavaScript.

~~~
debaserab2
Absolutely. But you don't start out with a large memory footprint like an
electron app, you actually have to code yourself into that problem instead of
immediately inheriting it.

I'd still argue that most people are going to assume that a native app is
probably faster than your average electron app, for a whole host of reasons.

------
fnord123
This appears to be an electron program. Is that native? I thought it was a
specialized browser just for the program. I thought native was more akin to
the wikipedia definition:

[https://en.wikipedia.org/wiki/Native_%28computing%29](https://en.wikipedia.org/wiki/Native_%28computing%29)

------
juice_bus
I am really getting tired of the constant "need an account" for _everything_ -
nvidia being the one that drives me the most crazy.

I appreciate the fact that Postman allows you to continue without
registration[0]

[0][http://i.imgur.com/8XVCu5u.png](http://i.imgur.com/8XVCu5u.png)

~~~
fimdomeio
What I would love would be a git friendly app. keep the collection as a file
that I can keep on the repo and them commit the new changes in the code.

~~~
prebrov
Paw uses git under the hood when you use its sync service (available for
free), it seems.

Unfortunately, you can't sync with your own repo, which is a shame for a
fairly expensive rest client, compared to alternatives.

I use and love it way more than Postman nevertheless.

~~~
hishnash
We use libgit2 server side, Paw does not talk GIT it talks json to our syncing
service. (the repo format we have would not be very nice if you wanted to
embed it in another project, since we split out each object in Paw into a
separate yaml file to reduce merge conflicts, this means even small projects
in Paw can be 1000s of files) During merges etc we run extra validation on the
project to ensure we dont get corruption. (this is not easily possible with
repos hosted on github etc) (paw backend dev here)

------
rvanmil
I thought this might be a nice alternative to Paw. But nope, yet another
Electron app misleadingly marketed as "native", nevermind.

------
umen
When you will learn Native it is not electron It is webview working offline

------
Animats
With a name like "Postman", one might expect this has something to do with
mail, or messaging. The blog post gives no clue as to what it's for. It's
apparently a test tool for testing HTTP-based APIs. [1] (HTTP "POST", get it?)

Not to be confused with Postman Corporation, which is a "computer repair shop"
near CIA headquarters.

[1] [https://www.getpostman.com/](https://www.getpostman.com/)

~~~
blizkreeg
It's a fairly well known tool if you're a consumer/producer of APIs for
web/mobile dev. May be that's why?

~~~
smlacy
No its not. :)

Blog has no product description, and even the product description on
getpostman.com (below the fold) is amazingly vague:

"A powerful GUI platform to make your API development faster & easier, from
building API requests through testing, documentation and sharing."

So... It's a text editor? A test framework? What languages does it work with?
Web APIs or native? Why would I use it over my existing toolchain?

~~~
tragic
In the time it took you to write this post, you could have googled it like
thirty times. What's your point?

It's just a gui version of curl with helpful things like an editor for post
bodies, persistence of old requests, stuff like that.

~~~
smlacy
Point is that if they're selling a product, they could make it more clear what
the thing they're selling is. I'm EXACTLY the target market, and they failed
to entice me.

~~~
nuggien
You're not the target market if you couldn't figure out what they are. I've
never heard of it but one look at the screenshot told me exactly what it is.

~~~
visarga
That's not a reason to have a poorly explained product or service, it's only a
justification for not caring enough about clarity.

But for developers, who see hundreds of libraries and services being posted
every day, it matters if there is a clear explanation at the top or not.

~~~
nuggien
The target market are developers who are in need of a very specific solution
that postman provides. How do you think most postman users end up at the site?
They probably search for some very specific keywords on google, asked some
very specific question on stackoverflow, or got referred to it by reading some
very specific article on reddit/hn/etc. They aren't people with 2 second
attention spans who can't be bothered to read beyond the tag line.

smlacy's response felt pretty much like trolling to me.

------
ummjackson
Hmm, does Electron really == "native" ??

~~~
colordrops
It's a native binary executable with standard access to system APIs, so in the
technical sense, yes.

~~~
Qwertious
By that logic, if I fork chromium and make a custom version of it that's hard-
coded to start up HN in the first tab, then I've made a native HN app.

~~~
MadcapJake
No, you've "made" a native browser that opens HN in the first tab.

~~~
radisb
By that logic Postman native is a native browser hardcoded to open only one
tab and load Postman's javascript code upon start-up

~~~
MadcapJake
Basically this is true but the browser (Electron) is designed to be single-
purpose (your app) and has pathways to the filesystem that you can't get in a
web browser.

Also, it is treated as an application by the OS rather than a Chrome window
(and all the benefits that come with that shift).

------
mythz
The title of this post should've been:

> How we avoided going native, and built an App with Electron instead

------
aberatiu
My 2 cents. Try and add a notification within your Chrome App that there's a
native version of your app as well. 'Cuz since now, although I've been using
your app for more than a year now, I didn't know about the native version of
the app. PS: Paying customer :)

~~~
a85
Yep. :) Up next. (Postman founder here)

------
luhn
I've been on the native app for a while and was very glad to switch. The
pseudo-standalone Chrome app had some very weird and obnoxious behavior when
navigating between applications and windows on MacOS.

~~~
a85
We waited and waited and waited for Chrome to fix this. :/

------
tbrock
The real question is why Chrome will no longer allow Chrome apps?

~~~
ozten
My guess is they are doubling down on Progressive Web Apps.

Many users don't understand the "browser is an app store" model.

Making installing an "App" a seamless transition for websites you constantly
use, seems like a UX improvement, if Progressive can deliver on it's vision.

~~~
a85
Yeah. That plus I believe it became exponentially difficult for the Chrome
team to deliver a set of APIs for apps to replicate native experiences. One
example was the menu bar. Apparently it would have required rewriting parts of
Chromium in a generic way so Chrome could have its own menu bar AND allow
customizability for apps. I was tracking bugs on the Chromium tracker for a
while but don't have these links handy at this moment.

------
bpicolo
Thank goodness. The biggest problem with the chrome app is that alt+tabbing to
Chrome will foreground Postman instead. Such a pain!

~~~
always_good
Yeah, it was a constant dance of `cmd-tab` and `cmd-tilde` on OSX, which
unfortunately was the reason I lost interest in it.

------
hayden592
Big fan of Postman for quickly iterating on API's, microservice integration
tests, and one off requests. However, my team keeps the collections in git and
they are very difficult to diff. This almost always require a detailed commit
(doesnt usually happen) or me asking the dev what they changed. Any
suggestions on how to improve comparing two collections?

~~~
a85
Thanks for the comment! If you are on Postman Pro you can export to Github
directly. There is versioning built-in Pro too. That said, we have improved
the format a lot over the years to support diffing just with Git.

------
hizanberg
When did we start calling Electron Apps, Native Apps? Is it now a marketing
ploy to call your App native when it's not?

If your App renders in a WebView then by definition it's not native and
shouldn't be labelled as such so it doesn't devalue Apps that use Native OS's
UI components and idioms that are truly Native. If it has a mix of native and
WebView controls then it's at best a Hybrid App.

~~~
kangoo1707
If an app can be installed the same way a "native" app does, it is a native
app. Users do not care about the technology behind the scene and what they are
called.

~~~
wishinghand
All native apps are desktop apps, but not all desktop apps are native apps.

~~~
a85
So native would not cover mobile apps?

~~~
dkersten
It depends on the host platform.

On desktop, all native apps are desktop apps but not all desktop apps are
native.

On mobile, all native apps are mobile apps but not all mobile apps are native.

~~~
a85
This is where I believe we'd differ. Postman already had a "desktop" app in
the sense that Chrome apps also existed as desktop apps and when we ask users
to switch, they wouldn't.

For most users, desktop apps = things that run on the desktop.

[https://dcrazed.com/google-chrome-desktop-apps/](https://dcrazed.com/google-
chrome-desktop-apps/)

~~~
wishinghand
What you say you differ on doesn't seem to be incompatible with my assertion.

------
martin-adams
I absolutely love the Postman app, well done and thank you!

My biggest frustration with native apps are things like the Google login.
Without it being in a browser, I have no way to verify that I'm looking at a
legitimate login, or a fake one, right through to 2 factor authentication.

~~~
a85
Thank you for the comment! I think there are ways to represent this better
(just with a URL bar for example). Will look into it.

~~~
martin-adams
I'm not sure how easy that is to solve, because again, a rogue app could fake
the URL bar. It's just the nature of desktop apps vs the browser as the
browser is there the trust is. Maybe passing it to a browser for
authentication is the only option.

Now I've been using Postman for many years, so I certainly trust the quality
and intent of your work.

------
neves
Read the article, went to home page, clicked in Documentation and still don't
know what the application does. Can someone resume in 2 phrases?

~~~
beart
Basically, it's a program for running tests against an API (HTTP VERBS).

------
tempodox
One of those insider-only jokes. Not even their Products page says what it
actually is.

~~~
a85
It does a lot of things. The table should help
[https://www.getpostman.com/products](https://www.getpostman.com/products)
(essentially everything with API development)

------
spookyuser
I love postman. The whole program is extremely well designed, and the dark
theme looks fantastic. Might even be better than Darcula on intelliJ :p

Since the author is in the comments just wanted to ask one thing. Is this [1]
supposed to be misaligned?

[1][https://i.imgur.com/aw8ybBz.png](https://i.imgur.com/aw8ybBz.png)

~~~
chrisan
My goodness... I've been using postman for a long time and I never noticed
themes before. Thank you (or I guess really thank you a85)!

------
kyberias
I don't want to "sign in to a Postman account" to download it. Sorry, I'll use
something else.

UPDATE: I stand corrected. One can download without signing up. Sorry, I guess
I'll try this after all :)

~~~
masthead
There's a secret option to skip it.

You don't have to sign in to use it

------
jsmeaton
I'm a big fan of postman, and I've been using the native app for a few months.
It's great for exploring apis then dumping the code into either curl or
requests for Python.

~~~
a85
Thanks for the comment! (Postman founder here)

------
_pdp_
You don't have to be native although it looks like Chrome Apps will be gone.
SecApps ([https://rest.secapps.com](https://rest.secapps.com)) for example
utilises a Chrome extension and while it is not perfect it is still a webapp.

My point is that the Web is very powerful platform and I don't think we should
always undermine it because it is not native!

------
sirius87
Great news. I hope this means getting Postman to use the system proxy [1]
would be seamless. Gave it a shot a few months back, didn't bother debugging
though.

[1] [https://github.com/postmanlabs/postman-app-
support/issues/22...](https://github.com/postmanlabs/postman-app-
support/issues/2225)

------
felipebueno
Slightly off-topic:

On my current job we use the Postman Chrome app to test out apis. I'm looking
for a FOSS command-line alternative to it because it's very slow on my laptop
(Linux, Celeron, HDD, 4GB RAM) and the UI makes no sense to me.

I know I could just use cURL (which I do) and/or HTTPie but it would be nice
to have options.

Is there any alternative that would suit my needs?

~~~
czardoz
We have a CLI for Postman:
[https://github.com/postmanlabs/newman](https://github.com/postmanlabs/newman)

But it's currently geared towards running collections created in the Postman
App (i.e, it's not for one-off requests like cURL is).

~~~
felipebueno
Hey, that looks useful! I'll take a look at it later. Thanks! :)

Oh, btw: I read my comment again right now and it sounds a little bit
arrogant. I'm sorry about that... By saying it's slow and that I don't like
the UI, I mean no offense to you guys.

Actually, I think Postman is a very useful tool and my co-workers seem to love
it. I's just not for me and my crappy laptop hahah.

------
johnflan
These 'native' wrapped apps on desktop and mobile are always less in some way
than a real native app. I know there is a cost benefit argument, but I
personally avoid them.

~~~
a85
I'd argue that the HTML/CSS/JS layer is more powerful and more extensible than
any native rendering layer.

We are building some awesome UI components using this:
[http://blog.getpostman.com/2017/02/28/introducing-the-new-
da...](http://blog.getpostman.com/2017/02/28/introducing-the-new-data-editor/)

Things that we build for the app are also available for our web components
instantly. React makes this even easier.

~~~
johnflan
That might be true, all UI development over the last few years has gone into
the JS environment. But the responsiveness of native always wins out for me.

Nice UI is not good UX

------
macsj200
"The native apps cover all the features and functionality of the Chrome app
and Chrome extension together, and more. The native apps run on Electron
overcoming a lot of the restrictions of the Chrome platform."

My understanding was that Electron _is_ just an embedded instance of Chromium,
so I'm reading this sentence more like "The native apps run on [embedded
Chromium] overcoming a lot of the restrictions of the [standalone Chromium]
platform."

~~~
EduardoBautista
Yup. Luckily, there is Paw[0] if you want a native experience on the mac.

[0]: [https://paw.cloud](https://paw.cloud)

~~~
eyko
I liked paw, but postman is free. I'd consider paw at half the price because I
don't spend that much time testing REST APIs, but when I do I don't mind using
a better tool than httpie or curl. Postman does the job (quite well) for free.

~~~
a85
We do have a subscription service now called Postman Pro - does API
documentation (api.getpostman.com), API Monitoring, Mock servers, Team
collaboration and it has a powerful API (api.getpostman.com). More coming
soon! Postman - the app will always remain free. :) (Founder here)

------
Mayzie
Can we not conflate "native" and "electron" applications? Thanks.

------
masthead
I have had developed chrome apps and extensions in the past, and this is
totally relatable.

Chrome sucks in terms of providing support to developers and building robust
features.

(Coming down to Indiranagar for a treat from your end. :P)

------
notsrg
Been happily using postman for a couple years now and happily don't care that
you called an electron app a native app. Sorry HN is so aggressively pedantic!

------
therealmarv
Can I still use login on a web interface (cookie and interceptor) and use an
API with that cookie in place? It was my workflow with the Chrome app.

~~~
a85
We are working on connecting the Interceptor with the native apps. Need a few
tweaks in the codebase. :)

------
elmalto
Gladly switched today after the plugin, although installed in "normal" Chrome,
opened up Canary every time I used it.

------
cobalt
Everyone seems to be commenting on this, but I would consider this to be a
standalone app, but not a native app

------
jitix
This is a great news. I was looking for a decent, free ReST client for Mac for
a long time.

------
dopamean
I think it's really disappointing that so many of the commenters here have
chosen to nitpick on the author's choice of the word native and then debating
whether it was a good idea for them to use Electron. How about we all try out
the app for a few days and the come report back about our experience?

~~~
danieldk
It is not really nitpicking when most Electron apps use tens to hundreds of
megabytes of memory. If all the utility apps that I use regularly switched to
electron, I would need an order of magnitude more RAM.

Moreover, these applications are then completely 'unnative' in the sense that
the widgets do not look native on my OS, the widget behaviour is not native to
my OS, the usual keyboard shortcuts are broken, etc.

Electron apps are the Java Swing applications of this decennium.

~~~
a85
I am pretty surprised how some commenters here are using this argument. Of
course, EVERY utility app should NOT be written in Electron.

I have commented on the UI and keyboard shortcuts elsewhere. These are easily
doable and I believe libraries to pre-package and solve this exist already.

------
anilshanbhag
I didn't know Postman had a proxy. I was about to pay to use Charles proxy.

------
aphextron
"Native"

------
rosstex
I prefer the Interceptor extension to using proxy settings.

------
smlacy
This Fails my simple "I've never heard of Postman, can you please explain it?"

* Blog post (linked) is very vague, no "About Postman" or similar link.

* Toplevel of blog page is the same, no "About Postman" or "What is Postman" link.

* Toplevel of "postman.com" is amazingly, similarly vague, with the most descriptive text above the fold being:

> "Developing APIs is hard. Postman makes it easy. Download the free Postman
> App"

* Still, there's no "About" link or anywhere obvious to actually describe what the product is. I clicked on ALL of the tabs in the upper right: "Products", "Pricing", "Documentation" and "Cummunity" and NONE OF THESE has any text explaining what Postman is or why I would want it.

If your site(s) don't have a simple "Postman is a ..." or "Postman can help
you..." paragraph, then you've absolutely failed to attract your target
market.

~~~
dom2
Main page scroll down, "A powerful GUI platform to make your API development
faster & easier, from building API requests through testing, documentation and
sharing."

~~~
smlacy
So this is a text editor?

~~~
chrisan
> So this is a text editor?

You are saying... "A powerful GUI platform to make your API development faster
& easier, from building API requests through testing, documentation and
sharing." makes you think a text editor, really?

------
lalmachado
I gave up using postman a while time ago because I was thinking that they had
not an app outside the Chrome. I started using
insomnia([https://insomnia.rest/](https://insomnia.rest/)) and I am satisfied

~~~
richthegeek
Exactly the same experience here. Postman always felt a little laggy and the
in-app pushing for premium features was getting annoying.

Insomnia does everything I want it to do and does it quickly.

~~~
gschier
Developer of Insomnia here, and I'd just like to say that it makes me happy to
see people in the wild are enjoying the app! Oh, and there are some big,
fancy, and awesome things coming ;)

