Wednesday, August 25, 2010

Worthless Comments

/// <summary>Gets the foo</summary>
/// <param name="bar">the bar</param>
/// <returns>the foo</returns>
Foo GetFoo(Bar bar) {
...
}


I'm not saying I've never done it, but I usually end up deleting them later.

Thursday, August 19, 2010

Misleading WCF MSMQ Binding Error

I was getting the following error message when activating a WCF service with a net.msmq binding.
Binding validation failed because the endpoint listen URI does not represent an MSMQ direct format name. The service host cannot be opened. Make sure you use a direct format name for the endpoint's listen URI.

You'd think this had something to the endpoint URI, but you'd be wrong. A little sleuthing revealed WCF trying to validate that it could move the message to the retry subqueue in the event of an error. The queue is hosted on a Windows Server 2003 system, which doesn't support the retry subqueue. I'm testing my WCF service is on Vista. Solution: run the queue and WCF service on the same level OS and curse Microsoft for misleading error messages.

Monday, August 16, 2010

Smartphone Install Base

There's been a lot of buzz about Android's amazing growth in the last quarter. Assuming the vast majority of customers don't buy a new phone more often than every two years, the install base would reflect the sum of sales over the last 8 quarters.

Worldwide Smartphone Sales to End Users by OS 3Q08-2Q10 (Thousands of Units)

Symbian166,463.346%
RIM69,370.619%
iOS50,791.914%
Windows Mobile30,596.98%
Android22,619.26%
Linux17,440.45%
Other5,699.62%


Note this doesn't include business sales, which would likely boost RIM a lot and iOS a little. Nor does this include devices other than phones, e.g. iPod touch and iPad.

Tuesday, July 20, 2010

How a $2 iPhone app restored my love for photography

In 2004 I bought a digital SLR camera for a trip to Hawaii and my journey into photography began. I took photos of mountains, fields, barns, flowers and occasionally people. I read books on exposure, composition and posing. Eventually I took some family portraits, engagement portraits and even a couple small weddings. My collection of lenses, lights, filters and other accessories evolved until I had just about everything to take whatever kind of photo I could imagine myself taking. I honed my technique and looked with a critical eye at every photo I or anyone else took.

In 2006 my wife and I went on safari in Kenya. I took thousands of photos, mostly of animals. I did a pretty good job, too. They're not going to appear in National Geographic, but I was pretty happy with them and I'm pretty picky. When I got home from Africa, I hit a photographic wall. Nothing seemed interesting anymore because I felt I couldn't top what I had done before. I'd peaked two years into my life as an amateur photographer. So I stopped taking photos.

Then about two weeks ago, my wife asked me about buying an iPhone app called Hipstamatic, which she had seen a few of her friends use. She got it and took a few photos. Then I installed it on my phone. I got hooked.

Hipstamatic is cool for a few reasons. It looks and feels kinda like a camera, which is fun. It makes you choose how your photo will look before you take the photo, like with a film camera. Different lenses, flashes and films produce different effects. The alternative -- endlessly tweaking a photo in Photoshop, applying filter after filter -- sucks the joy out of the photo. I love the simplicity that Hipstamatic provides in this regard.

All the photos it produces have imperfections that are modeled after imperfections from real film photographic equipment. The imperfections keep me from focusing on making a technically perfect photo and instead focus on making an emotive photo. To that extent, Hipstamatic is really good at creating photos that evoke emotion, specifically nostalgia. The photos look like the ones in my parents shoe box or on my grandma's end table. The blurred edges and yellow tint of the photo of my daughter makes me remember her smile a little sweeter. I can hear my son's laugh through the blue cast and faux film frame.

This $2 app is also cool because it makes me want to buy the other lenses and flashes, just like I did on my real photography journey. Except this time, the lenses are $.99 instead of $499. Hipstamatic is the fist app that has compelled me, a total cheapskate, to make an in-app purchase.

I do hope I can transfer my renewed enthusiasm for photography from my iPhone to my DSLR. I do have quite a bit of money invested in all that equipment and it's not doing me any good sitting on a shelf when I should be using it to record memories.

Thursday, July 8, 2010

WCF .NET MSMQ Binding URLs

I spent some time struggling with a WCF service with a .NET MSMQ binding. The public queue resided on a test Windows Server 2003 machine. Everything worked fine on my machine, but when I installed the WCF service on the test server, I got the following error message:

An error occurred while opening the queue: The queue does not exist or you do not have sufficient permissions to perform the operation. (-1072824317, 0xc00e0003). The message cannot be sent or received from the queue. Ensure that MSMQ is installed and running. Also ensure that the queue is available to open with the required access mode and authorization.

The error code (0xc00e0003) corresponds to MQ_ERROR_QUEUE_NOT_FOUND.

Turns out, I needed to reference the queue with net.msmq://server/queue instead of net.msmq://server/public/queue. It's unfortunate the latter URL works in some cases but not others.

