Donnerstag, 22. Juli 2010

Xcoordination Application Space

Eigentlich finde ich die Idee wirklich gut: Ein kleines aber feines Framework zu bauen, mit dem man verteilte und asynchrone Applikationen realisieren kann. Auf den ersten Blick sieht es auch wirklich gut aus. Bisher habe ich es leider noch nicht in einem Projekt testen können. Es geht um das

        Xcoordination Application Space

Es gibt eine ganze Reihe von Demos die das Framework demonstrieren. So wie es aussieht, wird das Framework auch immer noch weiterentwickelt. Das ganze hat auch eine eigene Website.

Mittwoch, 21. Juli 2010

Beschleunigung vom iPhone 3G mit dem iOS 4.0

Es gibt offensichtlich eine gute Möglichkeit, das iPhone 3G mit aufgespieltem iOS 4.0 zu beschleunigen. Es soll dadurch deutlich schneller werden und wieder vernünftig reagieren.

Man geht dazu in Einstellungen > Allgemein > HomeButton > Spotlight-Suche und stellt dort alle Such-Indizierungen aus. Ich hoffe es hilft.

Dienstag, 13. Juli 2010

iPhone 3G iOS 4.0 downgrade auf 3.1.3

Also fest steht: das iPhone 3G kann mit dem iOS 4.0 nicht betrieben werden. Es ist und bleibt einfach zu langsam. Nach mehreren Versuchen habe ich endlich eine Anleitung gefunden, die auch funktioniert, um das iPhone OS 3.1.3 wieder aufzuspielen.

Die dafür notwendigen Tools und das iPhone OS 3.1.3 kann dort direkt runtergeladen werden. iTunes hat leider nach dem downgrade das einspielen des Backups verweigert da schon eine neuere Version vom OS auf dem iPhone installiert war. Man muß es einfach neu aktivieren und dann wieder neu synchronisieren. Die Einstellungen für Mail, Kontakte, App-Einstellungen, etc. müssen dann neu eingegeben werden.

Einziger Nachteil bei der Anleitung auf www.handy-faq.de ist, dass man sich dort registrieren muß, um die notwendige Software runterladen zu können. Aber dafür ist das iPhone danach auch wieder benutzbar.

Dienstag, 6. Juli 2010

iOS 4 auf dem iPhone 3G

Um es gleich vorweg zu sagen, ich habe etwas ganz dummes gemacht: Ich habe mein iPhone 3G mit dem neuen iOS 4 gefüttert. Warum bloß habe ich nicht einfach widerstanden und den Button "Nach Update suchen" nicht gedrückt, und alles wäre in bester Ordnung.

Aber nun ist es drauf, und, das ist genau das Problem, ich bekomme es nicht mehr runter. Aber warum schreibe ich das? Weil es nach dem Update leider fast nicht mehr zu benutzen ist. Jeder Klick dauert viele lange Sekunden. Anwendungen, die früher mit dem iPhone OS 3.1.3 in 2-3 Sekunden gestartet sind, brauchen heute 10-20 Sekunden bist sie ans Laufen kommen.

Einige (für mich wichtige) Anwendungen haben zunächst mal gar nicht funktioniert, und tun es nach dem dritten Update immer noch nicht. Photos machen? Ein Albtraum! Bis die Kamera-Anwendung (sorry App) gestartet ist, ist die Sonne bereits untergegangen. Die iPod-App kommt zwar fix hoch, um dann in einen langen Tiefschlaf zu verfallen. Wie schön war das früher: joggen gehen, und beim loslaufen noch schnell die Musik anmachen. Wenn das erste Lied kommt, bin ich heute schon fast mit Duschen fertig.

Und was gewinnt man auf dem iPhone 3G? Ordner und einen neuen Mail-Client. Das ist alles! Mehr nicht. Alle weiteren Features sind neuen Modellen vorbehalten. Der neue Mail-Client finde ich sowieso eher zweifelhaft. Die Ordner wären ja nett, wenn ich es mal schaffen würde, die Icons auch mal wieder verschieben zu können.

Aber klar, ich will jetzt mal nicht total übertreiben. Tatsächlich ist das iPhone so nicht mehr richtig benutzbar. Viele Anleitungen für die Rückkehr zum iPhone OS 3.1.3 gibt es ja im Internet, nur keine funktioniert.

