My first Android App

As my previous post mentioned I went to google IO -- One of the smarter things they did was shower us with cell phones so I've spent the last few weeks (on and off) doing Android development.

I just published my first app to the Android marketplace (it's a free desktop widget that monitors your Tender inbox -- Tender is a support system I use)

My thoughts?

  • Android development environment is both better and worse than Xcode.  The reasons are much too numerous to go over but the main differences are Eclipse (Android) has some amazing run time type checking and validation -- If you type something in wrong in almost any part of the IDE it let's you know and recommends ways to fix it (it's really amazing that way) but it's also kind of slow & clunky (and very un-mac like).  Xcode is closer to the metal and feels like a good mac app but gives you more rope to hang yourself (on the plus side you can do some crazy cool stuff with Xcode that I haven't seen the equivalent in Android)
  • Learning Java isn't as hard as I had feared... Partly because I used to do a lot of C++ and it's pretty close to that and partly because it's not so different than Objective C in many ways.  Java as a language is actually pretty remarkably well thought out.
  • The component model of Android development is very interesting and in many ways innovative..  You can do a lot in android with very little work.
  • Targeting Android devices is interesting -- you don't know for sure the processor, screen size, input methods, etc. that your customer has so you work at a more abstract layer (for example I had to include three pieces of artwork all at different resolutions to account for that).  At the end of the day however it's just a matter of adjusting workflows and sort of accepting that on some devices it may not look perfect (it's very similar to designing web pages where you don't know for sure what kind of browser or screen size the viewer will have).   iPhone is very targeted -- you know exactly what the user will see and can really target that experience.
  • Publishing to the marketplace is an amazingly different experience.  I finally decided I basically 'exported it', uploaded it, typed in a description and added a screenshot, hit publish and *literally* within about 45 seconds I checked the Markeplace and it was live!  If I find a bug I can re-publish it at a whim and have it live within minutes... Amazingly nice
In the end it was a pretty enjoyable experience -- I've been using Android for the last several weeks but I believe that will come to an end about June 24th.....  I'll probably not do a lot more developing in Android but the experience is pretty reasonable and the phones are getting better and better. 

Long term I suspect Android will become the market leader and iPhone will be relegated to a second or third spot -- This is partly because Android is already at more or less feature parity (actually better in features) and is fast becoming 'pretty enough'

Having said that  a second or third place spot in the Cell phone market is still pretty freaking big and Apple will continue to appeal to a certain kind of customer who really appreciates the experience they provide.

For me, as I said, I'll be in line to get  an iPhone 4 and on June 24 I suspect my Android will stop being carried around very often.


Google IO

In case you didn't catch my various tweets (@loghound) you might have missed that I was at Google I/O last week.

Similar to WWDC, I/O is a developers conference part education and part evangelism for developers to use their technologies.  Also similiar to WWDC, I/O had a jam packed keynote (more on that later) -- This will likely be a long post as I feel the need to say a lot.

WWDC '10
First let me talk about WWDC '10.  Sadly I'll not be attending WWDC this year -- I've gone for the last 3 in a row, the first year it blew my mind.  Year two was satisfying but quite frankly last year was dissapointing.  This is mostly because the material they covered was largely a repeat of the prior year and partly because of the iPhone focus.  When I saw the agenda this year and realized it would be all iPhone and probably (most likely) a repeat of prior years I took a pass.

Google I/O
Fortunatley I had signed up for Google I/O well in advance.  I use a number of Google products and have considered going for a few years.  While I was dissapointed to miss WWDC I was pretty excited going into  I/O.

