New to pythonanywhere.com, hello all. Planning on using it on the new transformer prime, instead of my current touchquode + local python install setup. Overall the package as a whole is quite good, however I did have a few suggestions.
Editor: A) For whatever reason, for me navigating anything in the "Files" section is horrendously slow, i.e., 30+ seconds to save and 1+ minutes to pull up the home folder. I don't have any files other than what came standard either. If it helps, I can comment back with browser and OS details. B) One area that I didn't expect from tab handling (might be from the wingide editor I use locally), tab in the middle/end of the line actually inserts a tab character. Not sure if I'm the only one, but is was nice to be able to use tab to indent even if I'm in the middle of the line. In my code at the least, I use \t for any tab characters as tabs don't translate well everywhere (non-monospaced fonts for example) C) Very much a subjective improvement, but while auto indent works great now, what would take the cake is if it would indent the multiple lines I selected to the same level. And make this by default the level of the previous line (or if there's a colon ending it, one indent in). This would be the same as if I created a newline on the line immediately previous to the selected lines, and then indented all selected lines to the depth my newline defaulted to. Ideally, this would happen if I had lines with multiple indent levels selected, as well as lines with the same indent level. This would work both indenting and dedenting. D) Pyflakes (or ideally pylint) within the editor. This would be absolutely awesome. Something like "on save, show a collapsed arrow at the bottom that you can expand with pyflakes or pylint output run on the file". Ideally I would be able to click on a line in the output, and it would highlight this line in the editor for me. While it's understandable there's no "red squiggle" kind of error highlighting, this would alleviate that concern. E) Autocomplete (rather, don't). This is a big step. Coding autocomplete in a language other than python is a pretty big undertaking. While I HATE amy editor, it does autocomplete about the best of any web based IDE for python, and even that is pretty abysmal sometimes. If you're going this route, please please implement it yourself, and don't attempt to use a preexisting package for it. And make it purely the current file at first, not imports, as I really don't want to be constantly hitting the server every time I type while it looks for what can complete my current token. Overall, I'd prefer pythonanywhere stay away from autocomplete all together, and focus on improving other aspects, as this is one thing that I don't see the bang for the buck in. F) While we're on the subject of a collapsed (but expandable) bar at the bottom which has pylint/pyflakes output in it, I'd love if it could be tabbed, and have a python interpreter in there as well. Preferably with the ability to "run current" in it, as this way I can run and edit at the same time on the same page.
File browser: A) Drag and drop. Can pretty easily do this in HTML 5 (http://html5demos.com/file-api). Not a big deal to me personally, but makes it feel more "part of the local system". B) If HTML5 capability is there, use it. This means local storage APIs (http://html5demos.com/storage-events http://html5demos.com/database http://html5demos.com/storage) for file contents and directory structures, contenteditable for the files that aren't python files (potentially) (http://html5demos.com/contenteditable) and especially offline editing (various sources for this here: http://html5demos.com/ as well as here: http://www.ibm.com/developerworks/web/library/wa-offlineweb/ and here http://msdn.microsoft.com/en-us/hh562072 and here http://www.html5rocks.com/en/tutorials/offline/whats-offline/)
Shell/other: A) Pip user installation by default (can be set with environment variables: http://www.pip-installer.org/en/latest/configuration.html). Also set ~/.local in the python path by default (again, an environment variable) B) When thinking about paid subscriptions, don't just look at paypal. Many of us will absolutely not pay with them, due to bad experiences or the company history of royally screwing both customers in a transaction (many times all at once). For a credit card processor look into google wallet (my personal favorite) or potentially something like wepay. And if you could support Dwolla that would be awesome, 25 cents per payment rather than a 3-10% chunk taken out makes a pretty big difference.
I can't emphasize enough, this is a list of whatever I could think of running through the tool, probably not comprehensive, but the tool is already an exceptional piece of work. Let me know when you get payments done, and I'll go ahead and sign up. Personally I would be looking for: A) IP based hosting, not requiring a subdomain. I already have a personal domain, would love to host it here. B) Custom SSL cert C) Log analysis. Something like a basic form of http://awstats.sourceforge.net/ or http://goaccess.prosoftcorp.com/ D) FTP access to the files, rather than purely through dropbox, etc (less for me, and more for other people, as this is a commonly requested feature elsewhere) E) Priority support (IM based support during some period of the day during the business week, and email support during other times. Please don't make me have to call you for support though...) This should include increased priority on installation of C based modules that may not already be included, and some sort of commitment turnaround (response within 24-48 hours or something) F) SMTP access to an email server (potentially. Could probably use amazon SES instead, but SMTP would be great) G) NO "paid" portion of the forum. If it's a community forum, don't segregate it between paid and non-paid users.
That's about all I can think of now. IM and email based support with a time commitment could be a second tier of payment, though I would say that priority install of C based modules should be in any paid plan, IMHO. Installation of custom C modules (not in pypi) for a particular user could be something that is in the higher tier as well though.