Windows Phone Simulation Dashboard

Podczas pracy z Visual Studio 2012 i Windows Phone SDK oprócz powszechnie znanych możliwości jakie daje emulator mamy do dyspozycji dodatkowy panel w Visual Studio, który nazywa się Simulation Dashboard. Jest on dostępny z menu Tools -> Simulation Dashboard lub przy użyciu Quick Launch (CTRL + Q) już po wpisaniu trzech pierwszych liter jego nazwy. Przy okazji polecam używać Quick Launch, ponieważ potrafi znacząco ułatwić nawigację po ponad 4k opcji oferowanych przez Visual Studio :)

Wróćmy jednak do właściwego tematu i przyjrzyjmy się jak wygląda cały panel.

SimulationDashboard

Aktualnie oferuje on 3 (symulacja sieci, blokada ekranu, przypomnienia), aczkolwiek planowana jest rozbudowa o kolejne opcje. Jeżeli macie jakieś pomysły, co chcielibyście tu znaleźć, to piszcie śmiało – postaram się przekazać sugestie do zespołu zajmującego się narzędziami.

Symulacja sieci pozwala sprawdzić jak nasza aplikacja korzystająca z połączenia będzie się zachowywać w skrajnych przypadkach, jakie będą opóźnienia w transmisji danych itp., co pozwoli nam dodać na przykład performance progress bar informujący użytkownika o dłuższych czynnościach.

Bardzo istotne jest zbadanie działania aplikacji pod zablokowanym ekranem oraz właściwe obsłużenie tego typu zdarzeń. Pamiętajmy również, że możemy wymusić, aby aplikacja działała również pod zablokowanym ekranem, co do tej pory bez telefonu było niemożliwe do przetestowania.

Przypomnienia – jest to element, który może przenieść kontekst użytkownika poza naszą aplikację, a następnie do niej powrócić. Warto przygotować się również na taki scenariusz, a przy pomocy Simulation Dashboard jest to teraz o wiele łatwiejsze niż było do tej pory.


GeekClub – sezon 5

W poprzednich sezonach

GeekClub do tej pory zorganizował 4 cykle konkursów poświęconych tworzeniu aplikacji na platformy Microsoft. Do tej pory:

Sezon 1 – inauguracja pomysłu Geek Club – celem akcji było stworzenie aplikacji na platformę Windows Phone. Zasady były dość proste – jedna aplikacja to 100 punktów, a na telefon trzeba było uzbierać 500 punktów.

Sezon 2 – podobnie jak w sezonie pierwszym, tak i tu tworzyliśmy aplikacje na platformę Windows Phone. Tym razem jednak kryteria ocen aplikacji były dużo bardziej surowe i wymagające. Jednocześnie za aplikację można było zdobyć nawet 1000 punktów!

Sezon 3 -Summer GeekClub poświęcony Windows 8. Dzięki tej akcji można było wejść na Windows Store przez oficjalną premierą platformy, co dawało duże pole do popisu. Dodatkowo jeżeli ktoś poprawnie przeszedł sprawdzenie aplikacji przez pracowników MS to dostawał w zamian kod aktywacyjny na 2 lata pozwalający publikować aplikacje na store, co obok 1000 punktów za aplikację było niewątpliwym bonusem :)

Sezon 4 – akcja ponownie poświęcona platformie Windows 8 – reguły oceniania bardzo podobne jak poprzednio, ale tym razem akcja nie wymaga dodatkowych spotkań i dyskusji nad aplikacjami. Można również, tak jak w sezonie 2, zdobyć od 600 do 1000 punktów, co pozwala zdobyć jakieś punkty pomniejszym aplikacjom. Jak zawsze uczestnicy dostawali również sugestie co zrobić, aby przejść próg lub dostać więcej punktów – fakt faktem, że czasem pomimo zaimplementowania sugestii aplikacja trafiała do innego testera, który mówił coś innego :) Ale patrząc z boku – im większy feedback od osób niezaangażowanych w tworzenie aplikacji tym lepsza ona może być w końcowej fazie :)

 

Wiadomo, że każde tego typu przedsięwzięcie spotyka się z trudnościami technicznymi. Wdrożenia i aktualizacje portali GC/WSS mogły zaburzyć nieco płynność sprawdzania aplikacji. Dodatkowo jakże bogata paleta świąt i dni wolnych w polskim kalendarzu też nie pozostaje bez echa – testerzy to nie maszyny – 0 miejcie dla nich litość i pozwólcie cieszyć się np. długim majowym weekendem, Bożym Narodzeniem, Sylwestrem itp…