Tuesday, June 1, 2010

5 Device Categories

Computing devices tend to fit into one of these categories, based on the device's physical characteristics:
  1. Stuff that fits in your pocket (e.g. phone)
  2. Stuff that you can carry around comfortably (e.g. tablet)
  3. Stuff that you can carry around in a bag (e.g. laptop)
  4. Stuff that you can fit in a back seat (e.g. desktop)
  5. Stuff that requires a truck to move (e.g. rack of servers)
Devices should be optimized for their category. If you want something that will fit in your pocket, you want the best thing that will fit in your pocket, but not so small that you'll lose it. If you're going to carry around a laptop bag, you want the best laptop, but you don't want something so big that it's too heavy or so small that you might as well just use your phone.

I don't get some of these new devices, like the Dell Streak, that are just a little too big to fit in your pocket. I think the Nokia MIDs are there too. Once you move into category #2, you might as well make the most of it. I think netbooks are right in between 2 and 3. They could be carried by themselves, but they're awkward to use with one hand and you often have to bring a power brick along. That's why they're really only attractive from a price standpoint.

Of course that pricing thing plays a big role in decisions, too, which is a significant factor in there being such a broad spectrum within each category.

How to make a horrible Infographic

Wednesday, March 31, 2010

Dewey Griffin Loses a Customer Forever

I just had Dewey Griffin do some recall work on my Subaru to fix a fuel leak. The mechanic broke a gasket while removing a part. They didn't have another one and had to order it, leaving me without a car for the day. I understand that stuff happens, but here's what I don't understand: they charged me for the gasket. I argued with the service manager, Jim Clark, but he wouldn't budge. He acknowledged that the gasket would not have broken if they hadn't done the work but because Subaru wouldn't reimburse him he chose to charge me. Congratulations, Jim, you got your $9.74 and lost a customer forever.

Tuesday, February 9, 2010

How will the iPad's success be defined?

I've had a lot of conversions with people lately about whether or not the iPad would be successful. The problem with these conversations is that we didn't talk about what success looks like.

Is success 1 million units first week sales? Nexus One did 20k units, Droid 250k, iPhone 3GS 1.6M (from Flurry). Apple sold 75M iPhone and iPod touch devices in 2009. About 20M netbooks were sold in 2009. Apple sold about 6M Apple TVs in 2009, and that's "just a hobby" for them.

Maybe initial sales don't matter and the iPad will be judged by its adoption 3 years from now, by the copycats it inspires or by the way changes the personal computer industry. After all, Apple reinvented the desktop PC industry once, but ultimately lost it to Microsoft. I doubt they will make the same mistake again.

Update:Apple just announced 2 million units sold in the first 60 days. It took over two years for Apple to sell its first 2 million iPods. The original iPhone took about four months to reach the 2 million mark. I'd call the iPad's launch a success.

iPad Swivel Camera

I have a theory as to why the iPad does not have a built in camera. I think Apple will announce a camera accessory that plugs into the dock connector and swivels 180 degrees to point forward or backward. There is no "up" on the iPad -- all orientations are required to be supported by applications -- so it does not matter that the dock connector is on the "bottom" of the device. In the front-facing position, the camera would enable video chat. Turn it around and you can take pictures with the gazillion iPhone apps with that function built in. This solves the two camera problem, gives people the camera functions they want, and gives Apple another high-markup item to sell.

P.S. Sorry for the slew of iPad posts, but I think it's a pretty cool device.

Monday, February 8, 2010

Throwaway Vote

Right before a past election, someone asked who I was going to vote for. This person was supporting the Republican candidate. I told the person I was going to vote for the Constitution Party candidate. The person replied something to the effect of, "well it's a throwaway vote, but it's good that you're voting on principle."

I was offended. The only throwaway votes are the ones that aren't cast. In that election, the Republican candidate was as likely to win as my left shoe.

I think it's a real shame that people evaluate candidates based solely on party affiliation, not on their records. People vote on a candidate that shares their values and is likely to win. It seems too often the second part outweighs the first part.

I wonder if instant-runoff voting would help with this problem. It would be interesting to see the results of an exit poll that used IRV compared to the actual election results. I wouldn't expect the results to be that much different, though, because I think voters are much less likely to have even considered a third party candidate who does not have a realistic chance of winning. Third party candidates also don't have the financial support to get the same exposure as the two big parties.

Sunday, January 31, 2010

iPad Fills the Gap