Google I/O vs. WWDC
It was fun to compare and contrast the two conferences.  Held at the same Venue (Moscone West) at almost the same time of year (only about three weeks apart) for the (more or less) same crowd was interesting.  In bullet points my observation(s) were.

  1. I/O is much more open -- Engineers actually go 'off script' and answer questions (and sometimes even (shock) share things they shouldn't).  This is both good and bad as the Polish to most I/O presentations was quite a bit less than WWDC.  Some of the material was poorly done or hard to follow and some sessions made poor use of time (one guy flew through his slides in 20 minutes and then didn't know what to say for the rest of the hour!).  By comparison WWDC is always well polished -- Material is timed almost perfectly and the sessions last precisely the same amount of time.  Winner: I/O  -- While I wish a few of them had been a bit more polished I felt like I was getting information at a more 'engineer to engineer' level with less fear of going off script.
  2. Focus.  WWDC is about one thing (ok, two things) -- Mac and iPhone/iPad.  there is (used to be) at IT track also but the majority is for developers.  You can walk into almost any session and get something useful out of it.  Google I/O is all over the map.  It went from new storage products to chrome web browser extensions to brand new programming languages.  While they had 'tracks' you could follow if you were there for 'one reason' I had a tough time because there are a number of things I wanted to do -- Partly I wanted to sharpen some skills and partly I wanted to learn.  As a consequence I jumped from session track to session track probably a bit much.  Winner: WWDC
  3. Material Share:  WWDC puts videos up afterwards -- it used to take months but last year it was about 2 weeks.  Google puts them on youtube (soon?) for everyone.  Winner: I/O -- I was able to watch sessions from last year coming in which helped a lot.   Apple has this misguided approach to keep information 'secret' somehow (crazy!)
  4. Food:  Both had catered service for breakfast, lunch & snacks.  Apple provided Odwalla drinksk while google provided more varieties of bottled water and soda.  Winner: Draw
  5. Other:  both conferences had areas for getting work done.  Google went one further with foosball tables, pool tables &  wii.  Google also had charging stations (WWDC used to but dumped it last year) and a 'tech desk' to get emergency parts.  Winner: I/O
  6. Non Conference.  Both events have parties, I missed the I/O one so can't comment on that.  At WWDC they have the sessions, stump the experts and ADA.  Google had sessions and the developers sandbox where devs showed off their google solutions.  Winner:  I/O
  7. Length:  WWDC is 5 days (well, 4 1/2 as the first day is mostly keynote) and that is 'about right'.  I/O is 2 days (way too short).  Winner: WWDC
  8. Freebies.  WWDC gives you a t-shirt and computer bag (the last three years).  Perhaps this year the'll get something more but I doubt it.  I/O gave me two t-shirts, socks (Google TV Sock no less) and two phones each with a month of service (Motorola Droid and HTC Evo).  Winner: I/O (not even a fair fight)
  9. Value:  WWDC $1600 for 5 days.  I/O: $400 for two days (plus lots of hardware freebies to help you develop).  Winner: I/O
  10. Keynote:  It's impossible to beat a apple keynote -- the google one was well done and by any normal standards exciting and fun (you should have heard the crowd when they gave us all HTC Evo's) but you cannot beat a Steve Jobs Keynote:  Winner: WWDC
          Google I/O Schwag

Finally on Google vs. Apple -- Google poked a lot of fun at Apple (and I'm sure we'll see it poked back in a few weeks) -- It's been surprising to me to see how many people have come out of the wood work trying to defend apple or claim Google looked defensive.

People:  While they work together on many things (Almost all Google employees used Macs and Apple uses Google services for much of the iPhone) they are in many ways competitors.   Of course Google will try to use it's developer conference to attack who they perceive is the biggest threat (just like Apple has against Microsoft and I'm sure will do so against Google this year) -- It's actually a compliment (imagine if Google had bashed RIM or microsoft during the keynote so heavily and ignored Apple.  That, my friends, would have been a slap in the face!)

At the end of the day though what you have to do (and what I am still processing) is do I buy it?  Honestly Google made a lot of very valid points.  While I love my Apple products the fact is they are limited by what Apple/Jobs thinks they should do.  Having played with my Android phones these last weeks I've been impressed with the kinds of integration and capabilities they have (although they are not nearly as pretty as an iPhone).  

I'm not sure where my head is at the end of the day -- I decided to try to use my Android exclusively for the next week or two to see how it works for me -- I'll report back later what I find.

Enough for now, if you are still reading thanks for sticking with it.  More so than most this post was something I needed to do to get my thoughts together on what I heard & saw last week at I/O.   I'll be curious to see what Apple does at their Keynote (and, I'm sure, I'll be sad that I'm not at WWDC0

Comments (3)

Support, Hawaii and the Obligatory iPad post

First let me give a quick update on Support. I've moved to for providing support over my old mail based approach. The biggest advantage they offer is i can have more than a single support person helping out -- On that note if you have emailed recently or visited you may have noticed I've got some additional help. I'm really happy to publicly announce that Karn ("WebKarnage") has joined team Loghound doing support -- I couldn't be happier with all of the great help he has been providing.

The really nice thing that this has let me do is take a vacation, I just came back from Hawaii -- While I've gone with my family on vacation before I always logged in every day to do support, answer questions and generally keep things running smoothly. What was really nice about this break was I totally unhooked -- I checked email I think twice but otherwise was 'offline' which was a great break.

My vacation ended last night, April 2, when we returned home -- Now let me be clear, I never planned to come back the day before iPad day but that was just the way it worked out.
Let me start my (obligatory) iPad post by saying I don't regret buying it -- That is an odd way to start the post but you'll see below what appears to be a lukewarm reaction -- I really do like it but I would best describe it as 'meeting expectations'.

