quran / quran_android

a quran reading application for android
http://android.quran.com
GNU General Public License v3.0
1.99k stars 882 forks source link

Download Manager #95

Closed afarra closed 9 years ago

afarra commented 13 years ago

Next version should include a download manager. A separate page from which you can: a) Navigate and see what is downloaded b) Select and delete specific items that are on the file system to free up space c) Navigate and see everything that is downloadable from the servers d) Select and download items before hand, so you wouldn't be interrupted while listening and asked whether to download

This should include all items, i.e: Pages, Tafsirs, Reciters, as well as other masa7if when it is supported. It would be good if for each of these you can either download all OR navigate into it and select a subset of suras/juz2s to download.

Some sort of functionality to download to the computer (as a lot of users ask for this) and then use the Download Manager to get them from it would only quadruple the awesomeness, but that may be a bit far fetched.

ahmedre commented 13 years ago

agreed. we also need version numbers for everything so we know when there are other things and such. not sure about the "download to computer" part, but maybe a faq page describing how to download from the computer and copy to the sdcard would be fine insha'Allah :)

afarra commented 12 years ago

@HeartCrafter, moved Download Manager discussion here to keep Issue #77 for Audio related issues.

1 day since the update actually :P Sorry, got busy yesterday and wasn't able to test it. I just tested it now (connected phone via USB) and it's working. Cool icon btw ;)

I have a couple of suggestion:

  1. It would be cool if while copying, it would say the name of what it's copying, i.e. the reciter's name, the surah name, and the ayah number instead of just numbers.
  2. Have some sort of tab or panel where you can see what's downloaded on the PC, what's on the Phone (if it's connected), and a way to delete from either, or transfer specific items from PC to phone, instead of copying over everything. Example use case would be when the user listens to say 3 Juz's per week or something and doesn't want to hog up memory on phone, so only transfers what is needed every week and deletes what's not needed.
  3. Possibly in the same panel as described in (2) above or in a separate one, it would be cool to also be able to see what's downloaded and what's available on the server, i.e. to be able to choose to download only specific suras or something instead of downloading the whole 2.5 GB recitation for each reciter
  4. You should split the download section into 3:
    • Download Audio Recitations
    • Download Translations
    • Download Quran Images. Could be tricky as you would need to know screen size beforehand:
      • Easy way is to just give option to download all/any of the 3 sizes
      • Ideal way would be integration with the app; when asked to download images on first start, have one more option "Manual Download" which if selected would tell you which screen size you need.
  5. Ability to just download & run an .exe or a Java .jar without having to install. As I suspect some users would be uncomfortable 'installing' untrusted software like that, and some might find it too much hassle.
  6. More user friendly UI :P

Again, all these are just suggestions for improvement (if you're up for it), as it is already it's very useful. JazakAllah khair! As for how to distribute it, I'll leave @ahmedre / @hmaher to comment on that as well as any other comments/suggestions they have.

Zunair commented 12 years ago

thanks @afarra for the detailed feedback... ill work on your suggestions whenever i can... i made the web installation so ppl can get net framework 4 if they need it that is required for vthis app... ill make an exe and post a link on monday... ill need encouragement from more ppl wana know if they really need this pc app or not... for the part ... getting screen size... maybe you guyz can help... on app start make a file on sd card where audio files r at... with screen size... so i can look at that file with the pc app anf figure out what size of images they need... i hope im making sence... writing from my fone...

anywayz thanks for ur reply again... tc

ahmedre commented 12 years ago

salams, sorry i have not given feedback, but i am mainly on osx and so it's difficult for me to test this... if it's .net, maybe we can compile it via mono and thus it will work cross platform? @hmaher is on linux mainly so he hasn't gotten to test either :( i'll try to give running it a shot insha'Allah and give you my feedback. wsalams.

Zunair commented 12 years ago

walaiqumussalam... it is compiled on vb net 2010... not sure how this mono thing works... installing now...

Zunair commented 12 years ago

hmm looks like i'll have to convert it to C# to make it work on with mono...

afarra commented 12 years ago

What about Java? It'd run on any system, and makes it easier to develop/debug since the Quran app itself is in Java. Not sure what the cons would be though.. harder to connect to phone maybe..?

mahmoudhossam commented 12 years ago

Java on OSX isn't as good as it is on other platforms.

I tried making swing applications, and they worked fine on both Linux and Windows, but didn't work at all on OSX.

afarra commented 12 years ago

Weird, I've always thought Java to be 'cross platformed' quite well. Then again, with Apple, I wouldn't be surprised :)

mahmoudhossam commented 12 years ago

Yeah, the JDK implementation on OSX is pretty horrible, Apple left it unmaintained to force people to use their own tools (Obj-C+ XCode).

But now that Oracle took it back from them, I expect OSX's Java support to improve in JDK 7.

mahmoudhossam commented 12 years ago

How about a web-based download manager?

Maybe something using Java on GAE, or even php on a hosted server.

Now we won't have to worry about it being cross-platform or not since anybody with access to a browser will have access to it.

afarra commented 12 years ago

True, and it would be easier to 'distribute' .. but wouldn't it have problems connecting with the phone/sdcard though? (which is the most important thing)

mahmoudhossam commented 12 years ago

Well, you can download them on your computer, then follow some instructions on the website to get them to your phone.

afarra commented 12 years ago

That kinda defeats the purpose of a download manager though don't you think :P

Zunair commented 12 years ago

nice thread going on... :D

if you can download files using java on the computer why can't you download on sdcard? sorry i guess i am using windows prespective only :P

afarra commented 12 years ago

I don't know for sure, I was just guessing it would be harder from a web browser, for security reasons, to freely access the computers' drives and copy to them freely. For a swing app though I'd guess it'd be ok. Dunno this for sure, just guesstimating.

@HeartCrafter, I'd say give it a try; create an initial (proof of concept) swing window that has a button that when pressed would attempt to find all available 'drives' and give a list which the user would need to select from. Once one is selected, it would attempt to create a directory in the drive and delete it or something. Then you can try it on Windows, give to @ahmedre to try on Mac, and to @hmaher to try on Linux. If it works on all, the rest should be easy.

Zunair commented 12 years ago

yes great @afarra :D but sorry i am not into java much...

does silverlight work on linux and mac ?

hmaher commented 12 years ago

guys, I guess nearly all users are on windows platform, so I think it is very sufficient for now :) let's save our efforts for other issues :) En shaa Allah I shall try it over tonight on on windows or using wine on linux..

Zunair commented 12 years ago

@hmaher true... most linux guys can probably write scripts to batch download to correct location... or manage... not sure about mac users :D

mahmoudhossam commented 12 years ago

@HeartCrafter it does, but it's very buggy, not to mention that nobody uses silverlight for anything these days :D

I think C# might be our best bet, at least for now.

ahmedre commented 9 years ago

closing for now.