Wednesday 31 March 2010

Scrum

The guys over at AxoSoft, creators of the rather good OnTime software have produced a video Scrum in Under 10 Minutes as a quick introduction to Scrum.

Scrum is nothing earth shattering, and it’s not going to be a silver bullet for many people, but it’s well worth a look, and if followed correctly I’ve no doubt it will help a lot of projects run more smoothly.

Of course, the video is a gentle advert for the AxoSoft OnTime application, but it’s not forced at you so is worth a watch.

As it stands the company I work for has started using OnTime, but at the moment it’s just performing a to-do list and time logging role for me, and I suspect most of the other team. We’re yet to take the bull by the horns and make effective use of the many features.

Oh well, hopefully we’ll get there. Certainly on the task I’m working on at the moment a burn down chart (or even some smaller milestones) may have provided a morale boost that we are actually making progress.

Never mind.

Tuesday 30 March 2010

Well, it made me laugh…

A little departure from the normal seriousness of this blog, I was recently sent this link to a page on The Reinvigorated Programmer titled A brief, yet helpful, lesson on elementary resource-locking strategy.

Enjoy.

Wednesday 17 March 2010

Game over WinMo7?

It certainly looks that way.

To be fair to Microsoft, this initial release of Windows Phone 7 offers a lot from what is essentially version 1 of the OS.

That said, (what I consider) stupid decisions like the aforementioned lock-in to the Marketplace and removal of cut and paste functionality have, as you know if you’ve seen my previous entries, made my heart drop.

I’ve also just been reading a quick article on what’s [not] in the first release of Windows Phone 7 which is staggering, little is particularly new news, but put together it’s clear this is a version 1 OS and some of the core benefits to myself and many other users of earlier Windows Mobile incarnations are being discarded.

As a result I really don’t believe WinPh7 will offer what I’m after as a user, at least not in its initial release. This is terrible news because as a developer I was getting genuinely excited.

Obviously I don’t know for sure what route I’ll take when it’s time to upgrade in November, but at the moment Android seems to be ticking way more boxes than as a user.

I may download the development kits and write a few apps, but my enthusiasm will be massively reduced if they never get any further than the emulator, although to be fair I’m not even sure they’d make it to the phone even if I have one, since I’m still unclear what the deployment process involves.

I feel a little cheated as I was really expecting great things from this initial release. Sadly it looks like that’s not likely to happen.

Noooooo!

WTF?

Is the development/design team working on Windows Mobile 7 on drugs?

Apparently they’re deliberately not implementing Cut an Paste functionality!

I’m speechless.

I tried installing the CTP of Visual Studio 2010 for Windows Phone last night before reading the ReadMe.txt telling me it would neither work in a virtual machine (as I was trying to install) or alongside other versions of Visual Studio (which stops me from installing on the main desktop).

Now I’m not bothered.

I use cut and paste all the time on my Windows 6.5 mobile.

As one person has already said, it looks like Android is the best upgrade path for Windows Mobile 6.5 users.

Along with the marketplace announcement, at the moment I tend to agree.

Tuesday 16 March 2010

So that’s the shine taken off Windows mobile 7

Well, it seems part of my prayers have been answered, the tools to develop applications for Windows Phone 7 will be offered for free! That’s absolutely great news.

However…

It looks like applications will now have to be sold via the Windows Mobile Marketplace, so no downloading and installing apps from anywhere else then?

And they will also be vetted in the same way as Apple currently does I assume. If MS decide they don’t like your app it could presumably be removed (or declined in the first place).

Sure, I understand this means that apps will need to meet a certain quality and that some of the frankly abysmal applications you can find for Windows Mobile and Android will not be accepted, thus keeping the quality higher, but this could be achieved by the marketplace without this unnecessary restriction.

This really is a shame, I have been one of those people deriding the fact that to get an application on an iPhone you need to go through the iTunes app store, now MS are doing the same.

Shame.

So now it’s all about the tools. If I find I can get on with developing apps with the tools available I may still get a Windows 7 phone, if not then I guess it’s over to Android or Symbian.

And what about the fact I develop apps for personal use… will they work?

Tuesday 9 March 2010

More Windows Phone 7 Speculation

