Sep 15

I had originally intended on closing the books on BatteryMonitor, since it was my first app and was being used as a learning tool. I really wanted to start on an app to release when the official App Catalog opens up to make some extra cash. However, I received such a resoundingly positive feedback from the precentral members who were kind enough to make suggestions that I've been a little inspired to make one last tweaked version.

With that in mind, I'm compiling a wish-list of the most popular (and feasible) suggestions I saw on the forums. Please feel free to comment if there is something else you want to see.

  1. Run as a background application (This is a maybe... mostly because no one has REALLY done it successfully yet)
  2. Remove first setup screen and put options such as notifications, polling time and graphing in the application menu (top left drop menu)
  3. Add a polling time for one second
  4. Make the Drain Per Hour resemble the current drain more, take the data I currently create and move it into a new category called "Overall drain per hour"
  5. Graph and show the current signal strength and band (EV, 1x) at each polling interval
  6. Grab running apps (if possible, this is another maybe)
  7. Save each session to the depot, to be viewed on a separate scatter-plot graph on selection. This will have a short 4 or 5 letter label so the plots are identifiable
  8. Add a Donate button to the precentral entry page!!

Thanks everyone. I feel like a little bit of a dirtbag for saying this but if you find my app is useful, please think about donating even a small amount. I put a great deal of personal time to get this up and running and, even though I think getting the positive feedback and recognition is more then enough payment, recognition doesn't pay the bills.

Tags:
Sep 11

Big news this week for everyone who was waiting for Apple's latest press event regarding iPod products, namely new additions to the popular touch line-up. 

This was a pretty crappy event from what I read.

A couple of stand-out points in my mind were:

  • Lack of an addition of a camera to the touch. Of course we will just have to wait until next year I suppose for that. They increased the storage size at least... Though the prices are a bit high.
  • The addition of ring-tones for the iPhone to iTunes. $1.29?? For the ring-tone? Maybe I mis-interpreted this one. Because the price of a song is $1.29 as well correct? So I suppose you when you buy a song, you automatically get to activate it as a ring-tone as well right? Because if not that would be pretty stupid. It would be pretty stupid for someone to purchase the same song twice because they wanted to hear it for 30 seconds whenever they might have somebody dumber than themselves who maybe fancies a retarded conversation.
  • Finally an addition of a FM radio. Only iPod I've known to date to have a built in transmitter.. only the oldest fucking technology finally available albeit on its deathbed. It's one of the reasons I hadn't owned an iPod prior to the original 2G iPhone. I just couldn't find a reason why an iPod was superior to any other DAP.

Addition of special album features are key, that shit should have been around for ages. I'm pretty sure I was pitching that idea around when I was seven years old. It's just a shame this is probably going to drive the cost of the album up which I hope I'm wrong about, as the cost got higher because sales did better and they are only helping allot more people find a reason to pirate rather than obtain legally.

I think they confidently showed a few signs boasting about the amount of songs they sell on iTunes and how many iPods they've sold. This is the part where I start to disconnect with whats going on and start wondering if this is for the fans of the products, consumers that are looking for the next big thing, or shareholders interest. They always seem to lack in how far they go with the tiniest incremental advances in their newest technology but yet have a highest percentage of all competing brands in the portable audio market.

When is this tablet thing coming?

Oh well, I don't know what else might have been important to cover that happened there. I'm sure a couple crappy bands may have dropped by and theres probably a new hip commercial.

 

Tags: |
Sep 09

Update:

Now available on fileCoaster as of September 10th. Thanks to everyone with their positive feedback and excellent suggestions on the precentral forums!

 

The Pre battery has never been a strong point. As a result, there has been a good deal of guess work on battery life based on configurations. Should I turn off my GPS, should I keep AIM offline, should I keep my cards open, or close them? There really isn't a good way to determine this right now. And what about new OS versions? Most people can only say it seems better.

What BatteryMonitor does is it tracks battery usage over time. Using this tracked information, it can guess how much battery you lose per hour, how much time you have left, as well as illustrate your battery usage in a graph.