I pre-ordered a 16GB model to pick up at our local Apple store -- My reasoning was that it would be mostly a 'bed side' computer and I didn't need a lot of storage but in listening to Andy Ihnaktko talk about it on theMacbreak Weekly -- In the discussion he said "You should buy the 64GB model because you will find yourself putting 'everything' on it" -- That sort of struck me and I thought that 16GB really could fill up pretty quickly if you started adding some heavy apps -- I ended up asking if I could upgrade to a 32GB model when I got to the Apple store and they were able to support my request.

So this morning I trundled off to the store with my 8 year old son and at about 8:20 we were in line waiting (the local paper showed up and snapped a photo here -- I'm the guy with the blue hoodie on the left hand side.

So back to my impressions -- Like I said it meets my expectations -- Expectations that were pretty high so that's saying something. The only thing that really suprised me in an unexpectedly good way was looking at photos. Syncing over some iPhoto libraries and looking at the photos on the iPad is spectacular, much more than I expected.

Things that worked as well as I expected were web surfing (fast, high fidelity), iBooks (crisp text, fun to turn, great book syncing) the Mail app (and the google gmail web interface) and google maps.

Finally there were a few things that were a disappointment: iPhone apps scaled 2x look terrible (almost unusable) - I get it that graphics scaled up look clunky but I assumed they would scale text up better than they did (my guess is the scaling is happning at the graphic card level so perhaps it's not possible to scale text differently than other elements).

The launch apps from third parties were a mixed bag -- I love the potential of the netflix app but it crashes, a lot. Evernote is very nice but also tended to crash -- I'm sure that these will improve quickly however. The device is surprisingly heavy in the hand -- while that feels good from a 'boy this is sturdy' point of view it's extra weight compared to a kindle is a concern -- I'll need to do some real reading to see how that works.

I have a few iPad app ideas that I'll be playing with over the coming weeks & months -- It should be fun.

RapidBlog Problems

I've gotten a number of reports of RapidBlog plugin now working today and I'm working on it.  It seems the blogger folks have changed the data feed and that is what is causing the problem.

I should get a fix out in the next 12 hours.

[Update -- I have a new build that should help -- Testing is not huge but I think it will fix the problem ]


New support systems

Hi All,

A quick note that we are trying some new support systems here at -- For as long as I've been in business I've used email as my primary support vehicle and although I think it's worked well it has two fatal flaws.

1) I tend to solve the same problem again and again.  It would be nice if there was a way for people to see/search for solutions
2) It doesn't allow more than one person to help in support.

To that end I'm testing a new support system this month.  The goal is to have it be a smooth transition but please be patient if there are a few bumps as we sort it all out.


RapidBlog And Blogger FTP support

You may have heard that blogger decided to stop ftp support going forward.

In case you are wondering this has no, zero, zilch impact on RapidBlog -- RapidBlog does not depend on this feature at all so rest assured that your blogs will continue to work just fine.


Where did that space go?

Making RapidWeaver plugins I often have customers report problems that I can't reproduce.   A common way I deal with this is to ask them to send me their RapidWeaver project files so I can see exactly how they have it configured.

Almost every time I ask the common answer is "Ok, I'll try but it's Big!" -- recently I got the question (in an offhand way) about why it was so big so I thought I would share a little secret.

There is a pretty easy way to get a good view of where your chewing through storage in RapidWeaver.

Here is how you do it.

  1. Make a backup of your RapidWeaver project file first… While this procedure shouldn't cause any damage it's probably safer to play with a backup.
  2. Download GrandPerspective (Edit: See note at bottom on Disk Inventory X) -- This is a neat little app that shows you graphically disk usage.
  3. Right click on your rapidweaver project and select 'show package contents'.  You should see two folders "Pages" and "DefaultPageAttributes" - You'll need the "Pages" folder later.
  4. Open GrandPerspective and select "Scan Folder" (file -> Scan Folder)
  5. In the open dialog drag the "Pages" folder from your RapidWeaver bundle over to the open dialog (You have to do this because by default GrandPespective will not scan a bundle and will not let you navigate to a bundle)
  6. Hit Scan
  7. Up will pop a pretty picture showing you how space is allocate -- you, of course, will want to focus on the big blocks.  As you select one the bottom bar will show the size as well as the 'path' of the data.  For instance I have one that is called "1-Home002FPlugins/4-Lockdown/ChildPages/4-FAQ/Data.archive" -- This means it's a page under my Home Plugins/Lockdown/FAQ folder (you will have different paths but the names should give you a clue)
  8. From here you can decide what to do -- Perhaps you need to put in smaller graphics or split the page up.

