Slashdot Mirror


Delivering Software, Electronically?

zpengo asks: "I'm trying to find the best way to implement a large-scale Electronic Software Delivery (ESD) service for my software company. I've been able to find very little information online (after weeks of research) so I must take it to America's best and brightest. Have you ever worked with ESD on a higher than plain-vanilla FTP level, and if so, what did you learn from it? When do you consider the product 'delivered'? Was it worth it? (I'm planning to put together a public domain whitepaper on the subject with the information I gather, to help fill in the gaps I found while researching online)."

202 comments

  1. Product delivery by Anonymous Coward · · Score: 5, Funny

    When do you consider the product 'delivered'?

    When it's available on Kazaa?

    1. Re:Product delivery by Steve-29 · · Score: 1

      When it arrives full on your PC ?

  2. Delivering software electronicaly by Anonymous Coward · · Score: 1, Interesting

    Yeah, I'v seen a white paper a few years back regarding this topic. I'm pretty sure that AT&T worked on a new economic model based on that.

    Anyone remember this?

  3. ximian's red carpet by j1mmy · · Score: 4, Informative

    it's now available for anyone to use as a server or client. www.ximian.com

  4. Ehem... by ekrout · · Score: 5, Funny

    I've been able to find very little information online (after weeks of research) so I must take it to America's best and brightest.

    Um, this is Slashdot, dude...

    --

    If you celebrate Xmas, befriend me (538
    1. Re:Ehem... by Servo · · Score: 3, Funny

      Hey, he's new here, OBVIOUSLY. :)

      --
      A slip of the foot you may soon recover, but a slip of the tongue you may never get over. -Benjamin Franklin
    2. Re:Ehem... by Anonymous Coward · · Score: 3, Funny

      Exactly, the crowd who beleive in the business-model...

      1: Write free software.
      2: ?
      3: Profit! ...is hardly the best and brightest :)

    3. Re:Ehem... by plus5insightful · · Score: 1

      I think you meant to say "OBLIVIOUSLY".

    4. Re:Ehem... by Anonymous Coward · · Score: 2, Funny

      Yup, it should have read

      " I've been able to find very little information online (after weeks of research) so I must take it to America's best and brightest. But before that, let me ask on Slashdot..."

    5. Re:Ehem... by Servo · · Score: 2

      Yeah, that would certainly apply too.

      --
      A slip of the foot you may soon recover, but a slip of the tongue you may never get over. -Benjamin Franklin
    6. Re:Ehem... by Anonymous Coward · · Score: 0

      I think you mean...

      1. Rail against all forms of capitalism and/or profit
      2. Mention Microsoft in every single post (making sure to type "Micro$haft" or "Micro$oft") and how purely evil they are
      3. Claim that free competition is necessary to produce good software
      4. Write free software
      5. ?
      6. Profit!

    7. Re:Ehem... by Anonymous Coward · · Score: 0

      How about

      1) Code what you're interested in as a hobby.
      2) Share the result with your friends.
      3) Receive 10000x as much software in return.
      4) Enjoy the feeling of community.
      5) ...
      6) Fuck the profit. I've already got a job.

      Free software is the modern reinvention of poetry readings. You don't need to profit from something you do for fun.

    8. Re:Ehem... by Anonymous Coward · · Score: 0

      "I've already got a job."

      Without the need to pay people to develop, you will not have a job sonner or later.

    9. Re:Ehem... by Anonymous Coward · · Score: 0

      No, more like "Latent IT likes sodomizing small boys".

    10. Re:Ehem... by Anonymous Coward · · Score: 0


      Your right. But these fking 'tards dont realize that they're being exploited by capitalistic (ex. IBM etc.) to sell their hardware.

      Why should software only be free, why not books too? The other day, I saw RMS's book on Emacs in a bookstore. Way to go, hypocrite! Tell everybody to contribute software for free and then release a book for profit.

    11. Re:Ehem... by Anonymous Coward · · Score: 0

      I've got a real job. I don't sit in front of a computer all day long and pretend I'm smarter than everybody else.

      All the money grubbing programmers can go live in cardboard boxes for all I care. Good riddance to bad rubbish.

    12. Re:Ehem... by DrPascal · · Score: 1

      20 dollars on pump 3, please!

      --
      DrPascal: Not the language, the mathematician.
    13. Re:Ehem... by Anonymous Coward · · Score: 0

      Fuck libertarians. Competition is not a goddam virtue and letting companies fuck over people is the heart of the problems we're facing. Libertarians are simple minded at best and begging for an ass whoopin' at worst.

    14. Re:Ehem... by Servo · · Score: 1

      Libertarianism is simply going back to what our country was founded on.

      I don't believe that means letting corporations run the country. The reasons why so many companies are able to get away with what they are is because of government involvement.

      --
      A slip of the foot you may soon recover, but a slip of the tongue you may never get over. -Benjamin Franklin
  5. We deliver our software electronically... by Anonymous Coward · · Score: 0

    ...and protect with the PACE system. It works great and is easy to implement.

    www.paceap.com

    1. Re:We deliver our software electronically... by Anonymous Coward · · Score: 0

      Total system crack from day two. We have a functioning unwrapper. Avoid.

    2. Re:We deliver our software electronically... by Anonymous Coward · · Score: 0

      Interlok 4.x hasn't been cracked to my knowledge. If it has, nobody is talking about it.

      The only cracked version of Interlok I've seen is the old 3.x version, and PACE shut down those crackers pretty quickly.

  6. ESD by Anonymous Coward · · Score: 1, Informative

    I did ESD delivery for my company a couple years ago. We used "Wininstall" with great success. The only real problem I ran into was variances and testing.

    You know, Joe Schmuck loads his own software, and blammo my ESD job breaks. IF you have rigid controls on your environemnt, ESD works great.

    1. Re:ESD by inputsprocket · · Score: 1

      it was yellow if it helps any... ;)

    2. Re:ESD by Anonymous Coward · · Score: 0

      Another vote for WinInstall. The product works great for us and the few problems we've encountered with it have been the result of problems with other programs.

    3. Re:ESD by Anonymous Coward · · Score: 0

      And a condom for safer installs.

      Seriously, applications should be written to run from servers in an applet environment and avoid this issue almost altogether.
      Weblogic, with load balancing, pooled DB connections and applets for the desktop provide tremendous scalability and availability without all the hassles of loading software on desktops (except the browser and jre).
      If you must, I've used SMS and rsync. This works best if you lock down the desktops to prevent user changes.

    4. Re:ESD by waj3 · · Score: 1

      I did ESD delivery for my company a couple years ago.

      Really? Did the application have anything to do with ATM machines?

  7. Best and brightest? by Anonymous Coward · · Score: 1, Funny
    I've been able to find very little information online (after weeks of research) so I must take it to America's best and brightest.

    Good idea, but what are you doing on Slashdot?

  8. The best people to ask: by Anonymous Coward · · Score: 0

    Are warezers: nobody has more experience in online software delivery than them

    1. Re:The best people to ask: by Anonymous Coward · · Score: 0

      Why, thankyou.

      Mind you, I'm not in America. (Probably just as well, because I'm moving from the EU too before our version of the DMCA hits the statute books in the member countries.)

  9. Java? You could try Java Web Start by atomray · · Score: 4, Informative

    I've worked with this before on a project, and it's usefulness depends on your needs. It's essentially an extension applets; it does not run in a browser, but does run in a secure sandbox.

    If you have a pure java swing application, this is probably the way to go. If not, read more about it and decide whether it's appropriate.

    The technology was a little rough at first, but I assume it's matured somewhat, considering that it's now part of the standard java environment.

    Java Web Start

    --
    take your sig and shove it
    1. Re:Java? You could try Java Web Start by Anonymous Coward · · Score: 0

      I've found it easier to just let the user download an exectuable jar file, rather than have to muck around with Java Web Start. They're going to have to install a JRE anyway.

    2. Re:Java? You could try Java Web Start by RhetoricalQuestion · · Score: 2

      Actually, if you're doing an internal or extra-net application (that is, you're distributing in a corporate environment, not an ISV) then you actually want to use DeployDirector by Sitraka.

      The apps deployed with it do not have to run in a sandbox, which is a benefit if your users consider you a trusted souce (i.e., internal IT group). It's not free, but it's really good.

      It's got some great administration/management capability as well -- far superior to WebStart, which has NO such capabilities.

      Incidentally, Java Web Start is still really rough. (I've played around with a few Java deployment technologies, and JWS is the crappiest -- but then again, it's just the reference implemenation.)

      --

      I can spell. I just can't type.

  10. .....tell...us...more... by jukal · · Score: 5, Insightful
    I'm trying to find the best way to implement a large-scale Electronic Software Delivery (ESD) service for my software company.

    What software, which audience, which principles? It makes a difference whether you are building ESD like tucows or for a special product for a special market - for example. It might be possible for you to get some real information out from here, but you will have to tell more. Don't be scared, if someone wants to look up your company, he is already well capable of doing it :)

    1. Re:.....tell...us...more... by scott1853 · · Score: 5, Funny

      Don't be scared, if someone wants to look up your company, he is already well capable of doing it

      Like somebody smart enough to click on his name in the story ;)

    2. Re:.....tell...us...more... by Anonymous Coward · · Score: 1, Informative

      I realize that this is /. and open source solutions are preferred. But if you want something scalable, professional and with lots of bells and whistles (like multi-platform support), may I suggest:

      http://www.tivoli.com/products/index/config-mgr/

      Full disclosure: I work for Big Blue, and despite my bias I can tell you some HUGE companies and government agencies are happily using this product. (plus lots of small ones too)

    3. Re:.....tell...us...more... by Alsee · · Score: 4, Funny

      Like somebody smart enough to click on his name in the story ;)

      Not everyone who reads slashdot is a computer brainiac ya know. Why can't you just say what the damn AOL keyword is, so we can all find it?

      -

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
  11. "to America's best and brightest" by steveadept · · Score: 1, Funny

    If that's what I am, I fear for our nation!

    1. Re:"to America's best and brightest" by Anonymous Coward · · Score: 0

      Mod parent: -1, Redundant

  12. Software Delivery by cyberlotnet · · Score: 1, Informative

    I really wish people would take some time to do "research" like they "say" they did instead of just come to Slashdot, it shows people are lazy and in some cases ( possibly this one ) Should be thinking about improving there own lifestyles and work habits before starting up a software company..

    If the above doesnt fit you then your answer is below.

    There are a number of companys out there that specialize in software lic's.

    Most can be included into a couple diffrent lang's with very little effort at all.

    One very good example of this would be..
    http://www.elicense.com/

    This and more information can be found on google without a problem. ( But of course this persons "research" didnt include simple searches on the most popular search engine.. But he did research, He really did research hard, I got that link in 1 minute, He spent weeks? researching and sounds like he found nothing? )

    1. Re:Software Delivery by cyberlotnet · · Score: 1

      Oh, before someone comments, I assume since he is looking for more then just ftp/http downloads that he wishes to track/protect/sell his software in some manner..

      This requires a method to keep only purchasing users from using his software..

      Hence the need for something like elicense which in general would cover all his needs.. All he would have to do is put the file up on cnet downloads or something..

      But again he researched this all for weeks..

    2. Re:Software Delivery by Anonymous Coward · · Score: 1, Insightful

      Ack, no, not eLicense.

      There are five separate unwrappers for that, all of them work perfectly. One of them doesn't even need a license.

      It has many compatibility problems, and is a very slow and "noisy" install - and it installs, I might add, every single time you run the program.

      If it is trivial to apply protection, it is more trivial to remove it. Please don't use commercial protection systems - they are ALL snake oil.

  13. Resuming by Daveman692 · · Score: 3, Interesting

    My biggest concern is that if the transfer fails in the middle you can pick it up from that point. Also that it doesn't need you to install funky software before hand.

  14. abwe by Anonymous Coward · · Score: 0

    alt.binaries.warez.eds ;-)

  15. ESD by cscx · · Score: 5, Funny

    Always make sure you're wearing one of those wrist-strap thingies.

  16. WoW! by Anonymous Coward · · Score: 0

    Can you imagine a beowulf cluster of electronic software delivery guys ?

  17. Valve is doing it by TheAntiCrust · · Score: 3, Informative

    Valve Software (makers of Half Life) created a program called Steam. Steam allows you to download patches and goodies (player skins, models, and maps) but you can also buy and download full games. Here is thier website http://www.steampowered.com/ dont know how helpful it will be though.

    1. Re:Valve is doing it by Billly+Gates · · Score: 2
      If it only it worked through NAT firewalls. Grrrr

    2. Re:Valve is doing it by Guspaz · · Score: 1

      You're in luck! It works perfectly through NAT and firewalls.

      How do I know for certain? I just headed over to the website and installed the thing. I'm sitting behind a hardware firewall/router.

      I'm particularly impressed with Steam's efficientness. I participated in the early beta, but things have come a long way since then. From the time I visited the web page for the first time, to the time I was sitting in the game watching the in-game intro (The whole transit system bit), complete with MP3 music, less than five minutes had passed. This truely is a revolutionary way to deliver software. What's more, their beta servers were unable to provide my with more than ~700-1000kbit of bandwidth over my 3.5mbit connection. When they go live with much greater ammounts of bandwidth, those five minutes of prep time could be reduced to two or three minutes!

      Steam is truely an incredible experience.

      Regards, Guspaz.

    3. Re:Valve is doing it by sfe_software · · Score: 3, Informative

      Off-topic, but:

      If it only it worked through NAT firewalls. Grrrr

      The server is blocking ICMP requests, which means it will not see the ICMP Fragmentation Needed packets your NAT'd boxes will send. You need to reduce the MTU to around 1412 on the machines behind the firewall, or force the MTU in the firewall itself.

      If using Linux 2.4/iptables, see the netfilter kernel config help option for "TCPMSS Target Support"...

      Note that, technically, this is a problem on the server side (blocking ICMP for "security" reasons) but it can be solved on your end.

      (I fought with this for months before I found the problem)

      --
      NGWave - Fast Sound Editor for Windows
    4. Re:Valve is doing it by Billly+Gates · · Score: 1

      Thank you.

      Unfortunatly I am behind a crappy dlink hardware firewall with no MTU settings. I will however look into this and maybe replace it with an old pc with linux. Thanks again.

    5. Re:Valve is doing it by Alsee · · Score: 2

      a crappy dlink hardware firewall with no MTU settings.

      Assuming the other poster had the correct soluton, and assuming I usderstood it accurately, he said you can solve the problem without touching the firewall. You need to change the MTU on your computer to "around 1412". Try doing a google on "set MTU" and add in your operating system to narrow down the search.

      -

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
    6. Re:Valve is doing it by Billly+Gates · · Score: 1
      Well I moved my mtu from 1500 to 576 with no luck. Oh well thanks for trying. I found www.speedguide.com to be an excellent resource on doing these hacks. I recommend it to anyone having similiar problems.

    7. Re:Valve is doing it by Billly+Gates · · Score: 1
      oops speedguide.net. My mistake.

    8. Re:Valve is doing it by Dwonis · · Score: 2

      Why is the DF (Don't Fragment) flag being set? Yes, blocking all ICMP is a broken practice, but the 'MTU error' won't happen unless that DF flag is set.

  18. Web-logons by Anonymous Coward · · Score: 2, Insightful

    At my school, there's a page set up for your basic freeware (acrobat reader, PuTTy), and other more expensive site-licensed software (X-Win, CRT, Dreamweaver) require a user logon to download. The IT department keeps a log of all the downloads, and whoever's logon is used is responsible for the software. For the really expensive stuff (MATLAB, Mathematica), paperwork is necessary.

    Take a look at it: http://www.bu.edu/software/

  19. rsync and rdist by jutpm · · Score: 4, Informative
    What is wrong with rsync and rdist?

    From the rdist website: "RDist is an open source program to maintain identical copies of files over multiple hosts. It preserves the owner, group, mode, and mtime of files if possible and can update programs that are executing."

    From the rsync website: "rsync is an open source utility that provides fast incremental file transfer. rsync is freely available under the GNU General Public License"

  20. Web Based Software Delivery by BuildMonkey · · Score: 5, Informative

    My business is software configuration management. Electronic software delivery is a critical part of many solutions. Typically we use a web site. The system has access control, software submital, notification, approvals at various levels, retrieval based on approval level, and logging.

    For examply, only users identified as Development can submit software. At that point Software Configuration Management is notified to reproduce the software (can SCM build the same binaries as the developers?) SCM retrieves the software from the web site. Once SCM approves the software, Test is notified.

    Test retrieves the software and puts it through its paces. If it passes Test grants its approval through the web site. Otherwise the software fails and Test provides a URL explaining the problems. And on...

    At any point program management can see the state of the software in its track to customer delivery. PM has override ability to approve software for customer delivery even if it has, for example, failed testing.

    The web site makes it easy to access. Access control and approval manage the software delivery process. Notification keeps everyone on the ball. And logging provides CYA - and has covered my butt on numerous occasions.

    My boss particularly loves to be sitting in a Change Control Meeting and hear the development manager say, "The software's been delivered to SCM. We're waiting on them." And he can say with confidence, "Not yet it hasn't."

    1. Re:Web Based Software Delivery by jaaron · · Score: 2

      I'm developing a similiar system for my company. Since our development is almost all java based, I've been looking at tools developed by Apache Jakarta and XML groups (Ant, Gump, Cocoon,...). In general I'd like to base most of this on open source software since our budget is very small for this project and open source has lots of other advantages too. Do you [or anyone else] have any recommendations?

      --
      Who said Freedom was Fair?
  21. what are you deliver matters - java app - dll - ? by johnjones · · Score: 3, Interesting

    what are you trying to deliver ?

    I built a app that for win32 sat in the systray and then looked at a internal FTP and checked the manifest against its own on the machine if anything was new download and ask the user for interaction

    on the java side their was webstart which is really nice and is default on MacOS X.x
    this automatcally does what my app did and is a hell of a lot nice and secure

    apps like windows update are pretty silly as you have to ask the user to look every day and how many lusers do that ? let alone people who know better

    its what crontabs where ment for (-;
    of course you can build it into the app

    and if you just want to deliver software to customers use sftp

    its nice and you can even get it on a java applet so that you can point people to a web page and get them to enter username and password and then its server side chrooting them to the right dir

    have fun

    regards

    John Jones

  22. You are using it right now by I'm+not+a+script · · Score: 3, Insightful

    Try this EDS solution.

    --
    kthx
    1. Re:You are using it right now by Anonymous Coward · · Score: 0


      Bzzzzt! Try again. Apache does not process credit cards.

  23. Yeah, right by Animats · · Score: 3
    "Software delivery", per se, is easy: you click on the link and download a file.

    If there's a problem, it's probably related to getting paid for it. Or, worst case, figuring out some way to "deliver" some kind of hostile code (adware, spyware, etc.) to the user's desktop.

    1. Re:Yeah, right by Anonymous Coward · · Score: 0

      Don't be an ass. "Just downloading" the file can be done more or less efficiently, with more or less security, and that's what the poster was asking about. You're just paranoid.

  24. Duh...Digital River...you didn't look that hard by Anonymous Coward · · Score: 0

    lazy prick

  25. I do! by Superfreaker · · Score: 5, Insightful

    I developed (insert plug here-http://payloadz.com)

    We do about 5,000 transactions per month.

    Our method is this (note, this is after 5 iterations of delivery systems- all of which had issues):

    - When a customer pays, we create a unique copy of the purchased product and place it in a queue directy for download. This unique file is prefixed with the customers transaction ID, so
    "filename.zip" becomes "a1dys3ad4a-filename.zip"

    We then provide a direct link to the file. We also send this direct link in an email to the person.

    After 48 hours the file is deleted. after which time, the customer must request more downloads from the merchant.

    We tried many other methods but there always arose a browser/platform issue. The ONLY reliable method has been to provide a direct link to the file for download.

    It can create server load and file storage issues if you have a large scale site.

    Hope that helps, feel free to contact me off list.

    1. Re:I do! by Superfreaker · · Score: 5, Funny

      erm, that should read 5,000 per week. Shit, I even used that damn preview button. I should walk my fat ass into oncoming traffic.

    2. Re:I do! by fulldecent · · Score: 1
      Why not augment this method to the current ideology?

      • move original files to downloads/private
      • echo "Order deny,allow \n Deny from all" > downloads/private/.htaccess
      • Then rather than copying the zip, ln -s it

      --

      -- I was raised on the command line, bitch

    3. Re:I do! by greenrom · · Score: 1

      File storage issues?? Maybe I'm missing something, but why not just create a unique link to a file and delete the link after 48 hours? Duplicating the entire file each time seems like overkill.

    4. Re:I do! by Superfreaker · · Score: 1

      How would you create a unique link to the file? They will see the path to the file and then can guess the names of any of the other files.

      Links that try to use tricks to redirect, etc. fail becuase of browser/os compatibility issues.

    5. Re:I do! by Anonymous Coward · · Score: 0

      I think he means using a symbolic link on the disk (totally outside of the web server). Since you have not thought of this, I bet you are running a Windows server. Windows does not have the concept of symbol links, by you might be able to use Shortcuts instead.

    6. Re:I do! by Anonymous Coward · · Score: 0

      You can't use a shortcut (.lnk) in windows either, because it contains the link to the original file. Also, you have to RUN the shortcut (atleast that has been my experience) in order to make it link to the file. Under unix, you could just create a symlink to the file and call it whatever you want. I'm not sure if it would work flawlessly here though.

    7. Re:I do! by sfe_software · · Score: 4, Interesting

      How would you create a unique link to the file?

      Either use a symbolic link (most Unix filesystems), or even a bit of mod_rewrite (Apache). The user will never see the true filename, and if you're smart the actual file is not within a web- or ftp-accessible location anyway.

      Eg: /home/joblo/public_html/[unique_number]filename.zi p --> /home/joblo/.private/filename.zip

      on the filesystem.

      Or use a script that authenticates (using the unique ID) and sends the file data; this can be done with PHP, Perl, ASP, or just about any language that can read the QUERY_STRING environment and open/read files. You can store the user's ID and expiration time in a database, flat file, whatever. No browser issues as long as you send the appropriate headers.

      I could think of many other ways do accomplish this; copying the file for each user is just nuts... you might as well email it to them.

      --
      NGWave - Fast Sound Editor for Windows
    8. Re:I do! by Superfreaker · · Score: 1

      The borwser/platform issues arise with writing headers to the client. There is NO 100% method for doing so.

      We used this method for our 1st and 2nd interations, but had a 5% failure rate as many of our merchnats have AOL and CompuServe (lol) users.

    9. Re:I do! by sfe_software · · Score: 4, Informative

      The borwser/platform issues arise with writing headers to the client. There is NO 100% method for doing so.

      Tell me this: what is different between your script writing headers, and the Apache server writing headers, to describe the content about to be sent?

      Honestly, use 'wget' or 'lynx -dump' and really examine the headers that are sent when you download a file. Apache is sending those headers. This is what tells the browser what is being sent, and it's the *only* thing telling the browser what is being sent.

      Simply mimic those headers (substituting the proper filename and size etc), and the browser will happily prompt the user to download.

      We built an inventory system for a manufacturer, and having pre-built Excel reports was one of their requirements. We simply send an HTML table, but sending the headers to appear as a .xls file binary attachment. Guess what? Either the user is prompted to download the "xsl file", or the browser runs Excel (depending on the user's settings).

      It just takes some trial and error, but the biggest clue is to look at the headers that are sent when you actually download a file directly. The browser doesn't know (or care) whether it's a binary webserver program, or a bash shell script, sending the headers.

      And if that's too much work, again, create a symlink:

      ln -s filename.zip [unique-id]-filename.zip

      And give a hyperlink to the symlink. That's about as simple as it gets. In Windows you could probably create a "shortcut", but I really don't know/care about that. If you're running Unix, you have a ton of options here.

      --
      NGWave - Fast Sound Editor for Windows
    10. Re:I do! by GigsVT · · Score: 3, Informative

      You are correct though, about getting a file to the customer. It's harder than it should be!

      I'm generating PDFs to send dynamically. I've done the same thing with inline jpgs for ages now, without having to save them to disk in any way, shape, or form.

      Browsers don't like HTTP redirects. It doesn't always work. IE5.5 is seriously broken unless you have a certain set of patches installed. Opera 6.0 Linux freaks out. Mozilla mostly handles stuff right.

      Eventually I had to do something like you did, generate the file and put it on a directly accessible filesystem, which is very inefficient compared to just streaming the data out, and potentially a lot less secure.

      Why can't browsers get their act together with dymanic content generated for external plugins? It doesn't seem like it would be that hard to fix... Mozilla already has it mostly right.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
    11. Re:I do! by sfe_software · · Score: 4, Informative

      Replying to my own post, but...

      I do recall there being one issue, with Mozilla/Netscape specifically, where the filename it prompts you to save is the filename of the *script*. But we got around this using mod_rewrite. So a link like this:

      [unique-id]-filename.zip

      becomes:

      script.php?id=[unique-id]

      And, since the browser is seeing "...zip" as the filename, it prompts with the correct default "Save As" filename. That's what we actually did for the Excel file, we just linked to (eg) Report.xls, which was actually a script.

      Personally, I say go with the symlink idea. It's probably the easiest for you to change from your current setup; simply change your 'cp' command to 'ln -s'... the deletion of the link, downloading of the link, etc will work just the same as if it were truly a redundant copy of the file.

      Of course Apache must be set to follow symlinks; don't forget to check that first.

      --
      NGWave - Fast Sound Editor for Windows
    12. Re:I do! by GigsVT · · Score: 1

      Simply mimic those headers (substituting the proper filename and size etc), and the browser will happily prompt the user to download.

      I agree with the other guy. I tried and tried and tried to get this to work without writing the files out to disk, but there is no way that works with 100% of the browsers out there.

      I do it hundreds of times a day with inline JPGs that are dynamically generated, but for some reason I have not found a method that reliably works with PDFs that can cause Acrobat to come up 100% of the time... and I even did what you said, telnet to port 80 and grab a static PDF to see what the difference between my headers and the static file's headers were...

      And there was no difference!

      I have no idea why streaming a PDF or other non-inline data is so flaky to generalize between platforms, it just is!

      If you want to try it, just set up a small test server to generate PDFs with ghostscript or something and feed it to a PHP script that is writing the headers, then test it in many different browsers, including IE5.5 and AOL and other freaky ones. You will be surprised.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
    13. Re:I do! by Tablizer · · Score: 1


      Could someone use your service to purchase services also?

      For example, suppose somebody ran a porn site. Say people can purchase "porn units", which would be like a site-specific currency (flooz.com-like, if you will).

      But, they don't want to store the porn on your site because they have a very custom porn browsing setup. And without human intervention to process/verify the payments.

    14. Re:I do! by Superfreaker · · Score: 1

      This has been brought up before.

      It ultimately comes down to "how do you secure web pages on remote servers?"

      That is a tough question to answer.

    15. Re:I do! by Tablizer · · Score: 1

      This has been brought up before.

      Where? May I ask. I have not seen a detailed discussion of it yet here. Perhaps it has not been modded up high enough to be easily found so far. (Yes, that is an admission that modding sometimes works :-)

    16. Re:I do! by Anonymous Coward · · Score: 0

      congratulations!! on your marriage

    17. Re:I do! by Bruj0 · · Score: 1

      Would it be better to use symlinks (ln -s) instead of copying the WHOLE file?
      I mean with this you dont have the storage issues :)

      bruj0

      --
      http://securityportal.com.ar
    18. Re:I do! by Zebbers · · Score: 1

      umm
      if youre doing 5k a WEEK...why the fuck are you using paypal.

    19. Re:I do! by Dwonis · · Score: 2
      Browsers can only see what is sent to them over the socket. What you do on the server is your business -- the browser simply *cannot* tell, unless you've misconfigured something.

      As for PDFs, you can't simply stream them as-is. You have to "optimize" them first. Have a look at pdfopt.ps (part of Ghostscript).

    20. Re:I do! by GigsVT · · Score: 1

      Try it and see, if you havn't already. Convincing the browser what the name of the PDF should be, and getting Acrobat to use that same name is the hard part. Someone else suggested mod_rewrite, and that will probably work for that, but there are still some other issues with certain browsers.

      As for PDFs, you can't simply stream them as-is.

      It works fine without optimization of any sort, as long as I point the browser at a file on disk and don't try to do it from a script. I will look into that though, it sounds useful.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
    21. Re:I do! by Dwonis · · Score: 2

      It's pretty easy: ...

    22. Re:I do! by GigsVT · · Score: 1

      I'm assuming that is using mod_rewrite to make the script look like a PDF filename wise?

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
    23. Re:I do! by Dwonis · · Score: 2

      Well, perhaps you might, but I just suggested that as the actual script filename. Everything in cgi-bin is executed anyway.

    24. Re:I do! by Corporate+Gadfly · · Score: 1
      sfe_software wrote:
      I do recall there being one issue, with Mozilla/Netscape specifically, where the filename it prompts you to save is the filename of the *script*. But we got around this using mod_rewrite. So a link like this:

      Your "Save As" filename problem is really easy to solve and the magic is again in the headers. So for a totally cross-language implementation of an Excel file to be saved as MyExcel.xls when being returned by a script, you must emit the following header:
      Content-type: application/vnd.ms-excel
      Content-disposition: MyExcel.xls

      ColumnHead1|ColumnHead2
      Val1|Val2
      As you can probably tell, the file is named appropriately because of the "content-disposition" header.
      --
      Corporate Gadfly
      Jonathan Archer: the most beaten up Enterprise captain in Star Trek history
  26. I worked for a company that did that by infonography · · Score: 3, Informative

    I worked for Releasenow.com, they were hired guns for this sort of thing back about 2000 or so, they seem to have dropped off the net since then. Other players like Digital River were around too. Not to hard to implement, Stick a few apache servers behind a load balancer like an F5 on a big pipe like Exodus and make them pay up front. once you got their money send them a url and password combo that lets them in. The rest is simple stuff. Remember to wash your hands after your done.

    --
    Sorry about the writing. Robot fingers, you know? Cliff Steele in DOOM PATROL #23
    1. Re:I worked for a company that did that by Superfreaker · · Score: 1

      Not that easy...
      How do you stop port snoffers from determining the direct path to the file and posting it on a NG ?

      The trick is not to divulge the path to the real files.

    2. Re:I worked for a company that did that by infonography · · Score: 1
      True, but if you keep that specific door open only for a short time and once a successful down load is complete it's closed again. It's all tied up in the configuration of your database and your load balancer.

      1 - send company list of paid buyers by back channel like a direct T1 to server's Database

      2 - Wait till someone uses the key

      3 - Close tunnel after your done

      once it's downloaded this part is done, if someone goes and puts it on Kazaa, that's another matter. Portsnifflers just don't seem like a good way to pirate software. Just wait a while, it may or may not show up on kazaa.

      Honestly, it's a matter of what security you put into the install codes not what you do to protect the distribution. If you got good install protections then they just downloaded 200 megs of inert junk, that's a lot of time on a 56k modem....

      Sig- Maybe we should rate article here on signal to noise ratio.

      --
      Sorry about the writing. Robot fingers, you know? Cliff Steele in DOOM PATROL #23
  27. Consider this...(corporate plug) by jlcooke · · Score: 3, Informative

    Package your application in a self-extracting/self-decrypting archive which uses two keys (k1,k2). k1 is either zero-length or known to the group of indented users. k2 is kept secret until published online at some central site at a time specified by the publisher. If k1 is zero-length, then it'll be an open release of software/data.

    software = Decrypt(software, key), where key = Hash(k1 concatenate-with k2).

    This is called time-lock crypto as written by Rivest Shamir Wagner in [3].

    CertainKey offers this service with all the software/crypto you need at a modest price see [1].

    note: I'm a founder of CertainKey...so use discretion.

    References:
    [1]
    [2]
    [3]

    1. Re:Consider this...(corporate plug) by Anonymous Coward · · Score: 0

      known to the group of indented users

      What, did somebody poke them with a stick? Or do they have really bad acne?

      HA I AM TEH FUNNYMAN! U LAFF NOW!

    2. Re:Consider this...(corporate plug) by Anonymous Coward · · Score: 0

      Aye, and we'll crack this the self-same way we usually do.

      Buy ten copies and diff - if identical, crack, audit, test, release. If not identical, dewatermark, crack, audit, test, release.

      Alternatively, insider leak, audit, test, release.

      Not a single part of this relies on sniffing urls, but if you're concerned, be smart and run an SSL webserver with a username/password. Email out the url and username, phone out the password if possible (or email that too). If it's watermarked, delete it in a week, say, to conserve disk space. If it isn't watermarked, everyone's getting the same file, so give them the same url but different l/p combos. People who give out l/p combos will do so anyway, or will give out the file anyway.

      And if you're worried about people snooping on the connection, that's why you use SSL. ... and if you're worried about people reading your customer's email, you should probably be selling PGP instead. :)

      And don't make people go through hoops to download software they've bought. It's impolite, it buggers up unusual browsers, and drives personal users (though usually not business users, they'll just ring you up and bitch at you) towards the warez world - you know you're in trouble if you have more hoops than an appz site!

      Arrrr.

    3. Re:Consider this...(corporate plug) by Anonymous Coward · · Score: 0

      "known to the group of indented users"....What, did somebody poke them with a stick? Or do they have really bad acne?

      He he.

      They probably meant "identified". Either that, a service to deliver Ugly Porn to those with weird fetishes. "Poke Bertha with a virtual ten foot pole! Only $9.95!"

  28. America's Best and Brightest? by guttentag · · Score: 3, Funny
    I've been able to find very little information online (after weeks of research) so I must take it to America's best and brightest.
    When the folks at Mensa solve your problem, will you let this ragtag international band of Slashdotters know?
  29. Who accepts liability ... by LL · · Score: 2, Insightful

    ... when things goes wrong? If you view software as a service, then someone along the line has to make a decision to deploy it. Usually it is some sysadmin who ultimately is responsible for the smooth running of the who ball-of-string (ignoring any CTO stupidity). IMHO that is why they like ftp/http/app-get in that it is a conscious decision to review and vet any new release.

    On the other hand, if you are offering automagic updates (a la MS) then I hope the software contract indicates what happens if things goes wrong. The actual mechanism (whether JavaBeans, .BET, or ASP) becomes a side issue when lawsuits are flying, especially for any mission-critical software (cf backbone router flash-upgrades).

    LL

  30. Paul Wellstone, U.S. Senator, dead at 58 by Anonymous Coward · · Score: 0

    I just heard some sad news on talk radio - Paul Wellstone was found dead in a plane this morning. There weren't any more details. I'm sure everyone in the Slashdot community will miss him - even if you aren't a Democrat from Minnesota, there's no denying his contributions to American government. Truly a American icon.

  31. Steam by XopherMV · · Score: 1

    I know Valve software has been working on this for automating customer updates for their Half-Life franchise. I know they plan to make their content delivery system available to third parties. Check out Steam at: http://steampowered.com

  32. Please restrain the knee-jerk reaction by Jucius+Maximus · · Score: 5, Informative
    As much as we like to poke fun at Steve Gibson, you might want to take a look at the way he delivers his flagship product SpinRite.

    It's also similar to the way F-Prot Antivirus is delivered.

    Basically each customer gets a login for the web site and can download from there. It avoids serial generators and cracks because you can't just download the shareware and then apply a crack. The only people who even get the opportunity to download the software are those who have paid so it's less likely (but still inevitable) that they will give it away, share it on kazaa, etc.

    1. Re:Please restrain the knee-jerk reaction by alexburke · · Score: 3, Informative

      I paid for SpinRite 5, and if you own it you'll notice your serial number is embedded in the executable itself in a non-obvious manner and is displayed at runtime.

      So anyone who shares it will be likely flagged by Gibson.

    2. Re:Please restrain the knee-jerk reaction by Anonymous Coward · · Score: 0

      Oh, sure, it works fine for now. How will it work, though, when his Gibson gets haxxored???

  33. Kagi.com by DreamerFi · · Score: 5, Informative

    Kagi has a lot of experience with this. Check them out.

    -John

  34. Unix or Windows? by Dunkalis · · Score: 1

    If its Unix, apt-get is your ally. With apt-get, just set up a cron job that updates the apt-get database daily, and then the user can install software at their leisure. If you aren't using Debian, you can use apt-rpm. Red Carpet also has similar facilities.

    If its Windows, its going to be a bit more difficult. Maybe Windows Update?

    --
    Slashdot is a waste of time. I enjoy wasting time.
  35. "Electronic Software Delivery" by Anonymous Coward · · Score: 0

    "ESD", what is that, some kind of silly euphemistic acronym like "DRM"?

    The best I've seen for this (besides apt-get or fink, of course) is OmniGroup's Mac OS X software. You just download the app in a single file, and drag the file to your hard drive. Installed. Maybe a demo version if you're lucky.

    Then you buy the license code, which is emailed. They have various license codes, per-machine, per-person, floating, etc. Then you type it in and you have the full version.

    If a new version comes out, just delete the old file and download the new one. No "installer" bullshit, no "please pay us again and again for our bug fixes" bullshit. Customer-centric.

  36. electrostatic discharge by misterhaan · · Score: 1

    interesting . . . 8 or so years ago when my dad brought me along to sign up for internet access, the guy from the isp made me ground myself before he gave me the setup (floppy) disk. this was because of "ESD," which back then was bad for software!

    --

    track7.org has all kinds of interesting stuff!

    1. Re:electrostatic discharge by Anonymous Coward · · Score: 0

      I ain't ever heard of a floppy disk getting deleted from static electricity. Now a magnent will erase that baby in a few waves of the hand. And ESD will wreck havoc on your hardware. Speakin as somebody who's fried 2 motherboards with ESD, use the damn discharge bracelet! Yeah you look like a tard, but it's better than frying the mobo and being a tard.

    2. Re:electrostatic discharge by misterhaan · · Score: 1

      i've never heard of ESD zapping a disk either, except from this guy. he said that a few people had gotten the disk home and then it didn't work so he decided to ground everybody before handing them a disk. this was the only time i've ever worried about that, and i never zapped any of the many disks i handled

      --

      track7.org has all kinds of interesting stuff!

    3. Re:electrostatic discharge by Anonymous Coward · · Score: 0

      Perhaps the disks were sh*t and simply just were not reliable?

  37. Existing standards and design patterns by hargettp · · Score: 3, Funny

    A lot standard exist; whether they are useful depends on the platform you are targeting and/or the architecture of your product. You've shared nothing about either, so I'll just point you at some general standards that you may find helpful, or as sample design patterns that may bring you closer to your goal. Check out the OSD specification at the Web Consortium's main site. An XML-based software description language, it's raison d'etre is electronic delivery of software. I know Microsoft used the format at one point, and I know of at least one other company that architected their product to use the OSD language for software installation as well. An alternative to the OSD model is Sun's Java Web Start, tailored to automatic installation of software for the Java platform. If you still need to roll your own, may I suggest that you consider the package format used in the Debian GNU/Linux distribution as a good design pattern to follow? Because the format exposes extensive amounts of meta-data in each package, a complete array of tools exist to automatically resolve, download, and install dependencies--one of the major benefits of using Debian as a Linux platform. Finally, if you are a member of the ACM, their online Digital Library will no doubt have extensive information, as would the IEEE online resources (again, membership required). A free resource similar to those of the ACM and IEEE that I often find helpful is Citeseer. Hope some of those help!

  38. How could you not find alot of info? by Anonymous Coward · · Score: 1, Informative

    I did some searches, and there seems to be a fair amount of info available on this.

    There's some good payware service providers like Digital River, Metatec, Intraware, etc. And some decent freeware/open source ones that you could build off of, like weps.org. And there's always freshmeat, twocows.

    It really depends what you're trying to achieve - what you're trying to deliver, to whom and for what reasons. You may need accountability, tracking, different views for different user sets, etc. Usually, you're best off just rolling your own if you have the time & resources to implement it.

    Oh, and for resuming transactions, you can use HTTP 1.1 "Range" header protocol to do that if the files are large, and you lost connectivity.

  39. Too Vague.... No Doughnut :( by TechnoGrl · · Score: 5, Insightful
    ESD is just another buzzword until you actually understand what it is that you want. What DO you want?

    Do you want to deliver upgrades or patches?

    Do you want to tie your system into a point of sale mechanism?

    Are you worried about security? (you should be)

    What security mechanisms are you able to implement?

    How many people will download your software each day? Each hour? How many do you expect to do so next year?

    What platforms will your target audience be running?

    I could go on and on....but my point is that you cannot go to anyone, even "America's Best and Brightest" (whereever they are) and ask for a one-size-fits-all solution to a software delivery system - even if you do have a fancy buzzword like ESD to make it sound sort of sexy.

    You first step here (AS ALWAYS) is to define your specifications. You can *start* with the questions above but if you haven't thought of 4 times that many yourself in your specs then you don't really know what you want... and hence can be offered no real solution.

    --
    ----- In Your Cubicle No One Can Hear You Scream...
  40. Confirmation by Anonymous Coward · · Score: 5, Interesting


    I am currently adding ESD capability to my eCommerce software, so that I can deliver electronic goods to customers.

    The approach I am looking at is one where after payment has been accepted, the user gets a secure account where they can download the files they have a valid licence for, and the file is passed through a script which checks that the user has authenticated properly. This means they cannot simply post a URL to allow everyone access to the file.

    In order to authenticate, and so that they can download this file again at a later date (maybe their hard disk blew up or whatever), they must enter a random 4 digits of the credit card used to purchase the file. This means they would not simply post a username/password and allow everyone access to their account.

    When they receive the file it will be archived. When they unarchive the file, the custom unarchiver will request authorisation from my server, informing me they have the file, and what the md5 hash is. This confirms to me they have a valid file and helps against credit card refunds.

    Inside the archive, I will look for ways to have unique ID's hidden inside various files, so I can then track the file's owner should it appear on any file sharing sites/networks. This doesnt have to be done in realtime, you can prepare 1000 files in advance and assign them to customers. I will look to write into the EULA a clause that states it is their sole responsibility to keep the file and contents secure, and that any lost sales will be charged to them if it could be proven they were neglegent in securing their computer/network.

    I think that the above will be a good set of measures to take. Of course, it all depends on how important/valuable your software is.

    Remember, if someone is really persistant, they will find away to share your files without detection. So things like great customer service, and value add will be your biggest help in keeping your customers loyal to you.

    :o)

    1. Re:Confirmation by Anonymous Coward · · Score: 0

      We've had a countermeasure against software fingerprinting for over a decade now - it's called delta. People on Slashdot would probably relate to it better if I used the word diff.

      Watermarking is not a technique I'd recommend anymore for any kind of content - not software, nor pictures, movies or music. It's just too easy for a well funded release group to get large numbers of copies and perform some esoteric (or not so esoteric - merely averaging, or nulling/randomising bytes with a delta can sometimes work). And setting up some elaborate, individual download process simply draws our attention to the fact that you're probably using watermarking.

      Please, please, just give up on "copy protection" already. A hundred shareware authors have tried and failed, a million dongles have fallen out, a billion people have got annoyed at the black-on-black codewheels, and every single time, we've won. We have better tools than you do now.

      Just put it on a damn https website with a login, and spend your time and money on making the product better, and providing better customer support (which is one thing you'll always have over the pirates).

    2. Re:Confirmation by Anonymous Coward · · Score: 0

      I like it!
      It maintains a users ease to get your software. Yes, it involves a credit card number, but I suspect that it would discourage giving it out publicly. Right. This wouldn't work for a corperate environment with many IT staff and purchasing agents as the Buyers and the Installers may not be in the same location and the card may be in a Boss's name. A purchase order number or customer ID number would be better.
      The watermarked file idea is great too. Only thing is IBM has 1 up on you in this reguard--they do it with their server software. Each copy is custom burned for each order filled with the customers unique passwords, etc.
      This plan allows the staff to back up and reinstall any time they want after getting a valid file, rather than having to call and beg permission to use it each time. The only downside is you can't control multiple station installs as you authenticate the file once at download and you can't tell a first install from a reinstall or multiple station should some one take the file to their house. But you could use IP range checking to keep people honest.
      This is a valid start, and shows that Copyright protection, customer service, and rights aren't exclusive things as some companies would have us to believe.

    3. Re:Confirmation by Anonymous Coward · · Score: 0

      This isn't really copy protection, call it access protection with concequences. If I place a unique serial number set in your copy alone after I give you access to it and you distribite it I can tell who you are and make you responsible. The only "Protection" is the phone home to unpack the archive which if this is a internet connected app you can't really stop. It won't really prevent the software from working, but I will know you let someone copy it and come knocking on your door!
      The internet is the best dongle out there as many programs would be useless without it. As soon as someone connects, you can detect the leaks and punish the leaker without limiting or hasseling letigimate paying customers.

    4. Re:Confirmation by Dwonis · · Score: 3, Insightful

      All it takes is a few different copies of the program, and a person can find out where the differences are and anonymize the program. "Phoning home" can be removed.

  41. Dude, you crack me up - by (void*) · · Score: 2

    I must take it to America's best and brightest.

    Will you be here all week?
  42. perl ESD? by ozzy_cow · · Score: 1

    this is little bit on a tangent...

    my copmany is developing a colaboration app in perl for internal use. i was recently approached by management asking if there is a possibility for resale of the application weve been developing for quite some time now.

    of course theres a big problem with very nature of perl... its an interpreted language. how would someone go around to resell something like a perl script and then prevent people from freely distributing it? only other modules its using is CGI::Application and all the data are stored in mysql database.

    does anyone have experience w/ reselling compiled perl binaries?

    oz

    1. Re:perl ESD? by codepunk · · Score: 2

      No need to worry about that with perl code. The syntax is so damn ugly it looks binary anyhow. Just remove the comments and ship away!

      --


      Got Code?
  43. Take a look at SVGames by SysKoll · · Score: 3, Insightful

    Take a look at SVGames.com. This is an outfit that sells, among other things, PDFs of old TSR AD&D books (the PDF were obtaining by scanning the books). The PDFs are a few bucks each and are sold only through download.

    The neat thing is that they offer a temporary download URL that allows you to redo a download wihin a few days if the first one failed. You don't even need to bookmark the temp URL, you just reenter your name and CC number for authentication and can redo the download (without being charged twice, obviously). This is a very cool feature. I suggest your site adopt a similar functionality.


    -- SysKoll
    --

    --
    Mad science! Robots! Underwear! Cute girls! Full comic online! http://www.girlgeniusonline.com/

  44. What about the rest of the world? by Anonymous Coward · · Score: 1, Interesting

    So no foreigners are allowed to reply?
    First idea, stop thinking that the best and the brightest are all American.
    Second, do a spider diagram of all the possobilities.
    Third, remove the ideas from the diagram that are not feasible.

    Presto, a solution.

  45. But who is going to write your Draconian EULA? by Proudrooster · · Score: 5, Funny

    Don't forget that once you have distributed your software over the Internet to an untrustworthy, evil user, s/he is going to give it away for free. S/he is going to start buring illegal copies of the software he downloaded for all his friends and will probably download it right into his P2P upload directory.

    After the Electronic Software Delivery (ESD) is complete, the user has to get through the EULA so he can install it.

    Just who are you going to get to write that EULA?

    Might I humbly suggest,

    http://www.evil-lawyers-who-write-eulas.com

    These guys specialize in incomprehensible leagaleze and by the time they are done, your EULA will stand a proud 250 lines long and allow you to have your way with both the user of your software and his/her computer.

    Good Luck!@

  46. Java Web Start for Java programs... by aquarian · · Score: 2

    If your programs are written in Java, then Java Web Start is unbeatable.

  47. How about sneakernet by Billly+Gates · · Score: 3, Funny
    You need a good removable storage device on both ends of the network which will act as the adapter. A cd-rw is good but it holds less but is faster to create and send down the sneakernet network. A tape drive is another popular adapter. It hold alot more but takes awhile to get the data ready for transfer. The office messenger transfer protocal ( or me ) would be the typically the transfer protocal which works great around the office or through several office buildings. However the messenger protocal does not work well for many wans since it can run around the office better then getting in a car and driving around the wan.

    However I recommend third party fedex or ups wans. They add great routing and delivery support and would mix your data with their own delivery network. They integrate well with the messenger protocal since they both use the mail room gateway as a standard to retrieve and sometimes even store data. The mailroom is the default gateway between the messenger and fedex and ups protocals.

    The downside of course can be transfer time and very high latency. For example using a third party network like fedex can take a day or two to ship the data to Hong Kong and can be pricy depending on how quick you want the data to move.

    The good side of sneakernet is that when the network is down I can still get data from one side of the office to the next. When the network is congested I can still move around huge amounts of data depending on the store medium used. With me implementing the messenger layer of the sneakernet protocal suite, you do not have to worry about hiring any expensive consultans or installation fee's. All you need is the store medium like a tape or cd-rw drive on both nodes.

    Ps. I am looking for work and wouldn't mind doing this at this point. :-)

  48. Hint: Three Letters, and it hurts really bad by Superfreaker · · Score: 1

    IIS baby!

    1. Re:Hint: Three Letters, and it hurts really bad by Anonymous Coward · · Score: 0

      NTFS supports something similar to links (NOT shortcuts):

      Sysinternals

  49. Active Directory by Anonymous Coward · · Score: 0

    Assign an application to a computer using Active Directory and .msi's, this way the user has no choice. The software is on the computer and that's the way it is.

    And it's all clicky clicky gui.

  50. Not Novadigm unless its a big company by Anonymous Coward · · Score: 0

    It depends on the operating system. But I heard that Novadigm has software distribution fit for a big company, i.e. 50,000 or more people. If your smaller, its a complete waste of time. You need to spend a million for the liceneses and another few million in salaries to support the product, i.e. a team of 6 or more.

    You get much more bang for the buck with Microsoft Active Directory. And its easier to find Active Directory expertise.

    WhatMeWorry!

  51. Ask slashdot by Anonymous Coward · · Score: 0

    I'm trying to find the best way to install a large-scale Electronic Software Product (ESP) for my software company. I've been able to find very little information online (after weeks of research) so I must take it to anyone who is willing to listen to me. Have you ever worked with software on a higher than Playstation level, and if so, what did you learn from it? When do you consider the product 'installed'? Was it worth it? (I'm planning to put together a public domain whitepaper on the subject with the information I gather, to help fill in the gaps I found while researching online).

  52. American? by jo_ham · · Score: 1

    You offend me! Wel, no, I've been called worse.

    We're not all American here.

    1. Re:American? by Arnold_Crenshaw · · Score: 1

      Fuck you too, Frenchy.

    2. Re:American? by jo_ham · · Score: 2, Funny

      British actually, can we have our language back now please?

    3. Re:American? by Arnold_Crenshaw · · Score: 1

      Hey, my family came to the states united fewer than two hundred years ago. You're the ones who settled the place and then couldn't control the crowd. You forfeited the right to control language when you unleashed its geography from your governance, you puny wipers of other people's bottoms.

  53. Yeh, on slashdot? by A+nonymous+Coward · · Score: 2

    Come on, these guys don't even read the stories they themselves submit, and neither do the moderators or posters or even the slashdot crew. You expect them to do enough research to actually read the slashdot story too?

  54. why not partner with digital river? by zonker · · Score: 1, Interesting

    these guys have been doing this kind of thing for years (if i remember correctly they started out with the old locked cd's and selling people keys to the software and then moved onto web distribution when it became feasable)... of course they'll want a cut of sale, but it'll be easier to manage than doing it yourself...

  55. Shareware model? by GrouchoMarx · · Score: 3, Insightful

    It depends in a huge part on the type of program, but for general-public use (what some would term "consumer" but I'm trying to erase that word from my vocabulary) a Shareware/registration system is often the easiest, if you have some sort of unique identifier to use.

    For example...

    In the Palm OS world, most software is released in a Shareware fashion. Every Palm OS device has a HotSync ID that is used to identify it on a PC, and to keep that device's data separate from other Palms on the same PC. Two people could very well have the same ID, but not on the same PC, and the vast majority of users just use their own name as their ID, so the odds of two people with identical IDs meeting is neglibible.

    What most developers do is release a single binary version of the program that includes all of the functionality, but sometimes blocks it with popups, disabled functions, timeouts, or whatever. If the user decides to register, they go to a web site (usually PalmGear.com) and enter their HotSync ID along with their credit card data and the web site generates a unique registration key for them based on their HotSync ID and some program-specific key, known only to the developer. The user enters that code into the Palm program and they're all set and registered. The program can then just generate what the reg code should be against the HotSync ID and the secret key (which it has compiled into it), and determine if the entered code is valid or not. The reg code is stored in the device's Preferences database (sorta kinda the Palm version of the Registry, though better implemented), so the user can easily beam the program to others and SHAZAAM!, the other user now has the unregistered, shareware version of the program! Yay, viral marketing! :-) It also means that you need to maintain only one binary version, and you can make it a simple direct URL which is compatible with every browser in existance.

    Yes, it is possible for the user to fudge the HotSync ID with 3rd party programs, but that's not very common. And frankly, if someone is going to do that to "get around" your registration system, they would never have paid for the program in the first place, so you've lost nothing.

    Of course, that is all predicated on the platform supporting that sort of unique ID. I don't know if that sort of user-defined, constant, pseudo-unique ID exists on any other platform. I wish it did, it would make it a lot easier to develop shareware-type apps. E-mail address is possible, but is subject to change more often.

    [insert obligatory commentary about why you should be releasing GPLed software instead of commercial software here.]

    --

    --GrouchoMarx
    Card-carrying member of the EFF, FSF, and ACLU. Are you?

  56. Companies specialize in doing just that... by phyjcowl · · Score: 1

    I used to work for one called Intraware (intraware.com), that's basically their whole purpose for existing--they deliver software electronically for other companies.

  57. Re:I'm too lazy to do my own job by Anonymous Coward · · Score: 0

    kinda figured that was coming, but at least I can sleep at night knowing I can find a girl (that's not online) to have sex with....sex is could, you all should try it sometime

  58. Americas best and brightest? by Anonymous Coward · · Score: 0

    Experience with large scale software delivery? Yes, we have.....

    But since you are only interested in the suggestions of Americas best and brightest, I am afraid we don'y qualify.

    Maybe it would be helpful if you learned looking over the fence a bit?

  59. Excellent solution exists by TheProgressor · · Score: 1

    Try Steam by Valve LLC. Go to http://www.steampowered.com

  60. Eletronically by Jagasian · · Score: 2

    Do you really care whether you use electronic hardware to send your software, or are you interested in sending software over the net? Computers and the internet don't necessarily have to be based on electronic hardware.

  61. I wrote something to do this a while ago... by marko123 · · Score: 3, Informative

    Upgrade Suite

    It's windows, and freeware now. You might learn about some of the issues from the documentation.

    --
    http://pcblues.com - Digits and Wood
  62. rsync over SSL by Pierce · · Score: 2, Insightful

    When I need to transfer large amounts of data, I use rsync where possible. This allows for updates of the data without transfering all of the data, unless everything changes in the current update.

  63. Re: your sig by Anonymous Coward · · Score: 0

    "I'd be a Libertarian, if they weren't all a bunch of tax-dodging professional whiners."
    - Berkeley Breathed

  64. I do too! by sfoster · · Score: 1

    This system allows someone to snoop e-mails going out to you customers and obtain freebee software urls. I guess this would take a day for a /.er who's never done dodgey stuff before, or 20 minutes for a l33t k1dd13.

    I do adding an entry to an .htaccess file, the password for which is entered by the user on an https form. This may save the embarrassment of having your client's stuff warezed on p2p.

    Hey wait, more fundamental to caring for your clients' stuff; don't use IIS.

    1. Re:I do too! by Superfreaker · · Score: 1

      Since the files are deleted after 48 hours, it is not a big deal as the original file paths are not revealed. No system can stop a few rogue people from obtaining files illegally.

      The goal of any of these systems should be:
      - Prevent the direct leeching of files by posting a download link to the file

      - Prevent customers from downloading other files using know methods (paths, naming convetions, etc.)

      "Hey wait, more fundamental to caring for your clients' stuff; don't use IIS."
      No comment.

    2. Re:I do too! by Tablizer · · Score: 2

      This system allows someone to snoop e-mails going out to you customers and obtain freebee software urls.

      I am curious how this is done (for prevention knowledge only). This includes snooping HTTP traffic for passwords, etc.

      For example, how can somebody snoop into HTTP traffic going between client A and server B? Do they have to tap into A or B's ISP from the inside of the ISP?

      I am a software guy who is a bit cloudy about network stuff.

    3. Re:I do too! by sfoster · · Score: 1

      I don't know how to "snoop into HTTP traffic" and I don't want to.

      Have a look at http://ettercap.sourceforge.net to get an idea, but don't do that; use ssh, gpg, etc.

  65. Non-electronic computers and internet... by Anonymous Coward · · Score: 0

    So... you're saying that software distribution via the 'smoke signals' and 'sneaker net' internet to 'cogs and wheels' and 'abacus' computers could be what this guy is actually on about? Rather than the electronic versions of computers and internet?

    Yeah... maybe you're right. Sounds like a great system.

  66. Re:Jive of the day: VBD by Anonymous Coward · · Score: 0

    n1gg3r sp34k

  67. When do you consider the product 'delivered'? by raduga · · Score: 1
    Pretty easy.

    To ward off problems in transit, lag, potential corruption at either end, or other errors on the remote client's side, you may want to consider permitting unlimited downloads (or unlimited download attempts at any rate) until the product is "delivered" per contract.

    When will you know it's delivered?

    When the user runs the installer on their target machine, and returns the appropriate registration code to you. If the user has some TCP/IP'ish way of downloading, they must have some corresponding TCP/IP'ish way of responding. (Could be, generation of a reg code to file, or even to screen, that end user can copy down and email back to you, for the more locked-down secure environments) If your license is per-seat restricted, you can also have a registration/response code pair returned back to the target machine to complete the transaction, but depending on your needs, this might not even be nececessary.

    --
    First, nothing begins if not opening
  68. Mirrors, download sites? by dcgrigsby · · Score: 1
    I had a similar question, but more specific:

    I'm going to release an application with a 3mb download size. A few downloads a day will put me over my colo's bandwidth cap. I'm looking for alternatives to download.com, because download.com doesn't take beta software. Sourceforge might not be right because, while it's free, I don't include source. Any suggestions?

  69. Anyone by ZeroConcept · · Score: 3, Interesting

    Remembers when Numega had a trial version of SoftIce(kernel mode debugger) available for download?

    Warez groups used it a LOT to remove copy protection from games/apps/etc, so the first think they did whith it after they downloaded it was to alter the SoftIce binaries to get rid of the expiration date...using SoftIce itself to find the places where the checks were being made.

    1. Re:Anyone by Anonymous Coward · · Score: 0

      Yes, I did rather like that particular solution for it's irony, and I wondered why they even bothered.

      And, uh, SoftIce is so two years ago, dude. Ugly, limited, easily detectable (although FrogsIce was a step against that). For a modern hardware-level virtual-machine debugger, you want... oops, can't name it here, but it starts with a V and there's an X in there somewhere. Ollydbg will also do you proud if you've got a simple exe target; it's code analysis beats SoftIce into a bloody pulp.

  70. I developed such a system by keyslammer · · Score: 2, Informative

    ...for a large client several years ago. We needed to deploy software to > 400 factory tool control workstations. The prototype was written in Perl, the final version was reimplemented in Python.

    The basic features of the system were as follows:

    1) Packaging of software into the smallest deployable units. Define a standard for how files and meta-information are grouped together into a package (e.g. tarfiles, RPM's) so that the packages can be created and installed in a common manner.
    2) tracking of dependencies and compatibilities between packages
    3) Specification of the set of top-level packages that are required by an individual workstation
    4) dependency evaluation to calculate the final set of packages to be installed, or determine if no viable package set existed because of dependency conflicts
    5) a sizeable set of tools to allow us to manage this information, build packages, and track what got downloaded, why it got downloaded, and who changed what when ;-).

    The combination of these features is very much like what RedHat's "update agent" (and other Linux update utilities) provides. If you have the luxury of only having to support Linux, your best bet is probably to try to adapt one of these to your needs.

  71. Personal experience by jamesk · · Score: 2

    I was involved with such a problem on a failed start-up (which didn't get funding for going into operation after we had solved the problem). We used Install Anywhere for our initial distribution and the app itself was written in java, stored in two signed jars which included a generic "key". When it came time to first run or upgrade the app, a request was sent to a server (apache+servlets) which took its info from the jars (generic or unique key + sig) and returned back a new jar(s) with any upgrades/patches (new jars were themselves were each "uniquely" keyed and signed).

    The app itself was started by a launcher which would watchdog the app and could report/then fall back the patches/new code if it didn't work. We could (by option) track users/problems/usage statistics and control upgrades for each user. Finally, we have a diagnostic applet (+HTML page) in the same jar which the user could then start from a browser to deal with failed system/comm/proxy issues.

    It worked extremely well during the pilot -- interestingly the most important feature turned out to be the diagnostic applet which saved us huge amounts of time during the trial rollouts, test cycles and releases. Our biggest expenses came from initial support and upgrades.

    Hope this helps.

  72. How about this: by mbogosian · · Score: 2

    I'm trying to find the best way to implement a large-scale Electronic Software Delivery (ESD) service for my software company.

    How about the following:

    $ wget http://MIRROR.sourceforge.net/sourceforge/PROJECT/ SOFTWARE-VERSION.ARCH.rpm \
    > && su -c 'rpm -Uhv SOFTWARE-VERSION.ARCH.rpm'

    Or alternatively:

    $ wget http://MIRROR.sourceforge.net/sourceforge/PROJECT/ SOFTWARE-VERSION.tar.bz \
    > && tar xjf SOFTWARE-VERSION.tar.bz2 \
    > && cd SOFTWARE-VERSION \
    > && ./configure ... \
    > && make \
    > && make check \
    > && su -c 'make install'
    ;-)

    1. Re:How about this: by mbogosian · · Score: 2

      Of course, if you really wanted to, you could always do:

      $ apt-get upgrade PACKAGE

      Or:

      $ rpmfind --upgrade PACKAGE

      (These are jokes. They are neither insightful nor informative.)

  73. Softdisk - back in the day by Anonymous Coward · · Score: 1, Informative
    Back in the day I worked at Softdisk and we had several distribution methods, depending on the service provider (Prodigy, AOL, CompuServe, eWorld, Web).

    AOL - Members would join a software club - billed $19.95 monthly - and be able to download from our library. This was for in-house software, not for third party. At a royalty based on $2.95 per hour, we made a few bucks there. AOL's model change pretty much ended that. We also made money from our freebie download area, albeit royalty only. All programming done in Rainman Plus. It was different and pretty easy, but there were some hideous holes in the system security-wise.

    Prodigy - Customers bought software and after the transaction downloaded the software. Any disputes or problems were handed by our customer support staff, who would email or snail-mail the product if necessary. We had to snail mail our products b/c of problems w/their software delivery check-in system. We had little direct control of the store.

    CompuServe - Most painless to deal with. We uploaded product ourselves. Had to use wierd scripting language to construct/modify store/pricing. It was kinda buggy, but it worked. Store performed quite well. The more often products were changed/updated, the better. Rotating ads throughout system for promotion, front screen placement drove huge traffic (big surprise).

    eWorld - Transaction completed in online store, product was emailed to customer minutes after tranasction went through. Worked nicely, but ultimately tanked a couple of months after we got it up and running when Apple shut down eWorld.

    Web - Home-brewed CGI scripts ran the store. SSL, transaction processed real-time with our bank, customer could download product for up to 72 hours. Customer support thereafter.

  74. I have a good idea but... If you only want "Americas best and bravest", guess it's not for you..

    --
    Ordo Militum Unix.
  75. Re:what are you deliver matters - java app - dll - by Jace+of+Fuse! · · Score: 1

    apps like windows update are pretty silly as you have to ask the user to look every day and how many lusers do that ?

    Not many, which is why Microsoft added the feature to automatically check for at least critical updates, but even still users don't update.

    --

    "Everything you know is wrong. (And stupid.)"

    Moderation Totals: Wrong=2, Stupid=3, Total=5.
  76. Re:I do! - hooray for *nix users by Superfreaker · · Score: 2, Informative

    Borrowing from the virtual link methodology, I think we may have a solution that will work even in IIS.

    We will use the free junction command line component, or linkd.exe, or one of the others and run it from our ASP page using ASPExec from ServerObjects.com. Will do the same as the unix version of a virtual link.

    So, even if this thread did not help the oroginal poster, it helped us out and that is a good thing.

    Give yourselves all +1 karma
    Good job!

  77. Possible ESD Solution by dixon1e · · Score: 1

    Our company are working on a solution that may be of help, I'd like to discuss your requirements with you, if you are willing. I see there is lots of stuff out there, and am just learning about ESD myself. My e-mail is dixon@sourcery.com.

  78. human required? Don't want by Tablizer · · Score: 1

    From site: Kagi informs the customer and supplier via email that a purchase has occurred. The supplier ships the goods.

    This requires *customer intervention*. I think many of us want to get the human (us) out of the loop for faster service and so we can vacation with Linus Torvolds in the outback without worrying about processing customer payments.

    How is this different than Paypal?

    1. Re:human required? Don't want by DreamerFi · · Score: 2

      Because they have a lot of things set up to support automatic shipment of electronic goods and automatic serial key generation and such. With a little thought "the supplier ships the goods" requires zero effort.

    2. Re:human required? Don't want by Tablizer · · Score: 1

      Because they have a lot of things set up to support automatic shipment of electronic goods

      I am not sure what you mean. I realize there will be a "setup" effort for the service, but the seller should not have intervene for *each sell* after that (except where there are problems).

    3. Re:human required? Don't want by DreamerFi · · Score: 1

      I know, and that's exactly what I mean.

  79. 48 hour holes? by Anonymous Coward · · Score: 0


    So customer FooBar gets a link to 123file.zip in his email. He then walks to irc or other chatroom and shares this link with his buddies, the word spreads and before you know it, tons of illegal downloads.

    Ya, your website rulz

  80. This is a job for ln by Anonymous Coward · · Score: 0

    hard links are the answer there. Create a hard link using the customers ID. You save the space for all the copies of the file, but you still have something you can delete in 48 hours.

  81. The answer is always the same by Anonymous Coward · · Score: 0

    MS .NET web services and XML are the magic answers. They always are.

  82. Try SSH and bash... by Anonymous Coward · · Score: 0

    No really, but only if you know exactly what the software is on the machine you are delivering to, before you deliver/install anything. Dumb network applicances, your own Linux box, etc.

    Otherwise, you will have to construct a DB and some method for "fingerprinting" the target machine. This gets VERY tricky.

    Obviously, this approach won't work on Windows ;)

    Or, you could just buy a Linux distro with these capabilities....see www.wirsoft.net

  83. apt-get install yourprogram by grahamsz · · Score: 2

    Perhaps it wont reach the widest audience but it's certainly a great way to deliver it :)

  84. Product Delivery by calysta · · Score: 1

    Greetings..

    During my stint @ AOL, I wrote the software delivery system that was used by AOL from the Windows 3.0 client thru 8.0 client. It delivers any type of software (and was used up until 8.0 to deliver new AOL clients) in a componentized manner, ensuring that only the minimum set was delivered.

    As it's a huge undertaking, there's just too much to post here about it. Did you have specific questions?

    Randy

  85. I've bought software like that. by Xi · · Score: 1

    I downloaded software from both Symantec and Userland who both off loaded the download to a third party. Believe it is Digital River. It made it easy for them and provided all the things I needed as an end user to make the experience satisifying.

  86. Distributed Software Delivery by Geminus · · Score: 1

    I hate to say it, but I recommend using Active Directory Services and Msi packaging. I'm working with a VERY large project now (100,000+seats and 30,000+applications) and ADS seems to work the best so far. Whatever your choice, do NOT use Novadigm's Radia service... it painfully sucks the big one (experience speaking). It's also incredibly expensive. It's too bad that Chicago-Soft sold out to Novadigm, they actually had a good product. Just remember that Radia + Msi's = pain in the arse.

  87. Marimba has something EA and MusicMatch use by Anonymous Coward · · Score: 0

    Marimba has as solution for doing large scale software dist (millions of users). It has some nifty features like automatically building updates between any two versions of software. It will just send the byte-level differences between any two versions of an application. The backend is all java and they have native clients and java clients for just about everything. They use DRP (http://www.w3.org/Submission/1997/10/) for the protocol over http/s and are big on open source stuff. Electronic Arts and MusicMatch use their stuff.

    1. Re:Marimba has something EA and MusicMatch use by Anonymous Coward · · Score: 0

      Marimba is good software. They have lots of open API's and rock solid security.

  88. Dude, this is soooo EZ by swillden · · Score: 2

    Just throw it on a warez site and write the URL on the bathroom wall. Every machine in the office will be up to date in no time. And they'll all be running the latest copy of MS Office and Photoshop, too -- at absolutely no cost to the company!

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  89. Xcellenet for ESD by tfinniga · · Score: 1

    I used to do a little ESD via a product called Xcellenet. It's an extremely solid piece of code, very secure, and easily lets you distribute source to various sites, over various connection types. We used it internationally and domestically. I think it's also used a lot for ATM transactions (that's ATM bank machine, not the other kind). I think it can do TCP/IP, X.25, modems, ISDN, etc..

    My favorite feature was a CLI which would transparently work the same on different platforms.

    Info is at http://www.xcellenet.com/

    --
    Powered by Web3.5 RC 2
  90. You suck, E r i c. by Anonymous Coward · · Score: 0

    Die? Please? THX!!

  91. Use Embedded Autoupdaters by Mubarmij · · Score: 1
    An easy way to do this is to embed some code in your program that will check a remote server for updates and download them automatically. You can write your own protocol for this.. don't even need http.

    I used Borland's Delphi to do this because it has a lot of puiblic domain/shareware components that automate this task. If you do not want to use Delphi, use their C++ product as it can support the same components.

  92. Loki by erydo · · Score: 1

    Just a suggestion, if you want to see a (good, in my opinion) example of software delivery, do a search on Loki's (may they rest in peace, or possibly reincarnate) method...

  93. No-Touch Deployment by Oink.NET · · Score: 2

    Check out No-Touch Deployment in the .NET Framework for an interesting way of solving the problem of delivering software updates automatically, without the need for user intervention. If you set it up properly, it's actually more secure than just downloading straight from a website, because of the very granular code access security features of the .NET Framework.

  94. I would anwser by Anonymous Coward · · Score: 0

    something like Java Web Start (see java.sun.com), but I'm not going, as I'm not american.

  95. Email is a solution by vandmand · · Score: 1

    One solution is to attach the software on an email to the customer. Building the database, website, administration website and online payment solution for international creditcards can be done in about 3 weeks by a single programmer (for a simple e-commerce site that has the basic functionality). Such a website can more or less run itself. Accounting can be done automatically aswell, although your country may have laws that forces you to do the accounting manually.

  96. Come on guys by Anonymous Coward · · Score: 0

    This fool does POLITICAL websites for crying out loud. IGGY this fool like any other snert.

  97. Been there done that by gone.fishing · · Score: 1

    Won't mention any brand names cuz they are all equally lousy for various reasons.

    The ultimate goal is what gets in the way of the process. You want the product to just appear on the desired computers. Sounds simple but is far more difficult than you ever expect. Even in a solid environment with a good network and nearly identical hardware you still have different software configurations to deal with. No two computers are alike and the packaging process that allows the installs to go in auto-magicaly causes the install to lose whatever intellegence it had.

    Packaging is not the only weak point but it is the one that you will find to be the bugger. Every application is an opportunity for error. This is what hurts.

  98. smartcert by mattr · · Score: 2

    you might want to check out smartcert on google. Pricey but they hold your files and handle transactions. They do not use watermarks to make unique copies.

    I have been working on a simple shop system to tie into Payment One and other credit card clearing systems, written in Perl. A lot of the design depends on your own business policy and how much risk you are willing to take (i.e. is it okay if people can post copies of your software on bbs systems?). If you only have a few items it is easy but with higher throughput you will want to manage clients and handle cooling off (giving money back) quickly. Check out Red Hat's system for some ideas.

  99. NOVADIGM is the answer to your problem by Anonymous Coward · · Score: 0

    Check out http://www.novadigm.com/. This is a solid company that is well regarded by the analysts. Their solution works very well.

  100. So, what's the Hard Part ? by DRMGuy · · Score: 1

    As others have pointed out, S/W DELIVERY is easy- and not very valuable. Then there's everything else - ensuring successful installs in a multi-O/S environment, keeping machines updated, uninstalling, tracking licenses etc. Automating all this needs major bucks for a major enterprise solution, along the lines of Unicenter or Tivoli. Don't need all that? Give us a top 2 or 3 requirements beyond FTP, and we can have a better crack at it !