W nadchodzącym sezonie 5

gc5

 

Tym razem emocji będzie dużo więcej. Konkretnie 3 razy więcej! Dlaczego – do zdobycia nie 100, nie 1000 a 3000 punktów. Oczywiście nic za darmo – tak wysoko będą oceniane kompleksowe rozwiązania przygotowane na platformy Windows 8, Windows Phone oraz korzystające z Windows Azure. Szczegółowe zestawienie kryteriów oceniania możecie znaleźć tu. Można tam zauważyć, że integracja z chmurą to dodatkowe 500 punktów, a klient Windows Phone kolejne 800. Pozostałe 1700 punktów przeznaczone jest na aplikację na Windows 8.

Nie pozostaje mi zatem nic innego jak tylko tuż przed weekendem zaprosić was do wzięcia udziału w tej akcji, gdyż jak widać poziom wymagań rośnie, co dobrze posłuży tak i konkursowi jak i platformom docelowym :)

P.S.

Spostrzeżenia / hate na narzekanie

Pierwsza edycja spotkała się z falą narzekań, marudzenia, krytyki i ogólnie moim zdaniem pokazała dość dziwne nastawienie uczestników. Jeżeli to jest konkurs, to nie można mieć pretensję, że “ja się dopiero teraz zabrałem za pisanie – przedłużcie akcję jeszcze miesiąc”, albo “a ja też chcę lumię”, “dlaczego nie powiedzieliście, że później będą lumie” itp. Nagrodą był telefon z WP7 i tyle :) Organizatorzy sami dowiedzieli się o modelach w momencie odebrania przesyłki i trzeba to zaakceptować.

Druga edycja stawiała na jakość aplikacji – wypunktowany proces oceniania aplikacji nie dawał uczestnikom pola do narzekania, chociaż i tak znalazło się wielu, którzy zwyczajnie narzekali…

Na szczęście z każdą akcją maruderów było coraz mniej – być może dzięki docieraniu się regulaminu akcji – pamiętajmy, że nic od samego początku nie jest doskonałe i trzeba to iteracyjnie udoskonalać oraz wyciągać wnioski z poprzednich iteracji :) Być może również maruderzy przeżyli poniekąd pewną autorefleksję i zabrali się za pisanie aplikacji zamiast narzekanie, żeby ją przedłużać, żeby zmieniać regulamin na taki a nie inny…

Brawa należą się organizatorom, za wyjście na przeciw oczekiwaniom uczestników i próbę dodania do katalogu oczekiwanych nagród (Lumia 920 i 820) – dlatego cieszy mnie fakt, że na forum po zakończeniu edycji pojawiają się coraz częściej podziękowania od osób, które zebrały się w sobie i poświęciły wolny czas w domu, żeby napisać coś fajnego i podzielić się tym z innymi.

P.S. 2 – dla wyjaśnienia

Mam nadzieję, że większość z was orientuje się, że nie jestem organizatorem tych akcji mimo bycia Redaktorem Naczelnym Codeguru.pl :) Jestem tak jak wy jej zwyczajnym uczestnikiem, ale mimo wszystko staram się wam pomagać w razie pytań i kontaktować z właściwymi organizatorami akcji, czyli MS :)


Windows Phone 7.8 SDK

Już dostępne – Windows Phone 7.8 jest oficjalnie dostępne do pobrania! Uaktualnienie można znaleźć tu: http://wpdev.ms/wpsdk8update, lub kierując się linkiem bezpośrednim czyli: http://www.microsoft.com/en-us/download/details.aspx?id=36474.

Co dostaniemy po zainstalowaniu paczki?

1. Dwa nowe emulatory, czyli 7.8 oraz 7.8 256MB

2. Jeżeli nie zainstalowaliście do tej pory uaktualnienia 7.1.1 to również ono zostanie zainstalowane z racji na wymagania 7.8.

Czego nie oferuje uaktualnienie?

Nie ma w nim niestety żadnych nowych funkcji oferowanych przez API. Możecie zapytać co w takim razie z kafelkami? Opcja kafelków o różnych wielkościach była dostępna już nieco wcześniej, a sposób w jaki je można uzyskać do niej dostęp opisana jest na MSDN w tym oto artykule: http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj720574(v=vs.105).aspx.