Also kurzerhand die Apple Hotline angerufen. Nachdem ich meinen Fall dort geschildert hatte, meine der freundliche Herr, in seinem Bekanntenkreis haben auch alles das Problem. Und alle kommen jetzt damit zu ihm, da er ja schließlich bei Apple arbeitet, er soll das gefälligst lösen. Nur, helfen konnte er keinem. Die Politik von Apple erlaubt keinen Weg zurück. Auf meinen Einwand, auch Apple kann es nicht wollen, das Produkte die bis vor einem Jahr noch verkauft worden sind, damit praktisch unbenutzbar werden, kam als Antwort nur: "Das ist der Zahn der Zeit"?!?!?

Irgendwie habe ich da ein Déjà vu: Es gab früher auch schon Zeiten, wo man mit jeder neuen Betriebssystemversion gleich noch einen neuen Rechner bestellen musste, da sonst nix mehr lief. Und natürlich auch die Anwendungen auf dem neuen System nicht mehr richtig zu laufen kamen. Aber das ist Jahre her, und selbst Microsoft hat da viel dazu gelernt:)

Ich war der festen Überzeugung, wir bewegen uns mit großem Tempo auf das Cloud-Zeitalter zu. Lokale Anwendungen verlieren an Bedeutung, Plattform und OS ebenso. Ich kann nur sehen, mit dem iPhone, iPad geht das wieder in eine ganz andere Richtung. Die grundsätzliche Politik von Apple mal außen vor gelassen.

Nun kann man gespannt sein, was im Herbst mit Windows Phone 7 auf den Markt kommt. Und das Android ist ja auch ein sehr gutes System. Und offen, und offen...

Montag, 14. Juni 2010

UI Patterns Tutorials. MVP, MVVM und Composite App mit WPF.

Raffaele Garofalo stellt in seinem Blog eine Reihe von Tutorials und Artikel zu den Themen
zur Verfügung. Sind wirklich ganz gut gemacht. Und wer einen Überblick über die Themen erhalten will, ist dort gut aufgehoben.

Mittwoch, 9. Juni 2010

Performance bei der Erzeugung von ViewModels (MVVM)

Das Standard Architektur-Pattern in WPF und Silverlight ist das Model-View-ViewModel (MVVM). Bei diesem Pattern ist das ViewModel eine Abstraktion der View. Das ViewModel ermöglicht auch das DataBinding zwischen View und Model.

Dabei gilt es bestimmte Randbedingungen einzuhalten. So müssen z.B. die Änderungen von Eigenschaften über Events mitgeteilt werden (INotifyPropertyChanged oder Dependency Property). Markus Egger macht sich in seinem Blog über den Aufbau und der Erzeugung von ViewModels Gedanken und gibt eine gute Übersicht über Performance und Speicherverbrauch.

Donnerstag, 20. Mai 2010

HTML5 Samples

Mit HTML5 kommen schon ein paar wirkliche neue Features um die Ecke. Damit man einen Eindruck bekommen kann und die Links mal nicht verloren gehen, bitte hier:

Dienstag, 18. Mai 2010

Multi-touch and Touchless Gesture Computing - Evoluce

Evoluce stellt einen großen 47-Zoll Full HD Touchscreen vor, der unter Microsoft Windows 7 läuft.
Der Tisch kann angeblich beliebig viele Touch-Inputs verarbeiten und sogar mit Gesten gesteuert werden.

Montag, 17. Mai 2010

Interessante Links zu Expression & Silverlight

Sebastian Grassl hat in seinem Blog eine schöne Linksammlung zum Thema Silverlight und Microsoft Expression zusammen getragen. Insbesondere auch Videos und Tutorials.
  1. Linktipps I (Videos und Tutorials)
  2. Linkstipps II (Beispiele und Anwendungen mit Silverlight)

Samstag, 8. Mai 2010

Metro UI Design Language

Im Channel 9 gibt es ein nettes Windows-Phone-7-Design Video. Darin sprechen Albert Shum und Naud Frijlink über die Aspekte und Guidlines für gelungene Windows Phone Applikationen. Es geht dabei im Wesentlichen um die Metro Guidlines.

Freitag, 7. Mai 2010

Windows Phone UI and Design Language

Check out this SlideShare Presentation:

Dienstag, 4. Mai 2010

WPF 4 Features