The way I do this is by polling for the battery status at defined times, which you select when you first start the application. As a result, the information isn't very reliable until used for an extended amount of time - I'd say a minimum of one hour. Without this larger sample set, the chance that a one-off skewed data point could muck up the results. I suggest using smaller intervals - but you have to keep in mind that polling every 1 minute also has a small impact on battery. With larger intervals, such as 10 minutes or more, you may need much more data before the numbers normalize.

Graphing is implemented via the google chart API. This means that a data connection is required to download the chart after each update. It is normal for the line to look mostly flat at the beginning, again give it some time before judging results.

The notifications option will send a notification with the current battery level, the drain-per-hour rating and the calculated remaining life after each poll. I suggest not using this if you set your polling time anywhere less than 30 minutes because it will become very intrusive. In fact, I'd probably suggest not using it at all.

The application needs to be running at all times to track the data but can be running in the background. So you are encouraged to do day-to-day use while it is running and see how much battery life your current configuration is using.

Feedback is welcome but I don't plan on modifying this application much. Being my first app, it was more of a learning project than anything else. As a result, I want to focus my efforts on more ambitious endeavors.

The code is free to be reused by anyone should they want to, given that it is NOT for commercial use.

Screen shots:

 

Version 1.0.0 - Initial Release: 

com.palm.futurepr0n.batterymonitor_1.0.0_all.ipk (24.34 kb)

Tags:
Sep 09

So I'm just about finished my first webOS application, and reflecting back on the past couple days, I noticed that:

  1. I am not creative, and although I insist on making a "million dollar" app, I don't have the imagination to think it up
  2. I really appreciate having access to the webOS code via the webOS Doctor jar, as it proved extremely helpful when looking for examples
  3. The API on developer.palm.com is very disappointing (lack of information)
  4. The framework is seriously tied down by silly restrictions

 

To go into #4 in more detail, I'll have to explain my application. One of the foremost complaints of the Pre so far has been the dismal battery life. I won't try to sugar coat that fact, it's pretty bad. So I thought it would be a great application to write an application that tracked and calculated battery performance. This would be useful to track metrics on application configurations, or complete operating system version and see qualitatively if there are changes in battery life.

This should be easy, I thought. Especially with the help of this excellent crash course on webOS development. So being a full-time programmer, I decided to go to the programmer's main resource - the API documentation. This is where my first problem was. Although the API does a nice job of showing the possible web-controls (widgets) you can use, it doesn't give any really nitty-gritty information (i.e. how to get battery levels).

So after being immediately defeated, I decided to try and crack open the my VirtualBox emulator image to read the code that accomplishes this in the status bar. Failing to do that, I found success by extracting the webOSDoctor and searching for bar-assistant.js. This had all the code I needed! Great find, I thought. However there was one more problem...

I copied the code I saw in bar-assistant.js to get the battery info as close as I could without taking in the excess fat. When I launched, I expected it to fail, as programs usually do on their first run, but the error I was getting was claiming that the method I was calling didn't exist. Strange, I thought, I'm pretty sure I copied it correctly. Nevertheless, I tried again... and again... and again. Still, every time the functions did not exist.

By this point, I was pretty frustrated. I had spent hours writing and rewriting the same code trying to look for the smallest of typos. Then I read somewhere that palm locked out part of their functions based on vendor of the software. Bingo! So I changed my app.json information to be a com.palm and vendor=palm and... well whad'ya know - it works!

For those of you who don't find the irony in this yet, there was a little bit of a scuffle between apple and palm about syncing to itunes. The jist of it was that apple didn't want the pre to sync to their software, so they locked out any product without an apple vendor id from itunes. Palm's solution to this? Spoof Apple's vendor id! After doing this, palm took the initiative to complain to the USB forum about locking out devices based on vendor IDs in compliance with open standards... or something like that. However, to get the functionality I wanted, I had to spoof my application as a palm app!

It's funny how things work out.

 

Anyway, I'm currently waiting for developer access to post my app on precentral.net so keep an eye out and start managing your battery life better!

Tags: