Archive for June, 2009

It’s All About the Apps

Jun 29 2009 Published by Bryant under Programming

For p-diddy, it’s all about the benjamins; For Weird Al, it’s all about the Pentiums; For software platforms it’s all about the apps!

weird_al

If you are in the business of selling a software platform (which could be anything from an operating system to a browser), you need to have the most apps. Apps are what set you ahead of the competition. He who has the applications rules!

Let’s take a look at how software apps have made the difference on a variety of platforms

All About the Desktop Apps

Back in the nineties Steve Ballmer gave what is now famously known as his “monkey boy” speech in which he emphatically (and with a little too much sweat and enthusiasm) jumped up and down chanting Developers, Developers, DEVELOPERS!

Ballmer Developers

It may look silly (and slightly scary) watching the video now, but Ballmer was essentially correct to laud developers. It was largely due to developers that windows became the dominant desktop platform.

Because Microsoft aggressively courted developers and made it easier and easier to develop applications for their platform (VB 6 anyone?), they had all the applications.

And having the all the applications, leads to the following benefits:

  • Familiarity: When businesses and individuals went out to by computers, they bought the ones that had the applications they needed and were familiar with. For the longest time, that was the PC.
  • Price: When lots of developers are competing for applications on the same platform, they start to engage in price wars which benefits the consumers.
  • Specialization: With lots of developers making applications for the same platform, they begin to differentiate themselves by specializing in niches (eg – Order Tracking software for dentists).

And once you have people familiar with certain apps, it becomes very difficult to get them to change to another platform. For the longest time, I wouldn’t buy a Mac because I didn’t want to deal with “re-learning” how to do everything from composing a document to writing an email.

All About the Browser Apps

I started to use Firefox rather than IE because of its plugins (or apps). Once I started to use Firefox with all of the apps it had, there was no turning back for me. Let me give you a sample of just a few apps that won me over:

  • Ad Block Plus:  I couldn’t imagine browsing without Ad Block Plus. It eliminates all the annoying flash ads and makes browsing a totally new (and much more pleasant) experience.
  • Firebug: When doing web development, I now feel handicapped without firebug — the brilliant web debugging tool add-in for firefox. It does it all: Debug javascript, analyze HTML, and modify CSS on the fly.
  • Vimperator: For keyboard junkies like me, vimperator makes it possible to totally avoid the mouse while browsing. Definitely a power-user tool, but I love having the option. There’s nothing like this on IE.

By making its browser easily extensible and encouraging third party developers (in the same way that Ballmer did for the desktop), firefox has leapfrogged IE in the eyes of many.

All About the Phone Apps

If you need any more proof about why developers and applications are important, you can look no further than the eponymous iPhone. When asked why most people are getting iPhones, the most common answer is because of its apps. In fact, Apple has realized this and incorporated it into their advertisements — “There’s an App for That!”

overview-hero-20090608

The iPhone is light years ahead of every other phone due to all the applications it has. I wouldn’t even consider using another smartphone because I’ve become so attached to all of the great apps on the iPhone. And here’s the kicker…due to the active developer community on the iPhone, it’s getting more and more apps everyday. Which means that your existing phone will be better tomorrow than it is today – simply by downloading new apps! That is a true competitive advantage.

In the software platform world, it’s all about the apps!

View Comments

Three Rules for Using Twitter Effectively

Jun 15 2009 Published by Bryant under Programming

twitter-bird

I tried twitter a while back and promptly deemed it to be a waste of time. It just felt like I didn’t need to be that connected. In fact, isn’t a good practice to limit your information streams? But I’ve recently realized that there is value in twitter if used properly…

After reading The Twitter Book over the weekend, I’ve gleaned what I consider the correct way to use twitter so that it becomes a valuable new information stream rather than a mundane waste of time.

