
Show HN: Lorem Picsum – Lorem Ipsum but for photos - dmarby
https://picsum.photos/
======
O1111OOO
Just wanted to comment on the clarity and effectiveness of the home page. Love
it! So many user-friendly checkboxes are ticked off. Nice look, great
description, plenty of examples, advanced usage section that's very easy to
take in, credits at the bottom with some backend tech used, a welcoming
contact link...

All of this accomplished (landing page and documentation) in just a few
scrolls of the mouse. I went from novice to expert in a minute. There was a
real effort to communicate with the end-user from an (empathic) end-user
perspective.

Even the parsed json page listing a default 30 images (with credits) is easy
to navigate with all the pertinent information available - including urls that
open in a new tab (so a user doesn't lose their place on the origin page).

You mentioned in another comment that 400 million images are served per month.
Yet... it has the feel (and performance and care) of a small static site.

~~~
hliyan
Exactly. It took me under 30 seconds of scanning through the page to
understand most of the API. No fancy badges, abstract graphics or buzzwords,
just a direct demonstration of the value. This is how product pages should be.

------
throwaway2016a
I'm personally partial to PlaceKitten[1] though around halloween I will
sometimes switch it up with PlaceZombie[2]

This one looks nice in that you wouldn't be embarrassed if it goes live since
the images are generally nice looking but part of the appear of YAPHS (Yet
Another Placeholder Service) is that it is really obviously a placeholder so
you catch it before it goes live.

[1] [https://placekitten.com/](https://placekitten.com/) (warning: contains
fluffy kittens)

[2] [http://placezombie.com/](http://placezombie.com/) (warning: contains
images of simulated violence)

~~~
chx
Let's not forget [http://placecorgi.com/](http://placecorgi.com/)

I wear corgi t-shirts, carry a little felt corgi keyring charm, have unicorgi
stickers on laptop and tech bag both, my lunch bag is printed with corgis...
there's a pattern here.

~~~
adzm
... do you have a corgi?

~~~
chx
No. I live in a pet free building and also travel too much for the poor thing
to be left alone.

I didn't mention five corgi plushies: one memory foam pillow and four
Unicorgis. One pair of the Unicorgis are set to fly -- they had wings and the
previous owner left hooks in the ceiling so it was pretty self evident what I
needed to do...

~~~
kennyadam
How quirky!

~~~
chx
Sometimes a corgi is needed.

[https://teespring.com/shop/corgi-
symbol_copy_1](https://teespring.com/shop/corgi-symbol_copy_1)

:D

------
neilpanchal
Tangentially, I got tired of Lorem Ipsum text and created Quantum Lorem Ipsum,
now with 100% more physics jargon.

[http://neil.panchal.io/articles/quantum-lorem-
ipsum/](http://neil.panchal.io/articles/quantum-lorem-ipsum/)

[https://github.com/neilpanchal/quantum-lorem-
ipsum](https://github.com/neilpanchal/quantum-lorem-ipsum)

Edit: Created a Github repo

~~~
ebg13
I feel like this misses the entire purpose of lorem ipsum. Good layout
designers don't just want letters and spaces. They want letters and spaces
that approximate the whitespace ratio of writing. Your version has only very
long words and very short words and nothing in between. This feels like the
telephone game version where all of the original intent has been lost and all
that's left is a weak simulacrum in vaguely the same symbol space.

~~~
stephenr
This _also_ misses that Lorem Ipsum is effectively gibberish for most people.
It's impossible to get hung up on the content.

~~~
sadness2
It is literally gibberish, for everyone.

~~~
stephenr
I thought it was essentially Latin, so gibberish for most but possibly
readable for those with a penchant for dead languages?

~~~
WorldMaker
When used for typesetting the Latin was intentionally scrambled, so even
someone familiar with Classic Latin should find it more gibberish than not.
For instance the `lorem` itself was most likely a chopped part of a longer
word (dolorem).

An interesting comparison of the "Modern" typesetter's lorem ipsum and the
likely source text is in the Wikipedia article:

[https://en.wikipedia.org/wiki/Lorem_ipsum](https://en.wikipedia.org/wiki/Lorem_ipsum)

------
berbec
Normally, I don't think much of the name of a product. Descriptive, flowerly,
pie-in-the-sky, complete bs, etc.

This one is genius.

~~~
olalonde
I strongly suspect the name came first.

~~~
graphememes
If I remember correctly it used to be unsplash.it, github seems to confirm.

~~~
dmarby
That's correct! We changed the name to avoid it being confused with
unsplash.com as the sites grew in traffic

~~~
Theodores
Do you get sponsorship from Digital Ocean and that CDN company? How does that
work out?

~~~
dmarby
DigitalOcean sponsors our infrastructure, and BelugaCDN covers our CDN costs,
yep.

Very happy with both services, been a customer of DO for years.

------
kumarm
Anyone notice the CDN they are using
([https://www.belugacdn.com](https://www.belugacdn.com))? Looks like their
pricing is 1/10 of S3 and GCP.

Anyone used belugacdn before? Care to share your experience?

~~~
busymom0
Somebody researched a bunch of CDNs and compared them:

[https://www.custompcguide.net/keycdn-vs-bunnycdn-vs-
belugacd...](https://www.custompcguide.net/keycdn-vs-bunnycdn-vs-belugacdn-
cloudfront-performance-compare-review/)

~~~
kumarm
Thank you. Thats helpful.

------
jypepin
I recently launched [http://joeschmoe.io](http://joeschmoe.io), which is a
similar API but for illustrated profile pictures. Did pretty well on product
hunt and other places, so might be of interest here too :)

------
marc_abonce
Are the photos scraped automatically from Unsplash or are they manually
curated in some way? I'm wondering because it looks like that website
classifies photos by category (animals, architecture, fashion, food) but that
information is not on your API.

I think it would be really useful to be able to get a picture of a random
animal or a random landscape rather than just a random anything. But I'm not
sure if that's outside of the scope of the project.

~~~
memco
There’s a very similarly named “Loren Pixel” service which offers categories
(but from a different image set):
[http://lorempixel.com/](http://lorempixel.com/)

------
pvorb
This looks neat and might come in handy. I'm concerned about the legitimation,
though.

Citing from [https://unsplash.com/license](https://unsplash.com/license):

> This license does not include the right to compile photos from Unsplash to
> replicate a similar or competing service.

I'd argue this is exactly the type of "similar or competing service" that is
meant by this sentence.

Edit: Did Unsplash give their consent?

~~~
dmarby
This site pre-dates the Unsplash license (and before Unsplash had their own
API/website even, it started when they were still a tumblr blog), the images
used on it is from back when Unsplash still licensed images under CC0.

We're on good terms with the Unsplash team, and think they're awesome.

~~~
pvorb
Thank you for the clarification.

------
wtracy
I'm honestly surprised I haven't seen a placeholder service that serves up ads
in the images. The service gets revenue, and the dev gets something that's
obviously not a final product.

~~~
arendtio
Placeholders are meant to have no 'message'. In general, ads have messages.
Might be a bit difficult to find common ground.

------
jbkkd
Simple service, easy to use, gets the job done, good selection of beautiful
photos and great documentation on the open source repo. I'm sold

------
an4rchy
Great name! Also, seems like a nifty, simple and useful service for quick
prototyping.

This seems like a bandwidth heavy service. I am curious to hear how you are
thinking about managing/scaling this.

~~~
dmarby
The service has actually been around since about 2014, currently, we serve
about 400 million images a month, using some 6TB of bandwidth. It's pretty
manageable since we use a CDN on top of the service, to cache already
processed images.

Hoping to do a write-up of the architecture in the future, but the source and
deployment setup is available at [https://github.com/DMarby/picsum-
photos](https://github.com/DMarby/picsum-photos) if you're interested

~~~
cbluth
I've checked out the source, thanks. I'll say that a write up on the
architecture would be very interesting, if you ever make it then please post
it on HN.

------
n_u_l_l
What is the difference between this and Unsplash Source[1]?

[1]. [https://source.unsplash.com/](https://source.unsplash.com/)

~~~
graphememes
According to github looks like this came first. Seems like unsplash's attempt
at making this? However this service doesn't seem to have rate limiting like
theirs.

------
dosshell
Wonderful, this may be.. IS the best product website I have ever seen!

If you have not thought about it: images does not really work for place
holders for charts. Maybe placeholders for pie-, bar- and line-charts etc, can
be a feature to come?

------
ndusan-hn
I've used this plain placeholder
([https://placeholder.com/](https://placeholder.com/)) and it worked nice, but
this looks like next level :) Thanks!

------
gloflo
What is your privacy policy? Do you store any information about the users?

~~~
dmarby
There's Google Analytics on the website. For the API/service, there's no
user/usage information being stored, other than aggregated bandwidth/total
requests for the entire service, by our CDN provider, BelugaCDN. You can find
the source code, as well as the deployment setup here:
[https://github.com/DMarby/picsum-photos](https://github.com/DMarby/picsum-
photos)

------
anbop
How is something like this funded? Doesn’t this cost money to host?

~~~
dmarby
It does indeed. DigitalOcean is kind enough to sponsor the infrastructure, and
BelugaCDN provides us with CDN services. Any other costs I cover out of pocket
/ via carbon ads.

~~~
celicaraptor
How did this sponsorship take place?I have a free server from a goverment
program for University Students,but i am curious if you contacted them and
talked about your project and they agreed.Same for Beluga

------
codesections
Cool project. Last time I looked, the image selection was a bit lacking—in
fact, I blogged about choosing between Lorem Picsum and several alternatives a
couple months ago: [https://www.codesections.com/blog/guide-to-placeholder-
image...](https://www.codesections.com/blog/guide-to-placeholder-images/)

I eventually settled on Pixabay, but if Lorem Picsum has added more images
recently, I might need to give it another look.

------
blackbrokkoli
This seems to be built on top of the unsplash API. That is of course ok, but
does it provide any relevant additional functionality?

You can literally use
[https://source.unsplash.com/random/800x600](https://source.unsplash.com/random/800x600)
(with or w/o the dimension) and get the same result, one level less abstract.

Meanwhile, filter() in CSS provides both greyscale and blur with way more
power.

I like your homepage - but what does this add to my workflow?

~~~
dmarby
This service isn't built on top of the Unsplash API, in-fact, it predates it.

------
yaleman
Hipster ipsum ([https://hipsum.co/](https://hipsum.co/)) is (good|bad) if you
want text :)

------
40four
Looks like this is not the first service like this, but I'll be honest, I
wasn't aware they exist! Haha!

This one might win the contest on beat name though. I feel like it's a "Doh!!
Why didn't I think of that!" moment.

Really cool, great work!

------
onlyrealcuzzo
I love this. Simple service. It's useful. I hope this goes somewhere.

------
edgarvaldes
Similar:

lorempixel.com

[https://placeholder.com/](https://placeholder.com/)

------
ricardobeat
Has there been some kind of relaunch? Service was unreachable last Friday.

~~~
dmarby
We switched over from our old NodeJS backend to a new Go backend recently, and
gave the website an overhaul as well, things were a bit shaky during the
transition.

~~~
abhilash1in
Any reason for the transition from the old NodeJS backend to the new Go
backend? Did NodeJS hinder the performance in any way?

~~~
dmarby
I wrote the old codebase ~4 years ago when I was just learning NodeJS, and
didn't touch it too much after that, so it was in dire need of being replaced,
in particular since it wasn't really written to scale horizontally.

Didn't have any particular issues with NodeJS in terms of performance, just
felt like using Go when I was rewriting it.

------
TomK32
This needs some support to query by tags to turn into something awesomer.

------
tikumo
Ive used lorem pixum for a long time, how is this different...?

------
busymom0
Somebody should built an equivalent for gifs and videos

------
ameliozanchi
What does it use to random images?(retoric?.)

------
PopeDotNinja
This is really cool. Will use this :)

------
nkg
I will use this everywhere.

------
uberman
How does this service distinguish itself from any of the other image
placeholder services out there?

~~~
amanzi
I haven't seen any other image placeholder services that look similar to this.
Can you share some examples?

~~~
PavlovsCat
[http://lorempixel.com/](http://lorempixel.com/)

It's pretty old, too.

[https://www.awwwards.com/sites/lorempixum](https://www.awwwards.com/sites/lorempixum)

~~~
blotter_paper
At the top of the lorempixel page it says they used to be lorempixum.

~~~
PavlovsCat
Yes, I know that. First link is the service, second is the award they won in
2008.

~~~
blotter_paper
I was noting it for the interest of the general reader, since the incredibly
similar "Lorem Picsum" is garnering so much praise in this comments section.

------
arendtio
Love at first sight!

------
strictfp
Hello from Realms!

------
xiphmont
Damn. I thought it said Lorem Piscum. I'm so disappointed.

------
herpderperator
I don't like the fact that it's /200/300, it should be /200x300. The slash
makes it more difficult to read, i.e. in the example:
[https://picsum.photos/id/237/200/300](https://picsum.photos/id/237/200/300),
it would be much easier to read and understand if it were
[https://picsum.photos/id/237/200x300](https://picsum.photos/id/237/200x300).
Terrible decision.

~~~
quickthrower2
It should be
[https://picsum.photos/id/237?w=200&h=300](https://picsum.photos/id/237?w=200&h=300),
IMO.

~~~
enriquto
oh, god, no! what an ugly, absurd and unnecessary over-engineering

~~~
quickthrower2
Ugly yes, over engineering? no it's what you would have done in PHP in the
90's. Doing the URL thing would need more work (hello .htaccess). Anyway...

Good points: It is semantically correct and self documenting. There is no
resource called 300 nested under a resource called 200 so lets not pretend
there is. The query string seems perfect for the job of providing size
parameters. You can then extend this interface to take other factors you want
to affect the image, and keep it backwards compatible. Function over form.

~~~
jeremy_wiebe
Add to this the fact that you don’t have to memorize which order the
“parameters” go.

Is it `/width/height` or `/height/width`?

To me this is very similar to languages that use names parameters vs
positional.

