Best Way To Publish an "Indie" Research Paper?
alexmipego writes "I'm a developer, and a few months ago while working on a common geodesic problem (distance between two GPS points) I started to research a new algorithm that greatly improves the performance over existing algorithms. After relearning a lot of math I'm now fairly close to the final algorithm, after which I'll run extensive benchmarks comparing my algorithm with the most commonly used ones. After spending so much time on this, and if the final results are positive, I feel that simply posting this type of work on a blog might not be the best option, so I'm looking into something more formal, like a research paper. I've no experience on those, have not even read a complete one, so my first question is what resources do you recommend to learn how to write one? And even after I write it, I can't expect to be published by Science or other high-profile publications. So where should I send it to make it known by people in the respective fields and be taken seriously?"
You can either submit it to a conference (look on google for them) or to a journal (also google them). They usually have an electronic form to upload your paper and after that it's simply wether the reviewers think it's worthwhile to publish. There really isn't anything complicated in publishing a paper other than having a good paper.
I'm a developer ... I'm looking into something more formal like a research paper.
LaTeX. Here's a template (you wanted article.ltx). Some distributions of LaTeX come with templates as well. Here's a quick guide (PDF).
I've no experience on those, not even read a complete one, so my first question is what resources do you recommend to learn how to write one?
The template will make you get the basics right. The most basic I've seen are Title, Abstract, Sections, Conclusion, References. It's easy (I taught myself in college) and the production value of LaTeX gives you an instant artificially inflated level of credibility.
And even after I write it I can't expect to be published by Science or other high-profile publications.
Why the hell not? Just do it up and see what happens!
So where should I send it to make it known by people on the respective fields and be taken seriously?
Sounds like you should do some research on arxiv, a prepublication center where you can find some of the best stuff as well as absolute drivel. I would need to hear more about your method to ensure it's indeed an algorithm worthy of publication but I guess you would put that in Data Structures and Algorithms? But why stop there? Why don't you put it on arxiv and blog about it? Why don't you send out e-mails with the arxiv link to open source projects and commercial entities suggesting the use of your algorithm? I'd imagine the USGS would be interested in hearing from you. Sure that's all very wishful thinking but if you've got what you say you've got, why not? At the very least you'll learn why your idea isn't good enough to catch eyeballs.
I will caveat all this with the brutish reality of capital and give you a very unpopular option. Software algorithms are currently considered intellectual property by the United States government and several other countries. You could apply for a patent and then attempt to license your algorithm to companies like ESRI and Google or the USGS. You're on your own if this is what you're aiming for.
My work here is dung.
Intron: the portion of DNA which expresses nothing useful.
You've taken out the patent already right?
I know I'm going to catch some hell for this, but if you have the money to do it why not look into patenting it if it's really something that's groundbreaking?
Submit it to a relevant conference for publication; the peer review process for conferences is less intimidating than journals. You'll likely have to pay to attend & give a brief talk, but it helps get your foot in the door.
Then if/when you want to do a follow-up, you can reference the conference proceedings, which gives you more credentials to submit the follow-up article to a journal.
http://standards.ieee.org/guides/style/ is the page with the IEEE style guides.
http://standards.ieee.org/guides/style/2009_Style_Manual.pdf is the guide itself.
If your paper agrees with this it shouldn't be too hard to change it later to fit into the particular style requirement of the final journal.
You can also go to http://arxiv.org/ and read some of the papers in the Math or Computing Science sections closest to your topic to see the styles in the field.
I would say your best bet would be to contact your favorite comp. sci. college professor and ask him to sponsor your paper, before submission. First, it is good to publish with other people and second it more likely to be reviewed and get published. I am a biologist, but my understanding is that computer science publications are mainly submissions to large conferences. So, you may want to submit your paper to a conference.
No offense, but your paper won't get into science unless to at least 10-fold improvement or something really earth shattering. My guess is that most algorithms would go to a specific journal like the Journal of GPS Algorithms.
"So where should I send it to make it known by people on the respective fields and be taken seriously?"
Why don't you use your fancy schmancy algorithm and locate that yourself!
Note, I am a career academic scientist.
Obviously, it should not matter if you are an individual or an institutional scientist and the science should stand on its own merits. Unfortunately, the signal to noise ratio of quality papers coming from non affiliated individual submitters is probably bad enough that most journal editors would rather not take the time or risk to send your work out for peer review. (Think of all the perpetual motion machine crackpots out there still). In most fields, peer review is a voluntary system of review for which reviewers are not compensated and requires substantial effort, so editors are loathe to ask volunteers to review a suspect manuscript fearing it will poison reviewers to subsequent inquires.
Practically though, one way to look more credible is to incorporate (this is inexpensive in most states) and submit it corresponding from the corporation. Another strategy is to find a co-author at a research institution. This may be difficult because academics in my department get a surprising number of calls like this from people who are usually either disturbed or obviously idiotic. But most academics I know will take these calls, especially the younger ones. They might be able to check your work from a different perspective and can certainly help with the arcane apects of manuscript preparation, tone and format.
I've never heard of a paper presentation at a conference being considered as previous publication, but I'm not in the same field. Lots and lots of papers that are published start out by being presented at conferences, and then the authors rework them after that. Now if the conference is publishing proceedings, that's a different story.
But as some other commenters are suggesting, your best bet would likely be to find a professor who works in this area and maybe co-write a paper with them. You can provide the substance, but they can connect it with what's going on in the field, references to appropriate literature, etc. They'll also be up to speed with what the best publishing venue will be. No, it won't be Science, but there are plenty of other well-regarded journals as well as specialty journals that might accept it.
"Anyone who [rips a CD] is probably engaging in copyright infringement." - David O. Carson
You said you have never read a research paper, so how do you know you've not discovered an algorithm that has already been discovered?
Even if your algorithm is original, then you would be expected to cite relevant work in the field and know where your algorithm fits in.
In either case you probably need to start reading before you start writing.
If you haven't read research papers, you can't possibly know that someone hasn't already discovered the algorithm you are working on, or perhaps has made one that is even better. You need to read the papers on the subject before you can know that, so that is step one. Also, to get published you need to cite other people's work when you use their results, even if you don't know you are using their results because you came up with that part on your own. Doesn't matter - if they did something you are using before, then it's their work and you need to cite them. To do that you need to know enough about the literature of the field to be able to know what to cite. An upside to that is that once you've done all this reading, you will know what journal you can submit your own article to.
You can't publish it verbatim from a conference to a journal, but there are quite a few people who publish essentially the same thing in a conference and a journal. You just have to rewrite it with a different spin or maybe a little more work/discussion/etc. Say in one, you focus on the accuracy of your model/method and the other focuses on speed vs. other methods.
I'm pretty sure you mean arxiv.org (the 'x' is the greek letter "chi", hence why it's procounced like "archive")
To be published, your paper need references. Since you mention you've never read a research paper, you'll need to do an extensive publication search and review, introduce yours and other analysis methods, discuss why yours is an improvement, all complete with proper citations.
If it sounds like a lot of work, IT IS, especially for your first one. It has to pass peer review, meaning, specialists in the field will read it and comment on whether it is suitable for publication. How you present your results is very important so the reader understands the idea.
It may also be EXPENSIVE: Many journals charge you for publishing your article, and this can be hundreds of dollars. It also takes a lot of TIME, and be a few months before the first comments from reviews get back to you. You'll make revisions, then send it back, and wait awhile longer.
The format of the paper is not too important, it will be formatted once accepted. The key is to efficiently and accurately disseminate your paper, which may include equations, graphs and tables. Many journals have templates in both LateX and Word -- Microsoft Word is perfectly fine for this.
To determine which journal you should submit to, look up keywords common to your topic on Google Scholar. Perhaps some IEEE journal would be a good choice (just a guess, I have no idea what you're doing).
If your idea is truly novel, patent it (writing a patent can be easy, might be expensive if you get a patent expert/lawyer involved, and you might also cite/review other similar patents). If you still want to write a research paper, try going to a local university and find a sympathetic professor who will aid you in your mission. Some profs won't bother helping, but some will be very pleased you've taken the initiative to do this and help you.
I've no experience on [research papers], not even read a complete one
Then you will likely have a hard time writing a legitimate paper. A key aspect of most papers is a comparison of your work to work previously published. You need to establish how yours is novel. Without ever reading any other articles, I doubt you'll be able to do that successfully. Of course you'd need to do this to get a patent as well if you go the route others seem to be suggesting.
I'm coming from the medical science field, but generally at a conference you are presenting an abstract, which is not the same as the full manuscript that you're sending to a journal. That being said, sometimes you need to just tell the journal that an abstract of the work was presented at such and such conference. I've never heard of it being turned down because of that.
Other than that, finding the right journal is usually the hard part. Read up on impact ratings (how "prestigious" a publication is, if you will) and read what else is getting published in there. Often there are multiple fields where the work might be relevant (my work applies to neurosurgical, spinal, and pain related publications for example).
Once you have the journal, they give very explicit instructions on how they want it presented. Follow them exactly, and you're 9/10ths of the way there.
if this is really just a math algorithm, you can't really patent it. If it is a software 'process', then you are good. Hire an attorney and get some pro advice before you go any further.
Also, you might do some research before submission to see if you haven't just discovered something that people have know about for the last 200 years, but you haven't talked to the right math professor to know about.
HA! I just wasted some of your bandwidth with a frivolous sig!
0) By "greatly improves the performance" do you mean by some order of magnitude, or merely by a constant factor? For example, are you going from O(n^2) to O(n log n), or is it only O(10n) to O(5n). Don't get me wrong, the latter can be useful, but the former would draw more attention from the research community. I assume you know Big-O notation and formal analysis of algorithms, otherwise you will need to learn about it before submitting a research paper in algorithms.
1) If you have never even read a full research paper, then how do you know your approach is new or better than existing approaches? First, I would recommend getting a data structures and algorithms book and a computational geometry book. Read through those looking not only for things similar to your technique, but also just to make sure you have the vocabulary correct. Then move on to Google Scholar and start looking into the more recent scholarly journals and conference proceedings on the topic. You will need subscriptions (probably via a university) to see a lot of that content, but you can try the "All X versions" link beneath most articles to see if the author published a PDF on a public web site. Books are usually years behind the state of the art, and a lot of newer research and algorithms only fully appears in papers. Also, a lot of research (most?) is not published on blogs, so your algorithm may not be as new or groundbreaking as you think. Or if it is, you still may find more inspiration to improve it from related techniques.
2) Ditto what others have said about learning LaTeX for page layout. However, if you might want to publish in a specific journal or conference, then you might have to use their specific format, so you might just want to type your first draft as plain text and a collection of images, for import into a specific LaTeX template later.
3) Writing style: You must be *very* *formal* in your writing style to be considered credible in academic circles. Have an English teacher (or similarly-minded person) go over the paper with a fine-toothed comb looking for any spelling, grammar, or word-use errors. Absolutely no slang or colloquialisms whatsoever are acceptable in a research paper. Do not use contractions. Try not to use any analogies unless they are truly apt and likely to be universally understood. Try not to use first or second person in the paper. Remember, people from all over the world from different cultures, many of whom do not speak English as their primary language, will hopefully be reading your paper, and you don't want them to get confused by any culture-specific concepts or words.
4) If your algorithm really is new or groundbreaking, then I would strongly recommend trying to publish in a proper academic workshop or conference first (try ACM or IEEE conferences on computational geometry, location-driven computing, etc.), rather than a free online archive. You will get far more credibility and exposure in academia, and you just might get your employer to pay for a junket to a conference! Workshops are more for newer, less developed research, so you may have an easier time publishing there. Conferences are for more established research, so it's harder to get in them, but they carry much more respect. Also, most workshops and conferences have industrial tracks, if your paper focuses less on formal algorithmic analysis and more on real-world uses.
5) Be warned though, that although conferences are supposed to be submitter-blind, often it's much easier to get a publication when you have a known academic co-author on the paper. You might want to look up authors of papers related to yours, find the Ph.D.s on the paper, and approach them about a collaboration. This might take a bit more time, and you would have to share credit (just make sure you are first-author), but it may be worthwhile to get more exposure and credibility. They might also be able to help point you toward making further improvements to your algorithm.
6) Please, please, do not patent your algorithm! There is more than enough patented math already; the world does not need yet another algorithm that can't be used by anyone for 20 years.
The preceding comments reflect the author's personal opinion and are public domain, unless explicitly stated otherwise.
If he is publishing in computer science, a conference counts as a publication exactly as much as a journal does. CS conferences are peer reviewed and the top tier ones are as prestigious as top tier journals in other fields. In CS, journals are used more as a record of a large body of work than as a venue for first publication.
Having had to write just such code for a DARPA Grand Challenge vehicle, I'd question whether a new algorithm developed without looking at the literature is likely to be new. There were high-precision GPS systems with 15cm accuracy seven years ago, and the new ones are even better. Novatel is now offering 1cm repeatability.
Besides, distance between two GPS points is straightforward. The high-precision receivers give you ECEF (earth-centered, earth fixed,; 3 axes centered at the center of the earth) coordinates, which are Cartesian. There, it's trivial. If all you have is latitude and longitude, the GPS device has already converted from ECEF to latitude and longitude using some standard geoid (a standard formula for the pair-shaped earth correction, like WGS-84). You use the appropriate geoid for the GPS device to convert back to ECEF, then compute the distance.
As for writing the paper, here's my favourite set of slides on this topic:
SPJ's `How to write a research paper'
Yes, SPJ works at Microsoft Research these days, since they sponsor his primary pet project (the Glasgow Haskell Compiler), but he has been extremely successful before and after going there. I've done enough writing to basically agree with him-- there are variations here and there when it comes to structuring the paper, but his main points are very sensible and good.
If you want to publish in a high profile journal do not shoot yourself in the foot by posting it to any abstract service before submitting and being published in said journal. Generally speaking the high impact journals want their journal to be the breaking news source not arxiv nor do they want old news.
Publish it on Slashdot. Our world-renowned peer-review process will include:
1) Claims that it's vaporware
2) Claims that it's obviously patentable
3) Claims that it's patently obvious
4) Claims that it's identical to a completely different algorithm
5) Claims that it won't work from people who either didn't read or didn't understand your paper
6) Claims that it's an amazing breakthrough from people who either didn't read or didn't understand your paper
7) Two separate Microsoft/Apple fanboi wars.
8) One guy saying how awesome it would be if somebody made an implementation of your algorithm in their favorite programming language.
9) One useful response that you'll never read because the poster accidentally replied to the wrong thread and got modded -1, Flamebait
Came here to say precisely this. No one here wants to say anything discouraging, even though it's the elephant in the room. My advice would be to survey the literature before you go to the trouble of writing an academic paper, which is 100% certain to be rejected by everybody if you don't show a good grasp of existing work in the field. Also, remember that peer review is an essential step in getting a paper accepted, so do a little of that yourself before submitting it (if you trust anyone not to steal your idea, that is).
Realistically, it's about 99.9% certain that your algorithm isn't the big advance that you think it is. But one in a thousand is worth the effort, for sure.
As a graduate student, who has just started learning how to write and submit papers, I have the following advice.
First, the submission process is a lot more open then I thought it would be; you create an author account, and then just submit the paper. Your paper then will largely be judged on its merit --- whether it is well written, well-explained, interesting, and brings a worthwhile new idea to the table. So in short, don't be scared off from publishing. :-)
Second, do a lot of background reading before hand so that you can figure out where your idea ties in to what has been done before. This is *very* important, because for your paper to be taken seriously you need to show that you have done your homework to learn what has been done before.
Third, keep in mind that most people who read your paper won't care about the details and will just want to figure out what the big takeaway idea is that they should learn --- the same that you yourself will often find yourself doing when perusing academic papers. So although you should endeavor to explain your ideas clearly and precisely enough that someone can implement your algorithm, you should also have a high-level description that explains the big-picture insight behind your idea.
Finally, part of what makes good papers is that they have a good "story" behind them. They start by talking about what has come before, leading up to the new idea that is being presented in the paper and how it follows from or intentionally diverges from previous work. They then talk about the intuition behind the idea itself to give the reader a high-level understanding of the insight behind it. (Note that this is where most people will stop reading, so you want to make the parts up to this good for their benefit. :-) ) Next they go into the technical details of their idea, in a way that is as pedagogical as possible; at every step they explain not only how something was done, but why it was done in that particular way. Finally, they describe how the idea works out well in practice, and then conclude by reminding the reader about what the significance of the idea is (because by this point if they actually read over the details they probably have forgotten :-) ), and end with an optional (brief) discussion about what future research questions are inspired by your idea.
Good luck, and most importantly --- have fun! :-)
Snarkiness is inversely proportional to wisdom because it emphasizes feeling right rather than being right.
Right.
Also journal papers are usually much longer than conference papers. Conference papers are often limited to 8-10 pages, while journal papers typically have no hard restriction, and are often 40 pages long.
It is very common to submit a "journal version" of a previous conference paper.
Thanks all for all the nice comments so far ;) The list is growing faster than I can keep up with but here are some remarks I would like to add:
I do not wish to patent it and I plan on making sure there will be material enough to be considered prior art in case of patent trolling. I'm also a open source contributor and I'm sure if I needed I could forward them the work so they could protect it (e.g. add it to their defensive patent poll). All in all, I'm not looking for profit, yet a job would be welcome lol
As for the new algorithm I think was I was maybe a bit too vague on the story. So, to put it simple and short, afaik there are 3 major formulas used nowadays: great circle distance, haversine and vincenty's. In order, they each offer more accuracy than the previous at the expense of more computation power needed for the calculations. While I didn't even try to replace Vincenty's formula yet (but it might be possible) my solution improves on the others because they all require a lot of trigonometry functions (cos, sin, etc..). On the simplest of those, you have to call 6 trig functions, while with my method I only need 1 (so far) to achieve the same end result as the haversine's formula.
I'm not sure if such formula and the methods needed to make this work are even patentable anyway.