Blog

posts tagged with windows phone

'Twelve ways to make your apps suck less' presentation

0 Comments
By Fons Sonnemans, 21-10-2014

The Dutch and Belgium Windows and Windows Phone developers have organized the Lowlands Windows Phone Developer Day event on 18 October 2014. I have presented this 'Twelve ways to make your apps suck less' presentation. With this blog I like to share the slides and demo projects (download button below).

Twelve ways to make your apps suck less from Fons Sonnemans

I would like to thank Joost van Schaik, Nico Vermeir and Glenn Versweyveld for organizing this wonderful event.

Windows Phone Week - Slides

0 Comments
By Fons Sonnemans, 8-10-2013

Op 5 oktober heb ik een 'Designing WP apps UI using Blend' presentatie verzorgt op de Windows Phone Developer Day. Deze dag was perfect georganiseerd door Joost van Schaik, Tom Verhoeff en Dennis Vroegop. Er waren ruim 60 deelnemers en de locatie bij Macaw was natuurlijk top. Meer info op http://www.dotned.nl/register/66/zaterdag-5-oktober--windows-phone-developer-day-.aspx

De slides zijn via onderstaande download link te bekijken. Voor vragen kan je natuurlijk altijd contact met mij opnemen.

Fons

ShareMediaTask on Windows Phone 8

9 Comments
By Fons Sonnemans, 3-12-2012

The new Windows Phone 8 SDK has a new ShareMediaTask class which can be used to share your pictures from code. I wanted to use this class to share a WriteableBitmap. You can use it to share the picture using NFC (Tap+Send), apps or to social media like Twitter or Facebook. In this post I will explain how to implement this.

Demo App

I have created a demo app in which a Rectangle and a Ellipse are drawn inside the default ContentPanel grid. When you tap the Share button the ContentPanel is used as the input for a WriteableBitmap. This WriteableBitmap is than saved so it can be shared using the ShareMediaTask().

The XAML

The XAML is really basic.

<Grid x:Name="LayoutRoot"
      Background="Transparent">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>

    <StackPanel x:Name="TitlePanel"
                Grid.Row="0"
                Margin="12,17,0,28">
        <TextBlock Text="SHARE MEDIA DEMO"
                    Style="{StaticResource PhoneTextNormalStyle}"
                    Margin="12,0" />
        <TextBlock Text="mainpage"
                    Margin="9,-7,0,0"
                    Style="{StaticResource PhoneTextTitle1Style}" />
    </StackPanel>

    <!--ContentPanel - place additional content here-->
    <Grid x:Name="ContentPanel"
          Grid.Row="1"
          Margin="12,0,12,0"
          Grid.RowSpan="2">
        <Rectangle Fill="Blue"
                    HorizontalAlignment="Left"
                    Height="253"
                    Margin="101,113,0,0"
                    Stroke="Black"
                    VerticalAlignment="Top"
                    Width="192" />
        <Ellipse Fill="#FF42B51B"
                  HorizontalAlignment="Left"
                  Height="236"
                  Margin="175,237,0,0"
                  Stroke="Black"
                  VerticalAlignment="Top"
                  Width="226" />
    </Grid>
        
    <Button Content="Share"
            VerticalAlignment="Top"
            Grid.Row="2"
            Click="ButtonShare_Click" />

</Grid>

The code

In the ButtonShare_Click() method a screenshot of the ContentPanel is created using a WriteableBitmap. This WriteableBitmap is then saved to the MediaLibrary. The Path of the ShareMediaTask object is set using the GetPath() extension method on the picture class. The Microsoft.Xna.Framework.Media.PhoneExtensions namespace is brought into scope using a 'using' statement in the header of the class. Finally I called the Show() method on the ShareMediaTask object.

using Microsoft.Xna.Framework.Media.PhoneExtensions;

...

private void ButtonShare_Click(object sender, RoutedEventArgs e) {
    var bmp = new WriteableBitmap(this.ContentPanel, null);
    var width = (int)bmp.PixelWidth;
    var height = (int)bmp.PixelHeight;
    using (var ms = new MemoryStream(width * height * 4)) {
        bmp.SaveJpeg(ms, width, height, 0, 100);
        ms.Seek(0, SeekOrigin.Begin);
        var lib = new MediaLibrary();
        var picture = lib.SavePicture(string.Format("test.jpg"), ms);

        var task = new ShareMediaTask();

        task.FilePath = picture.GetPath();

        task.Show();
    }
}

