Archive for March, 2008

Speed up Tasks on Your Windows Mobile Smartphone

Monday, March 31st, 2008

One of my biggest frustrations with the Windows Mobile task application is that it synchronizes your completed tasks. After a while, this greatly outnumbers your active tasks, making the task app really slow. So I periodically move my completed tasks to a separate task folder (I like to have them around for searching). Alternatively, you could just delete them once a week or so. The following Outlook macro code can be used to move all the completed tasks in your tasks folder to the first tasks subfolder.

    Dim fld As Folder
    Dim fldComplete As Folder

    Set fld = Application.GetNamespace(“MAPI”).GetDefaultFolder(olFolderTasks)
    Set fldComplete = fld.Folders.Item(1)
    For x = fld.Items.Count To 1 Step -1
        Dim objTask As TaskItem
        Set objTask = fld.Items(x)
        If (objTask.Complete) Then
            objTask.Move fldComplete
        End If
    Next x

Platforms vs. Solutions

Friday, March 21st, 2008

From http://www.flickr.com/photos/tripu/Jeff Atwood recently discussed The Dark Side of Extensions, and advocated taking the five most useful popular extensions to Firefox and integrating them into the product as features. Before the Firefox team decides to go do that, it might be useful for them to step back and consider what they want Firefox to be: a solution or a platform.

The platform vs solution question eventually rises in any successful software project. The reason is that successful projects are used and usually by a lot of people. The more people use your software, the more people want to change it to fit their particular needs, address weak areas in the product, or adapt it for new uses. Once this pressure starts being applied, from your customers, you have a choice. You can hire extra people, work extra hard and try to take care of the most frequently requested changes as quickly as possible. Or you can do the work to make your software “extensible”, essentially to turn it into a platform. Of course, you can also do something in between.

The most obvious example of a platform in software is the operating system for a personal computer. Windows, Linux, and Mac OS X, are all platforms for personal computing. Of the three Linux is probably the most pure as a platform. Mac OS X is the least pure, because Apple sees it more as one part of a larger solution that they offer to users, and so don’t give their developers the same level of support that either Microsoft or the open source community does.

Those who advocate a pure platform approach like Linux, because you can include or exclude “bloat” (i.e. features) that you never use. This was very apparent in the comments to Jeff’s post, where tons of people said, in effect, “I don’t want a bloated browser like IE or Opera - I just want it to include the things I use.” Mozilla is definitely going down the platform route with Firefox, and the users who therefore choose Firefox reflect that.

Microsoft tends to take a middle of the road approach with its software. Windows and IE both attempt to be solutions and platforms at the same time. And both had great success because they got the killer “apps”: Windows had Office and IE had all the websites that only worked in IE for years. Heck, even now my wife won’t switch to Firefox because some pages “don’t look good”, despite Firefox’s apparently better support for standards.

Apple obviously approaches the problem by trying to produce a solution, and that has been extremely successful for them in certain markets (can anyone say iPod? iPhone?). In the past they haven’t had as much success as a platform, so it will be interesting to see how the new iPhone SDK works out for both Apple and it’s developers.

Ultimately, I’m not sure that creating a platform for end-user extensions is the right way to go in the browser market. Platforms are market makers. Windows created a huge market for all types of software by creating a successful platform for personal computers. The real market that browsers enable is the market for cool web sites and services, not the market for browser extensions (how many browser extensions are profitable products?). A browser needs to focus on becoming a platform for web sites and services, and becoming an easy way to get to those for end users. Browsers are not the only user interface to the internet, but they are the primary one and can remain so only if they provide an excellent platform for creating web sites. Of course, there are huge problems in trying to do that. But if a browser can do that, in a way that gives it a competitive advantage, it will become the platform for the web and be more successful, and probably more profitable, than Windows.

How to Get More Done and Be Happier

Wednesday, March 12th, 2008

So I realized the other day that I was getting up at the same time each morning, doing more, and getting to work earlier. I thought I’d share how I did it. First, you should know that my morning routine is important. I try to spend some time praying and studying the scriptures, plan my day, then do the standard stuff: eat, shower, spend some time with my family, and leave for work. In the past I always got caught wasting time in the middle of all this following blogs, watching new movie trailers, reading a good book, or getting distracted in any number of other ways. I knew it was a problem and I tried to fix it by “focusing” more, pushing through the things that were important, etc. It never worked for very long and my old habits came back.

But I realized this morning that all that changed a couple months ago and I didn’t even notice. I now get to work earlier, get more done in the morning, rarely give in to the distractions, and, most importantly, feel way better about the way the day is going as I arrive at work. This means that my “private victory” each morning is happening. Instead of arriving at work feeling like a failure because I’m late, or because I didn’t get anything done before coming in, or whatever, I now get to work and I’m able to focus on my work, knowing that all that morning stuff got done.

You’re probably wondering what my secret is.

And you’re getting mad because I’m dragging this out and not telling you.

Ok, I’ll tell you.

I decided to do more.

Yep. I decided I just needed to add a few more things to my morning routine. Ok, actually just one thing, but it usually takes 30-60 minutes. Despite that I’m getting more done, going to work on time each day, and doing so with more energy. You may wonder what this magical new activity is. But there is nothing magical about it. Unless it’s magical because I really like to do it and I’ve made a commitment to do it. But everybody has something like that. I think the only magical thing about it is that I decided it was important enough to do each day, and do early to make sure it happens.

For me, it’s running. Yep, I’ve been going running each morning for the last couple months and I’m still doing all those other things, and I’m getting to work earlier. I’ve run a couple marathons and loved to run in high school, but it’s been years since I ran regularly or towards a goal. But I’ve committed myself to run a marathon by the end of the year, and I’m on track. I’ve run 46 days straight without missing a day (excluding Sundays). I’ve worked up from my first week’s mileage of 5 whopping miles to 12 whopping miles. That doesn’t seem like much, but it’s part of my commitment to keep going. I’m NOT going to increase mileage so fast that I get burnt out, injured, or bored. I’ve also found a friend to run with in the last couple weeks and that has helped me to keep going.

Of course, if you want to get more done in the morning running probably isn’t going to cut it, though it might. The key is to find something that is important to you that you’re not prioritizing like you should. For me, it was running. For you, it might be photography, or practicing an instrument, or working on a coding project on the side, or riding your bike, or reading great literature (or not so great literature), or woodworking, or whatever. The main thing to recognize is that when you put your priorities in the right order, life is just smoother. The important things get done, the less important things are more clearly less important, and you’re happier about everything you do. By starting your day with the “first things first” you set the tone for the whole day. And anticipating that each night can make it easier to prepare accordingly. I’ve started getting all my running gear ready each night, and I’m going to bed earlier so that I’m ready to go when the alarm goes off.

So now it’s your turn. Ask yourself: what do I need to make a higher priority in my life? How can I work on that a little each morning? And then go do it. You’ll be happier.