Cardiff–WPUG #2

On June 1st we had the second user group meeting in Cardiff.

It was quite an impressive turnout and I would like to say thanks to all those who came along. We do have a nice group of people building who share a passion for the Windows Phone platform. It can only go from strength to strength.

Thanks to Nick Ajderian from www.hattjoys.co.uk for providing a very entertaining and passionate talk on getting data from Twitter and chucking it on a map – Shame that the internet connection was poor and Nick had to resort to well prepared backup plans. Next time we won’t leave everything to the venue.

Thanks also to Iestyn Jones for demoing his good looking application Welsh Kitchen. Iestyn has actually published 4 applications to the market place (search for ‘Bugail’ in Zune) and received his XBox from the Think.Dev Rewards program.

For those of you looking to follow up from some of the items mentioned in my talk here are some links:

Preemptive runtime intelligence:

http://www.preemptive.com/wp7

IP address to location conversion:

http://www.hostip.info/

http://api.hostip.info/get_html.php?ip=X.X.X.X&position=true

One thing that I failed to mention was the alternatives to the Preemptive analytics. There is an Analytics library on Codeplex that supports Windows Phone 7 and different analytics (that’s way too many uses of the work in one paragraph) services such as the one provided by Google.

The library can be found here:

http://msaf.codeplex.com/

And René Schulte (@rschu on twitter) has written an article on how to get up and running:

http://kodierer.blogspot.com/2010/11/tracking-sales-statistics-with.html

We have lots more planned for upcoming meetings (the next likely to be mid July) so watch this space.

Tagged with: , , ,
Posted in Cardiff WPUG, WP7

More good times for app developers?

UPDATE: 6th June 2011

Hi, I just added a new post that expresses my disappointment in the messages that have come from the Windows 8 launch:

http://mikehole.com/2011/06/06/an-end-to-the-good-times-before-they-even-start/


Just a short post to get something that has just started swishing about in my head out.

I just read the following article:

http://www.businessinsider.com/intel-exec-spills-the-beans-on-microsofts-tablet-plans-2011-5?utm_source=twitterfeed&utm_medium=twitter

In this article the beans are spilt in regards to Windows 8 running on ARM processors (by an Intel exec of all people).

Microsoft has targeted the ARM processor architecture because Win8 will have version that will run on all sorts of platforms that require low power consumption such as Tablets, Smartphones (although this is unlikely as we have WP7) and small form factor PC’s. This then is a big enabler for MS to finally get into the tablet market big time.

But there is one other point that is mentioned, and that is that legacy applications won’t run on the Arm architecture. The author even states ‘Developers may also face challenges writing their apps for both platforms’.

Urm no! – Yes we have to lament that great applications that you use every day won’t run but if you really need to run those applications then you can always stick to Intel based kit (and I am sure Intel will love you for it).

But us developers have Silverlight and I will bet my left arm that the Arm based Win8 is going to run that (This is another sign of why that shift in priorities that people saw as the death of SIlverlight was mentioned).

So what is SIlverlight? It’s an enabler for the write once run anywhere (pc, phone tablet, set top box etc.). Something that us app developers will cherish.

If you like me also follow the rumour mill then you will know that Microsoft are looking to create an app store (can I use those words without being sued?). The backbone of this considering the different architectures that Win8 is going to support has to be Silverlight based I am sure.

What this means for us developers is that there is yet another eco-system on it’s was (people are going to want applications and right now there isn’t any).

So if I was you I would start learning Silverlight and building your app ideas because it looks like there are some good time ahead for those who get in first. 

What are your thoughts? Feel free to leave a comment.

Cheers,

Mike

Tagged with: , , ,
Posted in ARM, C#, Silverlight, Tablets, Windows 8

Tile Maker

One of my applications on the marketplace is the countdown tile application. This is a simple application that when pinned to the home screen lets you see a countdown of the number of days until a certain date.

This application has recorded 6299 unique users to date. It’s had a mixed bag as far as reviews is concerned but this is mainly down to the fact that the tile update isn’t the most reliable mechanism on the phone system (something for another blog post to come soon).

One feature that people ask for is the ability to use their own pictures in the background of the tile. This is something that I have been aiming to do for a ‘Pro’ version of the application to try and convert some of the 6K users into 75p purchasers :)

With this and the fact that some of the new updates to the live tile services within the Mango platform update that is coming has prompted me to create a control that lets user be a little more creative with the tile that they would like to create.

