Vem är Johan Lindfors

Jag jobbar som teknisk chef på Microsoft i Sverige och ansvarar för vår tekniska evangelisering mot utvecklare. I den här bloggen har jag för avsikt att skriva om utveckling i allmänhet och på Microsofts plattform i synnerhet.

Är du intresserad av en XNA användargrupp?



Visa resultat!

Get Microsoft Silverlight

Missa inte dina fria timmar i molnet med MSDN

För dig som har en MSDN prenumeration finns det fria timmar att dra nytta av i Windows Azure Platform. Här finns det en riktigt bra beskrivning över hur du går tillväga för att använda timmarna och utvärdera plattformen, GRATIS!

Click to download Walkthrough DocumentsFråga: Varför måste jag ändå mata in ett kreditkort?
Svar: Tjänsten är designad så att ju mer du konsumerar desto mer kostar det. Det betyder att när dina fria timmar är slut så kommer din prenumeration att börja ticka kostnader, men du kan i processen markera att du inte vill automatiskt förnya din prenumeration på det sättet utan istället välja att “kliva av” när de fria timmarna är slut.

Glöm inte heller att ladda hem det uppdaterade “training kit” som nu finns tillgängligt. Där finns laborationer som snabbt hjälper dig igång med de olika komponenterna i Windows Azure Platform.

Postades 18. juni 2010 14:12 av Johan Lindfors
Taggar:

Hantera synlighet av element baserat på orientering

En dialog som nyss dök upp i en diskussionslista var angående hur det går att agera på förändring i orientering av enheten som då kan uppdatera gränssnittet. Med Windows Phone 7 och Silverlight så kan du markera dina sidor i en applikation till att ha stöd för både Portrait (stående) och Landscape (liggande) eller bara en av dem om så önskas. Med hjälp av de inbyggda panelerna så kommer sedan elementen i din applikation att automatiskt ställa in sig till skärmens orientering, mycket smidigt, men det finns begränsningar.

Exempelvis kalkylatorn i Windows Phone 7, har liksom kalkylatorer i andra plattformar, mer knappar synliga vid liggande orientering än vid stående. Men hur kan vi i våra applikationer förändra ett elements synlighet baserat på orientering?

Databinding och “value-converters” till räddningen.

Genom att helt enkelt databinda det element som vi vill ska kunna synas eller inte, specifikt egenskapen Visibility, till egenskapen på sidan som heter Orientation. Dessvärre så har dessa egenskaper olika typer och det är där en konverterare kommer till sin rätt. Följande kod skapar en en-vägs-konverterare (i och med att jag inte implementerar ConvertBack metoden) som hanterar konverteringen:

public class LandscapeVisibilityConverter : IValueConverter
{
    public object Convert(
        object value,
        Type targetType,
        object parameter,
        CultureInfo culture)
    {
        var orientation = (PageOrientation)value;
        Visibility visibility = Visibility.Collapsed;
        switch (orientation)
        {
            case PageOrientation.Landscape:
            case PageOrientation.LandscapeLeft:
            case PageOrientation.LandscapeRight:
                visibility = Visibility.Visible;
                break;
            default:
                break;
        }
        return visibility;
    }