I’ve just been reading through the CNet Windows 7 FAQ and while it doesn’t add too much more information to the mix (as is to be expected until MIX10) there are a couple of little nuggets in there.

Firstly, it seems to confirm that the old Windows Mobile apps won’t run on Windows Phone 7, something we more or less already knew.

Secondly it says Windows Mobile 6.x will continue to be solved for years to come, or as Microsoft say "it's not as though one line ends as soon as the other begins."

I love this comment from Charlie Kindle in his blog:

We took the feedback we gathered from developers, looked at the full potential of Windows Phone 7 Series and landed on 3 basic goals for the platform we’re delivering;

  1. Enable end users to be able to personalize their phone experience through a large library of innovative, compelling, games and applications.
  2. Enable developers to profit.
  3. Advance the “3 screen plus cloud” vision

The first one is pretty obvious: A key value proposition for Windows Phone is personal. We believe consumers will use games and applications to make their phone experience their own.

(Did you notice we always talk about applications and games? A little factoid I heard today: According eMarketer, the number of people playing games on the phone has more than doubled in recent years;340M people will play games on the phone in 2010 up from 155M in 2007).

But what do we mean by “profit” in the second goal? When we talk with developers we hear them talk about three different “currencies”: making money, learning, and recognition. Some developers are in it for the money. They are either literally being paid to write code or they are writing code with the hope it will generate coin.

Other developers tell us they are interested in advancing their knowledge – love of the game. They love learning about computers, programming, games, social connections, etc… So they build software to learn. They profit by being smarter.

Other developers are clearly motivated by pride. Maybe there’s a bit of money and learning involved, but to these developers being noticed or recognized as doing wickedly epic sh*t is top of the list for how they measure profit.

Nice.

From reading a variety of other blogs from the team and developers it seems almost certain that the main UI is indeed based on Silverlight, which is the brother to WPF, so I’m hoping these two technologies will merge over time after all (as opposed to being against this in an earlier post), or at least the line between the two blur significantly. That looks like it’s where we’re going.

With that in mind, I’m off to download the XNA Game Studio to have a play before something better is launched (I’m taking a wild guess here) next week.

Monday 8 March 2010

Interesting numbers…

I was looking through a post on Reddit discussing reality of learning programming in 21 days, as illustrated by this site (and taken a little more seriously here), when I stumbled across an extremely interesting article What your computer does while you wait by Gustavo Duarte.

If you’re interested in such things this makes a very informative read.

To take a sentence out of this article, whilst talking about how fast instructions are to process on a modern CPU Gustavo makes this comment:

It’s worth keeping this in mind when you’re thinking of optimization - instructions are comically cheap to execute nowadays.

In case you miss it, later on in the comments section he makes the point that should go hand-in-hand with this one:

99% of the time you want the cleanest, simplest code you can possible write. In a few hotspots, which you discover by PROFILING the code rather than guessing, you optimize for performance if it’s really called for.

Everything I’m reading at the moment points in the same direction, basically that software is so complex and code bases so large that it needs to be written to primarily be understood, or as Martin Fowler puts it in his book Refactoring: Improving the Design of Existing Code:

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

Amen to that.

One of the points Martin makes is that be refactoring you often don’t make the the code any slower as, by the process of making the code more understandable, you can optimize the code more easily, possibly even as a side product of the refactoring. Even if this is not the case, after the refactor the code is easier to optimize in those areas where this is really needed.

So that’s going to be my mantra outside of the workplace from now on (and inside the workplace where I can, but I’ll describe that as much as I’m allowed to in a later article). In fact, that’s been one of my strong points to a greater or lesser degree since I started out, I try to follow the KISS principle:

Keep It Simple, Stupid!

I’m the stupid part. If you let me keep it simple I’ll write you something that’s useful (but often in the real world we’re thrown into overly complex existing systems that we have to code to without any chance of being able to influence the overall design in a positive direction). Or, to paraphrase Martin Fowler again (since I can’t locate the quote): I’m not a great programmer, I’m a good programmer with great processes.

Just give me the framework that allows this, or allow me to create one, and we’ll all be happy.

Wednesday 3 March 2010

Here we go…