I’ve condensed these ideas into three rules:

  1. Follow Interesting People: This is the most important. You should follow people who you can learn from. When I originally looked at twitter a while back, I had no idea who to follow so I just picked a handful of my friends who happened to be on twitter. I’d check it every so often, and it was not too exciting. I wasn’t really learning anything new except for some trivial updates. To really enjoy twitter you need to pick a niche that you are interested in, and then find the twitter thought-leaders for that niche. For example, if you like reading sci-fi/fantasy Neil Gaiman is on twitter, and is a great person to follow. If you don’t know who to follow there are a number of sites to help you like wefollow and whoshouldIfollow. You will organically discover who to follow by seeing who others most often follow. Finally, every Friday on twitter there is a tradition of sending out recommendations of who to follow so keep an eye out for #FollowFriday.
  2. Don’t Use the Website: To really experience Twitter, you should download a twitter desktop application like tweetdeck. It’s free and allows you to easily send links and pictures through twitter as well as breaking those you follow into groups. For example, I have all my technology folks in one section and the remaining people grouped in another. Also, I use twitterfon on my iphone which again is much better than going directly to the twitter website. It just makes for a more enjoyable experience when you have the right tools.
  3. Join the Conversation: Ever wanted to have a conversation with the author of a book you just read? Well here’s your chance, but the key point is to add value not just noise. One of the unique aspects of twitter is that it is so low friction, it’s easier to communicate than even sending an email. You can post a comment about a book and an hour later the author may have a personal response (as happened to me) because it’s so easy to write a 140 character response. Because it is low friction, you should twitter regularly (daily) but not too often (hourly). If you twitter too much it tends to overwhelm people who are following you. If you’re not sure what to tweet, there are a number of ways to start: Retweet something interesting that you’ve seen, ask questions and repost the best answers, put an entertaining or informative spin on something that happened to you that day.

Have you ever wanted to be a fly on the wall and follow hear other people’s conversation or would you like to find out what your favorite athletes do in their down time? Twitter is your opportunity to do just that.

And if you’re really bored, you can even follow me :)

Twitter isn’t so much a broadcast medium as it is a discussion channel. Indeed, the secret of social media is that it’s not about you…It’s about how you can add value to the communities that happen to include you. If you want to make a positive impact, forget about what you can get out of social media and start thinking about what you can contribute. Funnily enough, the more value you create for the community, the more value it will create for you.

-The Twitter Book by O’Reilly and Milstein

View Comments

Why Are Developers So Zealous?

Jun 06 2009 Published by Bryant under Programming

What is it about developers that cause battles to the death regarding the proper way to indent code or the best programming language?

Some developers feel a real need to spread their programming beliefs by the sword. Sort of like another time over a thousand years ago when people felt the belief to spread their ideas by the sword…

screenshotaa64_crusader_tn

Are we crusaders again? Do we really need an example of the inane debates that developers spend countless hours arguing about. Let’s list a few shall we:

  • VB vs C#
  • .NET vs Java
  • EMACs vs VI
  • Mac vs PC
  • Agile vs Waterfall
  • ROR vs Django
  • Tabs vs Spaces
  • NHibernate vs Entity Framework
  • MS Test vs NUnit

There’s something about the developer mindset that causes us to fight about these tools and methods. I think it may be the attention to detail or the perfectionism that’s hard-coded into a lot of great developers. We want to build the best systems and we want to feel like we using the best tools and methodologies!

But here’s the crazy thing. It really doesn’t matter what tools we use as long as we get the job done. While everyone’s complaining about using the perfect tool or methodology, I plan to focus on shipping code. That’s the metric of success that matters.

In fact, some of my favorite apps are written in the wackiest programming language or using no methodology at all. All I care is that it works and solves my problem. WordPress is written in PHP which we all know is a ghastly language from a purist perspective, but it sure is a great blogging engine. Recently, I just re-installed my beloved slickrun and noticed that it needs the delphi (!) library to work properly yet I’ve installed that program on every machine I’ve had over the past 5 years.

I once had a CIO capture this sentiment best when he told me:

I don’t care if you write it in Cobol as long as it comes in on-time and under budget!

View Comments