Apple's line up is just good business. They need something to sell in the $500-1000 range and are unwilling to produce a cheaper laptop that compromises their standards and would tarnish their reputation. The iPad fits in there just perfectly. It fills the gap and completes the progression from a simple music player to a full blown computer. Whatever you're looking for and whatever your budget, they've got something to sell you. For only a little bit more, they've got something even better to sell you.
  • $59 - iPod shuffle 2GB
  • $79 - iPod shuffle 4GB
  • $149 - iPod nano 8GB
  • $179 - iPod nano 16GB
  • $199 - iPod touch 8GB
  • $299 - iPod touch 16GB
  • $399 - iPod touch 64GB
  • $499 - iPad 16GB
  • $599 - iPad 32GB
  • $699 - iPad 64GB
  • $729 - iPad 3G 32GB
  • $829 - iPad 3G 64GB
  • $999 - MacBook
I don't see Apple selling a laptop for less that $999 anytime in the foreseeable future.

Plus, for whatever device they sell you, they've got content to sell you as well.

Thursday, January 28, 2010

Apple Reinvents Yet Another Category

Apple is on a roll. While the iPad very much underwhelmed me (what could have lived up to all the hype?), I still think it will redefine the category and make it better for everyone.

Way back when, Apple brought the GUI to the personal computer and to the masses. They didn't invent the personal computer. They didn't invent the GUI. They did make a great product that set the direction of human-computer interaction for the next few decades. Apple wasn't able to capitalize on what they accomplished and are now somewhere around 5% of the PC market share.

Apple didn't invent the MP3 player. They reinvented it by making it easy to use and cool. They now own the portable music player market. Apple didn't just reinvent the way we listen to music, they reinvented the music market place with the iTunes store.

Apple didn't invent the mobile phone, nor the PDA. They didn't invent the touch screen. They did put them together in a way nobody really expected. (This is starting to sound like a 3M commercial.) The iPhone is extremely elegant and easy to use. It set a new model for human-computer interaction, one dictated largely by the size and power constraints of the device. No pointer, no windows, no drop-down menus, no multitasking, limited typing. The result is a set of task-focused applications that are pretty darn intuitive. It's not how we were used to interactive with a phone, nor a desktop or laptop. In many ways, it's better. Apple took the opportunity to simplify for the better. No file management, minimal configuration, no confusion about how to install or remove applications.

The iPad is just a big iPod Touch. That's disappointing in some ways. But it's also what makes the iPad awesome. To appreciate this awesomeness, one first has to understand why tablet PCs have sucked. The big reason: Windows. The problem with Windows (and Windows apps) is that it wasn't designed for use with the constraints a tablet imposes; it is ill-suited for use on a device without a pointing device, keyboard and relatively large screen. The same would be true of Linux/Gnome/KDE or Mac OS.

The physical constraints of the iPhone required the iPhone OS designers to rethink how to build applications. It turned out these simplified, task focused applications were really easy to use. I found myself using Safari, Mail and Facebook on my iPhone even though my MacBook was sitting right next to me. There are many tasks which do not require the complexity of desktop applications, but do need more screen real estate than an iPhone. There has also been a shift over the last 15 years or so from using computers for content production to content consumption. This is where the iPad fits perfectly. You're not going to write a textbook on the iPad, but you may read one. You're not going to use Photoshop on the iPad to edit a photo shoot for a magazine, but you may view it with the iPad. The iPad will not replace the desktop computer and everything it does, but it can replace it for what most people casually use a desktop for. Apple successfully reinvented the tablet computer.

Whether or not this version of the iPad is wildly successful is irrelevant. Apple will inspire copycats who will take the design and build on it, as Google has done with Android. This will make Apple up its game. Everyone wins.


Thursday, January 7, 2010

iPhone Bible App Comparison

I thought it might be useful to have a feature comparison of all the major Bible apps available for the iPhone. I've attempted to be unbiased, but I do work for Logos on Logos Bible Software for iPhone so take that for what it's worth. If I've made a mistake, please let me know and I'll correct it. If I've omitted a feature that is significant and distinctive, please let me know and I'll add it to the matrix.

(Updated 1/10/2010 8:51 AM PST)


Logos BibleReader PocketBible YouVersion Paul Avery Bible Mantis
Free books
61 150
39
41
20
43
Available books ~3000 500+ 256
41
20
190
Free modern translations x

x

Commentaries x x x

x
Dictionaries x x x

x
Maps/Media
x

x

x
Bookmarks x x x
x
x x
Notes
x x
(read-only)
x x
Notes syncing

Evernote

YouVersion.com


Highlighting

x

x x
Search x x x x x x
Reading plans
x

x
x
x
x
Original language tools* x x



Works offline reader only x x some books x x
Social sharing
x


x


Events



x


Split screen

x


x

Passage Guide* x




Paging/scrolling Paging Either Paging Scrolling Scrolling Scrolling

* Original language tools are tools to get more information out of original language books or original language data in English books, not just having original language resources. E.g., Logos' Bible Word Study can bring up a lot of information about the original word used from a modern Bible translation. Logos' Passage Guide and Greek and Hebrew word study tools are very powerful study tools that you need really need to see to appreciate.