I see Joe Wilcox of Betanews is at it again. This time he’s having a go about the HTC Touch HD2 not being upgradable to Windows 7 (well, nothing is confirmed on that front, but he is at least right in saying it’s unlikely, very unlikely).

Joe tells us that the HD2 will be dead the moment Windows Phone 7 arrives.

Really?

Is that like corporations all dropped Windows XP the moment Vista came out?

Worse than Vista, Windows Mobile 7 is almost a Version 1 OS that’s being rushed out (that’s possibly a bit harsh as MS are getting no end of flack for not releasing soon enough, and it sounds like the phone will be based around the .Net framework, which is a huge step forward in my opinion).

I’m intrigued to know what happens on Windows 7 launch day to make the HD2 “dead”, especially since Microsoft will still be supporting (possibly developing Windows Mobile “classic” [although lets be honest there won’t be a lot of work going on]).

Perhaps the many years of mature Windows Mobile applications available will stop working all of a sudden? Perhaps it will no longer take calls? Perhaps it will emit a high pitch scream to let your friends know you’re running the “old” OS?

Or perhaps the people who are comfortable with Windows Phone 6.5, who have many years of applications and time invested in these devices, and those few who actually like the old OS, will be happy to buy the latest refresh that will take them forward until WinMo7 settles down after the inevitable initial teething problems are sorted out?

I can see more people will be thinking twice about buying a Windows mobile device until WinMo 7 arrives, but frankly some people will not know, some people will want the old OS, and some just won’t care.

The HD2 will almost certainly have lower sales due to the impending OS release, but I think any announcements of its death are somewhat premature.

Tuesday 2 March 2010

Misleading or just poorly emphasised?

I was just reading an HTML 5 Cheat sheet by Nick Heath on Silicon.com which makes the following comment on page 2:

“Today the iPhone OS, the world's third most popular mobile OS

Why focus on the iPhone when Symbian leads by miles? The only reasons I can think of to justify this is that the iPhone buzz is so high (but I’m guessing higher than demand otherwise after a few years in the market it would be above Blackberry in the market share stakes, even if that is a gap it is closing), or that we assume iPhone users are more active users of browsing web sites than Symbian owners. That’s probably true, but still it leaves me shaking my head at this comment.

Read their own link the numbers are actually quite interesting:

  • Symbian 46.9% Market share
  • Blackberry 19.9%
  • iPhone OS 14.4%
  • Windows Mobile 8.7%
  • Android 3.9%

The iPhone OS is the fastest growing OS, absolutely, but it’s exactly due to this kind of largely (IMHO) unwarranted focus that people think Apple are the only player in town. Likewise Android which has less than half the sales of WinMo, but 1000 times the buzz.

While Apple and, to a lesser extent Android uptake is on the rise, Symbian commands a huge lead. Time will tell if they can hold onto this, but I can see why they might be taking their time getting new UI enhancements and other improvements out of the door, they have plenty of breathing space.

I honestly hope Symbian have something awesome out soon, however even if they do I know it will be largely ignored by the press, Symbian just isn’t exciting enough to write about. Well, not at the moment.

I’m surprised Windows Mobile is at 8.7%, I thought nobody used it, certainly not the almost 1 in 10 (or more accurately almost 9 in 100) reported in these figures. Of course by the time version 7 is released this will be a fair bit smaller as some people will hold off buying until the new OS arrive. Similarly though, I expect some will rush out and buy “classic” devices in order to run their current apps.

I want to see reviews of the final Windows 7 OS, it may not be an upgrade path for me, it largely depends on how they pitch the development tools as much as anything. I wasn’t, for example, happy that the Professional version of Visual Studio 2008 didn’t directly support smart device development (under which Windows Mobile/Phone is classified).

If Microsoft add smart device development to the lower versions of Visual Studio 2010 (yes, probably even the free Express versions) then you’ll end up with more active developers leading to more applications being developed and arriving more quickly, which is what a new OS will be crying out for. If Microsoft don’t do this then it will be a sadly missed opportunity, and in my opinion a stumbling block for acceptance.

Hell, you can even write for their XBox360 console using Visual Studio Express.

Yes, I want free tools. I don’t want to go looking for these in another OS (I was writing stuff for Symbian in their free development studio not so long ago), but I may be tempted to move if the need arises.