.comment-link {margin-left:.6em;}

I Hate Linux

Tuesday, December 30, 2008

Idea: Reducing the “Apple Tax” for developers

There are two primary reasons I do not own an iPhone today, both relate to my not being a typical user:

  1. AT&T Wireless is unwilling/unable to port my current South Dakota number over to their network (and I’m not about to give up my existing number).
  2. The ‘Apple Tax’ involved in getting to develop for it.

... well that and my not being hip and trendy.

Even if my number were portable... or I was willing to get a 425 area code number I’d still run into a bit of an issue as with any kind of smartphone, I’d wanna write a custom app or two for the thing and to do so I’d need a Mac to run the free SDK... the cheapest new one that can be had today runs ~$599 (Mac Mini), while the cheapest new PC I could find (without much looking) comes in closer to ~$299 (Dell Inspiron 530S).

Given the costs involved, it sure looks like one is a lot easier to pick up and start developing on/for than the other.

I’m forced to wonder... what would happen if Apple were to make their SDK (and related emulator) available for Windows PCs in some form. Given the current size of the Macintosh market share (~14%), it would seem to make a lot of sense to expand their developer market share to the predominant (development) platform.

Would such a move increase their their third-party developer ecosystem? Or would it reduce the number of Macs being sold?

Porting the system too much to to consider? Why not use another layer of emulation?

This could be done through a downloadable virtual machine which contained a stripped down version of Mac OS X, the entire SDK, iPhone emulator and whatever other tooling is needed to build an iPhone app.

Ready to deploy? If they were to use VMWare Player for their virtual machine software, VMWare’s USB support would make that a breeze.

Interesting idea I think... but still moot for me as I’m largely stuck with Verizon (or Sprint or Altel (for now)) and horribly disappointed with the Samsung Omnia I waited 2 weeks for arrive and that I returned less than 3 hours after getting out of the box (it would have been sooner but I had a couple of errands to run first).

Monday, December 29, 2008

UPS: Ruiner of vacations

I still need to post a full write up of the glorious vacation I had back in November... however I pause to say that UPS has effectively ruined the vacation and cost me dearly as a result.

While back in South Dakota hunting I was successful in taking two deer and left the meat of at a local (to where I was hunting) market back with instructions to ship it out to me once complete, something they did back on 12/15 and with an ETA of 12/19. Given the date I made it a point to stick around the house that day waiting for it and despite my concerns given the weather that it might not come, was assured by FIVE separate people, including one in person that there would in fact be a delivery attempt that night.

Long story short, they didn't make an attempt and despite other assurances I was not able to pick the package up myself that night or the next day.

Why? They couldn't find it. Yes, they admitted that to me.

For a full 10 days the package was simply listed as "OUT FOR DELIVERY" and only at 6:10pm this evening, only after the meat locker called to complain did they finally miraculously find the package and make a delivery attempt.

Something tells me I should have had her call a week and a half ago.

