The details matter: Zune lets down Windows Phone 7
Over the weekend I traded in my iPhone 4S for a new Samsung Focus running Windows Phone 7 (which is really 7.5 Mango, which is really internally 7.1, but that’s an entirely different post). The choice of model was made for me: the Focus is the only device on the market today with a micro-sd card slot that allows you to expand on the puny 8GB of storage you get out of the box. The phone itself was free on contract, and a 32GB card cost less than a hundred dollars, getting me a phone with a bit more capacity as the 32GB iPhone 4S for less than half the cost.
Yes, the phone is made of plastic and doesn’t have the glass slab on the back, but the phone weighs next to nothing in comparison. I appreciate that the phone uses an industry-standard micro-usb port instead of a proprietary dock connector and is protected by a sliding cover. Both the headphone and data/power port are on the same top edge of the phone, so charging and playing it in my car doesn’t create a jangled mess with a cable plugged into each end.
Connecting up to my personal e-mail and my work Exchange account was trivial. The “People” hub is particularly nice, aggregating my contact data, twitter and Facebook feeds in one coherent view. I used to be opposed to this, but the OS does a good job of integrating the contacts and calendars together and I quite like it now. The notifications displayed on the home screen with live updates and instant access to media player controls is especially welcome.
I know the metro interface has its detractors, but I appreciate that Microsoft came up with something truly new and unique, polishing further the interface they brought out with the Zune HD.
And that brings me to the biggest disappointments: the Zune subscription service and the music player on the phone.
The subscription service is a neat idea on paper: $9.99 a month or $99.99 for an entire year for all the music you can download. I signed up for a month to try it out again and that is when I discovered the two major problems with the service I had last time I tried it. First, there are some surprising holes in the catalog. Some artists aren’t present, particularly artists on niche labels, while others are present but large parts of their catalog are missing. If you are mostly a top 40 listener or have fairly mainstream tastes this probably won’t impact you.
But the other problem still might: I kept coming across albums that had one or two tracks that weren’t available to the subsciption service. When I listened to Meat Loaf’s “Bat Out of Hell II” album it started straight with “Life Is A Lemon” and skipped “I’d Do Anything For Love (But I Won’t Do That)” – the most famous song from the album. Several Led Zeppelin albums had the odd track missing. Even more bizarre were the multiple copies of Mahler’s Fifth Symphony…in which only one movement was available to download.
To be fair, that’s not a problem with the phone but the service. However that service is an integral part of the Zune software already present on the phone and that you must run on your PC in order to sync media from your computer. A $10 a month addition to the cell phone bill is a no-brainer in many ways. I was enamored with the idea of downloading music onto my computer and phone without having to muck about importing tracks from my iTunes collection.
Giving the subscription service a miss is no big deal, but one nasty problem remains: The music player on the phone is incapable of gapless playback. I have a large number of albums that play continuously. If you own a copy of Pink Floyd’s “Dark Side of the Moon” you have at least one too. At every track, the player pauses for a moment while the new track begins playing. This happens with subscription tracks, or tracks you rip yourself whether they are MP3, WMA or AAC.
It is confusing and aggravating, particularly since Apple’s iPod licked this problem years ago. Is this a major problem? No, but it does suggest a lack of polish and attention to detail on Microsoft’s part, particularly since the official Zune and Microsoft forums are replete with customer complaining about this very issue. Is this a deal breaker for me? No, but it does suggest I may not use my phone as a media player and I’m back to carrying a separate portable music player.
I look forward to the day I can have a Windows ecosystem that reaches from phone to tablet to laptop to desktop, and I can run the same applications – or access the same data consistently – across all those platforms. Some extra attention to the details would be very welcome!
The Ultimate Mac Accessory (Apple Will Never Sell)
Apple has always had curious holes or blind spots in its product line-up, which they sometimes try to fill with a half-hearted solution that ends up not really serving as a solution or being too expensive for the problem it try to solve. It is sad, really, because the capabilities of the Thunderbolt Port that is now standard across their entire lineup (except for the Mac Pro, which is so overdue for a refresh it has already received an AARP card).
Since the February 2011 release of the MacBook Pros that first sported the new interface, there are so few devices that make us of it that you can count them on one hand and still have fingers left over. LaCie announced a hard drive raid that was due “Summer 2011″ and still isn’t available. The Promise Pegasus raid devices are ostensibly available but you are looking at an investment of $999 to $1,999 – not exactly something that will lead the world by storm.
Your only other option to date is the 27″ Apple Thunderbolt Display, which in addition to being a very expensive monitor provides a pseudo docking station experience. The monitor provides a power cable and a Thunderbolt cable that carries everything – video, audio, and data for the Firewire port and three USB ports the monitor hides behind it in classic iMac style. But for the price tag, being shackled to USB 2 speeds seems almost criminal when the rest of the computing world has moved on to eSata and USB 3. In fact, one of the greatest potentials of Thunderbolt is to get around Apple’s refusal to support these two standards which leave USB 2 very much in yesterday’s trash heap performance-wise.
The devices we really want to see haven’t materialized yet. A Thunderbolt adapter that exposes eSATA or USB 3 ports? A 2.5″ portable hard drive with a Thunderbolt interface (yes, I’d take the extra $50 hit for the circuitry the Thunderbolt cable requries to get the speed boost). Where are the breakout boxes allowing musicians and video editors to integrate outboard devices with a Mac in the absence of expansion cards?
What I’d really like to see is a small box about the size of a Mac Mini. You plug a Thunderbolt cable from your Mac – say, a 64gb MacBook Air – into the back of this box. Your video gets routed to an HDMI or DVI port. You get the USB and Firewire ports.
And then you get the interesting stuff: An internal hard drive which your Mac interfaces with as if it were an internal hard drive, which would give you very fast backup and restore times. 500GB would store a lot of Time Machine backups with ease, without the USB 2 bottleneck. Use the drive to store photos and videos for editing, files you probably wouldn’t need to be portable and taking up expensive space on your SSD drives.
The icing on the cake: since the Thunderbolt port supports PCI-E protocols, build a dedicated graphics adapter in this box that your portable computer can use when plugged in. You might want to play some 3D games on your MacBook Air, but not likely on an 11″ screen when you’re portable – and the Intel HD 3000 adapter would make that a non-starter anyway. But add in a modest ATI Radeon chipset usable when you’re docked and the possibilities open up.
Failing that, build both of these things into the a Thunderbolt Display. Add a 1TB hard drive and a graphics adapter to the 27″ Thunderbolt display and the $1,000 price tag starts to become worth it.
(Yes, I know you can buy other 27″ lcd monitors for $1,000 – but you have to go looking for one that expensive.)
ASP.NET MVC:Binding a string collection to a list
You would think that one of the easiest things to do in ASP.NET MVC would be to take a list of strings and bind it to a list or a drop-down list. Surely some overload of Html.ListBox and Html.DropDownList should take a collection of strings and do the deed?
Nope – it doesn’t work that way. If you want to use the extension methods like Html.DropDownList or Html.List, you need to create a SelectList object that contains a collection of SelectListItem objects. And you can do that by creating a SelectList object off a collection of strings cast as IEnumerable. If you are using LINQ that gets very easy.
Here is the object I’m working with, pared down for simplicity, using LINQ to SQL:
[Table(Name="dgd_Bookmarks")]
public class Bookmark {
[Column]
[Required(ErrorMessage="You must provide a url!"), StringLength(100)]
public string Url { get; set; }
[Column]
[Required(ErrorMessage="You must provide a name for this bookmark."), StringLength(100)]
public string Description { get; set; }
[Column]
[Required, StringLength(50)]
public string Category { get; set; }
}
And I have a repository class that returns an IQueryablecollection. That all works, but what I now want is to create a drop-down list box with one select option for each unique Category in that collection.
Now what I need is a list of the “Category” values that already exist in a collection of Bookmark objects. It seems logical that this is something I may want frequently, and would be a function of my Repository class, so I create a property like so:
public class BookmarkRepository {
private Table bookmarksTable;
public BookmarkRepository(string connectionString) {
bookmarksTable = (new DataContext(connectionString)).GetTable();
}
public IEnumerableBookmarkCategories {
get {
return (from b in bookmarksTable
orderby b.Category
select b.Category).Distinct().AsEnumerable();
}
}
}
In my controller I pass the IEnumerable collection of category strings to a new SelectList object and pass it to the ViewData:
public ActionResult Index() {
BookmarkRepository DGDBookmarkRepository = GetBookmarkRepository();
ViewData["Categories"] = new SelectList(DGDBookmarkRepository.BookmarkCategories);
return View(DGDBookmarkRepository.Bookmarks);
}
And in my view, I can now render a drop down list of categories like so:
<%: Html.DropDownList("Categories") %>
And indeed, the html created is:
<select id="Categories" name="Categories"> <option>Computing</option> <option>Entertainment</option> </select>
This represents part of the difficulty in ASP.NET MVCs learning curve – this kind of thing used to be trivial in WebForms. I found all sorts of solutions looking on the web, but none were as straight-forward or simple as this.
Final Cut Pro X temptest is a symptom of Apple’s bigger challenge
Apple has a problem: it doesn’t understand the corporate market. Perhaps it doesn’t care about the corporate market. In either case it serves that market poorly and that is going to create a problem for Apple’s future growth.
For years, even when they were still Apple Computer (instead of Apple, Inc) I held the view that Apple was not a computer company, but a consumer electronics company that happened to sell computers. In the years that followed the introduction of the iPod and the iPhone have borne that idea out. While it used to be the graphcis industry that floated Apple’s financials, today it is the consumer market.
Over the years Apple has attempted the compete in the professional market with a series of tepid, half-hearted attempts that were poorly supported. The last decade is littered with abandoned products that burned the people who bought them. The XServe. The Xraid. Shake. Web Objects. Final Cut Server, which lasted less that two years. And now, what may prove to be the final straw for many people, Final Cut Pro has been unceremoniously dumped and replaced with Final Cut Pro X. In a repeat of the introduction of the latest version of iMovie, a from-scratch rewrite that skimped many features and drastically changed the user interface. Apparently Apple didn’t learn from that experience, but this time it may be a more painful lesson.
The professional and corporate markets are very different from the consumer space, and Apple’s consumer focus coupled with smaller market share means it can get away with difficult and jarring transitions without threatening their bottom line. Consumers will generally adapt to whatever changes. They’re perfectly willing to hold on to old hardware and software and not be too concerned about a lack of support or whether or not they’ll be able to keep their existing programs when they upgrade.
When you make your living using a tool your relationship with that tool changes. People have spent literally years learning and mastering Final Cut Pro. It is a complex beast with many options. It needs to have lots of options because it is used to solve a lot of different kinds of problems. Editors and post-production houses have built up complicated heterogenous workflows using Final Cut Pro as one part of their toolkit. This is a considerable investment of time and money and it done for one reason only: to become as efficient and effective as possible, because in the media time literally is money, deadlines short, and if it wasn’t for the last minute nothing would ever get done.
Apple has put these people in a serious bind. They can’t continue to use Final Cut Pro 7 for much longer. It is a 32-bit application that will not be getting software or security updates (and when you’re working with HD video – as nearly everybody is today – being 64-bit is no longer an optional luxury). At some point it will no longer run on Apple’s then-current hardware and operating system. At the same time competitors including Avid and Adobe has products that are 64-bit ready, that work today, and whose fundamental user interfaces and options haven’t changed. Unlike Apple, they have protected their existing customer’s investments in their products, and this is the fundamental difference between Apple and everybody else: in their headlong rush to the future Apple is not concerned with who gets burned or who gets left behind.
Not only that, but Final Cut Pro X is so different from Final Cut Pro 7 that upgrading from 7 to X has a learning curve. In that case you might as well bite the bullet and do the learning curve for Avid or Adobe Premier instead, because those products have demonstrated a longer shelf life. It is sad, really, because many of the features and capabilities that were dropped in the new version of Final Cut were exactly the things that got Final Cut into the suites of major Hollywood editors – which in turn helped drive adoption in the rest of the video production market.
All of this doesn’t really impact me anymore – I don’t manage the tech in an edit suite these days. To me this whole fiasco with Final Cut is a symptom of a larger problem that Apple will not be able to ignore forever. As the Mac’s market share increases and the needs of the customer base get more diverse Apple’s one-size fits all approach, coupled with a dedication to disruptive change, are going to create challenges that Apple can’t ignore by putting their fingers in their ears and shouting “magical” at the top of their lungs. Apple must make a firm decision: it will compete in the professional space, or leave it to others and focus solely on the consumer market. And it cannot be a wishy-washy decision without commitment or follow-through. If Apple decides to stay in the professional space than it will have to confront those business practices which hurt them there, even if it means some of the sacred cows get sacrificed.
In an earlier interview Steve Jobs made a comparison of computers to trucks, and iPhones and iPads to cars. Not everyone needed a truck. He’s right. Now Apple needs to internalize that distinction and learn how to build Macs and Peterbilts and realize that the people who drive them aren’t interested in Pintos in a truck chassis.
If you’re curious what the hubub is all about or how the pro community is reacting to this, David Pogue’s recent columns and comments section are an enlightening read: Original review 2011-06-24 and follow-up 2011-06-24
VS2010 Team Foundation Server MCTS exam
On Monday I visited one of my local ProMetric sites and took the MCTS exam 70-512 “Visual Studio 2010 Team Foundation Server Administration”. I have not taken one of the Microsoft cert tests before, and based on what I’ve been told by people taking the development track exams I was expecting the it to be much harder. I passed on the first try.
I strongly suggest that any deveopment team that is making use of TFS should have someone on the team familar enough with TFS to pass this test, even if your department has a separate infrastructure team that manages it. TFS has become a complex product that can do many things, and having a solid understanding of its components and architecture will help any team that is dependent on it for their daily work, or wants to improve their development practices.
This is a relatively new test and, it would appear, not one frequently taken. You will find no study guides or solid training books specific to this topic. There are, however, two resources I strong recommend for those thinking of taking this test:
1. Unofficial Pep guide for TFS 2010 Administration Exam (70-512) breaks down the four exam sections and provides links to help file and MSDN documentation online for each objective. ( link )
2. Professional Team Foundation Server 2010, published by Wrox in March 2011 and is the best prep book you can get. In addition to covering a lot of what is on the test it also covers a lot of command line options you wouldn’t normally use, and discusses where the Eclipse plug-in or Team Explorerer Anywhere interface looks or works differently. It also discusses some third-party addons, such as TFS Power Tools and TFS Admin Tools which add some much appreciated functionality to the base system. Two of the four authors are part of the TFS program team at Microsoft, and this document is less dry than the compiled help files. ( link )
Speaking of those additional tools, here are the ones you most definitely want to download:
- Team Foundation Server Power Tools ( link ), which adds some new capabilities to managing TFS and adds a Windows Explorer shell enhancement for managing source control outside of Visual Studio.
- The TFS Admin tool at CodePlex ( link ), which will make life easier when managing user permissions in a TFS installation.
The 100 Things Challenge meets the Rules Lawyer
A few months ago I finished reading Dave Bruno’s “The 100 Things Challenge”. The ‘challenge’ is essentially a reaction to unrestrained consumerism, and a recognition that constantly buying more things and accumulating stuff around you does not provide the contentment marketers want you to think (duh, we know that). Everything you own has requirements of you: where do you store something, how do you maintain it, and how do you keep track of it all.
The original blog post describing the challenge is here (http://guynameddave.com/about-the-100-thing-challenge/), but the actual number is purely arbitrary. The idea is to live and own no more than 100 individual things. The problem with this challenge is that you quickly get caught up in the semantic definition of a thing. At first this seems easy. I own a car, that’s one thing. I have a television in the living room and one in the bedroom, that’s two things. Sofa, one thing.
Then the simple problems start. Does a kitchen table and four chairs count as one thing or five? The chairs had to be purchased separately and individually, so it really is five things. The table is pretty useless without the chairs, though, so from a utility standpoint they really count as one. On the surface a silly and inconsequential question, but when you only have 100 things as your rule the difference between one and five is pretty big.
Let’s get harder. What about the Wii? Well, that’s one thing, and you could make the argument that the sensor bar is attached to the console so they should count as one thing. Then there’s the two controllers – still one thing? How about the Wii Fitness Board? The Playmat? The Zapper? How about the 16 games (of which 5 of them are actually mine)? We could be talking 23 things here – almost 1/4 of my alloted “100″.
Now here comes the worst. In his book Bruno does a bit of convenient hand-waving when he lumps all of his book collection into the collective “library” and counts it as one thing. To me, it feels like a cheat. There is a world of difference between managing 10 books, 100 books, and 1,000 books – especially when you have to pack them to move. My own count is somewhere around 223 (it varies a lot as I do dispose of books periodically, but I’m always bringing in more of the damn things). I suppose I could break that up into four “things” based on what they are stored in (1 full bookshelf, part of one bookshelf, a short two-shelf book shelf, and the bed’s headboard). That creates some kind of reflection of the space they take up, but it’s deceptive. I would never have guessed I had anywhere near that many until I’d actually counted the.
CDs? Easier and harder at the same time. I counted up 620 of the little shiny discs (that actual physical platters, not titles). I long ago started throwing away the jewel cases and cardboard sleeves and storing them in those big zipper binders you can get at the Best Buy, and I’ve now filled 5 of them. So…five things? Or still 620?
DVDs are even worse because of the number of television shows that came on 6-10 discs each season. I’ve done the same kind of thing I did with the CDs, but while it was reduced the physical space the 1,000 of the freaking things take up it has not diminished the mental and emotion weight that comes with the fact that I own that many of them.
After all that, I come to the question that doesn’t even get raised in the book but really can’t be ignored: digital media. Does my Kindle count as one item regardless of whether I have 1, 10, 50, or hundred’s of ebooks loaded onto it? Can I honestly call my iTunes library one “thing”, or do I just lump it under “computer” and assume it is already accounted for? Having 600 albums on your iPod is neat when you know what you want to listen to, but when you don’t and you are trying to pick something to listen toright now…the more options you have to scroll through the harder the choice can become.
I still, bizarrely, feel weighed down by that.
Winding up while winding down
Today I wrap up my first week and it feels like a strange mix of relaxation and anxiety.
I’m not on assignment yet (which, in the consulting world, is referred to as an “engagement”). Sales has some deals in the pipeline. My boss has asked what kind of work I want to be doing. My first answer is “something that pays”. Seriously, having done my reading on how consulting firms work and now having sat here for a week without one billable hour makes me worry simply because I don’t know if this is normal or not.
I don’t have very strong feelings about what types of work I want to be doing, yet. I’m used to seeing what work needs to be done and doing it. That’s served me well for 17 years so it feels strange to have someone actually ask me what I want to do, and I have a hard time not answering without a question. What are your pain points? What do you need?
In the meantime I setup a copy of Team Foundation Server in a virtual machine and read through the documentation Microsoft provides in preparation for the 70-512 exam. It is one exam on a product I used at the last job so it is low hanging fruit and a quick win.
I’m enjoying this. The atmosphere is very relaxed, and I haven’t felt any stress that wasn’t self-induced.
The first day of work never feels like “work”
I am now officially employed and officially a consultant. I know. I have the polo shirt.
It felt more like a vacation than it did work, which is pretty normal for first days. I met my boss, talked a while, got my laptop (a really sweet machine – thanks guys!), got a free lunch with my boss, his boss, and some colleagues. Came back, did my HR paperwork, and did some setup on my machine.
Now I have to prep my resume for the sales people to use and probably work on a certification plan. I still don’t know what my first assignment will be or what the rest of the week looks like.
My wife commented that I was smiling when I got out of the car this evening. This is a good sign.
Getting uncomfortable, on purpose
Friday was my last day at the old job.
It feels strange referring to the place where I spent the last twelve years of my life as “The Old Job ™”. I was having a case of cold feet earlier in the week but the last day just felt…there. There is some sense in which it hasn’t sunk in yet. That will probably happen when I get the odd call asking for the password to some ancient server we haven’t reconfigured in five years. Perhaps when the last paycheck comes.
I remember starting a new job in 1999 and spending a considerable amount of time filling out HR and benefits forms. These days your new employer’s HR reps will send you the forms in a big zipped file of PDF forms and word files. All printed out. Mostly filled out. I’ve got a list of clarifications. Emptied my Livescribe pen, cleaned out my tasks lists. I am as ready as can be.
Merlin Mann has a new podcast on 5 by 5 called “Back to Work”. Unfortunately it tends to ramble a bit but is worth listening to. One installment dealt with fear and how it holds a lot of people back, particularly in creative fields. Software developers do work in a creative field; truly a lot of people do creative work but don’t think they do because they aren’t making record albums or paintings.
Anyway, in this episode Merlin kept coming back to one question: “Are you gonna die?” Obviously, no. Once you get past that you start to really question what it is you’re afraid of. In my case it was giving up a comfortable established position where I had considerable tenure and knew my work environment inside and out technically and politically. Now I’m going to be the new guy, establishing my qualities all over again, in a new environment I don’t yet have figured out.
When I was younger is would have terrified me, but today it is simply uncomfortable. That isn’t a bad thing. To quote Larry Winget, the world’s first Irritational Speaker, being uncomfortable is a good thing. It motivates you to make positive change in your life. Highly successful people seem to make a habit of this, in extreme cases running toward the things that scare them. That will never be me, but I can test myself by entering an entirely new type of career.
Tuesday should be very interesting, but Monday I get a free lunch.
It only took me 96 episodes to do this
I host a podcast called The Geek Life (www.thegeeklife.tv). After a couple of years we’re closing in on episode 100. One of the things I’ve wanted to do for a very long time is get a permanent desk mount for a Blue Snowball microphone I bought ages ago. I didn’t use it often enough because I had a crappy desk stand and got tired of setting it up and taking it down every week.
I bought this microphone boom and c-clamp from BSWUSA.com. Shipping was free and it still came in two days from FedEx ground. They even threw in a candy bar to my wife’s delight.
Next on my list, of course, will be a shock mount and a wind screen.