I am in the early stages of putting together a Tile Maker control that presents the user with an area the size of a standard live tile. Behind this area can be placed an image that the user wants to use within the tile. This image can be moved around by using multi-touch gestures. Once the user has the image in the desired place they can then take a snapshot of the tile area to use as the live tile.

If this control interests you you can download the current Alpha code from codeplex at this link:

http://wptilemaker.codeplex.com/

Let me know what you think and if you will find this control useful. Also if you can think of any additional features then pop them in a comment on this post.

Tagged with: , ,
Posted in Live Tiles, Tile Maker, VS2010, WP7

The WP7 Marketplace and the Enterprise

Being a windows phone developer I must say that the Mango platform update has me very excited (except a 30min and 15 second agent restriction leaves me underwhelmed – but that’s another story).

One aspect of Mango that Microsoft have announced is the inclusion of two new market distribution models those being Beta and private distribution.

The private distribution model has been signalled as a let down for enterprises. This post details the perceived shortcomings: http://blog.wpfwonderland.com/2011/04/15/mango-adds-beta-and-private-marketplaces-to-windows-phone-7-and-neglects-enterprise/

As this post mentions the idea that you can’t restrict the use of the application to a set of users rules out the private model for enterprise distribution.

In my opinion the enterprise has been supported from day one all that you have to do is consider the mechanisms that you are going to use to stop anybody from making use of your enterprise application.

If you consider the fact that your code can gain access to the devices unique identifier then you will be able to identify the device that your code is running on.

Consider this scenario that uses a workflow similar to how SSL certificates are issued to servers:

  • A phone user downloads the application.
  • The user starts the application. The application asks the user for the Key that the company has provided via email (Thankfully we now have cut/paste to copy the key to the clipboard).
  • At this point the user does not have access to the key as this is the applications 1st run, so the user is presented with another button that will generate the key request (this should always be present until the application has received a valid key)..
  • The key is generated by code it will incorporate the devices unique identifier.  This code is hashed and can be decoded by the companies systems.
  • Once the key has been generated the app launches a new email with the key included in the text. The email is addresses to the right email address.
  • The company receives the email from the phone user and verifies the email address that the request has come from.
  • A key that will unlock the application is generated and sent to the originating email address.
  • Once the user has the key they can enter it into the application and away they go.

I know this isn’t perfect and you can probably pick a million holes in it (feel free to do so by posting a comment) but it does illustrate that rather than wait for the distribution channels to be created you can always work around them.

UPDATE:

Someone did point out that marketplace certification may be a sticker here . You would have to let the Microsoft testers know about the process via adding notes into the application submission.

Tagged with: , , ,
Posted in Phone, WP7

From demo to featured application

FeaturedPart of the agenda for each WPUG meeting is to give time for people to demonstrate their application to the rest of the attendees. These applications can be a finished product or something that has just been started by the developer.

This I see as a valuable opportunity for the developers as they get a change to see what people think face to face rather than waiting for feedback or even the emails to their support address.

There is also one other even more important opportunity that is that could be created by the application demonstration.

An example of this is the continuing story behind the TaxiRoute application. On March 17th 2011 (St Patricks Day) the application was promoted to be the featured application within the Marketplace.

The rest of the story behind the development of TaxiRoute is one of a dogged determination of the managing director Trevor Daniel to create a database that holds the local authority hackney carriage tariff data for the whole of GB (Northern Ireland not included).

Once this information was completed Trevor built a web site www.taxiroute.co.uk and offered it out to the public. The web site now records around £1M in value of enquiries each month.

Not only does the web site approximate  the charges of the taxy ride you want to take (the web site can not take into account waiting time for metred charges and therefore only provides a best case estimate) it will also provide a list of local firms, along with their telephone numbers.

As you can image when you are out and about you a web site isn’t the best way in which to get the information an obvious progression would be a phone application. Hence TaxiRoute GB was created.

Trevor decided to put his application forward to be demonstrated at the 1st Cardiff WPUG meeting on March 2nd where we were fortunate enough to get a date that had Paul Foster and Mike Ormond attend.

Paul was impressed by the story that led to the development of the application and also impressed by the concept, so he pushed the application at the guys in the UK windows phone marketing.

The upshot of this being that the application has been considered an App Hero and has featured in a couple of ways and also be pushed within the social space.

Although the WPUG meetings (in London and Cardiff) won’t always be attended by members of the Microsoft DPE team it’s the connections that we have with these guys that make attending worth while even if you haven’t yet got that killer app to demonstrate.

The insight and understanding that you will gain along with the possible opportunity’s like the one that TaxiRoute has been given are just not worth missing.

