26 October 2008

Idea's for the iPhone

I have been using my iPhone 3G for about three months now and I have been thinking of some really great ideas that Apple might want to work into their next release of this fine product. One idea that came to me the other day was videos. It would be really cool if I could take short video's on my iPhone and then view them. Or, another one is, it would be cool to be able to take photos and then send them with MMS to another person! Here's another... it would be cool if it could listen to my voice and figure out who I wanted to call by recognizing their name!

Yeah. That would be cool

My 5 year old Sony can do those things. My Son's 7 year old Samsung flip phone call do all that and can even convert voice to text messages in real time.


Seriously though, the latest patch for the iPhone OS, 2.1 is worth using. 1) it didn't turn my phone into an iPuck like that last patch did and, 2) it works faster, and 3) the phone doesn't hang up so often in the middle of calls anymore. So, yes, it's worth doing.

Sony, if you're reading this... please save us.

Patch Windows Now

So, Microsoft recently released an "out of cycle" patch for all versions of Windows because this problem was so severe that a cracker could actually take over control of your computer.


Ho hum.

Isn't that basically the same as pretty much every other vulnerability Windows has? If we worried every time Windows was vulnerable we would never get anything done. Announcing that Windows has a vulnerability that allows someone to take over your machine is like saying there is a MAC application that will let you play music or paint a picture.

It's not all that uncommon.

So, that leads me to think... what's really up? There must be something else going on with this patch to have them react this way.

Hmmm.... inquiring minds want to know.

24 September 2008

Help for Vista

When I purchased my Dell M1330 last year it came loaded with the Windows Vista OS. Yeah, I was one of the lucky ones who got to run the first version of Vista. It was quite an adventure. Imagine buying a new car that looks really cool but as you are driving down the road you can't help but notice the odd part falling off. "Oops! There goes the rear view mirror. I don't really need that. Oops! There goes the trunk lid. That's just for looks. Oops!... ". You get the idea.

Well, I am pleased to report that I have found a way to run Windows Vista very reliably AND improve it's performance. My solution is to add a bit of open source software! I switched my M1330 to Linux about 9 months ago and have been gradually weaning myself off of all of my Windows software. Once in a while though, I need to be able to run something under Windows (less and less often as it turns out). So, for those occasions I have created a virtual machine with Sun's VirtualBox software and installed the latest version of Vista. The result is nothing short of amazing. I find that Vista runs seamlessly inside Linux so much so that it seems even faster than when it is running natively. Not only that but I can run all of my other old operating systems as well ( even at the same time if I want to! ).

Microsoft is alpha testing their new Windows 7 OS now. I don't know if it's going to be any better than Vista but I am sure it will look great and like a boy scout helping someone cross the road, I bet open source will be there to help.

10 September 2008

Google Chrome Report

It's awesome. I do miss my plug-ins but as far as a high performance browser experience goes, it rocks.

* lighting fast
* very easy on resources (way less than FireFox)
* it's laid out very nicely maximizing the browsing space
* transparent - it works just like you would expect, sites look correct, etc.
*detachable tabs ( awesome! )
* multi-processed so it never locks up, even when loading proprietary Adobe plug-in content.
* Free as in free beer
* Free as in freedom

Give it a try.

03 September 2008

Google Chrome

Google's new Google Chrome browser was released in beta form this week. It will have to be seen as a pretty valuable addition for people to switch but if is even remotely as good as Google Earth or Picasa, it's going to be huge. I will report back when I have tried it.

21 July 2008

Best Practices?

Joel recently wrote about the use of menus in applications saying that developers shouldn't hide or disable menu items. He writes that we should leave menu items enabled, whether or not they are available.

I have to say, I couldn't disagree more.

Maybe Joel wasn't around when standards for user interface behaviours were being established. I am all for innovation but to change the behaviour of such a basic interface element so late in the game makes no sense without a compelling reason to do so and will only frustrate users.

It reminds me of one project i worked on where the developer had come up with an innovative interface design. He had developed an application so that rather than having a user press and release the left mouse button on a menu item to select it, users would instead left click to pull down the menu and then right click on an item to select it. The idea being that it helped prevent users from selecting the wrong item if they let go of the left mouse button accidentally on the wrong item. True story.