/Volumes/UserData/Users/johnmcl/Dropbox/RapidWeaver Sites/ Main Site.rwsw/Pages - 20:25:36

[Edit]: Biochi pointed me to Dir Inventory X.  It's seens to work much better than GrandPerspective for this as you can directly select the package and it will index it (without all of the show package contents nonsense) PLUS it has the advantage of letting you navigate by folder, check it out.
Comments (3)

Gone for a week

Hi All,

I'll be out of town in Asia for the week from Jan 23 to Feb 1.  It's a real whirlwind trip (Singapore, Malysia, Hong Kong and China) so support and answering emails will be very slow to non existant because:

  1. I don't have a Mac with me.
  2. I have no idea when I'll get internet access

I have a goal of photographing everything I eat on this trip so I'll hopefully put some pics up when I get back.


Convereting old DV footage to digital

I've been spending the last few days converting some of my old DV footage to digital format. I've got maybe 30 or 40 tapes and I really have no idea what is on any of them are so my hope is I can import the into a digital format and have them actually available in to enjoy and share.

One of the problems is the DV import process in iMovie brings them in as 'DV' files that are *huge* (several hundred MB easily). My 30 odd tapes will end up chewing through a unreasonable fraction of my TB hard drive so I've spent some time looking for how to compress them to more modern formats.

Initially I thought I could use an automated tool like Handbrake of VisualHub to quickly convert them but the results were less than perfect. I finally sat down and did a direct comparison. For Visual Hub and Handbrake I spent some time playing with settings trying to really optimize them, for Quicktime (using Quicktime X) there are no real settings to speak of.

The results (below) speak for themselves. Even when I upped the bit rate to Handbrake or Visual Hub I couldn't get it even close to what Quicktime can do. In terms of speed they all seemed pretty close (I didn't time them but my perception was the speeds of conversation were all about the same).

On the pictures below note especially the horizontal and vertical lines -- What you can't see from these grabs is some of odd interlace problems while watching the movie in everything but Quicktime.

Raw DV Footage
Raw Footage
Quicktime to H.264
Handbrake (Custom settings)
Handbrake Custom Settings
Visual Hub
Visual Hub to H.264

One of my initial concerns with using Quicktime was there was no Batch process. I initially loaded the movie into quicktime and used the 'Export' feature. Fortunately I came across a great solution to that: Create a service to do the conversation.


Now I can just select a bunch of movies, select services->convert to Quicktime and they show up on my Desktop, Nice!

Comments (1)

Paperless pays off!

If you have followed my blog for the past several weeks you have seen me on a bit of an organizational/paperless tear.

Today it payed off -- I had ordered a gift for someone and the first thing I did when I got the package was scan the packing information (essentially receipt) and saved it in my 'Receipts' DropBox folder.

Today I learned that the person I bought the gift for is already getting the item -- Instead of waiting until I got home, trying to find the details, and then trying to call them the next day to process the return I was able to pull up my receipt off of DropBox (I sync my Work computer to DropBox also but I could have easily grabbed it off the DropBox web interface), call up the vendor with all the details and get a return processed.

This whole process works due to a couple of thing that are available today but weren't available even a few years ago.

  • Painless Scanning -- My ScanSnap makes scanning completely painless.  If you have never used one it's impossible to describe but scanning a document is so simple, foolproof and fast that you don't ever think 'is it worth it' -- It's actually less work to scan then to think "Where do I store this"
  • Files Everywhere (& backed up) with Dropbox.  I have the 50GB account but I only use about 5GB so far -- This is after scanning like crazy.  The fact is scanned PDF's just don't take much space and with Dropbox I can always get at my files.  The nice thing about getting a paid account is that they keep backup versions (Forever?).  Even if you later delete it to get more space you can go back later and retrieve it via the web interface.
  • Evernote.  I kept track of my return number and dragged a copy of the receipt into Evernote in my 'To Do' folder.  In the next few days I'll mail the item back (Scanning my proof of shipment of course), add it to the note (so it has: my original receipt, my notes talking with the CSR on return details, and proof of mailing in a single Evernote note)  -- This note will drop into my 'Completed' folder once my credit card is returned.

It may sound like I'm a serious type-A which is generally not the case.  I like being organized as much as the next person but generally don't spend the energy to actually do much about it.  With these tools however it's really pretty painless.  What makes Evernote & DropBox especially attractive is they are not tied to one computer.  They are at Work, at Home and on my Phone.

Finally I want to comment on the ScanSnap.  I really hesitated on buying it: $400 for a scanner? but it's one of my better purchases of 2009.  It completely exceeded my expectations and I've long forgotten the money I spent on it.


Comments (2)

Next Page -->