Here is the application Listing in Zune:

image

Along with the application listing the marketing guys at Microsoft also spread the word socially via Windows Phone UK:

2011-03-17 12h40_34

2011-03-17 12h57_09

Tagged with: , ,
Posted in Cardiff WPUG, Phone, WP7

Cardiff – WPUG March 2011

Getting things started at the first Cardiff WPUG The first Cardiff Windows Phone User Group

Ok so meeting Number 1 down and definite call for more! From the feedback that I have received people did find it very useful and they are also expecting more.

Some pointers to follow on from my talk:

The developer tools are available here: http://create.msdn.com

Once you have the tools installed ensure that you also install NuGet: www.nuget.org

To add a package you will find the ‘Library Package Manager’ menu item under tools from here select ‘Add library package reference…’.

When creating a new project then I suggest that you use the following packages (enter the titles below in the search box):

Anything i mentioned in my talk that I missed?

People:

We were lucky enough to get Mike Ormond and Paul Foster from the Microsoft DPE team. Both Paul and Mike are the UK evangelists for the Windows Phone platform. Also attending was Matt Lacey the founder of the WPUG event in London.

    One thing to note is that the meetings won’t always be attended by members of the Microsoft DPE team but they are very happy to support our efforts and will be attending on occasion.

Paul Foster: http://wotudo.net/ and @paulfo

Mike Ormond: http://blogs.msdn.com/b/mikeormond/ and @MikeOrmond

Matt Lacey: http://mrlacey.co.uk/ and @mrlacey

The main WPUG web site is: http://www.wpug.net/ with @wpug being the twitter account to follow.

I have also created the Cardiff WPUG account to post announcements and details of the Cardiff based events: @cdf_wpug This account will follow our members so should be worth following.

What Next:

Last thing that I want to do is lose that momentum, but I do have to decide how often the meetings can and will happen. For for this I will need to get an idea of what subject matter people would like talks on and also I would like to find volunteers to present talks.

From our registration forms there were eight people who expressed a willingness to contribute so now it the time to put your money where your mouth is.

After the meeting on the 2nd I could see some areas that can already be covered:

  • Deeper Dive into the MVVM Pattern.
  • Using the Preemptive Dotfuscator and adding analytics to applications.
  • Microsoft advertising framework.
  • Mapping and Location Service.
    Are there areas you would like covered? If you do then post a comment here. Comments are moderated so it may take a little while for your comment to appear.
    Once I have a a good idea of what we can offer our members in terms of talks and support then I can decide how often the meetings can happen.
Tagged with: , , ,
Posted in Cardiff WPUG, WP7

WP7 Text Boxes – OnEnter (my 1st Behaviour).

2011-01-12 13h45_15One problem I have encountered on various WP7 apps (including my own applications) is moving between text boxes on a page. The problem can present itself when the SIP is being displayed in front of the next control that requires input.

In some cases the user is forced to press an area on the page that does not include a text control to take the focus away from the text box. Once the SIP is hidden then the user can click the control they want to enter text into.

This is mainly because the controls do not support the concept of tab order because the SIP does not include a tab control to move between controls.

One solution to this is to look for the enter key to be released and move the focus on to the next control:

private void txtUsername_KeyUp(object sender, System.Windows.Input.KeyEventArgs e)
{
    if (e.Key == System.Windows.Input.Key.Enter)
        txtPassword.Focus();
}

This could prove to be a pain for developers and forces additional code within the page code file that can be said to be quite untidy.

It is because of this that I have created my own solution using a behaviour that can be attached to a control. One advantage of this is that it will be possible to set the values using Blend therefore reducing the reliance on the developer.

The OnEnter Behaviour:

The XAML below gives an example on how the behaviour can be attached to a text box

<TextBox x:Name="txtUsername">
    <i:Interaction.Behaviors>
        <mh:OnEnter NextControlName="txtPassword" />
    </i:Interaction.Behaviors>
</TextBox>

The additional namespaces that I have added to the page are:

xmlns:i="clr-namespace:

System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:mh="clr-namespace:

MikeHole.WindowsPhone.Behaviors;assembly=MikeHole.WindowsPhone.Behaviors"

You can download the project from here. (if you have any problems downloading this then please send me an email at: mike [at] mikehole [dot] com and I will send it on).

If you can think of any ways that the behaviour can be improved or know of any better solutions then feel free to leave a comment.

Cheers,

Mike

Tagged with: , , , ,
Posted in Phone, Silverlight, WP7
Follow

Get every new post delivered to your Inbox.