I think, realistically, most experienced developers will disregard this post from Joel and will instantly forgive the author because he makes such a huge contribution in other ways so this is not meant as a personal attack on Joel.

I am writing this post because Joel's article points at something else. There is a tendency within IT organizations to use the word "Standards" or "Best Practices" when they want to enforce conformity and by definition rule out any innovation in the area addressed.

In my business have been very interested in the use of these words because my work is about innovation and the words "Standards" and "Best Practices" are by definition the antithesis of innovation. They basically mean "this is how we do it" and "the matter is closed for discussion".

To be clear, I am a big fan of standards and even some "best practices" but many of the organizations that use these words also say they want to "encourage innovation". If it's true that we want to encourage innovation, then where we set the boundary of what's a standard or not, or what can be called a best practice or not, is critically important if we truly want to encourage innovation.

For example, I am a big fan of having standards around say... the character representations we use. I know that sometimes it's hard to tell a "1" from an "l", and to solve this problem we could come up with an innovative solution. We could choose a different shape for lower case "L" so it doesn't look so much like the number one. Perhaps a small square? That's not being used. So, from now on in all of my programs I could just use a small square instead of a lower case "L". I would explain in the documentation that I have implemented this innovative new feature and before too long my users would get used to it.

Innovation in the area of the characters we use, or the network protocols we use on the internet, or what a dial tone sounds like, or how a basic menu functions, doesn't work. I think the reason it doesn't work is because these are areas where we have solved the problem sufficiently that the cost of innovation is outweighed by the cost of implementation of that innovation. Basically, there is not a high enough benefit in the innovation to recoup the high cost of switching to the innovation.

As an alternative example, some companies have standards around the operating system or application frameworks they use. Switching from say Windows and .NET with an Oracle back end to something like a LAMP back end would be against the "best practices" rules of many IT shops but when you really think about it, the cost of making such a switch can be very small in a world where applications are delivered via the web and where the user is for the most part unaware of the delivery platform.

The benefit of moving to an open source server platform can be phenomenal and the costs are comparatively small for large numbers of users. To rule out an entire genre of technology simply because of a "best practice" makes little sense when essentially, the user can't tell the difference except perhaps increased performance and reliability.

Here's my best practice: Use standards and best practices only where they foster innovation and generate real measurable value.

30 June 2008

New Improved DRM

Trying to fix a broken business model by using enhanced DRM reminds me of the Canadian gun registry fiasco. Get everyone in the country to register their guns so that we can reduce crime.


Two billion plus later the wonderful gun registry folks realized that maybe the criminals wouldn't want to register.

The new business models will be based on value provided and cost to deliver, not on making your customers jump through hoops to protect your monopolies. As software becomes a commodity, it behaves like any other commodity and the price goes down to the point where the supply meets the demand.

DRM will always ultimately fail - ingenious DRM crackers will find ways to circumvent it - unless the software just isn't that interesting, in which case, you probably don't need DRM because no one cares.

Open source makes all of these issues go away... software is freely copyable, modifiable and distributable. No one needs to track licenses. No one needs to spend extra human and computer cycles running extra software on their entire infrastructure to protect someone else's monopoly.

With open source software like GPL based varieties - for sure there are no infringement issues - the only issue is, does it do what you need?

So, let's stop pretending that the software pirates are going to comply with the new-fangled DRM strategy and instead get real about the benefits of leaving the old paradigm behind and embracing the new.

19 June 2008

Google Docs

Like there weren't already enough nails in the "Old Tech" coffin.

The number of features listed in the what's new for Google Docs is quite frankly unbelievable. It's all summed up here on this simple what's new page... that has a "no big deal... heres some new stuff" sort of attitude. And, of course it's the same price as the rest of their stuff, zero.

It's like they do the opposite of other companies.

Old Tech Pitch: "We have blessed you with an new version of our operating system. Take our word for it, it's more secure, more friendly than ever before"

Old Tech Experience: When you run it it just sort of falls apart as you use it.

