Monday, January 3, 2011

Powerlet Adapter install on my V-Strom 650

So my wife got me a PC-8 fuse panel from Eastern Beaver for my Suzuki V-Strom and I wired my first accessory into it today.

The accessory I installed was a Powerlet socket to run an air compressor on. Powerlet is a company that makes connectors and sockets and I went with the European-style socket because it I like the way they work better then the standard American cigarette outlets and they are supposed to handle more power.

The PC-8 has 5 switched circuits (they are only hot when the bike is on), and 2 unswitched circuits and this Powerlet is wired to the unswitched since I may need to use it when the bike is not on.

The Powerlet socket, mounting bracket, and power-cable came as a kit for my bike so all the wires were cut and a perfect length. Go Eastern Beaver!!!


Here are my pics of the install:



Thursday, February 25, 2010

IT Zelot's anyone?

I've been spending a lot of time focusing on my family and lifestyle lately after nearly passing away last November and I've come to the realization that there are way to may zelot's in IT and they make me VERY tired.

I don't know what is about IT and software development specifically, but we seem to gather every zellot and paranoid imagionable. I've been railed at for the silliest reasons like not using perfect Camel case, not having all my databases in perfect 3rd normal form, not using XML which is THE PERFECT solution to everthing, the list goes on and on...

I've worked in corporate America and have taken part is MANY large and small projects workign on codebases with 40k files and hundreds of thousands of users and the only thing that I see really holding any team or company up is change and configuration management. Not an imperfect database design, an attribute centric XML schema, or not following the Abstract Factory patter perfectly in your software construction.

In my not-at-all humble opinion, it's rarely the design that causes the biggest problems on a project and NO solution is perfect for every problem. Here are some of the rules I follow:
  1. Design to solve the problem, not to what you can yourself can accomplish
  2. Pick what works first, then try to align to any sane standards your company may have
  3. Turn off the OCD when it comes to design patters, platform choice, and coding standards
  4. Don't take suggested changes as attacts on your competency even when they are
  5. Be willing to accept less than perfection from your peers. I know your better than everyone and no-one can live up to your standards so stop making them try...

Monday, February 8, 2010

MyCollection[Pro|Free] Moving...

All,

I am moving the blog about MyCollection and any other apps I decide to build to a new location here. This new site will be entirely about my applications and is where I will house guides, faq's, and post updates about my apps.

I will keep this blog for a while but most of my updates are on facebook these days...

The Incredible Shrinking App

Apparently, my application's UI is shrinking in android versions l8r than 2.0 (touch, and the new Google sold phone). Not having on of those phones, I have no idea how to fix this so it's going to be trial and error. It is NOT happening in my emulator so I'm really baffled.

I can fix it by porting the app to Android 1.6 but when I do that, I cut off 20% of my market by I pick up another 20% on 2.0 or later. It's a tough call so I'm going to try to fix it without cutting off Android 1.5. I have cut-off pre Android 1.5 but they don't even register on the Android platform usage page:
http://developer.android.com/resources/dashboard/platform-versions.html

At least it doesn't crash on start-up for 2.0 or later anymore...

Sunday, February 7, 2010

Mobile phone lessons

I've worked on MyCollection for over a year now and there are some lessons I have learned while developing applications for the mobile phone:

  1. Network connection is shaky at best
  2. Application run-time is never guaranteed, expect nothing to be there
  3. Users want the kitchen sink
  4. Phone processing power varies greatly (at least on Android)
  5. Pushing as much processing needs off to an external device (server, etc) helps performance
  6. Minimize data transferred over radio
Lesson 1, I learned that cell-phone reception where a data connection is more sparse than phone coverage. My app needed to handle no data connection better.

Lesson 2: Android cleans up a lot behind the scenes. When users launched the external extent for barcode scanning, my app got killed sometimes. Handling this is tricky and I'm still not sure I got it right.

Lesson 3: I get so many feature requests it's not funny. Most of them make a lot of sense but would grow the application beyond what I think it should be. If you give the users the kitchen sink, its hard to keep the UI simple and performance good. Maybe I'll take all their suggestions and build a suite of applications some day when I'm 100% recovered...

