Apple TV

I think the Apple TV has the opportunity to redefine the living room much like the iPhone redefined the phone. But I’m getting ahead of myself.

Traditional television service

This is the Direct TV and the Comcast of today. Currently, you pick a package, and you subscribe for a monthly fee for a subset of the channels they offer. Most (if not all) subscribers use only a fraction of those (40 music channels? Really?). Oftentimes, it’s necessary to subscribe to a whole different tier of programming for only one or two desired stations.

According to Forbes, each network is taking home an average of only $0.26 a month per subscriber (ESPN however, makes $5.13 a month per subscriber). Obviously, there’s a financial gap that is filled with advertising revenue. The entire revenue model is based on selling the content cheaply in order to have eyes to advertise to.

The new kids on the block

Enter Netflix and Hulu, charging you a much lower monthly fee for (arguably) much more limited content. Netflix has chosen to do it without ads while Hulu has decided to show ads to their subscription users.

Either way, these two services aren’t exactly like a cable provider, but they’re still a middleman between the user and the content they want. If I only want to watch the one TV show, there’s no way through either service that I can watch just that show. Obviously, if I just wanted to watch one TV show, I could purchase a season pass on iTunes, or buy the DVDs when they come out. Neither of these options are “live”, but they’re good solutions for the sporadic TV watcher.

Where Apple comes in

I think that Apple has an opportunity to meet these two extremes right in the middle with their “hobby project”, the Apple TV.

Imagine for a moment that you are an executive at a television studio, let’s say USA Network. One day, you get a call from Tim Cook, and he tells you that you can put an app on the Apple TV that will allow consumers to subscribe to your content for $2.99 a month. This subscription will give users full access to USA Network content, including whatever is currently playing live on your cable station. All of your content, regardless of how old it is, will be allowed to show commercials (think Hulu, but not internet kiddie crap), and there isn’t a way on the device to skip them. All of a sudden, you’re making $2 a month, per subscriber (Apple will take a 30% cut, naturally), and you’re keeping your advertising revenue intact (or possibly expanding it, since you can show ads on old and new episodes).

Now I’m not a TV exec, but I think that sounds like a tempting offer, especially for smaller networks. Bigger networks, such as ESPN, may charge more. Imagine a $15 or $20 subscription to ESPN where you can start SportsCenter whenever you want. There may still be premium packages (in-app purchases) such as NFL Sunday Ticket or NBA League Pass, so once again, the current revenue model isn’t disrupted.

The catch

The problem with this whole idea is that if only one or two networks agree to Apple, the cable providers will cut them off. In order for the model to take off, the networks would have to agree en masse, and all be ready to go with apps when Apple launches. Only then would they still be able to negotiate with the cable providers in order to keep both subscription options available.

Bonus round

What if Apple went beyond the current gaming capabilities of the Apple TV (Air Play from an iOS device), and offered a model about the size of the Mac Mini that was a full fledged gaming console? With the recent news about the new PS4 and the rumored next generation Xbox, there doesn’t seem to be much innovation on that front either.

Tagged with #apple, #rumor, #speculation, and #thoughts.

Redesigned with Tags

As one of my new year’s resolutions I wanted to redesign my blog and start long-form writing on a regular basis. Just a few days before the end of January, I’m able to check off at least half of that resolution with this iteration of my blog. I wanted to leave this design very sparse and focus on the content, and was quite inspired by the general principles behind the Blaskan theme for Wordpress. I like how it turned out, and I think it will allow me to post both semi-long and short posts.

As part of this redesign I also added tags. Hopefully as I write more the tags will be a good way of organizing and accessing content. If you’re using toto and wanted to implement tags, my solution is pretty simple, but my fork of the project is on github. If you’re feeling ambitious, feel free to use my code as a guide to roll your own solution. I wanted to quickly outline the changes I made as documentation for myself and anybody who is looking to implement tags on their site.

The first change I made was to the 'archive' method. I added the logic to filter the articles by a single tag. Here’s the updated method:

The main change starts on line 9, but don’t forget to add the 'tag' variable to the method signature (line 1). The logic is pretty straightforward. Basically, if there is a tag passed (a url like /tag/testtag), we need to iterate through the articles and check if testtag is contained. If there are any articles with that tag, they’re returned.

The next change I made was to the 'go' function, which is how toto decides which URLs get directed where. You need to put this 'elsif' clause after the 'if' and before 'elsif respond_to?(path)'. Again, simple logic, if the first part of the URL is 'tag' and there are two portions of the URL, we’ll call the 'archive' method we just edited.

The last thing we need to do is add the 'tags()' method to the 'Article' class. You can add this declaration anywhere inside the class definition, but I put it right by the other attributes that are being pulled from the YAML (do a search for 'def title' and you should find it).

And that’s it! Now you can include as many tags as you want at the top of your articles in a comma-delimited list such as 'tags: test, anothertest, yetanotherone'. My solution assumes that tags don’t have spaces, but you could modify the code to support tags with spaces if you wished.

Again, the complete code is on github. If you have any questions or comments about this article, @reply me.

Tagged with #redesign, #code, #development, and #ruby.