Niemniej jednak paczka ta pozwala przetestować działanie aplikacji na nowym systemie co może okazać się bardzo cenne gdy system ten będzie oficjalnie dostępny.

Czas zatem rozgrzać łącza i zacząć pobieranie :)


ROW_NUMBER w LINQ

Czy potrzebowaliście kiedyś w LINQ dodać porządkowanie elementów takie jak w SQL?

Oto jak można to zrobić:

int orderNumber = 1;
var list = (from item in items 
orderby item.Value // tu może być oczywiście inny warunek 
select new RandomItem() { Value = item.Value, OrderNumber = orderNumber++ }).ToList();

Oczywiście jeżeli ktoś preferuje można to zapytanie zamienić na lambdy :)

int orderNumber = 1;
var list = items.OrderBy(item => item.Value) // tu może być oczywiście inny warunek 
     .Select(item => new RandomItem() {Value = item.Value, OrderNumber = orderNumber++})
     .ToList()

Windows 8 – szpiegujemy zainstalowaną aplikację

Jeżeli interesuje was co się dzieje z zainstalowaną aplikacją, jakie pliki tworzy i co przechowuje, to jest na to bardzo prosty sposób. Wystarczy udać się do katalogu

%SYSTEMDRIVE%\USERS\%USERNAME%\AppData\Local\Packages

w którym znajdują się informacje z których korzysta wybrana aplikacja

packages

Mamy tu do dyspozycji informacje o danych zapisanych przez aplikację lokalnie (LocalState), danych, które należy synchronizować (RoamingState), ustawieniach (Settings).

Oczywiście nie wszystkie z nich można podejrzeć, ale czasem zdarza się, że jest to dobry sposób na sprawdzenie jak się zachowała nasza aplikacja i jakie dane zapisała.

WAŻNE

Jakiekolwiek modyfikowanie tych plików może spowodować błędne działanie aplikacji, które z nich korzystają!


Podsumowanie roku 2012

Wszyscy piszą podsumowania roku 2012, co zrobili, czego nie, plany na Nowy Rok 2013. W wolnej chwili, wypoczęty i gotowy na nowe wyzwania postanowiłem dołączyć do grona “podsumowywaczy”, zasiąść przed laptopem i zebrać razem to co było, a 2012 był czasem wielu zmian i działań…

Społeczności

W styczniu zostałem wyróżniony tytułem Most Valuable Proffesional w kategorii Windows Phone za pracę na rzecz społeczności i dzielenie się wiedzą w zakresie Windows Phone. Jest to dla mnie duże wyróżnienie i dodatkowy bonus podczas robienia tego co lubię :)
Jednocześnie moje wcześniejsze przenosiny do Gdańska spowodowały moje skupienie na wspieraniu Trójmiejskiej Zawodowej Grupie .Net
W międzyczasie udało mi się zrobić parę prezentacji, CodeCampów, warsztatów i webcastów na tematy od Windows Phone poprzez Windows 8, Windows Azure aż po metodyki zwinne (SCRUM).

Równie ważne jak otrzymanie tytułu MVP było dla mnie objęcie pieczy nad Redakcją Codeguru.pl – pod tym względem rok 2013 przyniesie dla Was wiele zmian – mam nadzieję, że ciekawych i przyciągających do Portalu – zachęcam zatem do śledzenia aktualności!

Blog

Na blogu nieco ciszej niż w zeszłym roku – to z różnych powodów, czy to przygotowań do warsztatów, zdrowotnych, zajęć związanych z redakcją, zmianą pracy itp. W tym roku szykuje się jednak kolejna ofensywa postów związanych nie tylko z Windows Phone. Wczoraj dostałem również podsumowanie statystyk od WordPress.com

4,329 films were submitted to the 2012 Cannes Film Festival. This blog had 31,000 views in 2012. If each view were a film, this blog would power 7 Film Festivals

In 2012, there were 48 new posts, growing the total archive of this blog to 182 posts.

Praca

Rok 2012 był czasem, w którym stawiałem czoła wyzwaniom pojawiającym się w firmie Kainos. Okazało się jednak, że przygoda ta zakończyła się wraz z końcem roku 2012. Od stycznia 2013 dzielnie wspieram dział deweloperski Holte Software.

Co się nie udało