Lesson 4/5/6: Parsing XML on the phone sucks. No simple way around it. Downloading a large XML document from Amazon and then making extra network calls based on what was in the document stinks. This is not enterprise programming... What I ended up doing was writing a REST service that returned a CSV file. XML is just to expensive over non-3G speeds which is still common for Android phones right now. The service I wrote checks Amazon and Google's GBase and parses the XML for the phone. It returns the results as a CSV file with a content type of plain text which is about as small as I can make the data transfer over the radio.

My Collection Pro - Release 1.6.0

I finally managed to get all the bugs worked out. There are some major under-the-hood changes for this version. First and most important, I now host a web service I wrote to perform the search. I search Amazon and Google's GBase feeds for the item so there should be more search results.

Second, I now pull the region on the device for searches. Having users set their own region on the device proved to be to problematic (most of my support emails/calls were people who did not set the correct region).

Finally, I fixed three crash bugs and this version runs on my droid emulator. It is still built for Android 1.5, but I tested running it on 1.5, 1.6, 2.0.1 (not 2.1 yet, sorry Google phone users...).

I am still not up to 100% strength, but I'm able to work on the program on the weekends now (no more mid-week midnight coding sessions). My doctors tell me I'm doing much better and that I'm developing a spring in my step :-)

Saturday, January 30, 2010

Progress!

All,

I have made some progress on switching to Google Base for my searches instead of Amazon. Additionally, I have made progress on getting a 2.0+ version of the application working as well. I should be able to wrap up and release version 2.0.0 later.

The biggest change is this version uses a web service (not XML) to perform the searches. This is a server that I host that performs Google searches and returns them in a much simpler format to the device. This greatly reduces the amount of data I pull down on the phone and the processing of those results so hopefully this will speed up searching.

Moving away from an Amazon-only search will make searching better and hopefully make my cross-region searches better as well. Only time will tell...

I hope to get to the back-log of feature requests as soon as I release this new version.

Here is the new search if you want to see what the results look like. The types are (movies, book, games, music).

Thursday, January 28, 2010

Back In Action

All,

I am finally back to work on MyCollection. My first order of business will be a quick fix to make Android 2.* or later work.

I purchased some web hosting from GoDaddy.com and am building my own search service which the application will use instead of a dirct link to Amazon. I plan to use GoogleBase along with perhaps some custom searches from my own GData stores.

I also uploaded the source code to Google project hosting. I plan to use a public source control and project management system now. Here's the link...

We'll see how fast I can crank these out. I am still not up to full strength but I am able to work on the project a little and I want to get things working soon.

Thursday, December 17, 2009

Out Sick

All,

I'm sorry it has taken so long to put together a post. I am recovering from a case of pneumonia brought on by H1N1 that came within minutes of killing me.

My doctors are telling me I can expect to be completely recovered by April of 2010 (about 4-5 months) and I went back to work this week.

Right now, the work day drains me completely and I am too existed to work on anything when I get home. The midnight power-coding sessions I did to get MyCollection functional are going to disappear until my health recovers more.

I will update the application when I am able. I am working on removing Amazon as a search provider and instead am using Google base. Plus, the Android 2.* API is a challenge so DROID support is busted until then.

Thanks...

Tuesday, August 25, 2009

Playing around with GBase...

I've been experimenting with GBase for the last couple of days. Google offers a really good API for Java and provided it is compatible with Android, I may be moving away from Amazon searches.

One benefit this gives me is the ability for users to backup their data to their Google Docs account. The Amazon searches is something that has been a great boon to my application but the more regions I support, the harder it is to use Amazon as my only search provider.

It looks like I may get to start doing some serious coding again :-)

Saturday, August 22, 2009

MyCollection Pro - Release 1.5.16

Nothing big. I completed the German port so people that set their region (in my application) to Germany will now search the German site.

Friday, August 21, 2009

My Collection Free - Release 1.4.10

Here is the update to 1.4.* to fix the Amazon search issue. I'll try to stay on top of API changes moving forward...

MyCollection Pro - Release 1.5.15

Simple Changes:

  1. Fixed Amazon lookups due to changes in AWS API
  2. Verify database connection sanely before trying to access DB

Barcode search update

All,

It looks like the Amazon AWS searches I use no longer returning reliably. I found that half the movies in my own catelogue no longer return a value (and they did or how else would they get there).