I have also tried to save the WriteableBitmap to the IsolatedStorage. But the ShareMediaTask couldn't cope with that (bummer). I hope Microsoft will fix that in a future version of the SDK.

I really want to thank Clemens Schotte for solving this part of the puzzle.

Closure and download

I hope you like my solution. You can download my code here.

Cheers,

Fons

Techdays 2012 Sessies

0 Comments
By Fons Sonnemans, 5-3-2012

Ook dit jaar heb ik mogen spreken op het Techdays event van Microsoft dat op 16 en 17 februari in Den Haag gehouden is. Deze keer met 3 sessies waarvan er twee op Channel9 te bekijken zijn.

Windows Phone applicaties ontwerpen en ontwikkelen met de Metro UI

Metro UI is de design-interface waarop Microsoft onder andere Windows Phone 7 en Windows 8 heeft gebaseerd. Het is minimalistisch, clean en - zoals de naam al weggeeft - geïnspireerd op borden die veelal op metro-, treinstations en luchthavens te vinden zijn. In deze sessie leg ik uit hoe je Metro toepast om mooie applicaties te ontwikkelen. Hierbij maak ik gebruik van Silverlight, Visual Studio, Expression Blend, Expression Design en de Silverlight Toolkit. Aan de hand van een aantal praktijkvoorbeelden uit bestaande applicaties demonstreer ik wat niet correct is en hoe dit op te lossen is. Hierbij worden o.a. onderwerpen besproken als vormgeving, animatie en navigatie.

Download Presentatie en Voorbeeld Code.

Windows Phone applicaties omzetten naar Windows 8

In deze sessie wordt een Windows Phone applicatie, die opgezet is volgens het MVVM patroon, omgezet naar Windows 8. Hierbij komen de verschillen in XAML, DataBinding, Animaties en Networking aan de orde. Ook wordt ingegaan op wat dit betekend voor de Touch bediening, Navigatie en Layout. Deze sessie zal voor een groot gedeelte bestaan uit demo’s waarbij de applicatie live omgezet wordt.

Download Presentatie en Voorbeeld Code.

Stand Up Windows Phone Development (GeekNight)

Deze sessie is anders dan wat u gewend bent. Geen slides, geen agenda maar live on stage ontwikkelen. In deze sessie ga ik een aan de hand van de input van de aanwezigen een windows phone applicatie maken, u roept wij bouwen. De app zal natuurlijk ontwikkeld worden met Visual Studio en Expression Blend. Wat het wordt is dus nu nog niet bekend, leerzaam en leuk wordt het zeker!

Download Voorbeeld Code.

Helaas zijn er zijn geen videos van de Geeknight sessies.

Cheers,

Fons

Bloq for Windows Phone 7

0 Comments
By Fons Sonnemans, 12-6-2011

In this very addictive game you have to select 4 bloqs of the same color to make a rectangle. The number of bloqs in this rectangle are added to your score. Win bonus time if a numbered bloq is in this rectangle.

Features:

  • Fun, good looking and addictive
  • Local and online highscores (overall, daily and weekly)
  • Choose your favorite color theme
  • Choose small or large bloqs
    • Download

      You can download it for free from the WP7 Marketplace.

      Screenshots

      Cheers,

      Fons

DevDays 2011 Sessies

0 Comments
By Fons Sonnemans, 9-5-2011

Ook dit jaar heb ik mogen spreken op het DevDays event van Microsoft dat op 28 en 29 april in Den Haag gehouden is. Deze keer met 3 sessies waarvan er twee op Channel9 te bekijken zijn. Helaas is mijn 'Windows Phone Marketplace' sessie van de Geeknight niet gepubliceerd.

Overzicht van Silverlight voor Windows Phone Toolkit

Microsoft heeft met het uitbrengen van de Silverlight Toolkit een aantal extra componenten uitgebracht voor het ontwikkelen van de Windows Phone applicaties. In deze sessie zie je wat de mogelijkheden van deze componenten zijn. De AutoCompleteBox, ListPicker, LongListSelector, DatePicker, TimePicker, ToggleSwitch en WrapPanel controls zie je ingezet worden voor mooiere applicaties. De services zie je toegepast worden voor gestures, context menu en pagina transities.

