Tuesday, April 20, 2010

thepowertool is live

Over the last six months we've been working on a new product called thepowertool and we've just gone live. thepowertool is a construction payment system which links the claimant (the company wanting to be paid) with the respondent (the one doing the paying). The claimant uses our browser-based Silverlight program to define their clients and contracts. Each month they will create a payment claim which is emailed to the respondent. The respondent can click on the email link to approve/adjust the payment claim. The system provides the easiest way yet for claimants and respondents to process payment claims using a strict process that conforms to the security payments legislation which has been introduced in most Australian states, New Zealand, Malaysia and Singapore.

For any project to be successful you need the right mix of people. We've provided our technical expertise while others have provided their expertise in the construction industry and the application of the legislation. We've been showing it off to a number of industry bodies and they are very excited by what they have seen. I think we have a winner here!

Thursday, April 15, 2010

C'mon Steve!

The battle between Apple and Adobe is heating up with some collateral damage. With Adobe about to release CS5 with a Flash-to-iPhone compiler, which would have flooded the app store with tons of crappy flashware apps (to match the tons of crappy Objective-C apps), Apple have made a change to their developer agreement. Section 3.3.1 now states programs must be 'originally written' with Objective C or C++. No Flash. So much for Adobe spending all that money on their compiler technology. Unfortunately, the same clause prevents programs being written in Monotouch, Unity3D and a number of other similar languages.

Various reasons have been suggested for the change:
-Programs won't play nice with the new multi-tasking in OS4.0. Pity one of the programs Steve Jobs specifically demonstrated at the OS 4.0 release was written in one of these now banned languages.
-Cross-platforms apps don't provide the look and feel of the native apps. Monotouch used the specific Cocoa API's provided for the iPhone to generate the UI. So its UI is exactly the same as apps generated using Objective-C. And games don't count since they have their own UI anyway.
-Relying on another layer between the Apple API's and other tools will slow down the adoption of new API's. Monotouch had a new version out supporting the new iPad API's within 24 hours of the dev-kit being released by Apple.

If Microsoft tried to pull this same crap, there would be a massive uproar. But it seems its ok for Apple to do it. It might be argued that Microsoft has a monopolistic grasp on the PC market that Apple doesn't have. But in terms of smart phone applications it could easily be argued that iPhone has the dominance and near monopoly. And it looks like they will do all they can to keep it that way.

Basically the only good reason I've heard so far has been that Uncle Steve wants to lock developers into developing for the iPhone. A cross-platform tool can make it too easy to develop an app for multiple phones. Having the same app appear on different app stores simultaneously dilutes the value of the iTunes app store.

In general, I'm quite happy to be developing just for the iPhone - the handsets seem to be everywhere. This latest move by Apple leaves a sour taste though. I would have preferred to be working on iPhones because they were simply the best not because Apple put up artificial technical obstacles to limit competition.

And it would be easier to live with, if Apple actually updated Objective-C to have many of the features modern languages have. In my opinion, Objective-C doesn't really cut it. Our first couple of apps were using Objective-C, so we have some idea what we are doing. However, using MonoTouch provided a big improvement in productivity, especially when the app links to a web back-end using C#.

For the moment, we'll be watching events unfold over the next couple of weeks before making a decision on what we do with the tools. Our apps won't be too hard to back port to Objective-C, I'll just miss memory-management, a decent XML parser, Linq, etc.

Interesting times...