Jak poprawić scroll’a w Semantic Zoom (zoom out)

Zapewne każdy WinRT Developer wie czym jest Semantic Zoom.

Semantic zoom - widok normalny (zoom-in)

Semantic zoom – widok normalny (zoom-in)

Semantic zoom - widok oddalony, zgrupowany (zoom-out)

Semantic zoom – widok oddalony, zgrupowany (zoom-out)

A jak nie wie to odsyłam do poczytania albo do pooglądania.

W czym problem?

Problem z jakim ja się spotkałem to nieprawidłowe zachowanie się Semantic Zoom scroll’a w stanie zoomed out. Jest to problem wyłącznie UI. Czytaj dalej →

WinRT: Debugowanie projektów C++ w C#

Od kilku dni użeram się z projektem WinRT C#/XAML, który korzysta z projektu WinRT C++. Ta sytuacja rodzi u mnie wiele problemów, z którymi sobię jakoś daję powoli radę. Jednym z WTF, na które natrafiłem to problem debugowania mieszanej solucji. A ponieważ ja ostatni raz w C++ pisałem dekadę temu to współczynnik WTF per minute mam wysoki. Czytaj dalej →

Premiera nowych kursów Excel 2013 na Eduweb.pl

Dzisiaj na eduweb.pl zostały opublikowane dwa nowe kursy mojego autorstwa. Oba kursy dotyczą Excel’a 2013. Gorąco zachęcam do zapoznania się z materiałem.

Poniżej znajduje się copy-paste z opisami kursów.

Excel – Podstawy

excel-podstawyW kursie na przestrzeni niemal 5 godzin poznasz wszystkie najważniejsze narzędzia najbardziej popularnego arkusza kalkulacyjnego wchodzącego w skład pakietu Office. Jeżeli dopiero zaczynasz pracę z Excelem, lub chcesz uzupełnić braki w podstawach, ten materiał jest właśnie dla Ciebie! Więcej na eduweb.pl

Excel – Programowanie w VBA

excel-programowanie-w-vbaW kursie na przestrzeni ponad 5 godzin poznasz podstawy programowania w VBA w Excelu, dzięki czemu nie tylko przyspieszysz swoją pracę, ale także będziesz mógł w pełni wykorzystać możliwości najbardziej popularnego arkusza kalkulacyjnego z pakietu Office. Więcej na eduweb.pl

Custom development in Lync 2013

Microsoft Lync 2013

Ostatnio udało nam się reaktywować firmowego bloga. Jest to też jeden z kanałów, którymi otwieramy się na dev-community.

I tak chciałbym zachęcić wszystkich swoich czytelników do mojej pierwszej publikacji na ów blogu, gdzie opisuję jak szybko i łatwo zacząć custom-development z Lync 2013.

Orbit One Blog: Custom development in Lync 2013

Microsoft Innovation Summit

microsoft-innovation-summit-logoSerdecznie zapraszam na konferencję Microsoft Innovation Summit, która odbędzie się 13-go listopada 2013 w Lublinie.

Konferencja społecznościowa i oczywiście darmowa. Za wydarzeniem stoi Paweł Niewęgłowski.

Cennej wiedzy technicznej będą dostarczać:

  • Marcin Borecki (MVP, Architect)
  • Grzegorz Rycaj (MVP, Dyrektor R&D, Billennium)
  • Szymon Szeliga (Architect, Team Lead, Billennium)
  • Tomasz Kopacz (Senior Architect Evangelist, Microsoft)
  • Dariusz Porowski (MVP, Konsultant techniczny, Merago)
  • i ja

Zapowiada się całkiem ciekawie. Zza kulis wiem, że Paweł bardzo serio-serio podchodzi do organizacji.

Ja przygotowuję czysto techniczną sesję o developmencie Lync’a 2013. Wg. mnie temat może być ciekawy, bo mało kto o tym mówi na naszym podwórku.

Do zobaczenia w Lublinie!

Velkommen til Orbit One

Ostatnio cisza na moim blogu, a przez ostatnie miesiące sporo się działo… ale postanowiłem to nadrobić w kilku najbliższych postach.

Velkommen til Orbit One

Orbit One logo

Z końcem kwietnia 2013 rozpocząłem pracę w Orbit One na stanowisku Dev Team Lead. Tym samym zakończyła się moja przygoda z A plus C oraz krótki epizod… uwaga… w Kamsofcie. Tak… 🙂 Ale wracając do Orbit One. Jest to mała firma (20+ ludzi) z siedzibą w Gent (Gandawa) w Belgii i nowo powstałym oddziałem w Katowicach. Orbit One specjalizuje się w web developmencie opartym o stack technologi Microsoft (w tym Dynamics CRM, Lync, SharePoint, Umbraco). Jesteśmy Gold partnerem w Web Developmencie i Silver partnerem w kilku innych kompetencjach. Czytaj dalej →

Liczniki wydajności w Windows Store Apps

Ostatnio pisałem na temat zdarzenia BindingFailed klasy DebuggerSettings. Jedną z niewielu właściwości tej klasy jest EnableFrameRateCounter.

public App()
{
    InitializeComponent();
    Suspending += OnSuspending;

    DebugSettings.EnableFrameRateCounter = true;
}

Zmiana tej flagi na true sprawia, ze w górnym lewym rogu uruchomionej aplikacji pojawią się liczniki wydajności, które doskonale znają programiści Windows Phone.

FramerateCountersWindowsStoreApps

 

Znaczenie poszczególnych wartości:

  • Cp fps: the frames-per-second frame rate for the composition thread
  • UI fps: the frames-per-second frame rate for the UI thread
  • Memory: memory utilization for textures
  • Batch: the count of surfaces that are sent to the graphics processing unit (GPU)
  • Cp cpu: time in milliseconds spent on the composition thread’s processor
  • UI cpu: time in milliseconds spent on the UI thread’s processor

Debugowanie BindingExpression w Windows Store Apps

Jedną z zalet XAML’a, DataBinding i MVVM jest to, że grafik i programista mogę swobodnie pracować nad tą samą aplikacją. Miejscem styku są wyrażenia BindingExpression w kodzie XAML. Niestety, czasami styku nie ma, albo wręcz robią się zwarcia i trzeba na to jakoś zareagować. Czytaj dalej →

Zastosowanie SemanticZoom z domyślnym ZoomOut

Ostatnio portowałem moją aplikację Relax z Windows Phone do Windows Store. Oryginalna aplikacja została utworzona w XNA, bo chciałem mieć ładne animowane, opadające kształty (tekstury) oraz płynne przejścia tła (wiem, wiem…to samo też można zrobić w Silverlight, ale miałem problemy z wydajnością i obciążeniem procesora). Relaxed (tak się nazywa w Windows Store, bo ktoś mi wcześniej zajumał nazwę „Relax”) to MonoGame + XAML.

Relax - Menu Relax - Rain theme Relax - Forest theme Relax - Beach theme

W tej wersji aplikacji zdecydowałem się na menu w XAML’u, a część releksacyjna (muzyka + animacje) to XNA. Pomyślałem sobię, że fajnie by było użyć kontrolki SemanticZoom. W trybie ZoomIn (normalny) nic nie ma (nie ma zawartości XAML) więc widać to co rysuje XNA. W trybie ZoomOut (oddalony) pojawiają się kontrolki, gdzie użytkownik wybiera interesujący go temat.

Relaxed - Main menu Relaxed - Forest  theme Relaxed - Rain theme Czytaj dalej →