Import problems continue (for nearly two months now)

After posting a number of times, along with other members, about the import not working, I’ve also emailed support with a link to the lesson, and a plain text file I was trying to import.

The issue has not been addressed, and I’ve never gotten a response back.

My reporting on this started back in February: Is There A Maximum Import Size? - Language Forum @ LingQ

Then in March: Persistant Import Issues - Language Forum @ LingQ

Please fix this!

Another thread proving the unreliability of this site. I really wish it was stable, because it is a potentially fantastic site.

Can someone computer-savvy educate me - how does stuff just randomly break ?

I don’t get how code in place for something, which works, just suddenly changes to make that particular feature not work any more. Does new code introduced elsewhere corrupt it ? Does someone physically change it by accident ?

I’m not a coder, but my daily work involves a lot of troubleshooting with computers, so I do understand that sometimes things break and various changes in the pipeline can have unintended consequences in areas that were considered “safe.” It may seem random, but there is usually a method to the madness, so from that perspective, I give LingQ a cautious pass on things breaking. I’d just like to see a faster and more decisive response and better troubleshooting methodology.

If a new function doesn’t work, pull it until it’s ready. If an update broke something fundamental, such as importing, then throttle back to the latest stable release until the issue can be fixed. And if multiple users are reporting an issue from around the world, then chances are the problem is not with any individual plain text file, but with the platform itself.

I was able to reproduce the issue with the file you sent me via email and reported it to our development team. We will do our best to figure out what’s the problem and fix it asap. Sorry about the inconvenience.

I am a software developer/consultant. This is a question with a complicated answer, I will try to answer it based on my experience, in a simplified fashion. Keep in mind I don’t know the specifics of Lingq’s development practises, and I’m sure they do an excellent job for such a complicated application. None of these may apply to them, this is to answer your question in general, for a hypothetical development team with a hypothetical product.

Software that seems to work well for some time, and then break could be the cause of any number of things. The most common issues I find while consulting are:

  1. Poor/non-existent testing practises. Tests should be automated, and run every time a code change is introduced. This can give an early warning if something is wrong. There are different types of testing that should be automated and performed, but I find for web and mobile applications, functional testing is often the most overlooked (i.e. having a program emulate a user in a web browser using the application to test complete workflows).

  2. Undocumented code base. Software jobs tend to have a higher than average turnover, so you see lots of new people starting up on a project. If someone leaves the company with specific systems knowledge, the development team may not be aware of certain features; if they exist, are fully functionally, or partially in development. To give a specific example, one project I worked on had 5 different implementations of an emailing system (which do the same task of sending out emails to users!). Each implementation was used for a different part of the application. One was used to send out confirmation emails for account creation, another for a weekly newsletters, etc… One savvy developer noticed this, and consolidated all the email systems into one. Unfortunately there was a bug which caused it to fail for specific types of emails. The moral of this story is: new developers will re-implement something if it’s not obvious it already exists in the project, and/or is not documented, so something which works perfectly fine in one part of the application may not work in another.

  3. Software development is a complicated process, and software has lifecycles. Almost certainly, every single web application in existence uses a third party software library somewhere (usually these are listed in an ‘about/open source’ sections). These third party software libraries are maintained and updated by another person/team somewhere else. Sometimes updating to a newer version breaks functionality. Sometimes you are forced to update. For example, if I wanted to add a twitter social feature to an application I would probably install a third party library that handles the communication with the twitter ‘API’. This library might force me to update another library that handles data serialization (converting data to a structured format that applications can send to each other other, xml is one example). Now the updated serialization library may have a bug in it which breaks something in my application.

I’m sure there are many other reasons other developers could tell you, this is just a few from my experience as a software consultant over the last ~5 years. For the record, I really like lingq as an application, it has its flaws, but I’m really impressed with some of the systems: tokenization of many diverse languages, quick and responsive translations from numerous sources, ability to upload ebooks and lessons, crowd sourced content.