Download Presentatie en Code voorbeelden.

Designing Windows Phone Applications met Expression Blend

In deze sessie zie je hoe Microsoft Expression Blend gebruikt kan worden voor het ontwerpen van Windows Phone applicaties. De ApplicationBar-, Panorama- en Pivot controls zie je toegepast worden en zie je hoe je in Blend animaties, styling en de Visual State Manager kunt inzetten. Je leert hoe je Behaviors gebruikt om logica te implementeren zonder te programmeren. En tot slot zie je hoe je Sample Data en Data Binding gebruikt.

Download Presentatie.

Windows Phone Marketplace

Applicaties en games worden via de Windows Phone Marketplace gedistribueerd. In deze sessie zie je wat je moet doen om je eigen applicaties en games in de Marketplace te krijgen en eventueel er ook nog geld aan te verdienen. Je ziet de stappen voor registratie en applicatie upload. Je ziet aan welke eisen een applicatie moet voldoen, maar ook de tips en tricks om zo veel mogelijk downloads te genereren. Ook zie je hoe je de IRS formulieren kunt invullen zodat je niet te veel belasting betaalt.

Download Presentatie en Tiles Template voor Expression Design.

Cheers,

Fons

TechDays 2011 WP7 app

0 Comments
By Fons Sonnemans, 4-4-2011

I have written a new WP7 application which is now available on the Marketplace.

TechDays

Description

TechDays 2011 for Windows Phone delivers users scheduling and speakers information from Microsoft TechNet_Live, DevDays and GeekNight. It will be held on 26 - 29 April in the World Forum, The Hague, The Netherlands.

This is an unofficial app developed by Fons Sonnemans (Reflection IT). Visit his DevDays sessions and learn how it was developed.

Download

You can download it for free from the Windows Phone marketplace.

Cheers,

Fons

Mijn W-8BEN voor de Windows Phone 7 Marketplace

1 Comments
By Fons Sonnemans, 24-3-2011

Om je inkomsten van je applicaties, die via de Marketplace verkocht worden, uitbetaald te krijgen, dien je een aantal stappen te ondernemen, zodat je niet dubbel belasting betaalt. Vanwege een verdrag tussen Amerika en Nederland is het mogelijk dat je in Amerika geen belasting betaalt over deze inkomsten, mits je de goede formulieren correct invult. Wel moet je in Nederland separaat aangifte doen over deze inkomsten.

Ik heb op dit moment 6 applicaties in de WP7 Marketplace. Vanaf januari dit jaar betaalt Microsoft USA mij maandelijks mijn inkomsten uit. Hierbij houden zij geen belasting in omdat ik mijn W-8BEN formulier correct ingevuld en opgestuurd heb. In deze blogpost beschrijf ik hoe ik dat gedaan heb.

Onlangs heeft Matthijs Hoekstra van Microsoft Nederland zijn 'Windows Phone 7 Marketplace, W7, W8, EIN, ITIN, hoe zit dat nou?' blogpost geschreven. Hierin geeft hij uitleg welke formulieren ingevuld moeten worden. In het artikel heeft hij daar een mooi schema opgenomen. Ik ontwikkel mijn applicaties vanuit Reflection IT BV (Besloten Venootschap) en heb dus ook een BTW nummer (VAT). Daarom heb ik dus de Form SS-4, EIN Number, Form W-8(BEN) route gevolgd.

Form SS-4

Om een EIN nummer aan te vragen heb ik eerst een SS-4 formulier ingevuld. Deze heb ik gebruikt om daarna deze gegevens telefonisch door te geven aan de US Tax Office (IRS). Dit omdat dit sneller gaat dan de post. Je krijgt namelijk dan direct het nummer en een paar dagen later via de post de bevestiging.

Klik op de onderstaande afbeelding om de PDF versie van mijn ingevulde formulier te openen. Op een aantal plaatsen heb ik vraagtekens gebruikt om mijn persoonlijke gegevens te verbergen.

Form SS-4

Op de 'How to Apply for an EIN' pagina van de IRS staat het internationaal telefoon nummer (+1 267 941-1099) dat ik gebruikt heb. 5 Minuten later had ik mijn EIN en kon ik het W-8BEN formulier invullen.

W-8BEN

