Welcome,

My name is Stephen and currently an IT Professional doing administration and support, however I've always had a deep passion for software development. I've started mobile application development when I got my first Android phone in October 09. This blog catalogues all my progress with creating mobile apps for not only Android, but eventually iPhone, Blackberry and Windows Phone 7. Hope you enjoy.

-Stephen

Tasker/Locale Support for Floating Widget

Tagged: , , ,

This post is to help users understand what Tasker and Locale are, and how Floating Widget plugin support works.

First off I'll let the developers of each app tell you what they are:

Tasker is an application for Android which performs Tasks (sets of Actions) based on Contexts (application, time, date, location, event,gesture) in user-defined Profiles. 




Locale's advanced artificial intelligence manages settings automatically. For example: arrive at work and instantly your ringer silences, your wallpaper snaps to that scenic Caribbean photo, and Wi-Fi switches on. With Locale, never worry about your ringer going off accidentally again. 



So what does that mean for Floating Widget?


Well I added plugin support for these apps into Floating Widget.  Which means you can now use Tasker/Locale to create a condition that will then trigger Floating Widget to either Start up the selected profile(s), Hide them (leaving the notification) or Stop all Floating Widgets.  The widgets work exactly like they do as if you launched from the Floating Widget app itself.  Here are some examples I've setup.

  • When 8tracks is loaded, Start profile #1 (which I have set as 8tracks widget)
    • This will let me just open 8tracks like I normally do and then the widget will start so I don't need to open Floating Widget afterwords.  The widgets acts just like it would if I did use the app. Even after 8tracks is out of the foreground, the widget stays.  You can setup an exit task, but I choose not to here...but for the next one...
  • If my headphone jack is plugged in and docked in my car dock, load Pandora, Floating Widget profile #2 and Waze.  When no longer docked, close Waze, Pandora and Stop Floating Widget.
    • So when my phone is docked and I plug in my headphones (for my car AUX), my phone automatically starts playing music via Pandora w/ an accompanying Floating Widget and then loads my GPS app Waze then when I undock, stops everything. 
  • When accessing work email. Stop all floating widgets.
    • No distractions while work email is open.

Tasker let's you export profiles, if requested I'll export and upload my 3 profiles above.

Guide
This section will tell you exactly what your options are with Floating Widget.

You get prompted with 3 options, Start, Hide, Stop & checkboxes for all 5 of your profiles.
  • Start -> Start the Floating Widget service
    • It will start the profiles selected
    • If no profiles are selected, it'll start the last used profile(s) from either another task or from using the app itself.
  • Hide -> Creates just the notifcation for Floating Widget
    • Profile selection works the same as Start. Either choose specific ones or let it use the last used ones.
  • Stop -> Stops the service
    • Regardless of which profiles are selected, stop always stops all floating widgets.
Each Floating Widget task is exclusive.  Here is some examples of what I mean.
  • Say you have Profile 1 & 2 floating, then a task is called to Show just profile 3.  The previous service will stop (1  & 2) and then just profile 3 will show.  You would need to add 1 & 2 to the task to show all 3
  • You can't have 1 task that shows Profile 1 & 2 and then another that hides profile 2 and expect profile 1 to stay.  The outcome will always be the last task, in this case only a notification for profile 2 will be created.  If you want to make profile 2 close and leave profile 1, just use a Start profile 1 task. It will stop both then recreate #1.
Hope that helps you understand what I mean by saying I created Tasker/Locale plugin support and helps you get even more out of Floating Widget!





Floating Widget v3 and v3.1

Tagged: , ,

Quick post to mention that Floating Widget has been updated twice in the past month.

v3 added the ability to resize widgets!  I'll admit it's not perfect, but it gets the job done.

  • Not all widgets resize equally, in my testing some took full advantage of the space by scaling properly, like Google Music, 8tracks and TuneIn Radio
  • Some barely changed size, if at all, notably Pandora and MLB At Bat
  • The resize drag doesn't give a live preview of the new size, I'm trying to figure this out. 
v3.1 was a quick update with 1 new feature added as well as some code cleanup and update. Custom home screen shortcuts, to easily float any of your 5 configured profiles with ease!  I also took this opportunity to update the libraries I use.  Notably Jake Wharton's ViewPagerIndicator and devmill's ColorPicker - Thank you both very much for making these open source libraries!

So update your Floating Widget install, or give it a try for the first time: https://play.google.com/store/apps/details?id=com.milone.floatwidget

Floating Widget updates

Tagged: , ,

Version 2 for Floating Widget was released a few days ago and showed off its new UI.  No more boring gray buttons and purple backdrop.  I tried to follow the ICS Design Guidelines as much as I could and Floating Widget now has a new interface with colorful buttons and swipeable tabs.  Not to mention the ability to save 5 different widget profiles.

Even though I just posted about v2, the next update is right around the corner.  I recently added the ability to resize the widgets!  I'm going to continue testing it myself as well as my 2 beta testers, then plan to release it 5/29 if all goes right. So stay tuned!

v4s todo list is just multiple widgets at once.  But there maybe some minor improvements and updates before I get there.  One option I would like to add is the ability to make custom shortcuts that launch a certain profile automatically.  Any changes to how the widget "floats" is what qualifies a new version number.  The shortcuts update will most likely be dubbed v3.1.

Amazon Appstore

Tagged: , , , ,


I am now officially on the Amazon Appstore.  A few months ago I signed up because Amazon was offering to wave the $99 annual fee for the first year and then just uploaded High Low Red Black.  Recently, fueled by the success of Floating Widget, I decided to configure my Amazon developer account to allow paid apps and have uploaded both Floating Widget and Video Poker Assistant.