In this day and age, the half-life of a moment is quickly fading into non-existence. Technology is evolving at an ever increasing rate and the software that powers it along with. Fads that used to last for months and years now last for a few short days or weeks. Of course, there are the loyal few that will stick with it, they always have, but public adoption is fickle and elusive.

As I contemplate building products and solutions for this age, I ponder what makes things truly successful. It seems that most good products rarely even see a 2.0 release with expectations moved far beyond what the original product could have ever lived up to. We see it all around us, iPhone apps, phones, tablets. There is always something better; something that does a little bit more. How then, do you build a lasting product that will withstand the test of time?

I think the key is building an experience. What keeps you going to Starbucks day after day? Of course you could say its the coffee; but can’t you make it at home for less? What brings you to Starbucks is the experience, the atmosphere, the doing of it. I can think of countless other examples where a product is memorable because of the experience of using it.

Apple’s entire retail sales model is based on this concept. What makes Apple retail stores so profitable? Arguably, it’s the fact that the customers form an almost immediate connection with whatever product they pick up. They can feel the quality, and that leaves an impression. As potential customers begin to experience what it means to be a Mac owner, or an iPhone or iPad owner, they visualize how they’ll use the item in their own lives. In that very moment, they are making an indelible impression on their perceived needs. They no longer just want an iPhone or iPad, they need it.

Now I don’t have a degree in neuroscience or psychology, but I truly believe that a rough approximation of this phenomenon is what makes something stand out. Not necessarily because it’s better, but because you had an experience.

That brings me back to my question: how do I, as a creator, craft an experience that will transition my product from a week-long conversation on twitter into a staple. What can I do to cut through all of the distractions and make my product invaluable? How can I be different? I have two ideas, but I’m not sure if either of them is right.

  1. Fill an exact need, and fill it perfectly.

    This is much too easy to say, and all too hard to do. In essence, your product needs to be clearly defined. It’s hard to hit the target if you don’t know what it is. Day One, a journaling app for Mac and iOS, does this extremely well. It’s purpose is clearly defined, and the app lives up to the definition. It has plenty of neat features, but how does it fill the need? Put quite simply, it does everything you’d expect it to do, and it does it without getting in your way. The makers have decided that when you write a journal entry you shouldn’t need to worry about selecting an appropriate date or a place to save it, all you need to do is write. In this case, filling the need means simplicity, and handling some of the minor decisions for you.

  2. Make a great first impression.

    Another thing that is clearly much easier to say then to do. The goal to change the user’s mind from “just another product/app” to “I can’t live without this”, has to happen quickly. In most cases, I know within one or two launches of an app whether it’s a keeper or not. The best way for somebody to fall in love with a product is to use it, so configuration should be kept to a minimum (if needed at all). The ideal first launch of an app is to begin doing whatever it is the app is designed to do within the first 15-30 seconds. The experience you’re leaving the user with is that your product allows them to do exactly what they came to do without having to try very hard.

Both of these ideas contribute to the user’s initial experience with your product. They convey that your product allows them to accomplish what they came to do. When I look at the apps on my iPhone or Mac, the apps that have stuck are the ones that fulfill a specific need and gave me a good experience the first time I used them.

In the end, it depends on what kind of product you are developing, but these are some of my thoughts on extending the half-life of the products we each build. What are your thoughts? Have you seen success approaching this challenge a different way? I’d love to find out what you think, please let me know in the comments below or over on twitter.

Tagged with #thoughts, #success, and #development.

I'm back.

I just returned home from serving a two-year mission for the Church of Jesus Christ of Latter-day Saints in north Los Angeles. It was a wonderful experience, and I learned lots. That being said, I missed being involved in the tech world and being able to blog some of my thoughts on current events or personal projects. To “jump back in”, so to speak, I’m going to redesign my blog and rewrite some of the backend to include a few new features.

My hopes for this blog are manifold: to be able to provide a good technical resource for cocoa and web developers; to provide my opinion on design and development trends; and provide productivity tips for working in OS X. I hope that you will find things on this site that interest or help you. I’m not trying to monetize this blog, but if you find something that helps, a quick thank you via email or twitter would give me a little extra push!

I think that’s about it for now. Thank you for stopping in!

Tagged with #intro, and #redesign.

“This might not work…”

I was reading an article the other day when I came across these few words to live by. As we’re constantly pushing the boundaries of what might not work we will find the things that not only work, but work better then the “accepted solution”. We can’t be satisfied when somebody tells us something is impossible. I love this quote from Muhammad Ali:

Impossible is just a big word thrown around by small men who find it easier to live in the world they’ve been given than to explore the power they have to change it. Impossible is not a fact. It’s an opinion. Impossible is not a declaration. It’s a dare. Impossible is potential. Impossible is temporary. Impossible is nothing.

Oftentimes we trap ourselves inside boxes of thought which only allow us to come up with solutions that are widely used. These solutions will work, but they are often clunky, one-size-fits-all answers. As we allow ourselves to push out of that box, we may be willing to try things that turn out to be much better, even if it appears it “might not work”.

Tagged with #thoughts, #impossible, and #motivation.