Klik op de onderstaande afbeelding om de PDF versie van mijn ingevulde formulier te openen. Let wel op dat ik bij vraag 3 ingevuld heb dat ik een Corporation ben (BV) waardoor er sprake is van loondienst. Ik weet niet wat een eenmanszaak of privé persoon dient in te vullen. Bij vraag 6 heb ik mijn EIN ingevuld.

Form W-8BEN

Je kunt tegenwoordig je W-8BEN formulier door Microsoft laten controleren voor dat je deze officieel indient. Stuur deze via een email bij naar mplcomm@microsoft.com. Zij melden dan of het goed is ingevuld. Dit heb ik zelf niet gedaan omdat deze service toen nog niet bestond.

Dit formulier stuur je naar het onderstaande adres.
Microsoft - Windows Phone Marketplace
Attn: Finance Department
29011 Commerce Center Drive
Valencia, CA 91355
USA

Dit adres afkomstig van deze FAQ pagina is het correcte adres. Op deze pagina staat een ander adres wat nogal wat verwarring veroorzaakt. Indien dit laatste adres gebruikt wordt zal Microsoft deze post doorsturen naar het correcte adres.

Helaas krijg je geen bevestiging van ontvangst of correctheid. Pas als je de eerste $200,- uitbetaald krijgt weet je of het goed gegaan is. Ook de App Hub site blijft melden dat er nog geen W-8BEN ontvangen is tot deze eerste uitbetaling. Je kunt jammer genoeg tussentijds niet controleren of je aanvraag goed terechtgekomen is.

ITIN en W-7

Omdat ik vorig jaar nog niet wist dat ik een EIN nodig had heb ik overigens ook een ITIN aangevraagd. Deze heb ik ook ontvangen maar daarna niet meer gebruikt. Om dit aan te vragen heb ik het W-7 formulier ingevuld en opgestuurd naar de IRS. Daarbij heb ik een gewaarmerkte kopie van mijn paspoort meegestuurd. Alleen een handtekening is echter niet voldoende, hierop moet duidelijk de naam van de ambtenaar van de burgerlijke stand bijgeschreven worden. Deze heb ik voor € 10,- verkregen bij het gemeentehuis. Je hoeft hiervoor dus niet naar een notaris of ambassade. Tot slot moet je ook deze brief (PDF) downloaden, afdrukken, ondertekenen en meesturen.

Klik op de onderstaande afbeelding om de PDF versie van mijn ingevulde formulier te openen.

Form W-7

Ik heb daarna bijna 2 maanden moeten wachten op deze aanvraag waarna ik een net briefje ontving met daarin mijn ITIN.

Disclaimer

Het invullen van alle formulieren is een hele zoektocht geweest. Gelukkig heb ik daar geen fouten in gemaakt. Ik hoop dat deze informatie gebruikt kan worden om zelf ook deze formulieren in te sturen. Deze informatie is uitsluitend bedoeld voor algemene informatiedoeleinden en is niet bedoeld als advies. Reflection IT BV is niet aansprakelijk voor enige schade ten gevolge van het gebruik (of de onmogelijkheid tot het gebruik) van deze informatie.

Cheers,

Fons

Tattoo Tester on YouTube

0 Comments
By Fons Sonnemans, 8-3-2011

  I have just published an YouTube video of Tattoo Tester for the Windows Phone. It also shows the new features added in version 1.1.

New Features

  • 122 tattoos included grouped in categories: Tribal's, Animals, Signs, Flowers, Cartoons, Flags and Others
  • add another tattoo
  • mirror tattoo
  • import tattoo

You can now design your own tattoo and import it into the app. Select a picture with a white or transparent background and use it as your custom tattoo. Skip to 2:20 in the video to see this in action.

Download

You can download a trial version or buy for $1.99 the full version. You can then choose from 101 extra tattoo's.

Video

Cheers,

Fons

Animal Sounds game for Windows Phone 7

0 Comments
By Fons Sonnemans, 1-3-2011

  I have just published an YouTube video of my new Animal Sounds game for the Windows Phone. Best of all it's free and doesn't contain any ads.

Description

Click on the animal that makes the sound you hear. A wild, fun, and educational game for young children (2-5 years).

Download

Video

Cheers,

Fons

All postings/content on this blog are provided "AS IS" with no warranties, and confer no rights. All entries in this blog are my opinion and don't necessarily reflect the opinion of my employer or sponsors. The content on this site is licensed under a Creative Commons Attribution By license.