HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
raldenhoven
downloadify
JavaScript2013–2013
raldenhoven / downloadify

downloadify

Spotify updated their player, I'm sure they don't encrypt their mp3's with the player so you could just modify this and get it to work.

4Distinct people
4Mentions
0Explicit recommenders
327GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Spotify updated their player, I'm sure they don't encrypt their mp3's with the player so you could just modify this and get it to work.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week4 dated mentions

Observed mentions: 2013-05-08 03:05:33 UTC to 2013-11-15 14:58:04 UTC. Weeks start Monday, UTC.

01232013-05-06 00:00:00 UTC to 2013-05-13 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 commentsMay 62013-05-13 00:00:00 UTC to 2013-05-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-05-20 00:00:00 UTC to 2013-05-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-05-27 00:00:00 UTC to 2013-06-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-06-03 00:00:00 UTC to 2013-06-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-06-10 00:00:00 UTC to 2013-06-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-06-17 00:00:00 UTC to 2013-06-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-06-24 00:00:00 UTC to 2013-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-07-01 00:00:00 UTC to 2013-07-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-07-08 00:00:00 UTC to 2013-07-15 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-07-15 00:00:00 UTC to 2013-07-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-07-22 00:00:00 UTC to 2013-07-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-07-29 00:00:00 UTC to 2013-08-05 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-08-05 00:00:00 UTC to 2013-08-12 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsAug 52013-08-12 00:00:00 UTC to 2013-08-19 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-08-19 00:00:00 UTC to 2013-08-26 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-08-26 00:00:00 UTC to 2013-09-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-09-02 00:00:00 UTC to 2013-09-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-09-09 00:00:00 UTC to 2013-09-16 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-09-16 00:00:00 UTC to 2013-09-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-09-23 00:00:00 UTC to 2013-09-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-09-30 00:00:00 UTC to 2013-10-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-10-07 00:00:00 UTC to 2013-10-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-10-14 00:00:00 UTC to 2013-10-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-10-21 00:00:00 UTC to 2013-10-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-10-28 00:00:00 UTC to 2013-11-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-11-04 00:00:00 UTC to 2013-11-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-11-11 00:00:00 UTC to 2013-11-18 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsNov 11

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
May 62013-05-06 00:00:00 UTC2013-05-13 00:00:00 UTC312
May 132013-05-13 00:00:00 UTC2013-05-20 00:00:00 UTC000
May 202013-05-20 00:00:00 UTC2013-05-27 00:00:00 UTC000
May 272013-05-27 00:00:00 UTC2013-06-03 00:00:00 UTC000
Jun 32013-06-03 00:00:00 UTC2013-06-10 00:00:00 UTC000
Jun 102013-06-10 00:00:00 UTC2013-06-17 00:00:00 UTC000
Jun 172013-06-17 00:00:00 UTC2013-06-24 00:00:00 UTC000
Jun 242013-06-24 00:00:00 UTC2013-07-01 00:00:00 UTC000
Jul 12013-07-01 00:00:00 UTC2013-07-08 00:00:00 UTC000
Jul 82013-07-08 00:00:00 UTC2013-07-15 00:00:00 UTC000
Jul 152013-07-15 00:00:00 UTC2013-07-22 00:00:00 UTC000
Jul 222013-07-22 00:00:00 UTC2013-07-29 00:00:00 UTC000
Jul 292013-07-29 00:00:00 UTC2013-08-05 00:00:00 UTC000
Aug 52013-08-05 00:00:00 UTC2013-08-12 00:00:00 UTC000
Aug 122013-08-12 00:00:00 UTC2013-08-19 00:00:00 UTC000
Aug 192013-08-19 00:00:00 UTC2013-08-26 00:00:00 UTC000
Aug 262013-08-26 00:00:00 UTC2013-09-02 00:00:00 UTC000
Sep 22013-09-02 00:00:00 UTC2013-09-09 00:00:00 UTC000
Sep 92013-09-09 00:00:00 UTC2013-09-16 00:00:00 UTC000
Sep 162013-09-16 00:00:00 UTC2013-09-23 00:00:00 UTC000
Sep 232013-09-23 00:00:00 UTC2013-09-30 00:00:00 UTC000
Sep 302013-09-30 00:00:00 UTC2013-10-07 00:00:00 UTC000
Oct 72013-10-07 00:00:00 UTC2013-10-14 00:00:00 UTC000
Oct 142013-10-14 00:00:00 UTC2013-10-21 00:00:00 UTC000
Oct 212013-10-21 00:00:00 UTC2013-10-28 00:00:00 UTC000
Oct 282013-10-28 00:00:00 UTC2013-11-04 00:00:00 UTC000
Nov 42013-11-04 00:00:00 UTC2013-11-11 00:00:00 UTC000
Nov 112013-11-11 00:00:00 UTC2013-11-18 00:00:00 UTC101

What Hacker News says

4 sources
TL;DR good start, I just don't think it's enough in practice. We thought about this too, it's a really, really commonly asked question when the company size involved > 10. We think the process a user would go through after the service was no longer, as: 1) It needs to run in the immediate and medium-term future with minimal effort from the user. Open source isn't much use, you've an entire codebase/architecture to learn. "Open source" is a red herring, it just need to allow the user to user and edit it. 2) Without maintenance, the product will rot (new browsers, etc). You need an easy way to keep users running for 6-12 months, but assume they'll migrate to something else after a year. 3) The key problem is how to migrate users' data to a new system that they don't want to spend ages setting up. The app is https://www.draw.io. We've two no
Read the rest
n-static parts, the save/load and the image export. (The data I'll come to later) First thing we did is enable the gh-pages branch on the repository - http://jgraph.github.io/draw.io/war/. On modern browsers with FileAPI support, the load can be done locally, so that works. The only way to save locally without a server round-trip, that we found, was downloadify, which unfortunately is flash - https://github.com/raldenhoven/downloadify. We add a parameter to the URL to enable that - http://jgraph.github.io/draw.io/war/?flash=1 and you now have local save/load without the need for a back-end. For the image export, we're thinking about possible solutions. My favourite is something like a Docker image that does the image/PDF export as a stand-alone server, but is lighter weight than a full VM. You could extend this concept to include all of the back-end processing your app does, and create the image automatically as part of the build process. But also there's a print preview function. You can print that locally to PDF, etc. For the data, we specifically selected bring your own storage for this reason. You can either persist locally, using localStorage, using Google Drive or Dropbox (https://db.draw.io). The reason for this decision was very much around this topic, users should own their own data and it shouldn't be tied to the lifespan of a service. OK, maybe that isn't practical for some SaaS', but even if the data were in some DB, you could make life easier for users in the event of shut-down. You could have an AWS image built as part of the build process and anyone can run up. This replicates your DB environment (and if your DB is on AWS, frankly this should be part of the build process anyway). You give them the means to simply move the data over when required and now you have the static app part, the dynamic part and the storage. The last part is the hardest, this is why BYOS is a _really_ user centric thing to do. Two other important side-effects of doing this: 1) The github gh-pages gives us a second, independent serving of the app. There was a DNS problem with .io domains in the summer, some people couldn't resolve us. We could say go here in the meantime. 2) By creating something that doesn't need anything more than a static web server, you create an environment where the user's data doesn't have to leave their computer, which seems to be popular for some reason... Oh, and we're not going anywhere, it just doesn't hurt to show users you think about this stuff.
In How to guarantee continued operation for an SaaS startup

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.