Forums

Suggested Improvements

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.

Wow. That formatting totally did not work. New request: Edit button on posts. In the meantime...

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:

  1. 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.
  2. 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)
  3. 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.
  4. 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.
  5. 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.
  6. 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:

  1. 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".
  2. 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:

  1. 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)
  2. 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:

  1. IP based hosting, not requiring a subdomain. I already have a personal domain, would love to host it here.
  2. Custom SSL cert
  3. Log analysis. Something like a basic form of http://awstats.sourceforge.net/ or http://goaccess.prosoftcorp.com/
  4. 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)
  5. 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)
  6. SMTP access to an email server (potentially. Could probably use amazon SES instead, but SMTP would be great)
  7. 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.

GREAT suggestions! thanks so much for taking the time for writing the in in such detail.

I haven't even had time to digest them all yet, but the HTML5 / local storage stuff I don't think we'd thought of at all, and that has a lot of potential - so thanks very much.

We'll go through and upvote a bunch of our "new feature" tickets on your behalf when we're all back in the office on Monday. Speak more then!

Amendments to pricing request:

  1. IP based hosting, not requiring a subdomain. I already have a personal domain, would love to host it here.
  2. Custom SSL cert
  3. Log analysis. Something like a basic form of http://awstats.sourceforge.net/ or http://goaccess.prosoftcorp.com/
  4. 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 priority support...) 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)
  5. NO "paid" portion of the forum. If it's a community forum, don't segregate it between paid and non-paid users.

Pricing Structure:

  1. Something along the lines of http://www.fluxflex.com/pricing for simple, easy to understand basis.
  2. From a user perspective, I don't want to care about requests per day. I really don't care about how many hours my app is running without doing anything either (cloud processing is split in two camps. You get X CPU for 1 hour at a set rate, or you pay for the CPU cycles used regardless of the time period those are used over. I VERY much rather pay for CPU cycles.)
  3. Fluxflex's pricing model breaks down for me, in that if I have an application that used close to no computing power, disk, or database, but lots of bandwidth, I still have to pay for the computing power etc that I'm not using. In between the tiers, let me pay X cents per GB of network instead of automatically upgrading me to the next teir. (like https://www.ep.io/pricing/).
  4. I honestly don't know what you guys want to do about some kind of RAM limit, ep.io has one but it doesn't seem to be all that common (other than VPS type clouds like EC2, where your "box" has total ram set). See bottom of post for an idea, but I don't really like it...

So basically, you would have something like (prices are pretty random and probably don't make a lot of sense even in relation to each other, but limits seemed somewhere near the industry at a glance):

<p><table border='1'> <tr> <th/> <th>Hobby</th> <th>Paid</th> <th>Premium</th> </tr> <tr> <th>Bandwidth</th> <td>Included: 1 GB <br/> Additional: N/A</td> <td>Included: 5 GB <br/> Additional: $0.20/GB</td> <td>Included: 20 GB <br/> Additional: $0.10/GB</td> </tr> <tr> <th>CPU Processing Time</th> <td>Included: 1 hour <br/> Additional: N/A</td> <td>Included: 5 hours <br/> Additional: $0.05/hr</td> <td>Included: 20 hours <br/> Additional: $0.02/hr</td> </tr> <tr> <th>Disk and Database Size</th> <td>Included: 0.5 GB <br/> Additional: N/A</td> <td>Included: 5 GB <br/> Additional: $0.50/GB per month</td> <td>Included: 20 GB <br/> Additional: $0.30/GB per month</td> </tr> <tr> <th>Price</th> <td>FREE (no credit card required)</td> <td>$5/month</td> <td>$20/month</td> </tr> </table>

Additional costs are incurred up to payment limiit set in the dashboard (as a dollar amount), after which time the application will be taken offline and made unavailable.</p>

For supporting different sizes of ram for users (don't like this idea, but it's out there): <table border='1'> <tr> <th>Ram Limit</th> <td>Limited at 128 MB<br/>Additional: N/A</td> <td>Limited at 256 MB<br/>Additional: $0.02/MB</td> <td>Limited at 1024 MB<br/>Additional: $0.01/MB</td> </tr> </table> Ram does not increase as more is used, instead a hard limit is set in the dashboard. If ram limit is exceeded by all user's processes (added together), the user process with the lowest nice value, and the greatest amount of RAM used (in that order) is killed.

Nice. markdown spec says you can include certain kinds of HTML, most notably tables... new request? Table support in the forums. :D

Many thanks for all that, really useful stuff!

+1 to most requests, especially:

  • avoid code completion. For serious dev we would use a desktop editor anyway. Just make it confortable.
  • don't use paypal only. I closed my paypal account last year, and don't use services that require paypal. I can use my credit card directly, open an account in another provider, even use bitcoin if I have to, but I won't go paypal.
  • no paid portion of the forum. This is just the surest way to kill the community.