Wednesday, 23 November 2011

Managing Your Media With WiFi File Explorer


Most of the time when people are using WiFi File Explorer to transfer and manage files, it is often related to media-type files; MP3s, pictures, movies, etc.  This means it is quite important to understand just how Android manages those files so that they appear in the applications that use them, like the Gallery and Music applications.

So it basically all revolves around a media scanner within the Android OS that scans the file system for media-type files, and then adds any it finds to the media database on your Android device, or removes any from it that no longer exist.  This media database can then be used by Android applications to determine what media is stored in the file system and then use it within those applications, so for example, the Gallery can show all the pictures you have.

Typically, this media scanner only kicks into life when the Android device is switched on or if you take the SD card out and then slot it back in.  But also, applications can invoke the media scanner whenever they need to and WiFi File Explorer just so happens to be one of those applications!  So whenever you upload, delete, rename, copy, unzip or move a file using WiFi File Explorer it will set the media scanner off on that file so that the media database is kept bang up-to-date at all times.  So unlike some other file management applications, if you were to upload a picture to your Android device from your computer using WiFi File Explorer, it will be instantly viewable in the Gallery application ... some other file management applications don't do this so you have to turn your Android device off and on again, or take the SD card and slot it back in again ... what a pain!

In addition to perfectly and automatically managing the media database on your Android device, there are some other options in WiFi File Explorer to give you greater control over it where required.  Firstly, you have the Rescan Media button which forces the media scanner to go and rescan all the files on your device in case they have become out of sync with the media database for any reason.  And secondly, you have the the Hide Media or Unhide Media button which will either add or delete a ".nomedia" file in the current directory.  By adding this ".nomedia" file to a directory it tells the media scanner not to add any of the media in this directory to the media database, so if you had some audio files in a certain directory that you didn't want appearing in the Music application then just click the Hide Media button and they will no longer appear in the media database and so won't litter your Music application any longer.  Useful huh?  This could also be helpful if you wanted certain pictures to not show up in the Gallery application, depending on what you take pictures of ;)

But of course you don't just want to manage your media using WiFi File Explorer, you also want to consume it.  WiFi File Explorer gives you a number of ways to do this so that you can stream your media from your Android device into your web browser.  If you click the file name link of any media-type file, it will open up via the web browser into your media player of choice to directly start streaming.  Or, you can click the Media Playlist button which will give you a playlist file to open in your favourite media player on your computer so you can play a whole album from your Android device on your computer for example.  Warning: If you use the Media Playlist button, make sure you turn off the password functionality otherwise the media player using the playlist file won't be allowed access to the files via WiFi File Explorer!  

Also, if you click on the file name link or the thumbnail of a picture (or click the Slideshow button) it will bring up the Gallery Viewer which allows you to quickly scroll through all the pictures in that directory, or just hit the Play button and sit back to a slideshow of all those pictures streamed directly into your web browser.

Finally, with regards to the media database, WiFi File Explorer lets you view the contents of that database by simply clicking the Picture, Video or Music icons to the left in the top navigation bar of the web UI.   This then allows you to see, for example, all the pictures that are on your Android device regardless of which directory they may be in, just like the Gallery application on the Android device itself.  Very handy!

See, you didn't even know all that was happening in the background, and now you can see just what a good job WiFi File Explorer does with regards to your media database without you even realising.  I hope this gives you enough information so that you can go and fully enjoy all the features to get the best out of the media on your Android device.

Monday, 7 November 2011

HTC Thunderbolt Not Recording High Resolution Videos After Gingerbread Update


A few users have contacted me recently stating that after upgrading their HTC Thunderbolt to the latest Gingerbread (Android 2.3) update they can no longer record videos using my camera applications (SECuRET SpyCam/LiveStream/RemoteControl & BabyCam Monitor).  Everything worked perfectly beforehand with Froyo (Android 2.2) but specifically the Gingerbread update seems to have broken something; nothing at all had changed in my camera applications.

The good news is that video recording hasn't been completely broken in my camera applications running on the HTC Thunderbolt!  You can still record using the Low and Default resolutions - just go to Settings -> General -> Video Settings and change the Video Resolution.  It appears that HTC have just broken the High resolution setting.


