
Nordic Valley’s brilliant, zero-budget solution to trail/lift status - mooreds
http://www.slopefillers.com/nordic-valleys-traillift-status/
======
greggblanchard
Glad you guys dig this. As the author of the story, a bit more context here
might be helpful for the non-ski crowd.

The simple verison is that small resorts really do operate on minuscule
budgets. When I met with the marketing director of this mountain, they were
struggling to afford email marketing. Vail might spend more on a single print
ad than a mountain like Nordic Valley does all year on marketing. This means
that vendors struggle to build stuff that would solve their needs because
there's just not enough money in the ski area's pockets to buy it. In other
words; solutions like this aren't just clever hacks, they are often
necessities.

This often manifests itself in turning stock, off-the-shelf stuff into things
like ski racks or signage or tools. Some industry publications will even
devote sections of their magazines to these hacks because so much creativity
is born from them. This, however is one of the first times I've really seen it
crossover into technology which is an awesome step to see happen.

~~~
paddy_m
Nice blog btw, I'll definitely be digging in. What do you think the chances of
Nordic Valley's planned expansion are?

~~~
greggblanchard
Thanks, been writing 3-5x a week for about a decade so let me know if you're
looking for a specific topic and I can give a starting point.

Re: expansion - I think the odds are really, really slim. Ski expansions at
that scale just don't happen in 2019. I wouldn't be surprised to see them
expand to the ridge just south of the resort like they've been trying for the
last few years (and who knows, maybe this is a play to help that move along),
but nothing near the plans being outlined.

------
kwindla
Everything old is new again! There's a little bit of an iframe renaissance
happening, because even though iframes are a blunt instrument for combining
content from different origins, they also have some really desirable features.

Cross-origin iframes are completely sandboxed, they can be styled quite nicely
as transparent overlays with css, and they are supported on all browsers
(including mobile).

Stripe Checkout uses iframes (in a super-nice, completely invisible) way.
Intercom Messenger runs in (multiple, nested) iframes.

Our startup makes an in-browser video calling product and last year we started
seeing people hacking together "embedded" video calling by wrapping our call
pages in iframes. We thought, "that's cool!" and launched a full API to
support this growing set of use cases. [0]

These days, if you want to combine interactive functionality on a web site,
from multiple origins, you have several pretty good choices with different
trade-offs: loading and using javascript libraries right in your DOM context,
iframes, and (for patching in functionality at the user-level) Chrome
extensions.

Here's to asymptotically approaching the Project Xanadu feature set. [1]

