The appropriate escalation step here is probably paying a lawyer to send a properly-worded letter on legal letterhead.
As far as dates go, did they use Certified Mail or a similar service? Does the postmark agree with their date or yours? Writing a date on the letter doesn't prove anything about when they sent it.
If it's a scam an not incompetence, a letter from a lawyer will probably shut them up quickly. Litigation usually isn't acquired, you're switching their opponent from a consumer they think they can scam to a professional they know they can't.
"A workaround exists, it's the user's fault for not knowing it" is terrible interaction design.
Having links on the site fail arbitrarily devalues the entire page. Users aren't stopping and thinking "hey, is clicking this link going to waste my time?" - which results in the entire system being perceived as less reliable and trustworthy.
I agree that such discussions are off-topic, but is there a better way to handle these articles than "RTFM, noob"?
Freemium is the wrong route far more often than not, and I'm only going to cheer you on for making the decision which lets you continue to develop a stable business around your services.
It sucks to have to change your stance after the fact. There will probably be vocal opposition to doing so. But your odds of still being in business three years from now just shot up.
If it turns out to be at all useful with regard to maintaining revenue-generating code in production, $25 per year is a laughably low ask, even if it's only useful some of the time for some of the people.
Figuring out which people and when is, generically, a matter of doing your homework with customer development and targeted marketing, and then further improving your marketing surface as you learn more about who is a customer and how to find them.
Going from "this might be useful" to a working business model is, of course, a deeply nontrivial problem...but it's one that many people have solved before, and it's a heck of a lot easier if you don't start with "maybe $25 per year."
For reference, I'd kick myself for undercharging if I billed that much for a week, and correspondingly consider it "annoying but not business-critical" if I had trouble collecting it. Charge more.
Your rates should not be pinned to a lowball bid for an annual salary for a newly minted CS student. You're assuming far more risk, and hang around just long enough to deliver major value and get out, rather than being just productive enough that it's not worthwhile to hire someone to replace you.
You need to operate like a business that is delivering a high-value service in exchange for a reasonable fee. And you should probably narrow down your offering & marketing to the point that you have very few direct competitors, and practically none once you account for location and availability.
If you can constructively and reliably ship code to prod, you almost certainly have better immediate options than Elance.
Worst case, calling ten different web agencies in your area will probably get you enough work to pay the bills, likely at rates which are not unreasonable, and with far less pathological clients than you'd find on Elance. You might have to call another ten after that, if your luck is bad or if your sales skills are poor.
After that, what? Full-time job? Freelancing? Another startup? Get out of software and into the exciting world of fruit vending?
It's a wide world and you have skills that are in high demand. What do you want the next chapter in your life to be about?
The best solution depends entirely on your optimization conditions.
If transaction time is important, hard drives are high bandwidth. Ten 1TB hard drives are $500. Two 6TB hard drives are also $500, but you have fewer drives to worry about shipping. Five 2TB hard drives are about $370, if drive price is more important. Using ten 1TB drives is only best if we're optimizing for load / unload time and have that degree of parallelism in the pipeline. Otherwise, one of the other two will be better, depending on price sensitivity vs. other factors.
If it's not as time-sensitive, something like BitTorrent Sync will get the job done. This doesn't require shipments, additional hardware, or mucking about with hardware at either end, so it's very nice if "get it there ASAP" isn't a constraint.
In general, I would avoid selling software without a service agreement.
Bugs are a thing that happens. You will endeavor to make them happen less, because you're a competent professional. But because you're a competent professional, you know that some will happen anyway. So structure your business deals such that both you and your customer have a good answer to the problem. You shouldn't take a wash for being available, and they shouldn't be left hanging with nobody to get help from.
This gives you a tidy source of recurring revenue and an easy way to nudge up your average deal value. It gives your customers a reliable source for fixes and changes. It's good business all around.
"But for physics, it is absolute essential that you are also able to think about vectors in terms of coordinates if you are to connect them to the real physical world, which has rulers and T-squares and so on. Physicists are trying to understand the world, not the abstraction."
This breaks down the second you encounter, for example: Fourier transforms, wave equations, or hyperbolic geometry. Physicists are trying to understand the world, which in many cases does not comport itself in a way which is considerate of our naive intuition about mechanics and geometry.
The nth dimensional component of a vector still has a specific meaning within the context of the parent model, but it's far easier if you stop trying to force that and learn to deal with vectors as vectors instead. This allows for abstractions which are portable between the very many places where vectors are useful, instead of trying to force each value to fit an ad hoc cognitive model, with whatever flaws and conceptual limits that it introduces.
I'm still kind of on the fence about this. I like a lot of the choices Modl makes as a fork of Gorp, but it has significantly fewer users, particularly in the case of e.g. modl-migrate vs. sql-migrate.
I'd prefer the first explanation as well, not least because "optimize your business model for the people who are willing to pay you, not the people who aren't."
Given the way that software patents work, you probably are.
But for the vast majority of startups, this is not something you should be worrying about early on. Let the lawyers sort it out later during due diligence. Worry about getting customers first. You should consult your legal counsel (rather than the internet) about your specific case, but in general...build the damn thing and start selling it, instead of looking for excuses not to.
It's been a huge learning process for me around "the engineering side of this is relatively simple, and the non-engineering side of this is relatively simple, so they'd put two and two together themselves...right?"
But the reality is that the above is almost never what happens, even when the task required is limited to strictly marketing / sales / engineering, rather than requiring some combination of the above to be executed simultaneously and well.
If you can walk in, talk to each of the different groups involved, understand their separate needs, design a mutually acceptable solution, and then get the thing to actually be done - that is absurdly valuable, and you should bill accordingly.
It's common because the likelihood of escaping /newest on the basis of "intellectually interesting" alone is miniscule. The traffic just doesn't work that way.
Solve that, and you have much more traction to complain about what people should or shouldn't be doing.
As far as dates go, did they use Certified Mail or a similar service? Does the postmark agree with their date or yours? Writing a date on the letter doesn't prove anything about when they sent it.
If it's a scam an not incompetence, a letter from a lawyer will probably shut them up quickly. Litigation usually isn't acquired, you're switching their opponent from a consumer they think they can scam to a professional they know they can't.