Tuesday, November 09, 2010

PhoneGap for WP7Dev and the RTM version of the SDK

For anyone interested, I've just pushed a new version of my WP7 PhoneGap implementation up to GitHub.
The code can be found at https://github.com/mrlacey/phonegap-wp7/tree/master/rtm/.

Please note that this doesn't do anything special. It's basically just the old code slightly restructured, with the mobile spec tests removed and using the latest project formatting.The only real difference is that it works with the RTM version of the SDK.
I've tested it with VS2010 Ultimate & Express.

Important! This still does not handle tombstoning!
Until it does, this should be considered proof of concept only and is definitely not production ready.
Unfortunately support for tombstoning is going to require a very big change to the structure of the existing code and will impact all the JS/C# interop.
However, as I've found the time to fix the code referenced above that shows I'm working through my to-do list and getting closer to finding/having the time to make the big change.

Thursday, November 04, 2010

Learning, not moaning.

If you follow me on Twitter you may have noticed that I have a tendency to complain about poor service and badly produced apps quite a bit. In an attempt to be a bit more positive I thought I'd see what I can learn from these issues rather than just moan.

Here's what I've learnt in the last few days.


Issue:
If you have an Orange Broadband account and have set up an online account to look at bills, etc. You'll discover there isn't a way to change your password and if you forget it you have to call a phone number to speak to "tehnical support" and have them tell you it. If you then ask to change the password they will tell you not to. Presumably because it's a non-trivial task for them.

Lesson learned:
Understand security. Make sure "technical staff" understand security. Make it easy to change passwords.


Issue:
When trying to speak to someone at Direct Line I had to go through their automated phone system which presented options I had to select by pressing numbers.

Lesson learned:
Make things easy to navigate and test navigation routes.


Issue:
When trying to log in to a website (mentioning no names), I eventually discovered why my password wasn't working. - It was because I had CAPS LOCK on. But I had no way of seeing this as the entered characters were masked. (The username/email had been saved by the browser so I didn't see the upper case characters being entered there as I didn't have to type anything else.)

Lesson learned:
Indicate if CAPS LOCK is on when the user is entering text which isn't displayed - like with a password entry box when characters are starred out.
Or, write a password checking system which accepts either correctly cased passwords or passwords entered with case inversion. This means storing 2 hashes of the password (& salt) but is only a very small amount of work which could save a lot of frustration for any user who can't see why their password isn't being accepted.
I'm holding off on ignoring case entirely in passwords though. That seems like a step to far and would be more of a compromise in security and invalidate the user's attempts to use a strong password.


Issue:
I just installed some of the apps in Windows Live Essentials but it also installed some of the apps I asked it not to install.

Lesson learned:
Thoroughly test installers!
and, in case this is a dependency issue - be sure to indicate dependencies and other things which must be installed as well, clearly.


Issue:
It took 2 phone calls taking over 25 minutes to stop Orange from taking payments from my account which they should not be - due to a mistake that they made. When this was finally sorted no-one said sorry and I haven't been given anything for the trouble (of them taking payments they weren't due or for the inconvenience and time taken for me to identify the issue and get them to sort it out.).

Lesson learned:
Say sorry and provide compensation (of some appropriate sort) when you make a mistake.


Yes that's a lot of issues for two days but I think about these things a lot because I want to make awesome apps (and services) which don't frustrate the user or contain stupid decisions or do anything apart from make it easy on the user and get out of their way.

Friday, October 22, 2010

PhoneGap at LDNUG

On Wednesday I gave my first talk at the London .Net User Group.
I gave a brief introduction to PhoneGap and briefly showed how to use it to create an app for Windows Phone 7.

The main place to go for all things PhoneGap is http://www.phonegap.com/ but if you're after the Windows Phone 7 version this is currently at http://github.com/mrlacey/phonegap-wp7. (Please note that the WP7 version on GitHub doesn't work with the RTM tools. I hope to upload the fix for that tonight. Lots more excciting functionality will be coming shortly too.)


View more presentations from Matt Lacey.

Friday, October 15, 2010

[WP7Dev] Attention to detail is VITAL!

Take a look at this screenshot of some of the apps already in the marketplace, as shown in the Zune desktop client.


Notice how some of the images look very odd. They look very much like they've been created as white images with a transparent background on the intention/assumption that they will always be displayed on a black background. Yes, that assumption was wrong.

Remember, Windows Phone 7 is a platform where quality is essential. How you do something is more important than what you do.

The marketplace is like your store front and the icon is like your packaging. Would you think twice about something with poorly printed packaging? Would it make you question the attention to detail paid in the rest of the production process? And, would you even reconsider buying from a store where products were poorly packaged?


Please don't make this same mistake with your apps.

Bad apps don't just hurt the developers, they hurt all developers as they hurt the platform. If it was up to me apps with images like that shown above would have failed the submission process.

Tuesday, October 12, 2010

WP7Dev at VBUG London

Yesterday I gave an introduction to developing for Windows Phone 7 at VBUG in London.
A great bunch of people were there and they asked a lot of good questions and seemed excited about the platform and the opportunities it affords. Respect also goes to the people who travelled down from Stafford for the event.

As lots of people asked for them, my slides are below and (most of) the sample code can be downloaded here.