[0]-[https://docs.daily.co/reference#iframe-hello-
world](https://docs.daily.co/reference#iframe-hello-world)
[1]-[https://thenewstack.io/ted-nelson-can-still-learn-
xanadu/](https://thenewstack.io/ted-nelson-can-still-learn-xanadu/)

~~~
dmix
I don't think iFrames ever went away. It's been a feature of embedded web
software for as long as I can remember. I don't think there is a sufficient
other solution. Injecting HTML into the DOM of an unpredictable set of pages
is difficult/impossible without iFrames...

------
thehappypm
I love simple solutions!

It reminds me of a personal web site I built recently. I am climbing the 4000
footers of New Hampshire with my wife. It's a big challenge, to climb almost
50 of some of the biggest mountains east of the Mississippi, and a ton of fun
for a weekend warrior couple.

We've been putting information into a spreadsheet to track our progress, and I
decided it'd be fun to make a web site, where you can see the mountains we've
done, the ones we haven't done, and see our trip reports and photos. I started
queuing up a database and thinking about a UI to enter the hike data into, but
then I realized: why not just use our google spreadsheet as the database,
directly?

I did some research and you can set up a google sheet to be publicly available
as a CSV. So when you access my web site, it simply downloads the CSV at that
public URL, parses it, and uses it to power menus and individual hike report
pages. When we finish another hike, we simply add another row (like we always
had!), and the web site gets a new page made almost instantly. The code
doesn't even authenticate with Google, since the data is public, and the whole
thing runs pretty well!

~~~
dhc02
That's pretty cool. How long does it take to load a page with that setup?

~~~
thehappypm
Each page takes a second to load usually, but it's a dopey Heroku web dyno, so
it takes just about that long to load the landing page that doesn't go down
that code path.

------
newfocogi
In my mind the piece that makes this so appropriate is “The backend is the
frontend”. Does anyone know of other platforms/services where this approach is
possible?

~~~
jetrink
I don't know if this is exactly what you were thinking of, but Epic Games is
using Trello to visualize their work on their store. They are well behind
their competitors, so this is a way to show people that needed features are on
the way.

[https://trello.com/b/GXLc34hk/epic-games-store-
roadmap](https://trello.com/b/GXLc34hk/epic-games-store-roadmap)

------
outside1234
This is one of the best demonstrations of "start with the simplest possible
thing that could work" that I have seen.

------
jalgos_eminator
There are some things out there where people just want to see the relevant
information. Nothing more, nothing less. A lot of companies are trying to
dress up the pig when all we want is to eat the bacon.

Weather reports for example. The weather widget in google search is quite
simple while still showing everything I need to know in one view. The weather
widget on my phone has these ridiculous animations and only shows me one day
at a time. Just show me the high, low, and clipart of a cloud dumping rain.

------
r00fus
So just in case you didn't notice it, the Nordic Valley team has simply put a
docs.gooogle.com read-only link and put an iframe around it.

This is actually super interesting to me from both a company intranet
perspective and for spinning up quick-view pages for my home gdocs instance.

------
elamje
This reminds of [https://www.glideapps.com/](https://www.glideapps.com/),
which was posted on HN a while back.

------
num
This sounds like an elegantly simple solution.

This also brings back fond memories working for a larger resort and my team
building an integrated lift status system. Simple API on top of a relational
database, easy to use web application for lift operations to update lift
status in realtime, integrated PDF generation to print reports for numerous
front-desks (think all the main lodges, hotels, and businesses in town to
receive and print). The big win was a large number of large plasma screens
running out lift status flash application in various lodges with long runs of
HDMI to proxy servers all getting pub/sub realtime status updates. The Flash
application had continuous polling via AMF to our proxy servers with a cache
layer, etc. and it was pretty well received by guests. We also had the same
API support all mobile apps at the time. The big customer-loving feature was
getting alerts when a lift was about to open on a bluebird powder day and get
that to them in near realtime often before many of the "lifties" knew.

------
sneakernets
I may be remembering wrong, but I recall an intranet site at my school using
some ActiveX and DHTML trickery to get spreadsheets for school events showing
in the browser (IE of course). The fact that this is now possible on the
Internet with no gotchas is exciting.

------
jsomers
I recently built a little trivia game for my friend, and not wanting to spin
up a database, I used Google Sheets as the backend.

My friend can edit the sheet at will, and the app pulls the data in via
JavaScript. Google already sets the right CORS headers.

~~~
mooreds
I tried this a few years ago and ran into some speed issues (
[http://www.mooreds.com/wordpress/archives/1359](http://www.mooreds.com/wordpress/archives/1359)
). Is that something you've encountered?

~~~
timchristie
There are a few interesting hacks you can do, the calls are slow to an
individual cell (I think like 50-100ms). If you need arbitrary cells, you can
use a sheet formula to put the desired result in a single cell.

For example I had a sheet that had hundreds of columns that the headers would
change over time - instead of reading through each cell, I just used
CONCATENATE(), read a single cell then split it in my program after pulling
it.

------
kyleblarson
I live in a valley with a very large nordic (cross country) trail system and
they have GPS tracking on all of the groomers. It's super useful as skate
skiing is very condition dependent:
[https://skitrails.info/report/methowtrails](https://skitrails.info/report/methowtrails)

------
realbarack
This is the value prop of tools like Airtable, right?