Pete Brown hat in seinem Blog einen schönen Überblick über die neuen Features in WPF 4 zusammengestellt. Das ganze ist unterteilt in
  • Visual Studio 2010
  • Text
  • Graphics
  • Controls
  • Binding
  • Styling und Templating
  • Windows 7 (MultiTouch, ...)
  • Allgemeines

Windows Phone 7 Developer Tools April 2010 Refresh

Microsoft hat eine neue Version der Windows Phone 7 Developer Tools als April Refresh veröffentlicht. Der Vorteil dabei ist schon alleine, dass diese mit der finalen Version von Visual Studio 2010 kompatibel sind. Die vorige Version war das leider nicht und wer Visual Studio 2010 installieren wollte, hatte da ein Problem.

Das ganze Paket beinhaltet
  • Visual Studio 2010 Express for Windows Phone CTP
  • Windows Phone Emulator CTP
  • Silverlight for Windows Phone CTP
  • XNA Game Studio 4.0 CTP

Samstag, 1. Mai 2010

Silverlight Flow Layouts library


Diese Library ermöglicht auf Basis eines ItemsControls Cover-Flow, Carousel oder komplexe 2D/3D Layouts. Das ganze ist auf Codeplex gehostet:

http://slflow.codeplex.com/

Das Framework unterstützt Virtualisation und kann somit mit großen Datenmengen umgehen. Es unterstützt ein erweiterbares Gesture-API. Design-Time Support ist ebenfalls enthalten. Das sowohl im Visual Studio 2010, als auch in Blend. Styling und Templating wird vollständig unterstützt.

Die 2D und 3D Layout-Algorithmen können durch eigenen Code erweitert oder ersetzt werden.

Die aktuelle Version unterstützt auch Silverlight 4.0 RTM und WPF 4.0 RTM.

Neuerdings gibt es auch ein CircleLayout.

Samstag, 27. März 2010

Model-View-ViewModel (MVVM) und Managed Extensibility Framework (MEF) in Silverlight

Hier gibt es ein gutes (Video)-Tutorial für Silverlight Anwendungen, die auf Model-View-ViewModel (MVVM) und Managed Extensibility Framework (MEF) aufsetzen wollen:

MVVM with MEF in Silverlight: Video Tutorial

Dem Autor zufolge, soll es sowohl in Silverlight 3 als auch in Silverlight 4 funktionieren.

Ich habe bisher immer PRISM verwendet, überlege aber auf MEF umzusteigen, da es Bestandteil von .NET 4.0 werden soll.

Dienstag, 16. März 2010

ScrollViewer in einem ToggleButton verhindert das toogeln

Wenn man in einem ToggleButton einen ScrollViewer verwendet, funktioniert das umschalten vom ToggleButton nicht mehr.

Dieses Problem kann man lösen, indem man beim ScrollViewer die Eigenschaft Focusable auf False setzt.

<Style TargetType="{x:Type ToggleButton}">
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="{x:Type ToggleButton}">
        <Grid>
          <ScrollViewer Focusable="False"></ScrollViewer>
        </Grid>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

Sonntag, 14. März 2010

Sortierung und Gruppierung direkt in XAML

Es ist auch möglich, die Sortierung oder Gruppierung eines ItemsControl direkt in XAML anzugeben.

Dazu muß man einfach eine CollectionViewSource anlegen, und dort dann die SortDescriptions oder GroupDescriptions direkt angeben. Dann einfach der CollectionViewSource noch einen x:Key geben und diese als StaticResource dem ItemsControl.ItemsSource zuweisen.

Hier ein Beispiel mit einer ListBox und GroupDescriptions:

<ControlTemplate> 
<Border>
  <Border.Resources>
   <CollectionViewSource x:Key="cvs" Source="{Binding ListSource}">
    <CollectionViewSource.GroupDescriptions>
     <PropertyGroupDescription PropertyName="PropName" />
    </CollectionViewSource.GroupDescriptions>
   </CollectionViewSource>
  </Border.Resources>
  <ListBox ItemsSource="{Binding Source={StaticResource cvs}}">
  </ListBox>
</Border>
</ControlTemplate>

About

Together with my business partner Henrico Dolfing I am the owner of this++, a consultancy and software development company specialized on cutting edge Microsoft technologies, with offices in Berlin, Germany and Zurich, Switzerland.

And georgbreithaupt.com is my personal blog were i talk about technology (wpf, silverlight, and more), user experience, user interfaces and design. Feel free to contact me for any question or write comments if you agree or disagree.