I’ve finally pushed out my first Android app, one that I’ve put a lot of time into (and still am, got to improve the UI experience and fix up a few bugs!) and one thing I realised in the development process is, it isn’t fun trying to develop for something that has no external API, or a company that even wants this to happen.
In the development process, I have been blocked from logging into Virgin Mobile’s website, where I just kept getting 404 Not Found or 405 Not Allowed errors (fun times.) That said, it was linked to my IP address, not my account, because it worked when I tried it at uni. And right now, I can no longer pay any bill by credit card, as I made a few mistakes in a yet unreleased feature (though I’m sure you can guess,) and whilst those mistakes have been fixed in the program (I think), I cannot make payments to my from my
IP address (changed IP address, same problem), account (tried a different account, same problem) credit card, making it very hard to test.
Not to mention the lack of ability to simulate events that either don’t happen that often (turn of the month, to ensure that the app handles data and months properly,) or that you don’t ever want to happen (overdue bill.) I can also only test it on my own account, which severely limits the testing scope. I do have a friend from Uni who I get to do beta testing, but without many different accounts at your disposal and connected to your debugger, it does make finding and fixing bugs quite difficult. For example, I have had 2 bugs so far that I cannot simulate, I can’t work out why the data isn’t been fetched properly without an account that it happens on. One of them I’ve put in if and try…catch statements that prevents the error from happening, but it comes at a cost (the data usage for that user will not be displayed. That said, maybe Virgin Mobile still have postpaid accounts without data? If so, the bug should be fixed.) What I really need is users to bombard me with emails, screenshots of their account and the HTML source code of some of their account pages (I don’t need username and passwords, just the user to be willing to test it after I’ve made a few changes.)
It’s also annoying when you can only work with the information you’re given, but that information isn’t available. For example, I want to have a progress bar throughout the month of how much credit the person has used, but I can’t find anywhere on the accounts page a value that states how much credit the user has in their cap (it does for data, but not for cap credit.) I’ve tried to overcome this by detecting the type of cap (that information is available,) and storing the credit allowance and the amount for that cap in the code of the program, and matching it up. This isn’t the best way to do it (though it’s the only way I can,) as I have to manually keep it updated, and what if it’s wrong? To overcome it been wrong I’ve set it to alert the user when they login what the cap is detected as, and that they can change it if it’s wrong, but it’s better when the user has to input as few things as possible. I’m just getting away with username and password, I’m hoping when I implement a prepaid account it can automatically be detected (which reminds me, I need to run out tomorrow and get a prepaid SIM, I need an account to test it with!)
I haven’t yet heard from Virgin about unusual activity on my account, and I hope to keep it that way, but there’s only so much you can develop without actually testing it on your own account a few times, and things inevitably go wrong. It would be nice if Virgin Mobile released an official app, or an API, as it is what users want.