    public object ConvertBack(
        object value, 
        Type targetType, 
        object parameter, 
        CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

Hoppas att du får användning av den! Det är precis lika enkelt att skapa en PortraitVisibilityConverter, men det fixar du själv va, eller hur Smile

Postades 16. juni 2010 23:08 av Johan Lindfors

De tävlar och vinner med hjälp av XNA

De senaste veckorna har två av Sveriges mest prestigefyllda tävlingar för spelutvecklande studenter i Sverige avslutas med finaler och prisutdelningar, Gotland Game Awards (GGA) och Swedish Game Awards (SGA). Som en passionerad XNA-utvecklare så är jag naturligtvis otroligt glad över de framgångar som flera lag har haft med hjälp av just XNA. Det gör också att jag ser fram emot fortsatta bidrag till tävlingar samt ännu fler coola spel på Xbox Live och Windows Phonen 7 framöver. Här är några av bidragen som vunnit kategorier i tävlingarna:

SGA Game of the Year 2010, samt GGA Pwnage Award – Dwarfs

image

“Dwarfs” is an arcade/strategy game set deep underground. The goal of the game is to explore a randomly generated playfield as much as possible, while at the same time protecting your Town Hall from harm. The top-down tiled based playfield contains random dungeons which you must explore. Dungeons are usually neutral or friendly, but may also contain threats such as water, lava or hostile creatures. Each of these threats must be dealt with accordingly – and swiftly!

Läs mer om Dwarfs här!

SGA Best Execution – Broot4l Qwest

“Fight your way as an alien cowboy or a mutated brain in this top-down multidirectional shooter. Gun your way through two whole campaigns, by yourself or together with a friend in co-op. Features two different player-classes and a wide arsenal of weapons, ranging from uzis to rocket launchers. If you're really br00t4l there's also a survival mode that'll truly test your skills.”

Läs mer om "Br00t4l Qwest” här!

GGA The Award for Human Rights – Pawns

image

Pawns is a 2D scrolling co-op game for two players. You and a friend combine awesome powers to defeat the human invasion.
The main focus for Pawns is to create a co-op game where the players never work against each other, just pure co-op.
While running and jumping you use your given powers, like creating a strong wind, ice or healing, to overcome obstacles like enemies, walls or even giant wood-chopping machines.

Läs mer om Pawns här!

GGA Best XNA Game – Abzolium

image

“Abzolium is a multiplayer real time action game for the Xbox 360. The major factor in your survival and fighting capacity is your HP. Every risk becomes greater with a small amount of health.
The arena has got certain spots on which the players can absorb energy and use against other players. These spots tend to become areas of which battles takes place. Since players would want the energy for themselves, it’s therefore a risk in itself trying to obtain the energy due to the competition.”

Läs mer om Abzolium här!

Stort grattis till alla vinnarna!
Postades 16. juni 2010 17:30 av Johan Lindfors
Taggar:

MSDN TV Live – Windows Phone 7 och XNA

Som den avslutande presentationen i vårens MSDN TV Live-serie så kommer jag på fredag att presentera hur XNA kan användas för att bygga spel och multimedia-applikationer på Windows Phone 7. Presentationen är en introduktion till XNA men vi kommer också att titta på saker som är specifika för just Windows Phone 7, som exempelvis konfigurerbara shaders.

Datum Fredagen den 18:e juni
Tid 12:00 – 13:00
Plats Klicka här för att ta del av sändningen

OBS: Webbsändningen använder Office Live Meeting och kommer att innehålla presentation, demonstration och ljud (via datorn). Innan du går med i webbsändningen så behöver du installera Office Live Meeting-klienten!

Uppdatering!

Presentationen spelades in och finns nu för återspelning på Channel9!

Postades 15. juni 2010 16:04 av Johan Lindfors
Taggar: ,

Small Basic version 0.9 nu för nedladdning

En trevlig lite mindre nyhet inför helgen är att Small Basic nu finns i en version 0.9 att ladda hem. Den senaste versionen innehåller en hel del buggfixar men också en del intressanta nyheter:

  • Controls-objekt som möjliggör tillägg av Buttons och TextBoxes som reagerar på användarens interaktion.
  • Shapes-objekt som bidrar med funktioner för att addera, modifiera, animera och zooma text.
  • Sound-objektet kan nu använda metoden PlayMusic för att spela upp musik.

Nu finns Small Basic även i 15 språk, men dessvärre inte på svenska, vore det något bra att ha så hör av dig till mig så ska jag se vad vi kan ordna framöver.

Postades 11. juni 2010 21:40 av Johan Lindfors
Taggar:

Optimera prestanda i Silverlight-applikationer för WP7

När du börjar utveckla applikationer för Windows Phone 7 med Silverlight så är det naturligtvis viktigt att kontinuerligt ha koll på systemresurser och optimera applikationens olika delar som exempelvis animationer. Allt för att få till en så bra upplevelse som möjligt för användaren.

Då kan det vara bra att slå på följande egenskap:

Application.Current.Host.Settings.EnableFrameRateCounter = true;

UPPDATERING:

I applikationer som väljer att visa SystemTray (som visar batteri osv) så kommer räknarna att hamna bakom denna, det betyder att för att vara säker på att se räknarna så är följande kodrader att föredra:

this.SetValue(Microsoft.Phone.Shell.SystemTray.IsVisibleProperty, false);
Application.Current.Host.Settings.EnableFrameRateCounter = true;

Då kommer du att få fem stycken räknare högst upp i vänsta hörnet som ger följande information:

  1. imageRender thread frame rate
  2. UI thread frame rate
  3. Vram used
  4. # textures used
  5. # intermediate textures used

Mer information om detta kan du få här: http://live.visitmix.com/MIX10/Sessions/CL60

Postades 11. juni 2010 17:35 av Johan Lindfors

Windows Phone 7 applikationer med lokal cache av data

Vill varmt rekommendera en presentation från TechEd 2010 i New Orleans som har titeln “Occassionally Connected applications with Windows Phone 7” som hölls av Rob Tiffany. Rob pratar om hur vi kan optimera våra applikationer både på servern och klienten för att underlätta kommunikation mellan telefonen och servern med hjälp av exempelvis WCF,  REST och JSON. Rob tar också upp en användning av Singelton-mönstret för att skapa en lokal “databas” av objekt som kan serialiseras ned på disk (i IsolatedStorage) för cachning av data samt hantering av tillstånd.

En mycket intressant diskussion med bra kodexempel och pedagogiskt upplägg!

Postades 11. juni 2010 17:06 av Johan Lindfors
Taggar: ,

MSDN TV Live – Expression Blend 4

Med Expression Blend 4 kan du utforma gränsnittet och den tänkta användarupplevelsen för din applikation oavsett om den ska köras på desktopen, webben eller mobilen. Under seminariet kommer Danwei Tran att kika på nyheter som PathListBox, använda sig av Windows Phone 7 emulatorn och bygga ett spel i Silverlight med hjälp av Behaviors.

Datum Fredagen den 11:e juni
Tid 12:00 – 13:00
Plats Klicka här för att ta del av sändningen

OBS: Webbsändningen använder Office Live Meeting och kommer att innehålla presentation, demonstration och ljud (via datorn). Innan du går med i webbsändningen så behöver du installera Office Live Meeting-klienten!

Windows Azure och .NET Framework 4.0

Under TechEd North America konferensen presenterade Bob Muglia en hel del nyheter om Windows Azure Platform. Jag hoppas att du inte har missat nyheterna och uppdateringarna:

  • Windows Azure Tools for Visual Studio 1.2
    En ny version av Windows Azure SDK och Tools for Visual Studio innebär att det nu går att bygga applikationer på Windows Azure med hjälp av .NET Framework 4.0. Det finns också en del andra intressanta nyheter som att exempelvis få stöd för IntelliTrace och direkt ladda upp en applikation från Visual Studio till Windows Azure. Du kan redan nu ladda hem det uppdaterade SDK’t här, och hitta ytterligare läsning här!
  • Uppdateringar till SQL Azure
    Från och med den 28:e juni så kan kunder nu dra nytta av uppdateringar i SQL Azure. Bland annat så kan en databas uppdateras från den tidigare max-gränsen på 10GB till snart 50GB. Vi kommer också att kunna använda oss av spatiala typer för att lagra information om platser med exempelvis latitud och longitud. Mer information om uppdateringarna till SQL Azure hittar du här!
  • Windows Azure CDN
    Med hjälp av Windows Azure CDN (Content Delivery Network) så kan utvecklare nu cacha data lagrat i Windows Azure Blobs i olika datacenter över världen så att informationen finns tillgänglig närmare användarna och kunderna. Idag finns Windows Azure CDN på 19 platser, strategiskt placerade runt omkring och används även av bland annat Windows Update, Zune videos och Bing Maps. Mer detaljer såsom priser och tillgänglighet kan du hitta här!
  • Data Sync Service for SQL Azure
    Det här är en ny tjänst som för närvarande är tillgänglig som en förhandsversion i laborations-miljön. Den gör det möjligt för kunder att synkronisera data mellan två SQL Azure databaser i molnet. Det här är den andra tjänsten som erbjuds för SQL Azure Labs, den första var OData exponering av data. Du kan nå båda dessa tjänster via http://www.sqlazurelabs.com och vill du läsa mer om Data Sync tjänsterna så finns det information här!
  • Uppdatering av Windows Azure Platform Training Kit
    En uppdaterad version av utbildningskitet med massvis med information, laborationer, demos och presentationer finns nu tillgänglig för nedladdning. Bland annat så finns sju stycken nya laborationer som helt fokuserar på användning av Visual Studio 2010 och Windows Azure Platform. Hämta detta omedelbart här!
  • Exempel applikationer
    Två stycken exempelapplikationer finns nu tillgängliga. “PhluffyFotos” är en applikation som låter användare ladda upp bilder från sina mobila enheter, tagga informationen och dela med sig av resultatet. “PhluffyFotos” kan laddas hem från http://phluffyfotos.codeplex.com. Den andra exempelapplikationen heter “Full Monte” och är en “Monte Carlo”-simuleringstjänst som körs i Windows Azure. Den visar med hjälp av Excel som klient hur vi kan skapa applikationer som skalas både uppåt och nedåt vid behov. “Full Monte” kan laddas hem från http://code.msdn.microsoft.com/fullmonte.

Windows Phone 7 Developer Hub, sista chansen

Imorgon, Onsdag den 9:e juni, kommer Sveriges första utvecklardag om Windows Phone 7 att hållas på hotell Clarion Sign i centrala Stockholm. Redan idag presenteras designspråket Metro och hur vi kan skapa effektiva applikationer på Windows Phone 7 som tilltalar både våra sinnen och förmågor.

tvpx[1]Albert Shum med team, som är huvudansvariga för just användarupplevelsen i Windows Phone 7 står idag på scen och kommer även imorgon att presentera formella riktlinjer för att just skapa nya upplevelser.

Det betyder att om du idag har missat möjligheten att lyssna på Albert så har du ytterligare en chans imorgon!

Det finns fortfarande platser kvar till gratisevenemanget imorgon Onsdag där vi bjuder på både lunch, fika, massvis med presentationer och demonstrationer av Windows Phone 7!

Postades 8. juni 2010 09:54 av Johan Lindfors
Taggar:

Den här bloggen använder BlogEngine.NET 1.6.0.0
Temat anpassat av Johan Lindfors