While the drivers claim that it was still probably still frozen, I for one am not willing to put my health (or that of co-workers who I'd planned to share the meat with) on the line when during the last few days it has been over 40 (into the danger zone for food), and that during a stretch of 9 days of being above freezing.

So this post.. is intended to be a big ole thank you to UPS. Had I known you were so incapable of tracking packages and shipping perishable goods, I would have donated the meat to South Dakota Sportsman Against Hunger or made other arrangements for its shipment.

Instead 37 lbs of very valuable and delicious venison has almost certainly gone bad, meat that will not be replaceable until next November when the South Dakota deer hunting season picks up again.

So once again... Thanks UPS!

Tuesday, December 23, 2008

Redmond on the first day of spring

That’s right. You heard me... yesterday, December 22nd was the first day of the spring!

Says who? Says Joe Soucheray, Grand Poobah of The Royal Order of the 21sters.

Who are they? We are a group of people who have willing surrendered normalcy so as to engage in psychological delusion to stave off the the darkness and chill of winter that affects you normal people.

To quote Joe on Sunday:

We are not astronomers, climatologists or meteorologists. None of the scientific disciplines for us. We are conjurers. We make winter disappear.

Yes, yes, very well, we assign the two dark months, November and December, to winter, but they are the two months filled with feasts and twinkling lights.

Spring can last as long as a 21ster wishes it to last. Personally, because the NFL has pushed the Super Bowl into February, I usually start my summer on Super Bowl Sunday, by which time we will have gained at least an hour of light over today.

Summer will feature some tough days, last April attesting, but we endure. Our dobbers are a bit down June 21, but then we buck up with the cheery realization that autumn will be long, lingering and often warm and humid.

Why, by the time tomorrow rolls around, we are over the hump. We have had our two months of winter just as the Normal People are starting to feel the oppressive weight of the washed-out landscape, the arthritic creak of their own bones.

Not us. Our arms linked, our mugs sloshing, we dance and dance our cares away. To want to be a member is to be a member. You are in if you choose to admit it: You are not normal.

In celebration of the start of spring (and the less than favorable plow-to-person ratio ( (c) 2008 Brendan Grant) of the area), I opted to walk the 3 miles to work yesterday (granted I try to do that 2x a week), and along the way took some photos for those who have yet to venture out (of which I know there are plenty):

(Click for larger images on Flickr)

Starting off, hardly plowed and not at all shoveled:
STA73186

STA73188

Almost every manhole cover appeared this way:
STA73189


STA73190

The ‘farmhouse’ next to RedWest:
STA73194

Overlooking 520 while on the 40th street bridge:
STA73196

Continuing along the 40th street bridge:
STA73197

Unused shuttle after shuttle:STA73199

Between buildings 44 & 43, there had to be a solid foot of snow on the bench:
STA73204

From the third floor of building 43, looking out towards building 42:
STA73203

What happens when you don’t shovel the sidewalk before it gets trampled... ice:
STA73206

Monday, December 22, 2008

Seattle area weather haiku

The Seattle area has had some issues with snow over the last few days and due to a less than favorable plow-to-person ratio (c) 2008 Brendan Grant (yes I hereby copyright in text that phrase I’ve used for quite some time (including during my Microsoft job interview at least twice)) the area has more or less shutdown. Roads are near empty with mostly just 4-wheel drive vehicles out and about (I’ve yet to see a single Prius on the road), the Microsoft Redmond campus is nearly deserted between some folks on vacation and other not able to get out of their houses due to snowed & iced over roads.

This morning things got a little more creative than just “_____ is an ice rink, wth” (wfh = working from home) on the team email alias as people emailed in as unable to make it to the office, below are some memorable quotes from members of the Windows Home Server team today (in order):

A white blanket lies
On the roads, threatening death
I’m working from home

The blanket lies not.
No benefit tempting fate
when VPN works.

Said _____ while looking at snow,
To the office I really should go.
    But I would get wet;
    Instead I’ll just get
Another cuppa this joe.

(I’ll see your haiku and raise you a limerick.)

Said ____ I just don’t understands
Why people whose names end in ____
Think there’s too much snow
To give work a go
Who knows where this limerick lands?

Should ____________ pass away
Then I would go outside and play
    But it really is broke
    And I want it to smoke
So I’m stuck to my screen night and day.

A boy living on a slick hill
To work drive his hummer he will
His commute won't last
He'll drive pretty fast
Since most other folks will sit still

(names have been removed so as to protect the fearful of the snow, ice, cold and skidding)

Microsoft blogger extraordinaire Raymond Chen also has some commentary on the weather from those at the Fargo, North Dakota campus.

Best part IMO:

Roads: In light of the continuing snowfall and icy road conditions, most local roads are snow-covered and slippery and will remain that way until March. For information on current road conditions, please look out the window.

Photos of my own of this so called ‘snow’ event should follow tomorrow.

Thursday, December 18, 2008

What's wrong with calling home?

We've all heard how evil it is for an application to call home. Sure there are evil things out there like adware, spyware, and other such bits... but what about basic usage reporting?

For years web analytics tools such as AWStats, Google Analytics, SiteMeter and many others have been created and used to allow web developers and site owners insight into who is using their web sites and how. It occurred to me a while ago that there is no good way for the average desktop application developer to have similar insights into their own apps.

Why is this important?

Call me crazy, but there is a fairly important thing that I like many developers out there tend to forget about the software we write...

We are not typical users of the software we build!

This means that when we prioritize features and fixes, our priorities for features and fixes are probably pretty different than our users.

Wouldn't it be nice if we had a way to... see inside of the heads of our users and see how they use our applications as well as how our apps respond to them.

How many plugs ins are installed? What are the most commonly used functions used? How much time does the user spend using the application? How many files do they have open at a time? How often do they save their work?

All are vital questions to know... but how?

Sure looking over the shoulder of a user, or using a one-way mirror or even a poll or mailing can provide useful information into what they want... it just doesn't give you a very good sample size, and can also be fairly expensive and difficult.

And this all assumes the users are telling you the truth and not just the truth as they think it to be at the time.

This need and use of such information isn't anything new... Microsoft does it through the Customer Experience Improvement Program, Valve does it through their monthly Steam Hardware Survey, Winamp does it, Skype does it... and they are just the ones I can think of off the top of my head.

From the sounds of it, each of these is a home grown solution that is used just by them... even in the case of CEIP which is used through countless Microsoft products (for more technical details, see this Channel 9 interview)... and they are great for those with the time and resources to build such a thing.

Having a mechanism for application vendors, be they hobbyists in their parents basement or full scale enterprises to honestly collect basic anonymous usage data would be invaluable... only it doesn't appear that there are very many options to do this short of rolling ones own.

Take a look around... see what you can find, sadly you wont find much.

To date I've found only two options in fact.

The first is a new system from PreEmptive Solutions called Runtime Intelligence Services that they say will also be built into the free version of Dotfuscator when it ships as part of Visual Studio 2010.

Another interesting possibility comes from a gentleman named Benji Smith who is building an entire Desktop Analytics Platform on his own and thus far has released a beautiful looking mockup and tells me he's been hard at work on the system since June or so and and hopes to have something to release come Q109 according to his latest update.

Two solutions... compared to how many for the web? Sure web analytics tends to be easier as there is already a huge amount of data being collected through normal server logs... but why aren't there more on the desktop? Why does this seem to be such a new area?

Am I missing any other easy to use systems for creating opt-in anonymous usage reporting for desktop applications?

This does raise an interesting question... is this something the underlying platform could/should provide?

Sound crazy?

Today Windows developers can use Windows Quality Online Services (Winqual) to learn about their own driver and application crashes and hangs (Channel 9 Video)... but nothing for general usage metrics.

Is there a place for Microsoft (or any other platform provider be the platform an OS or application) to provide hooks for such reporting?

Anyone can write basic call home logic today with varying degrees of anonymity and security, at least when you have a common underpinning of some kind you can have a common on/off switch as well as common reporting criteria.

Speaking of such reporting... all I've really talked about so far is applications that ask for permission to send home anonymous usage data. What about those that call home in some way and are less than obvious? Other than spyware or other evil software... no one does that right? Wrong... maybe.

Ever see an application that asks for your permission to "Automatically check for updates"? What do you think the chances are it is only... checking the contents of say a version.txt file on a remote web server and comparing it against it's internal version, and if there is a difference prompting the user to go to a website to download a new version?

Sure such a mechanism is simple... I'd bet good money it's also pretty unlikely to be used very often.

Even if the application is just reporting the current version number, OS and language (so as to be able to determine which is the proper upgrade )... storing such information, even for a short period of time is invaluable to the developer to know who just how many people are using their app, roughly where they are, and on what sort of PC they are using.

Am I accusing anyone of shenanigans who might be doing this? Absolutely not! I'm just pointing it out that other mechanisms exist and are likely used today, but that doesn't negate the usefulness/need for something else.

In conclusion, and in summary...

Download numbers and forum posts, phone calls, emails and customer service calls do not tell application developers enough about their applications in the field, how they are used, on what they are used, how stable they are or for that matter... IF they are being used are all are important to know. Provided we have the users permission to do so, shouldn't we collect and use such information so long as we do not collect or use personally identifiable information?

Building ones own solution for this is an option, however it is a very significant investment and I can only hope we see more products brought to market, whether they be from companies like PreEmptive Solutions, platform makers like Microsoft and Apple, individual professionals like Benji Smith, or an open source project or three on SourceForge or CodePlex.

*Note the above is written without any insight or authority regarding/over any new Microsoft projects/products that might contain such functionality in future, nor do I plan on building such a thing and bringing it to market... it's simply one guy wishing such a system existed... somewhere, and that he and others could leverage in his own code.

Tuesday, December 16, 2008

A warning about "Marley Valdez"

While this has always been a 'personal' blog, I have often times refrained from posting about various personal subjects, this post, along with the possibility of one or two more on this subject will break from that tradition.

What follows is a cautionary tale of my having been nice to someone a few months ago and how one "Marley Valdez" (like the coffee she told me), (aka MarleyV, Marley_V, marleyisme) who accepted my generosity and took me for a ride and now cannot even bother to admit it but instead continues to lie and make excuses.

Being a single guy, I've got a profile on a dating site or two and back on August 10th I received a wink from someone whose title was "All you need to know is Marley is me" (Match.com link, PDF  print out for after she deletes it) and after I opted to 'wink' back I received an IM from someone whose screen name was suggested in the ad title.

Amazingly she figured out how to track me down for free and sent me a few messages on AIM (AOL Instant Messenger) which lead to some nice chatting there. Eventually we moved over to the phone and all was good and interesting, more so considering she was in the process of moving to Redmond (a move she claimed had planned and begun before she found me) from Springfield, Missouri in just a couple of weeks.

During the time on the phone certain things were said that I would hear but ultimately shrugged off as I didn't want to dig into them too much at the time, things like that she had no one she could depend if she were to ever need help and that she was currently PC-less... but had not long ago ordered one and it shipped to her new Redmond address and was using a pay as you go cell phone for things like AIM and email.

It was revealed at one point that her moving plans had hit a bit of a snag due to financial reasons and I ended up offering to loan her a few bucks. At first she was resistant but upon a bit of pressing she said that she thought it would take $100 to get her back on track, and being in a rather generous mood (an extreme rarity for me) I offered to loan her $200 with no expectations or strings... other than that she would pay me back for it and any associated fees after she got to the area.

Was I under any kind of delusion that anything would happen between us? She would try to hint at such things but I did not think so. Did I loan her the money because I thought once she was here we would magically hit it off and by doing so I’d be getting my new all but certain girlfriend here that much quicker? Not at all.

I simply opted to be friendly and generous. The first is fairly common, the second less so and I was up for something out of the ordinary.

The transfer was strange as she claimed to have misplaced her driver's license so when I used Western Union to send the money to her, we used the name of a friend of hers, but after that all of which went smoothly and we kept up semi-regular contact until she hit the road where not long later communication became problematic at best, if present.

That was nearly 4 months ago.

While she did ring me a couple of times while on the road she went silent for an extended period and claimed to have taken ill twice along the way on a trip that she expected to take 3 days but took more than 2 weeks.

Eventually I noticed she was on MySpace from time to time and I'd write her... and largely get silence. Sometimes she'd respond with an excuse of being ill and promising to call or x, y and z. All the while she would post new, sometimes elaborate looking pictures (NSFW) and others at various parties.

It was at this point I realized that things were not as they seemed.

On her Match.com profile she said she was 27, the same age she said on AIM... while on MySpace she said she was 25.

On IM she said she was a "nurse/painter/photographer/dominatrix" and that nursing was her 9-5 job, however on her MySpace site there was no trace of such a position.

At present her MySpace claims her to be living in California, with no mention of her claiming to have moved to Redmond, WA or the time she spent allegedly visiting friends in Vancouver, Canada just prior to moving here.

Sure nothing truly incriminating (that stuff was in the AIM logs and phone calls and perhaps best left for another post), but do tend to tell a story of dishonesty at  some level which only reinforces what I've come to think after all of this.

In the couple of responses I've been able to get out of her on MySpace she claimed to be ill again, not working and even now pregnant as reasons for her not having paid me yet and not being very communicative... and yet all the while still finding time to hang around MySpace and post new pictures.

While I would rather like to see my $227 back from her... I'm pretty confident that I will not.

Was it all a scam? Possibly, but doubtful. Even if every word she has told me is true... that points to something far worse... that she's an immensely flakey person who uses people and cannot be bothered to admit to it after the fact.

Had she picked up the phone in all of this time, called me and talked to me like a human being and been honest with me... I would probably be a lot more understanding than I sound (or am).  Instead every time I have asked her about this on MySpace (the only semi-reliable way to contact her), if I do get a response I get more excuses and apparent lies out of her.

Why did I offer her the money to (what I thought was to) put her back on the road? At the time, it was the first time in my life that I wasn’t struggling financially and I figured I could be nice for once... we see now what that niceness got me. What makes it worse is that I’m not the only one affected.

On an Saturday night in early October when an 18 year woman from Georgia came by to tell me about how she's trying to work her way up, raise her twins right and not and selling magazines to accomplish that... I told her "As much as I would like to help... the last time I offered or agreed to help someone out, one Marley Valdez took me for a ride and has largely destroyed my willingness to help others for the time being... so all I can offer you is to say good luck."

What is the point of all of this?

Two fold really, I have tried, quite unsuccessfully for a few months to be polite and patient when trying to get word from her on when she would be paying me back. Much of this happened through MySpace (a site I have an account on but do not exactly use much) as it was the only reliable mechanism at hand (while I do have an email address, AIM handle and a pair of phone numbers none seem to be used much).

Unfortunately a month ago though it seemed she had had enough of saying things like “but i promise it will get better” and “but i will send it asap and give you a date” and instead, blocked me:

Blocked

So instead of allowing me to handle this privately, I get to take it public. Lucky for her I’m not the sort of person who easily feels shame, so I have no problem admitting to what has happened.

The second reason is as a warning to anyone in future who might be approached by someone going by the alias of "Marley Valdez", MarleyV, Marley_V, marleyisme and tells a tale similar to what I’ve described above... be cautious, but then that is good advice under any circumstances.

And now we return to our regularly scheduled blogging... how bout that  Windows 7 eh? and that Windows Azure? Worry not dear blog readers, there is more entertaining and technological and political blogging ahead.