I'm working on a conversion to use Google data for searches but my development time is limited as I get my kids ready to start school again. I'm building quite the laundry list of fixes I need and here's the list:

  1. Conversion away from AWS to Google Data
  2. German port (I had someone do the translation for me)
  3. Chinese port (I had someone do the translation for me)

There are other feature requests of course but these need to be my top priority.

Thursday, May 28, 2009

My Collection Pro - Release 1.5.14

I had to push another update with a change for barcode scanning. I hesitate to call it a fix because the application appears to not be behaving like it did when I originally started to use the barcode scanner.

For example:

My code used to be like this:

case ACTIVITY_SCAN:
if (resultCode == RESULT_OK) {
String contents = intent.getStringExtra("SCAN_RESULT");
launchMovieFromScan(contents);
}
break;

Apparently, the scan activity is not returning RESULT_OK anymore for some people and I switched the code to be like the following:

case ACTIVITY_SCAN:
String contents = intent.getStringExtra("SCAN_RESULT");
if(contents.length() > 0) {
launchMovieFromScan(contents);
} else {
NotificationHelper.showOkAlert(getApplicationContext(), "NO UPC FOUND", "There was an error from the barcode scanner, please contact support", null);
}
break;

I'll clean up the error handling and get to the bottom of the issue later, but I wanted to push the change to help me get to the bottom of the issue and give my users some type of intelligible error message.

MyCollection Pro - Release 1.5.13

I pushed out the release which is built against the cupcake API. This version has some changes under the hood for the threading and I tweak the soft keyboard navigation but that's it.

I'm working on using the new slider control to add more sort features and I'm working on changing the search work (I've been making behind the scenes changes for this for some time now) but that will probably be rolled into a 1.6 release.

TODO for 1.5:
  1. Stabilize Cupcake tweaks
  2. Complete thread migration to AsyncTask API
Wishlist for 1.6:
  1. Enable multiple sorts/filters for items though use of sliding drawer
  2. Enable searching by other means (title, actor/author, etc)
Wishlist beyond 1.6:
  1. Integrate goodle app engine API for searching (offload to web service perhaps?)
  2. Use other source than Amazon
I'm really running up to the limit of what I want to do with the application. Anything beyond these items is really fluff and I have enough of a user base that I won't be able to make drastic changes under the MyCollection applications. I may end up writing other applications to handle some of the other requests I get.

Monday, May 25, 2009

MyCollectionFree - Release 1.4.9

I published an update to the free version which is build against the 1.5 API. I do some navigation tweaks for the soft-keyboard and fix a rental bug. I'll wait for the US rollout of 1.5 to be farther along before I publish the update to MyCollectionPro.

Saturday, May 16, 2009

AsyncTask and MyCollection Pro 1.5.13

I'm still working on 1.5.13. I had some UI ideas I've been trying to implement with a sliding drawer to handle additional sort criteria. At the same time, I've been porting my background threads to the new cupcake AsyncTask API.

It is far more convenient and easier to work with than the runable API I had been using. I get a pre and post execute event that operate in the UI thread and a doInBackground event that runs in the background thread. It is the perfect thing for database operations and I like how easy it is to wire into my app.

Once I complete the AsyncTask work, I'll realease what I have. The additional sorts will have to wait for 1.5.14 or possibly 1.6.0. That particular control is a little difficult to follow and the examples I use from the API doc don't work.

Friday, April 24, 2009

Cupcake edition status update

I'm making more progress on 1.5.13 which is the version I will release for Cupcake. I've gotten a bug with rentals fixed and I'm working on the soft-keyboard navigation.

All-in-all, I'm impressed with cupcake and I'm enjoying running it on my phone. The UI polish adds a great deal to the device and only time will tell what we have in store for us.

I'm really excited about what 2.0 will bring. Hopefully Android will become a serious iPhone competitor soon but it will probably have to settle for beating out Windows Mobile and Nokia for the moment...

Wednesday, April 22, 2009

MyCollection 1.5.13 Comming

I'm releasing 1.5.13 updated to the new 1.5 Android API along with a Chinese Port. 1.5 might clear up some of my SDCAR issues and if so, I'll start work on developing some of the remaining popular feature requests.

I tweaked some of the SoftKeyboard options to make things work a little better with my app (the defaults didn't quite work). All-in-all, cupcake should be a good update!