If you look at the API you can see that Android specify that "Quality levels QUALITY_LOW, QUALITY_HIGH are guaranteed to be supported, while other levels may or may not be supported. "

It seems HTC forgot to adhere to this rule in their Gingerbread update for the Thunderbolt :(

I have done some testing and tried to work around this bug, but I really can't seem to find a solution.  So if you are finding that after the Gingerbread update you can no longer use the High resolution video recording option, I can only suggest that you complain to HTC customer services and report the bug with them and just continue using my applications using the Default or Low resolution settings.  If you have only just bought one of my camera applications and you are running it for the first time on the Gingerbread update then just email me and I can of course process a refund for you.

Friday, 4 November 2011

Moving Files/Directories in WiFi File Explorer


One of the first features I developed for WiFi File Explorer was the 'Create Copy' action.  All it did was copy the relevant file and paste it into the same directory with "Copy of " added to it ... not entirely useful to anyone, really!

Well, that has now changed with the latest update to the application.  Now when you click the 'Create Copy' action next to a file (or a directory now as well) you will be given a popup dialog with contains the path to wear you want to create that copy.  By default it gives the current directory, but you can specify any directory you like that you have permission to write to, or you can create a new directory by typing it into the dialog, again as long as you have permission to create it in that location.  Then when you hit 'OK' it will copy the file/directory you have chosen, paste it in the location you specified and then reload the page into that pasted location ... hey presto - copy & paste!

So now you have two copies of that file/directory on your Android device.  That may be exactly what you wanted, but what if you wanted something more akin to cut & paste?  Simple; just go back to the location of the original file/directory and delete it!

There will be another update coming real soon that allows you to also use the 'Create Copy' action on multiple files/directories that have been selected using the check boxes to make it easier to move around files/directories in batch.  In fact, by the time you read this it may even be already available!

Wednesday, 2 November 2011

Motorola Droid Bionic Not Playing Nicely With Camera Applications


A few users of my camera applications (SECuRET SpyCam/LiveStream/RemoteControl & BabyCam Monitor) have reported that the Droid Bionic is having trouble making use of the video recording functionality in those applications.  All other camera functionality seems to work fine (preview, taking photos, streaming) but video recording regularly fails; either creating a blank video file that cannot be played or a video that is highly distorted.

The Droid Bionic is known to have lots of issues and bugs within its camera implementation and Motorola seem to be aware of this.  This is certainly not the first time Motorola have screwed up the camera on one of their devices and probably won't be the last, but hopefully when Google complete their purchase of Motorola they will enforce stricter testing to ensure this doesn't happen again in the future.

So without getting too technical, the Droid Bionic is not accepting the camcorder profiles that it reports it is compatible with.  The native Camera app seems to be unaffected; it's just the API that the developers have to use that seems to be broken.  I have tried to work around the issue to see if I can avoid the bug, but all my attempts and testing showed that it was unavoidable (unless any others developers out there have found a decent workaround?)

So sadly, for now, I have to state that video recording is not possible with my camera applications on the Droid Bionic. You have a choice to either wait for Motorola to apply a fix for the issue, or if you have just recently purchased the application and you really wanted the video recording functionality then I can of course process a refund for you.

Just another reason that I would never recommend to anyone to develop camera based applications for Android ... there's just too many different types of cameras and bugs out there to deal with!

Tuesday, 4 October 2011

SECuRET LiveStream & SECuRET SpyCam Working Together


SECuRET LiveStream's main function was always to stream video and audio from the Android device's camera to be viewed in a web browser.  However, because the live stream is presented in the web browser using Java applets, it means that some browsers (those that don't support Java applets) are incompatible with SECuRET LiveStream.

The Android web browser does NOT support Java applets meaning it was not possible to stream using SECuRET LiveStream from one Android device to another.  However, now that I have exposed some new functionality it is now entirely possible to stream from one Android device using SECuRET LiveStream to another that is running SECuRET SpyCam.

So now when you launch SECuRET LiveStream and press the Start button, you are presented with the choice to stream to a web browser or to another Android device.  Selecting to stream to a web browser gives you the same instructions as before, but streaming to another Android device gives you a new set of steps to follow.  Now these steps are pretty clear and there's not much scope for me to make them any clearer, but some people are having difficulty so I will elaborate on them here...

1) You need to have a copy of SECuRET LiveStream on the device you want to transmit the stream from, and a copy of SECuRET SpyCam on the device you want to receive that stream on.  This is where most people get confused; they are two separate applications!

2) Make sure both devices are on the same network, then start SECuRET LiveStream on the transmitting device, press the Start button and select to stream to another Android device.  Keep the resultant popup on the screen or note down the settings.

