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...
Monday, February 8, 2010
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...
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:
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.
- Network connection is shaky at best
- Application run-time is never guaranteed, expect nothing to be there
- Users want the kitchen sink
- Phone processing power varies greatly (at least on Android)
- Pushing as much processing needs off to an external device (server, etc) helps performance
- Minimize data transferred over radio
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 :-)
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).
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.
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...
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...
Subscribe to:
Posts (Atom)