New Tech Pitch: "no big deal... here's some new stuff we've built"

New Tech Experience: "holy sh*t, this is amazing!" followed by blog posts, emails, phone calls, watercooler talk.

What an amazing approach... adding real value instead of pretense.

This sort of attitude will not only change software and the world, it might even change corporate IT.

09 April 2008

Google Apps Engine

In case you haven't heard, Google has just released it's new Google App Engine, which is basically a way to run your own applications on Google infrastructure. When I first read about this I was literally shaking just thinking about the implications. Having built several application frameworks that enable regular folks to write extraordinary web applications it's clear to me that the implications of this technology go far beyond simple hosting - though that alone is awesome.

No, this is going to usher in a whole new world of technology. Google has once again taken something that most consider complex and out-of-reach for most people and have created a platform that I think many, many people will be able to take advantage of with ease.

Basically, you can write your web applications in the open source Python programming language and Google will host it for you... for free of course. If you haven't programmed in Python, now would be an EXCELLENT time to give it a try. It's been my favorite language for 10 years or so and though it's quite popular in it's own right, getting a nod like this from the big G doesn't hurt.

Once I have had a chance to play with Google Apps I will report back. It will no doubt have a significant impact on my company's own DataZoomer project so I am excited to see what's there and to begin to create what's possible in this new realm.

05 February 2008

Smarter Applications : Part 1

Infrastructure is being reduced to a commodity. The network is a commodity. The operating system has now been comoditized. Applications are next. Specifically, server side applications. Why? Because it's easy to run server side applictions. They are zero foot print, scalable and cross platform - very compelling reasons. Also, with the help of the latest generation of application frameworks, it's easy, quick and inexpensive.

Once we have our key applications on the web, I think the desktop will be the next to fall.

Why are we still designing applications using the GUI and the WYSIWYG, the same way we have been doing for the past 25 years? Anyone who has actually used a modern word processor to create a document with embedded tables and images in it can tell you it's not because it works ( it doesnt ).

In a world where the browser is the personal computer, and storage and CPU resources are free and have essentially unlimited power there is probably a better way to develop software.

What will it be like when the desktop is irrelevant, computers are tiny and WiFi is ubiquitous? Hmm...

21 January 2008

Licensing Costs

This article about the cost of unlicensed software use has left me wondering how commercial software will deal with unlicensed users. Specifically, will they treat them as "the enemy" as the commercial music industry seems to do on a regular basis? I doubt it, actually.

The software business has a lot more experience in dealing with the licensing of content than the music industry has, since everything the software business does is by definition digital. We have been through the copy protection schemes, the hardware dongles, the secret activation keys, and these have probably worked to some extent and the other thing they have done is helped fuel the open software movement.

Free and open software is important for many reasons social, political and practical but I think software licensing schemes like these, that make it a pain to use commercial software, that are at least partially responsible for users looking for alternatives, and free and open software is a pretty attractive alternative.

When you can get the software for free, without worrying about whether or not you are licensed properly, get free upgrades on a regular basis, have it supported by teams of people, and know that you can transfer it to any machines and use it forever at no cost... well, that seems like a much better option. The fact that's even more reliable and secure than the commercial alternative is gravy.

There is obviously a market for innovative commercial software, and happily some of that is still being produced, and some of it is even no cost!

But a lot of commercial software just offers the same old licensing, same big sticker price, same old promises, and a shiny new look... but putting lipstick on a pig doesn't change the fact that it's a pig.

19 January 2008

Adventures in Ubuntu

I have been using Linux in my business and on my personal machines since 2002. In my business I have used it mostly for file and print serving, Apache services, database services and tunnelling services and for these things it's been amazingly stable and rewarding. In my personal life I have used it for file serving and to just play around and to have another desktop in the house for the kids and I to get comfortable with. What I have resisted though is actually using Linux as my main desktop. That is, until now.

This past year I purchased a new Dell M1330 Laptop. It's a beautifully designed small laptop that packs a big punch. It also came with Vista. After using Vista for nine months or so now, I am of the opinion that Vista represents one of the biggest opportunities for Linux on the desktop. Say no more.