3) Start SECuRET SpyCam on the receiving device and go to Settings > Remote Camera.  Change the Remote Camera Type setting to "Android Camera (SECuRET LiveStream)" and then in the lower section of the page titled "Android Camera (SECuRET LiveStream)", enter the correct IP address and port numbers based upon what SECuRET LiveStream told you in step 2 above.

4) Then in SECuRET SpyCam, return to the start screen and make sure you select "Remote Camera" instead of "Built-in Camera", then press the Start button and if you have done everything above correctly (and your network doesn't have any funny configurations on it) then you will be live streaming from one Android device to another!

Now, inevitably some people will have difficulty getting this to work as anything that uses a network as part of an architecture can be susceptible to external influences that prevent it from working.  For example, my Motorola Xoom tablet has a terrible problem with WiFi connectivity and even though it reports as saying it is connected to the network, no actual communication occurs with the network.  So when you follow all the steps above and nothing works it would be easy to point the finger at the SECuRET applications in this case; but it's actually Motorola's fault for designing a shoddy WiFi implementation!  So my point is, this does all work and it works incredibly well, but if for some reason you can't get it to work after following all the steps above correctly, then the fault lays elsewhere.  And if you do come to that conclusion then please feel free to email me and ask for some support and don't run off to leave some factually incorrect review and nonsense low rating that will help nobody at all ... I'm sure that after bouncing some ideas around we can get to the bottom of your problem :)

Tuesday, 20 September 2011

Two Years In And 50,000+ Applications Sold!


That was quick!  It still feels like only yesterday I sat down to write a post similar to this one this time last year.

So as the title implies, I have now been tinkering with Android applications for a little over 2 years, and in that time I have managed to convince people that those tinkerings were worth parting with cash for over 50,000 times.  Well, that's from the Android Market alone ... with sales from the Amazon Appstore, AndroidPIT and SlideME, that number is a tad bit higher (although not much higher as the Android Market still contributes by far the most sales).

This time last year I was writing about selling 10,000 applications in my first year, and so to sell over 40,000 in my second year indicates a fairly impressive amount of growth from a developer that just does this in his spare time.  But does that mean I expect it to keep growing at that rate?  The answer is probably not.  I don't do much real analytical research, I just tend to keep an eye on the trends and get a feel for the figures (I hit refresh A LOT), but the general feeling I have been getting over the last few months is that my own applications may very well have peaked in terms of daily download numbers.  Now, that peak seems to have remained very flat for my paid applications, but seems to be tailing off for the free demo applications.  Unpredictable events could of course change that trend at any time (just look what happened to WiFi File Explorer PRO when it took off), but based on my hunch and the pure amount of competition there is now, I get the feeling that sales of my applications will remain flat for a while longer and eventually tail off over the next couple of years.  However, I also have a habit of thinking it's "all about to end" if I see the slightest drop in sales ... around Christmas 2010 there was a sudden jump in sales; so who knows, it might just be the calm before the storm and all the new Ice Cream Sandwich devices that everyone gets in the next few months may take it all to another level again!

But that "tailing off" would kind of suit me.  All my applications are brimming with functionality now, and especially with the recent major updates to WiFi File Explorer and addition of full live streaming from SECuRET LiveStream to SECuRET SpyCam (and BabyCam Monitor to BabyCam Receiver) you could consider them all to be "complete".  Of course a programmer's job is never done though and I still have plenty more tweaks to make here and there, but I can only see new "feature-ettes" coming in updates from now on ... I just can't think of many new major features to add - I've already added them all!  So I like the idea of gradually winding things down; I'll still provide support of course and keep making little updates here and there, but after 2 years of spending nearly all my free time working on Android stuff, it would be nice to start spending more time with my family (which grew by one member since last year) and to enjoy the fruits of my labour.  I'm also fond of the idea that by slowly phasing out having to provide support to so many users, that I will no longer be sat at my computer screen at some ungodly hour having to answer an email from some cretinous little speck giving me abuse because my application "just doesn't work" ... er, yeah, because a 4.5 star application with hundreds of thousands users "just doesn't work", does it!?!?  I shouldn't let it effect me  because it's such a small minority really, but it's tough not to take it personally sometimes.

So, what other Android-based highlights have there been for me over the last year?  Well, having WiFi File Explorer PRO as Free App of the Day on the Amazon Appstore was certainly an experience!  It managed to get over 160,000 downloads in the one day (if only they paid just a few pennies each!) and it maintained it's 4.5 star rating (most applications lose a star or so after going on Free App of the Day as some of the Amazon reviewers are borderline retarded - "1 star - I didn't even want this app, don't know why I downloaded it").  But with lots of new users come lots of new support emails!  I was actually expecting even more emails, but it was still enough to make me think I wouldn't put another of my applications into that promotion.  As I said, it "was certainly an experience", but after getting a few additional sales the day after the promotion, it went back to the normal (disappointing) amount after that.  WiFi File Explorer PRO has been bouncing up and down in the Top 100 Paid Apps on the Amazon Appstore since it launched back in March 2011, so you'd expect it to get some good sales ... well, I'll tell you now that the daily downloads of WiFi File Explorer PRO on the Amazon Appstore tends to be around the number of downloads in just 1 hour on the Android Market!!  I know it hasn't launched anywhere outside the US yet (although it briefly did yesterday for a few hours, weirdly, before being switched off again) and the potential is certainly there for more downloads when Amazon release their Android Kindle Tablet ... but the numbers so far are simply disappointing (everyone only uses it for Free App of the Day anyway, huh?)

There's also a few interesting new opportunities coming up.  GetJar want to add some of my applications into their Free Paid App promotion, where they give away applications for free that would usually cost money on other app stores.  The developer gets a small fee paid to them by GetJar per download ($0.20) and the increase in downloads due the the premium application being free, has the potential to generate a decent amount of additional revenue ... or, it will cannibalise sales on the other app stores, and as GetJar aren't offering any DRM as part of this distribution, it makes pirating applications downloaded from there a whole lot easier!  Now the people I am in negotiations with at GetJar have suggested that this promotion will actually "elimnate piracy" (yep, that's in quotes) and it's that naivety on their behalf that makes me hesitant of entering any agreement with them.  Of course piracy is impossible to tackle anyway, and this promotion has the potential to compliment the revenue from other app stores and maybe even drive additional sales on those app stores ... it's just a risk I have to decide whether to take a punt on - any developers have any thoughts on this?

So that was one very busy, successful and productive year.  Hopefully, after all the hard work I have put in so far, then next one will be just as successful and productive, but not so busy!

Yeah right ... !

Wednesday, 6 July 2011

WiFi File Explorer: Batch Transfers, Multiple File Uploads/Downloads, Bulk Moving Files Around ... Or Whatever You Want To Call It.


WiFi File Explorer allows you to ‘bulk’ upload and download files and directories between your Android device and computer, but some users don’t find it obvious how to do this or get easily confused by the prospect.  I will try to explain as best I can how this can be achieved depending on the scenario.

Firstly, it needs to be understood that web browsers are limited to handling one file request at a time when it comes to downloading files.  This is because of the obvious security reason that you don’t want some malicious website automatically saving loads of files to your computer without your permission, so you must authorize each one.  Similarly, you can’t just select a whole directory to upload to a website because it could be massive with loads of sub directories – it’s just not supported by web browsers.

Downloading a Directory
To download a directory, just click on the ‘Download’ action in the directory’s row.  It gets around the fact you can’t download multiple files at once by zipping the directory up so it appears as one file, and also provides the benefit of being compressed so the transfer is faster.  Just unzip the file once it has downloaded to your computer and there is your directory – simple.

Downloading Multiple Files and/or Directories
Use the check boxes in each row to select the items you want to download and then simply click the ‘Download Selected’ button.  Similar to downloading a directory, you will get a single ZIP file containing everything you wanted to download – just unzip it.

Uploading a Directory
Do the reverse of downloading a directory.  Zip the directory on your computer and upload the resultant ZIP file.  Then once it has uploaded, simply use the ‘Unzip’ action in the uploaded ZIP file’s row and you have your entire directory on your Android device (delete the ZIP file afterwards to free up space).  Again, this is a good way to transfer large amounts of data as it is all nicely compressed.

Uploading Multiple Files and/or Directories
Firstly, if you haven’t done already, then make sure ‘Multi-select Upload’ is enabled in the application settings.  This simply means you can use ctrl/shift clicking to select multiple files to upload, rather than having to build the list by selecting them individually (it also requires Flash to be enabled in your web browser).  Now, simply select the files you want to upload, whether they be individual files or zipped up directories.

Uploading a Massively Huge Amount of Data
Just like uploading a directory, zip it all up on your computer, upload the ZIP file and unzip it once it has uploaded to the Android device.  It’s the most efficient and quickest way to bulk transfer large amounts of data using WiFi File Explorer’s mechanisms.

So there you have it - all very easy really, once you know how.  Now, it may appear a little fiddly compared with the usual copy/cut & paste that you are used to on your desktop computer, but then WiFi File Explorer is running on an Android device and using a web interface and so has to work inside those limitations.  WiFi File Explorer is designed to be simple to use and the whole idea behind it is that it only requires a WiFi network and a web browser to work, with no additional software installed on the computer.  It’s this simplicity that has led to its popularity and widespread use and I hope you find it useful for all your data transferring needs.

Port Forwarding


A number of my Android applications (WiFi File Explorer, SECuRET LiveStream, BabyCam Monitor and GroovyCam LiveStream) all work by turning an Android device, which is connected to a local WiFi network, into a web server.  This then allows you to connect to it via a web browser on that same local network in order to access the service provided by the application, i.e. file management, video & audio streaming, etc.

So that’s all good and you got it working on your local network, and you’re pretty happy with that.  But wait; now you want someone who’s not on your local network to be able to use the application as well.  For example you may want someone to view the feed from SECuRET LiveStream across the internet.  Well, thanks to ‘port forwarding’ that is entirely possible!

Now, I can’t give you exact step-by-step instructions on how to forward ports for your model of router; there are far too many models available and I simply don’t know how to do it for them all ... hey, I even have to Google up some instructions for how to do it on my router whenever I need to.  But a good place to start to find out how to do it is as http://portforward.com/

What I can do though is tell you want you need to do to accomplish your goal.  Following are some general instructions for forwarding ports on your router to allow the services in my applications to be used across the internet...

Firstly, by configuring your router, you need to forward ports 8000 and 8001 on your router to ports 8000 and 8001 of your Android device, based on the Android device’s IP address.  WiFi File Explorer only uses port 8000 and that number is configurable in the application settings, so you only need to forward this port or whatever you have it configured as.  The other applications will have the ports configurable in the future as well, so depending on when you read this, just bear that in mind.

Once that is done, all you need to do is replace the IP address part of the web URL that the application tells you to enter into your web browser, with the external IP address of your router (one way to find that out is on the main page of the Port Forward website I linked to above).  So for example, the application may tell you to enter something like...

http://192.168.0.3:8000

... where 192.168.0.3 is the IP address of the Android device.  But instead of entering that, if your router’s external IP address is for example, 82.124.321.29, then you (or whomever you want to be able to use the service) would enter...

http://82.124.321.29:8000

... and hey presto, it’s working across the internet!!  Easy huh?!

Now, I realise depending on your level of skill that may not be easy at all, so if you get confused then feel free to email me for more help.  But remember, if it’s something specific to your model of router, I’ll only be using Google to find the answer, just like you would ;)