Windows Phone 7: Professional Tips - Always show the SystemTray
In Windows Phone 7 there is an option to show a little strip at the top of your application which shows time, battery and signal strength. This is called the SystemTray.
My suggestion for a professional applications, is that you should be showing that SystemTray. Full screen games & media viewing excluded, but most tool like applications should be showing it.
My reasoning is two fold:
- If you user is spending any time in your application they may need to check their battery or they will need to check the time. Having it available keeps them in your application and keeps them from being frustrated by the toggling backwards and forwards (glance and go!).
- If you application connects to the internet, and you fail to connect you are required to tell the user that it failed. For me internet connection failures are often due to signal or due to being connected to a hotspot. If it fails and I do not have a SystemTray, then I need to leave the application to check those details. Once again, the glance and go principal!
It takes up a few pixel’s but your users will be happier for it being there!
Windows Phone 7 Submission: Where are my stats!?!
As I have been submitting a number of Windows Phone 7 apps and in the market place is a nice dashboard which shows downloads, crashes etc…
The problem is that I have been very frustrated that my stats for my applications aren’t there!
In the screenshot my cricket run rate tool is missing!
So I contacted the marketplace support, who are BRILLIANT, to see if they could help and they told me it is BY DESIGN Here is what they sent me:
The details you are trying to view in App Hub reflect a delay, by design. Newly published apps will not appear on the download report for 10 days, and of that data there will be a 6 day lag.
I don’t understand the reason for this but at least there is a cause and I just need to be patient and eventually my states will appear
Thankfully I can augment these stats with Rudi Grobler’s excellent Keep An Eye app which lets me from my Windows Phone see the status of my apps!
App.Config Transformations: The community shines where Microsoft drops the ball
Last year May, I spoke at DevDays Durban about what is new in ASP.NET 4? One of the highlights of that talk is a feature called Web.Config transforms. In short you have a base web.config and then a file per compiler target (i.e. RELEASE, DEBUG). These extra files contain rules on how to transform your web.config when it is published.
In a way of an example you have might your web.config to use your local SQL Server when in Visual Studio, but when you publish a DEBUG build to testing it changes the config to use the test SQL Server. Or when you publish to production it turns off a bunch of logging and shows friendly error messages.
There is TWO caveats in this process:
- ONLY works for ASP.NET* projects as this is something the ASP.NET team built into their publishing tool support.
- ONLY works for publish, if you have an ASP.NET* project and hit F5, nothing happens
*ASP.NET = ASP.NET Core, and thus systems that build on top of it (WebForms, MVC & WebPages) all get it.
This is something we need in EVERY project type and we need with F5. Thankfully some bright people did just that for us, with the VS add-in Slow Cheetah.
So now you get the full experience on any project type, PLUS you get a brilliant feature missing in the ASP.NET one – PREVIEW. You can see what the resulting config will look like!
Windows Phone 7: Professional Tips - Drop the splash screen
The guidelines for WP7 state your application must start within 3 seconds – so many applications include a splash screen to show the user while the rest of the application loads. The splash screen is included by default so you may think you MUST to include it (I did think this too), but the truth is you don’t need to.
If you can (i.e. your application loads under 3 seconds) then you should drop it as it will allow your application to start quicker (about 2 seconds faster in fact), this means your users can get into your application quicker and that will make them happier!
Important Windows Phone News
Coming Soon, an awesome WP7 event!
Update: Details of the event are up at now & Registration is open - GO!
Microsoft is planning in the next few weeks a series of WP7 training events kicking off with a one day event! This event will have a presentation track where you will see a number of topics (see proposed list below) and a lab track where you can build your apps with expert guidance! This is the perfect chance to take that idea to reality and it is possible (I challenged myself to build two apps in 6 hours a few weeks back, and succeeded!).
Keep an eye on my blog or Microsoft South Africa DPE team blog!
PROPOSED Topics:
- Introduction to Windows Phone
- Building a Silverlight Application
- Silverlight Controls for the Phone
- Advanced Silverlight topics
- Windows Phone Hardware
- Services
- Performance
- Getting your app onto the Marketplace
- Building Windows Phone XNA Applications
- Advanced XNA Topics
Following that event will be a series evening classes where there will be a presentation, a real WP7 dev talking about their app and a Q&A session! So lots of good things coming!
Welcome to Mzanzi!
(for non-South Africans Mzanzi is a townshup slang word for ‘South’ or ‘South Africa’)
With the upcoming Mango release, South Africa will be supported with the Marketplace (finally!). Microsoft have summarised this very nicely below. Before you get to that, take a look at a recent post from Rudi Grobler, where he talks about South African relevant apps that exist today!
Johannesburg, South Africa – 24 August 2011 – Microsoft has announced a series of brand-new enhancements to its App Hub developer portal as part of the highly anticipated ‘Mango’ release. Windows Phone 7 developers can now publish their apps to consumers in 19 new countries, including South Africa. In addition to the 16 countries where Marketplace is already supported, developers can now broaden their opportunity for global distribution and competitive app prices.
Clifford de Wit, developer platform lead at Microsoft South Africa, is calling on all Windows Phone developers to submit Mango apps in August, ahead of the Mango release to market. The new App Hub developer portal allows developers to manage their account, change settings, submit applications and stay up-to-date on Windows Phone.
“The updated App Hub features enhancements such as greater geographic markets for developers, consumers and advertising coverage; new private distribution options; and enhanced application and account management capabilities. We’re making great strides in expanding overall demand for Windows Phone applications.”
Microsoft is offering developers two new private distribution options: beta and targeted distribution. Apps distributed through these private distribution methods can only be downloaded by users using a deep-link and the apps cannot be discovered via browsing or searching in Windows Phone Marketplace. Beta distribution enables developers to distribute pre-certified apps to a group of up to 100 access-controlled beta testers for up to 90 days. The targeted distribution enables developers to distribute applications through Marketplace in a hidden state, where they are not discoverable via browsing or searching Marketplace.
De Wit says he has no doubt that local developers are in a position to create compelling mobile content for the Windows Phone platform. “We want to attract a new wave of Windows Phone developers ahead of the ‘Mango’ release.”
Other enhancements to the Mango App Hub include better application management, an enhanced developer dashboard, more detailed reporting, a new “Crash Count” report, a streamlined application submission process and new application categories – education, kids & family, and government and politics.
For more information, visit the official Windows Phone Blog and the App Hub.
Tech·Ed Pro Tip: Travel Advice
Last year I wrote two posts (finding the best talks at Tech·Ed & why is the Tech·Ed calendar is awesome) which really aimed to help improve your Tech·Ed Africa experience. They are both still relevant this year but I thought of one new tip to share and that is related to travel.
Short version: Book your inbound flight EARLY, your outbound flight LATE and stay at the HILTON.
Why inbound early?
Day 1 is a busy day for you – after you land you need to find the shuttle from the airport to the conference venue. I got separated from the group and lost in the airport last year . Once you are at the conference venue you need to register and get your swag (do this before you go to the hotel) then you need to find the bus to get to your hotel, if you follow the tip below about the Hilton this is easy else you may have a small wait. Once at your hotel, check-in, sort out stuff, see what the swag is etc… and then finally find the bus (wait) and get back to the conference venue for the keynote & opening party. In short – it is a VERY BUSY DAY, so having an extra hour or two helps.
For speakers there is also the advantage of taking that extra hour or two you can get to do a quick tech check the day before and help calm those nerves.
Why outbound late?
The last day ends with the closing keynote and those can run long – I have seen people RUN for the busses and have to drag luggage around with them in the closing because of time constraints. Plus when you get to the first few busses you have the fight for bus space! It really just messes with the last day, rather take a later flight which means you do not need to fight for bus seats or rush around.
Why the Hilton?
The Hilton in Durban is the best place to stay, as it is RIGHT next door to the ICC where Tech·Ed is held. In fact the picture to the left, the bottom left hand corner is the ICC. You don’t even have to cross a road!
So it means getting up later, staying out later (Hilton bar is famous for after parties), it means being where all the Microsoft staff, media & presenters are (great for those informal discussions in the elevator) and generally a top end experience.
Big issue, it sells out FAST so you should be booking NOW!
Follow these travel tips and you will be on your way for a great Tech·Ed!
Windows Phone 7: Professional Tips - Storing your settings
In Windows Phone 7 there are two ways to store values State & IsolatedStorageSettings which have their various pro’s and con’s. I prefer to use the IsolatedStorageSettings for most scenarios but this tip will apply to both, so when you see the code referring to one it will work on both.
Very simply the first setting you should store is one called version (or similar) and should have a version indicator. In short it tells you what version of the settings you are working with!
IsolatedStorageSettings.ApplicationSettings["version"] = "1";
Having this field has two advantages for you, first it gives you a very simple way to check if you have settings available & if it is not, then your app is running for the first time.:
if (IsolatedStorageSettings.ApplicationSettings.Contains("version")) { // do something with settings }
The other advantage is that when you update your application you can upgrade settings easily.
if (IsolatedStorageSettings.ApplicationSettings.Contains("version")) { switch ((int)IsolatedStorageSettings.ApplicationSettings["version"]) { case 1: { // upgrade version setting and add missing settings or change existing settings break; } case 2: { // normal reading of settings break; } } }Even if you never use it for upgrades, at least it is there for a simple check and if one day you need it - you are ready to go!
Cricket Run Rate Tools for Windows Phone 7
In my ever growing list of Windows Phone 7 apps I introduce you to the latest one, a cricket run rate toolset!
This is another calculator type that allows you to work out cricket run rates, projected scores at the current run rate and also projected scores if the run rate changes to 4, 5 or 6 runs per over!
The second screen is the compete screen which allows you to put in the score of the first batting side and then see if the chasing team is at, above or below the run rate needed to catch them and what run rate is needed!
It’s a very nice and simple tool to have in your toolbox for cricket fans!
Tweets that start with a name, do not work the way you think they do
I was put onto this interesting feature of Twitter by Scott Hanselman, where needs repeating. When you use Twitter to send a tweet all of your followers will get it, unless when you start the tweet with a name (called an @ reply). For example:
The above tweet would have been seen by everyone who follows me!
This second tweet starts with William Branders name, so only people who follow BOTH of us will see it. In other words, it is only that group in the middle of the following Venn chart which will see that tweet!
So how can you send a tweet starting with someone's name & have all of your followers see it? Start the tweet with a dot, like in the example below.
A final important to note about starting a tweet with a name, those tweets are still public. Even though your followers don't automatically see them, they could just browse to the Twitter website and find them their. If you want a tweet that is private, you a direct message
Game development in South Africa and dealing with the Film and Publications Board
If you walk into any store to buy a game or movie you will find a little blue triangle sticker which contains the age restriction from the Film and Publications Board who review and rate content.
Since I created a game recently I decided to see what the process is for classification of a game is and learnt some very interesting things for developers.
Put simply only games/films that are sold or hired require to be classified – so if you are developing a game/films that will be available for FREE then you do not require classification! Below is the email from the head of the classification unit confirming that!
GREAT NEWS for hobbyist developers!
If you do plan to sell your game then you need to complete the forms on the website (game submission form), provide a disc with screenshots and videos of your game, a game synopsis and pay the registration fee (currently R1 508.64) and then wait for the classification.
Microsoft have confirmed & I have tested that the forced requirement for the FPB certification in the marketplace no longer exists. You can submit a certification but you are not forced to. Only downside at the moment is Window Phone 7 – when you submit a game for the South African market regardless of price they require the certification which is incorrect. I have submitted a request to Microsoft for details on this and will update you as soon as I have any information.