Now, as some of you will know, I have been a software developer for years and I tend to write software that requires a lot of power - web sites, data management, data linkage, etc... In addition, most of my consultant work I write a lot and to generate spreadsheets and diagrams for people to document and explain complex concepts, AND, I tend to do a lot of software evaluation for clients. Ninety percent of that software is Microsoft software.

The other interesting thing that has been happening in software is virtualization. What Virtualization means is that I can set up virtual machines (whole computers in software that run inside the windows of other operating systems) that run specialized software, without having that software actually installed on my main (host) machine.

When I bought the M1330 I maxed out the RAM at 4GB because I knew I would be running virtual machines under Vista, and also purchased the largest, fastest hard drive for it because I hoped some day I would get virtual machine technology running under my favorite Linux OS, Ubuntu. Well, a few months ago, I managed to get that working, so now I had all of the pieces.

So, last week I finally decided, it's time. I have partitioned my drive on my main laptop that I use for daily work, and am now running Ubuntu as my main OS. And, since the machine is dual boot, I have Vista still available as needed for things like Word, Excel, Visio, etc..

The first thing I need to do is get everything running. The M1330 comes with a LOT of bells and whistles, and not all of them are supported out of the box, and some may not yet be supported at all. Over the next few weeks I will be going through each thing and hopefully getting it working. I will catalogue my adventures here and on the Ubuntu wiki site.

18 January 2008

XO Arrival

I am writing this post on my new XO laptop. If you have been reading this blog you may know that a couple of months ago I took advantage of the opportunity to purchase a new XO laptop from the One Laptop Per Child project. Purchasing this laptop for myself and donating one to a child in a developing country was just too great of an opportunity to pass on.

So, my first impression?... WOW! This thing is cool. It's cute as a button but don't let the appearance fool you. This thing is running a great operating system and comes packed with cool software and the device itself is packed with hardware features.

Now the timing is not great for me because I am busy working on the upcoming release of DataZoomer, but I will write some more about this nifty device in the upcoming weeks.

03 January 2008

Who knows you?

I wrote some time ago that who you know isn't nearly as important as "Who Knows You". Seth Godin wrote today about something else... "Who trusts you?"

So, if trust is important, it begs the question... what is it that has people trust other people? There are probably many factors that go into the formula of trust, people have written whole books about trust, but I would say there is one over arching principle that is the foundation of trust, the entry level from which all other trust factors are built and I can say it in one word.


I could write a whole chapter on integrity because I have studied it in some depth and it has become such an integral (no pun intended) part of how I choose to live my life but in short, the definition of integrity I live by is: "Honouring Your Word".

When people know that they can count on my to walk my talk, to do what I said I would do, their level of trust goes up. This shows up numerous ways every day and I find that I have many opportunities every day to increase my level of trust ( or not ).

I also find that when people in my life don't do what they said they would do that my level of trust for them sometimes goes down depending on how they are about it. It doesn't mean that I love them less, or think less of them. I just means I trust them less. When translates into, I don't count on them as much and when they say something, I don't rely on the validity of what they say as much... in short, I don't make decisions for myself based on what they say.

Why is that important? Because human beings live in stories, we make decisions based on stories, and people who can tell stories well can influence other people and can in turn make a real difference for other poeple. And to be a good story teller, one that can make a difference, one whose stories are believed and can make a difference for others, people need to trust you. Because people listen to people they trust... people talk to people they trust and people do business with people they trust.

All things are transitory

Zen philosophy teaches that all things are transitory.

As human beings evolved our brains developed to take advantage of the slow rate of change relative to our lifespan. We talk of fear of change, like as if there is some alternative to change. Consider that the world we live in is constantly in change.

As I write this, the only thing I can think of that doesn't change, is information. The words that I am writing in this post will never change. The 1's and 0's that make up a digital photograph will never change. The notes that make up Beethoven's 5th will never change. But these are not "things" in the strictest sense of the word. The physical manifestations of them (a printed page, a printed photo, the musical score) are subject to change.

The experience of "no change" is something that we make up, something that our mind makes up. It is a survival mechanism. If I am alive now, then if I keep doing what I am doing, I will stay alive.