Surface Blip – prezentacja
Nagranie prezentujące użycie Surface Blip na emulatorze. Miłego oglądania
Surface Blip 1.0 – wstęp do programowania Microsoft Surface
Po opublikowaniu Microsoft Surface SDK postanowiłem się z nim zaznajomić i popełnić jakąś aplikację (zanim zaczniesz instalować SDK pamiętaj, że wymagane jest zainstalowane XNA). Po obejrzeniu aplikacji do obsługi Twittera – Surface Twitter oczywisty wybór padł znowu na Blipa. Ale po kolei…
Po instalacji SDK w Visual Studio pojawiła się nowa gałąź w Visual C# o nazwie Surface. Do wyboru mamy trzy rodzaje projektów:
- Surface Application (WPF)
- Surface Application (XNA)
- Surface Application (XNA Game Studio 3.0)

Jako że nie znam XNA wybór padł na WPF skoro większość z nas już go zna. Co jest ciekawe sama implementacja Microsoft Surface w WPF nie różni się znacząco od standardowego WPF-a. Samo SDK dodaje nam kilkanaście nowych kontrolek a cała magia dzieje się poza nami
Najważniejsza z naszego punktu widzenia kontrolka to ScatterView na którym są osadzane poszczególne interaktywne elementy. Dodatkowo SDK udostępnia większość implementacji standardowych kontrolek, których nazwa jest rozszerzona o przedrostek Surface. Dla przykładu Button w SDK nazywa się SurfaceButton itd.
Sama aplikacja nie jest skomplikowana, żeby nie powiedzieć trywialna
Mamy ekran logowania a po nim ładuje ostatnie statusy z kokpitu plus okno do dodawania nowych wpisów. Nie chcę się wgłębiać w implementację bo widać ją na kodzie źródłowym. Natomiast chciałbym wskazać kilka elementów na które warto zwrócić uwagę:
- Po utworzeniu projektu template tworzy katalog Resources a w nim pliki AppIcon.png i AppIconPreview.png – są to ikony naszego projektu na które wskazują ścieżki z pliku definicji o konstrukcji [Nazwa naszego projektu].xml.
- W pliku definicji znajdują się ścieżki do ikon, aplikacji (exe) oraz kilka dodatkowych elementów.
- Z punktu widzenia programisty i Microsoft Surface ważne jest to iż programy nie muszą być zainstalowane, ponieważ Surface odczytuje pliki definicji z katalogu C:\ProgramData\Microsoft\Surface\Programs i na ich podstawie wyświetla dostępne aplikacje (położenie exe i ikon).
- Program (w Visual Studio) uruchamiamy standardowo klawiszem F5, ale symulacja nie obsługuje wielu aktywnych punktów; przydatne tylko we wczesnym testowaniu aplikacji, plusem jest szybki czas ładowania.
- W przypadku gdy chcemy w pełni testować aplikację ze ścieżki Start -> Microsoft Surface SDK 1.0 SP1 -> Tools uruchamiamy Surface Simulator jako administrator i uzyskujemy dostęp do pełnego symulatora włączając odczyt plików definicji z C:\ProgramData\Microsoft\Surface\Programs oraz symulację wielu aktywnych punktów (Visual Studio samo wykryje włączony symulator i odpali na nim nasz debugowany program).
- Co do samej implementacji “rozciąganych” kontrolek to mamy dostęp do kontrolki ScatterViewItem która pozwala na ustalenie minimalnych i maksymalnych rozmiarów.
- W przypadku gdy chcemy uzyskać standardowe skalowanie kontrolek to sugeruje używać Viewbox-a który będzie ładnie zoomował np osadzone zdjęcie.
- W przypadku gdy chcemy uzyskać bardziej skomplikowane skalowanie, np tak aby tylko jeden element się powiększał w miarę rozciągania – to wtedy sugeruje użyć Grid-a z ustawionymi kolumanmi / wierszami na autodopasowanie.
Download:
– SurfaceBlip – źródła
– SurfaceBlip – instalator
Galeria screenów aplikacji:
![]() |
![]() |
![]() |
![]() |
![]() |
BlipNet 0.2.2.2
Kolejna paczka drobnych poprawek w BlipNet. Zmiany obejmują implementację stronicowania kokpitu, poprawki na pobieranie statusów oraz literówki.
BlipNet 0.2.2.1
Drobne poprawki w BlipNet. Zmiany obejmują błędną nazwę metody do subskrypcji użytkowników oraz kosmetyczne zmiany w plikach projektów.
BlipNet 0.2.2.0
Kolejna odsłona BlipNet-a. Poprawki względem poprzedniej wersji obejmują tylko polskie kodowanie znaków. Błąd ten wyłapał Marcin Bujacz przy okazji testowania BlipMobile-a.
Na release BlipMobile z poprawnym kodowaniem niestety przyjdzie trochę poczekać, bo chciałem wprowadzić kilka zmian zaproponowanych przez Marcina.
BlipNet 0.2.1.0
Kolejna odsłona BlipNet-a. Poprawki względem poprzedniej wersji:
- implementacja uploadu obazków (Avatar, Background, Update, Status, itp)
- poprawka na tworzenie subskrypcji
- implementacja delegatora statusu upload-u
Aktualna wersja jest wersją stabilną, po testach praktycznych około 70% funkcjonalności.
BlipNet 0.2.0.1
Kolejna odsłona BlipNet-a. Poprawki względem poprzedniej wersji:
- poprawiona “autoryzacja” w przypadku gdy nie podano loginu i hasła
- usunięty Image z typów graficznych
- usunięty Helpers.cs do ściągania plików
- dodanie UriConverter-a na typy Uri
BlipNet 0.2.0.0
Dziś udało mi się w końcu uruchomić BlipNet-a. Dla niezorientowanych jest to biblioteka dostępowa do API Blip-a. Aktualna wersja to wczesna alfa, ale powoli testuje jej funkcjonalność w innym projekcie na Windows Mobile 6 SDK.
Zdecydowałem się na “toporne” metody HttpWebRequest ze wzlędu na brak nowych rozwiązań a’la WCF w wersji Json w CF.
Przykłady użycia:
// Bliposfera BlipNet.Message[] messages = new BlipNet.BlipService().GetBliposphere();
// Kokpit
BlipNet.Message[] messages = new BlipNet.BlipService("login", "hasło").GetDashboard();