One of the benefits from a developer standpoint is that the Appstore can be installed on any Android device.  Most of you may not realize this, but there are tablets/phones out there with Android and no Google apps (like the Play Store) due to licensing or what not. The Amazon appstore maybe the best alternative for those users.  Not to mention the Kindle Fire is one of those devices, aka the most popular Android tablet.

One of the benefits of the Amazon appstore from an end user point of view is that Amazon offers a Free App of the Day promotion where every day a paid app is free!

I have submitted Video Poker Assistant for consideration in the program and hope I get picked, some reports I saw were simply mind blowing.  Over 50,000 downloads that day and if I understood Amazon's FAQ properly, those free downloads still  earn the developer money.  Here's hoping I earn at least $99 by next year so I can keep my account active not at a loss.

Also a Floating Widget update is coming very soon, a new UI and a new feature.  It's being tested now.

Floating Widget

Tagged: , ,

I'm proud to announce a new app release, named Floating Widget.

Floating Widget is a nice utlity that let's you interact with your homescreen widgets while using any other app!  For example: Having your Music Widget (which includes controls) on your screen while using your navigation app while driving.  No need to switch back and forth between screens just to change songs.

I've included a video, screenshots and more examples in the Market, erm..Play Store listing.  Please give it a look!  I'm charging $1.49 for it, but if you find it's not for you and are past the 15 minute waiting period for a refund, email me and I'll gladly refund your money so you have no excuse not to try it out.

https://play.google.com/store/apps/details?id=com.milone.floatwidget


Blackberry Playbook OS 2.0

Tagged: , , ,

For those who don't know RIM, the makers of Blackberries, have their own tablet series out called Blackberry Playbook.  They are in the process of releasing version 2.0 of their OS and it has one awesome feature.  The ability to run modified Android applications!  Yep, so users of the Playbook can run all their favorite Blackberry apps plus select Android apps that the developers modified and submitted.

Blackberry even upped the ante to get Android devlopers invovled by offering to send them a FREE Playbook if they submit their modified apps to the Blackberry Appworld.

I of course jumped on this and adding the tools needed to complete this modification was simple enough and then started to work on one of my more popular apps, the Monopoly Trade Evaluator.  There were a few things I had to do to meet the limitations of running Android apps on the Playbook.

One of the biggest was no back or menu button.  So I redid my entire layout to include all the menu options as actual buttons and also made sure I didn't rely on a back button at any point.  Besides that, editing my layout files to look good on the 7" 1200x600px screen was the only other hurdle coding wise.  I'll try and upload some screenshots so you can see the difference.  The other difference was AdMob did not work, I was orginally going to let Blackberry users enjoy my apps w/o any way for me to monetize.  But then I read on the forums that another service called MobFox works, which I hope will give me a better idea as to how much my app is being used as the RIM developer console is not as simple as the Android one to get statistics.  You need to run dated reports manually.


So any Blackberry Playbook 2.0 users, you should be able to find my app Monopoly Trade Evaluator on the Appworld.  Please let me know how you like it, I can't test it on an actual device until RIM follows through with their promise, which I've read reports they are!

Android Lint + HP Touchpad

Tagged: , , , ,

Two random updates today.  The Android SDK has updated to a new API level, 16.  Besides offering APIs for the new features introduced in Ice Cream Sandwich it also provided a developer tool called Lint.  Lint basically scans your projects for code that is possibly hurting performance or goes against best practices or is simply a waste.

After installing the new update, I ran Lint on my Video Poker Assistant and Monopoly Trade Evaluator and Lint found over 400 warnings.  Granted going in I knew it would find a lot of one thing I did a lot, and that was put display text hard coded into the source code.  Android development has a separate strings file where you can assign all the display texts to a variable and have them all in one place.  It makes sense to use it and it makes translating a breeze, cause you just change the one file to another language instead of changing source code.  But in reality when you're in a coding zone, it takes time to go back from your source code to your strings file and back, so I knew going in that it would report all those problems and I had full intentions of fixing it up before I even knew what Lint was.

But Lint also found a lot of errors I had no idea about, like my current code was drawing the backdrop twice for each activity and I had a lot of excess code in my UI files.  So I'm working on cleaning all that up, compiling with the new API and releasing some quick maintenance updates for those 2 apps which will hopefully improve their performance.

Then in other news, if you weren't aware, the HP Touchpad.  A webOS tablet that came out over the summer was discontinued and HP had a huge sale of it's inventory not long after.  Well I was able to score one last week, $99 for a 10" 16GB tablet. DONE.  However it brings me to a predicament, I'm not sure what to do next in my mobile app development life.

  • Port my apps to iOS, I have a Hackintosh and a 1st generation iPhone and both never get used.  I also don't feel like spending $99/annually to be a developer for iOS just yet, so I was 99% sure my next move would be to...
  • Take a crack at Windows Phone 7 development and get in before it becomes huge (if it does), I have Windows XP virtual box setup with the Visual Studio, but no actual device...I don't even know anyone who has one.
  • And now webOS development has piqued my interest as I see the need first hand and would love to get more out of my device, especially if webOS and it's open source future is bright.  Not to mention HP suggests using Eclipse as an IDE.  Which is what I use for Android, so the SDK was easy to setup since I already had most of it done.
  • Sorry Blackberry, you're not in my immediate plans.
I can't decide...hopefully I will in the new year.