To nie ma znaczenia, bo ogólny rozrachunek jest bardzo na plus. Poza tym jeżeli coś minęło to się tego nie da zmienić i grunt, żeby wyciągać z tego wnioski – w związku z tym nie ma co się doszukiwać i rozpamiętywać :)

i…

dziś okazało się, że na kolejny rok przyznano mi wyróżnienie w postaci tytułu MVP z czego bardzo się cieszę :)

 

Dobra, koniec tego – czas wyznaczać kurs na nadchodzący rok i podążać do celu – Wam drodzy czytelnicy życzę sukcesów i zadowolenia w nadchodzącym roku – reszta przyjdzie sama :)


TZG – Scrum

Oto materiały, z których korzystałem – a właściwie z przyczyn technicznych starałem się korzystać podczas spotkania dotyczącego metodyki SCRUM.

SCRUM TZG

Polecam również zapoznanie się z checklistą, o której mówiłem na zakończenie. Można ją znaleźć (w różnych wersjach językowych!) na stronie http://www.crisp.se/gratis-material-och-guider/scrum-checklist


Windows Phone 8 podłączenie do komputera

Windows Phone 8, z racji na fakt wykorzystywania tego samego jądra systemu co w przypadku Windows 8, jest natywnie wspierany przez ten system. Po podłączeniu telefonu do komputera w ciągu sekundy / dwóch pojawia się znany popup z pytaniem co chesz zrobić z urządzeniem, które się właśnie pojawiło. Jedną z opcji jest pobranie dodatkowego oprogramowania (nieporównywanie lżejszego niż znany do tej pory Zune), który w ciągu kolejnych 5-10 sekund jest pobierany i instalowany.

 

Jest tu możliwość szybkiego zarządzania zdjęciami, muzyką i filmami znajdującymi się na telefonie.

Myląca może być opcja “W sklepie” – nie pozwala ona zainstalować aplikacji bezpośrednio przez tą aplikację, a jedynie uruchamia przeglądarkę internetową z podglądem aplikacji. Owszem – tam można po zalogowaniu zainstalować aplikację na telefonie (zostanie do niego wysłana stosowna wiadomość i telefon automatycznie pobierze i zainstaluje aplikację jeżeli będzie to możliwe), ale to nie to samo co było kiedyś w Zune :)

Poza opisanym powyżej oprogramowaniem dodatkowym telefon jest też natywnie zintegrowany z komputerem. Jest on dostępny jako dodatkowe urządzenie po otworzeniu okna “Mój Komputer”!

W ten sposób mamy bezpośredni dostęp do wybranych zasobów znajdujących się na urządzeniu. Należą do nich Dokumenty, Dzwonki, Muzyka, Video oraz Zdjęcia.

 


Autosugestie w Windows Phone

Czy irytowały Cię kiedyś podpowiedzi pokazujące się nad klawiaturą Twojego telefonu? Niektórzy to lubią, ja osobiście nie i wolę to wyłączać. Okazuje się, że konfiguracja tej opcji nie jest na pierwszy rzut oka intuicyjna, w związku z tym mała podpowiedź z mojej strony.

Najpierw udajemy się do ustawień systemu, następnie wchodzimy w konfigurację klawiatury, klikamy wybrany język (czasem jest jeden, w moim przypadku są dwa) i odznaczamy opcję sugestii słów. Screeny poniżej


MTS 2012 – materiały z prezentacji

Od konferencji minęło już kilka dni, czas zatem udostępnić materiały z mojej prezentacji. W związku z tym zapraszam do pobrania slajdów:

MTS 2012 - prezentacja

oraz kodu źródłowego (bez pakietów Nuget, które można samemu dograć wykorzystując opcję Enable packages restore, a następnie w oknie zarządzania pakietami potwierdzić ich pobranie – Restore)

mts 2012 - kod

Zachęcam również do wypełniania ankiet dostępnych na stronie konferencji. Pomogą one organizatorom jak i prelegentom na przygotowanie w przyszłym roku jeszcze lepszego materiału. Dodatkowo możliwe jest wygranie wejściówek na następną edycję.


  • O mnie

    Maciej Grabek

    Moje profile na:

    MVP

    Codeguru.pl GoldenLine
    Twitter CodeProject

  • english version
  • Polecam

  • Copyright © Maciej Grabek. All rights reserved.
    Powered by WordPress
    %d bloggers like this: