Dienstag, 30. Dezember 2008

Wer mal ein Plugin-Framwork schreiben will bzw. muss, der sollte ...

... sich auf jeden Fall das MEF Framework von Microsoft ansehen. Damit ist entgehen des recht komplexen Framework System.AddIn ein einfacher Ansatz entstanden, der die Möglichkeit bietet seine Anwendung zu erweitern.

Aufmerksam auf das Framework bin ich durch folgende drei Artikel geworden, die eindrucksvoll darstellen, wie man mit MEF auch Ruby-Skript (es funktioniert auch Python) zum Einbinden in seine Anwendung verwenden kann.

Samstag, 6. Dezember 2008

Eine neue Form des Testens ...

... habe ich durch meine Arbeite mit Rails kennen gelernt. Es handelt sich um rSpec, ein Form des Testen wobei man sich auf das Verhalten des Software und nicht deren technischen Eigenschaften konzentrieren soll. Zuerst habe ich gedacht, dass ich diese Art des Testens nicht auf andere Sprachen/Plattformen übertragen kann. Nachdem ich aber den Artikel "IronRuby and .Net" gelesen habe, habe ich nach einigen Testes etwas einen ersten sehr guten Eindruck gewonnen und werde diese Art des Testens in meinen aktuellen Projekten testen. Da bei gilt zu prüfen ob sich diese Art des Testens auch auf andere und größe/gewachsene Projekte übertragen lässt.

Die (neue) moderne Art zu Leben und zu Arbeiten

Nachdem ich den Artikel auf heise.de gelesen habe, habe ich mir gleich die Bücher bestellt: Ich denke die Bücher werden sehr spannend sein. Ich freu mich schon darauf 8-).

Montag, 1. Dezember 2008

Wenn man wissen will was IronRuby in einen C# Programm anstellen kann.

Ich habe auf der PDC ein Video über den Stand von der Ruby Integration in .Net gesehen.

Es wird vorgestellt wie man mit einfachen Mitteln eine bestehende .Net-Klasse erweitert. Des weiteren wird die Erweiterung von Visual Studio gezeigt. Sollte man sich mal ansehen:

IronRuby: The Right Language for the Right Job.

Donnerstag, 30. Oktober 2008

IronPython und IronRuby unter .Net 4 mit C#

Wer mich ein wenig kennt, weiss das ich auf dynamische Sprachen wie Python und Ruby stehe.

Nachdem ich den PDC Talk "Dynamic Languages in Microsoft .Net" von Jim Hugunin gesehen habe, konnte ich mich entspannt zurücklegen, da die Zukunft endlich das Ende des Dynamic gehen Static bringen wird ;-)

Samstag, 4. Oktober 2008

Wer möchte sein (Linux)-System in 5 Sekunden booten lassen ...

... dem kann ich nur empfehlen diesen Artikel zu lesen ;-)

Viel Spass

Freitag, 3. Oktober 2008

Wie man Silverlight mit Rails verbindet

Jimmy Schementi hat schon vor einiger Zeit ein Plugin für Rails veröffentlich (Silverline), mit dem man wie gewohnt Anwendungen unter Rails entwickelt, dabei aber auf Silberlight 2 (momentan noch Beta 2) auf dem Client zurückgreift.

Zu Anfang hatte ich einige Schwierigkeiten, da ich die neuste Version von Silverlight 2 RC0 installiert hatte und die DLLs aus dem Dynamic-Silverlight SDK 0.4 verwendete. Nachdem ich wie auf der Webseite beschrieben, auf Silverlight 2 Beta 2 gewechselt bin und die "orginal" DLLs aus der Demo-Anwendung von Jimmy genommen hatte, könnte ich mir ein Bild von den Möglichkeiten machen.

Nachdem wir den Webclient für unsere GTD-Anwendung fast fertig haben (es sind nur noch ein paar APIs auf dem Server anzupassen), haben Björn und ich beschlossen einen Silverlight 2 Client zu entwickeln. Noch steht nicht fest, ob er traditionell unter Visual-Studio mit C# oder per Dynamic-Silverlight (und dem Silverline-Plugin) entstehen wird. Ich denke es wird noch etwas experimentiert werden.

Entsprechende Updates zu diesem Thema werde ich auf dieser Seite bekannt geben ;-).

Mittwoch, 1. Oktober 2008

Eigentlich sollte man darüber nicht schreiben ...

... wenn es dann nicht die falschen treffen würde.

Apple hat angekündigt die NDA bei der iPhone-Entwicklung aufheben zu wollen.

Na endlich

Montag, 29. September 2008

Wie verwende ich Ironruby in einem C# Programm

Ich habe die Aufgabe gehabt einen Teil eines .Net Programm mit dynamischen Code auszustatten.

Aus meiner Sicht gab es nur die Möglichkeit, die für Silverlight entwickelten Sprachen zu verwenden (Python, Ruby bzw. Managed Javascript). Nach einigen Überlegungen und den Erfahrungen, die ich mit Rails gemacht habe, entschied ich mich für die Integration von Ironruby.

Nachdem ich zuerst ein paar Schwierigkeiten hatte einen String als Referenz an die Skript-Engine zu übergeben. Es schein ein Problem zu geben, wenn man mit ValueTypes arbeitet. Nachdem ich den String in eine Klasse eingepackt hatte, konnte ich die Daten ohne Problem mit der Script-Engine austauschen.

Ich habe den reduzierten Quellcode mal beigefügt:

using System;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using IronRuby;
using IronRuby.Hosting;
using Microsoft.Scripting.Hosting;
using System.Threading;
using System.Runtime.Remoting;
using System.Data.Odbc;
using System.Collections;
using System.Collections.Generic;

namespace SampleEmbeddedRuby
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private IDataReader GetData()
        {
            IDataReader result = null;
            OdbcConnection connection = new OdbcConnection("DSN=test_sqlite");
            try
            {
                connection.Open();
                IDbCommand command = new OdbcCommand("select * from projects"
                  , connection);

                IDataReader reader = command.ExecuteReader();

                while (reader.Read())
                {
                    for (int fieldIndex = 0; fieldIndex < reader.FieldCount;
                         fieldIndex++)
                    {
                        if (0 != fieldIndex)
                        {
                            mResult.AppendText(", ");
                        }

                        mResult.AppendText(reader.GetName(fieldIndex) 
                          + "=" + reader[fieldIndex].ToString());
                    }
                    mResult.AppendText(Environment.NewLine);
                }
                reader.Close();
                result = command.ExecuteReader();
                mResult.AppendText("-------------------------" + Environment.NewLine);
            }
            finally
            {
                //connection.Close();
            }
            return result;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            ScriptRuntime scriptRuntime =   
               Ruby.CreateRuntime(Ruby.CreateRuntimeSetup());
            ScriptScope scope = scriptRuntime.CreateScope("ruby");

            IDataReader input = this.GetData();
            scope.SetVariable("input", input);

            IDictionary output = new Dictionary();
            scope.SetVariable("output", output);

            while (input.Read())
            {
                scope.Execute(mCode.Text);
                foreach (string key in output.Keys)
                {
                    mResult.AppendText(output[key] + " - ");
                }

                mResult.AppendText(Environment.NewLine);
                output.Clear();
            }
        }
    }
}

Der Quellcode, der im Beispiel verwendet wird, ist ziemlich trival. Für die Leute die der Sprache nicht mächtig sind, hier die paar Zeilen:

(0...input.FieldCount).each do |index|
     output.Add input.GetName(index), input.GetValue(index).ToString()
end

Im Beispiel werden die Daten aus dem input (IDataReader) in die Ausgabe output (IDictionary) kopiert. Der Range 0...input.FieldCount besagt, dass der Index bei 0 beginnt und bei input.FieldCount-1 endet.

Was ich interessant finde, ist, dass für die Einbindung einer Erweiterungssprache mehr nicht notwendig ist.

Viel Spass ;-)

Mittwoch, 13. August 2008

Wenn man mal ne Diagramm zeichnen muss ...

... und nicht auf Visio zurückgreifen will bzw. kann, wenn man wie ich die meiste Zeit unter Mac OS X arbeitet.

Ist man in dieser Situation kann ich ein Freeware Werkzeug yEd empfehlen, mit dem man einfach und komplexe Diagramme erstellen kann.

yedscreen22_800x500.png

Samstag, 2. August 2008

Ich habe mir "Ruby" und "Ruby on Rails" angesehen ...

... und war nachdem ich das Buch "Professionelle Webentwicklung mit Ruby on Rails 2" gelesen hatte, ziemlich angenehm überrascht. 978-3-8266-1683-9.gif

Ich war der Sprache bis heute nie direkt abgeneigt, konnte mich mit den optionalen Klammern beim Funktionsaufruf nicht wirklich anfreunden. Nachdem ich aber gesehen habe, was mit der Sprache alles möglich ist und welche Werkzeugunterstützung vorhanden ist, kann ich nur jedem raten: "Seht euch die Sprache an ;-)".

Dienstag, 22. Juli 2008

Gears erweitert den Browser zu einem virtuellen Desktop

Wie in der Zusammenfassung auf Golem beschrieben erweitert Gear (vormal Google Gears) wird mit der Weiterentwicklung der Browser zum virtuellen Desktop.

Ein paar Detail sind hier zu beschrieben:

Ich bin mal gespannt was in der nächsten Zeit noch passieren wird.


Samstag, 19. Juli 2008

Was C# 4 bringen könnte ...

Normalerweise bin ich immer verärgert, wenn Zeitschriften heute Techniken vorstellen, die ggf. mal in 1-2 Jahren veröffentlicht und in 3-5 Jahren in der "realen" Welt angekommen sind. Meist wird aus meiner Sicht nicht verstanden, dass Unternehmen nicht immer den letzten Hype nachrennen können und werden.

Leider muss ich diesmal eine Ausnahme machen. Durch Zufall bin ich über ein Interview mit den Designern von C# 4 gestolpert. Hier wird über die Notwendigkeit gesprochen, C# Möglichkeiten zu geben mit Sprachen wie IronPython und IronRuby zu interagieren und konkurrierende Aufrufe, durch die Multi-Core Technik bei den CPUs, in der Verwendung durch den Entwickler zu vereinfachen.

Sollte man sich auf jeden Fall ansehen! Aus meiner Sicht genauso wichtig wie .Net/C# 2.0 mit der Einführung von Generics.


C# 4.0: Meet the Design Team

Donnerstag, 17. Juli 2008

Wer Python Anwendungen im Web veröffentlichen möchte und keinen Server hat ...

der sollte sich Google Appengine ansehen, was für einfache Projekt kostenlos zu verwenden ist (einfach <= 5.000.000 page views). Wer mehr haben muss/will kann sich CPU-Zeit und weiters von Google kaufen. Mittlerweile ist der Zugang für alle frei.

Appengine wird von Google mit einem SDK für Linux, Windows und Mac OSX zur Verfügung gestellt.

Einer der wesentlichen Vorteile von Appengine ist, dass es mit der Infrastruktur von Google betrieben wird, leider ist das auch einer der größten Nachteile, es steht zwar ein Cluster bzw. Cloud zur Verfügung, aber leider keine SQL basierte Datenbank, sondern der von Google auch für die Suchmachine eingesetze Datenspeicher Bigtable.

Wer sich von diesen Umständen nicht abschrecken läßt, sollte sich das Video ansehen, wo Guido van Rossum auf der Google eigenen Hausmesse für Entwickler Google I/O 2008 eine praktische Darstellung der Appengine und den Möglichkeiten von Django zeigt.

Montag, 30. Juni 2008

Applescript, ob man es wirklich will ...

... wer wie ich seid mehreren Jahren Apple-Rechner benutzt und manchmal Aufgaben automatisieren will, wird nicht herum kommen AppleScript zu lernen.

Ein paar Beispiele, die den Einstieg erleichtern können:

Wer nicht unbedingt AppleScript lernen will, der sollte sich die Python Anbindung an Applescript appScript ansehen.

Donnerstag, 26. Juni 2008

Auf Abenteuerreise ...

Am letzten Sonntag war ich mit meiner Tochter auf Abenteuerreise im "Kid Corner", die ist ein überdachter Spielplatz entstanden aus einer ehemaligen Tennishalle.

Hier sind ein paar Schnappschüsse von der sehr anstrengenden, aber sehr schönen Zeit:

IMG_1067.JPG IMG_1068.JPG IMG_1073.JPG

Montag, 23. Juni 2008

Firefox 3 für Intel optimiert

Wer wie ziemlich schnell auf den aktuellen Firefox 3 gewechselt ist und einen Intel basierten Mac besitzt, wird sich über eine Version freuen, die speziell für die Intel Macs optimiert worden ist.

Hier kann man die Version download: http://www.beatnikpad.com/archives/2008/06/18/firefox3.

Dazu ist zu vermerken, dass die Plugins alle funktionieren (soweit ich dass feststellen konnte).

Viel Spass

Donnerstag, 29. Mai 2008

Wie erstelle ich eine gute Software-Architektur?

Ich denke das man diese Frage gar nicht pauschal beantworten kann. Es kommt immer auf den Einsatzzweck und die Größe der Anwendung an. Aber eines darf man dabei nicht vergessen: "Die kleinste Software -- mal eben entwickelt --wird schneller größer als man den Code verbessern kann".

An dieser Stelle kann ich nur sagen: "Immer mit bedacht Muster der Software-Architektur einsetzen, wenn Sie zum besseren Design der Architektur beiträgt, aber nie Muster einsetzen weil diese gerade hip sind".

Um immer mal schnell die bekanntesten Muster im Blickfeld zu haben, kann man sich diese PDF Datei herunter laden und sich gegebenenfalls ausdrucken. So kann man mal schnell einen Blick auf die Muster machen, um zu entscheiden ob die Verwendung einen Vorteil bringt und auch eine kurze Erklärung bekommen, so dass man das Muster korrekt implementiert.

Dienstag, 22. April 2008

ExtJS, eine Javascript Bibliothek mit dem Vertriebsmodel von "MySQL" und der Qualität

Auf der Suche nach einer Javascript Bibliothek für das yourGTD Projekt, habe ich mir mehrere Bibliotheken angesehen. Dabei waren unter anderm JQuery, YUI, Dojo und später auch die hier besprochene ExtJS, die aus meiner Sicht, den Vorteil hat:

  • man kann sie mit JQuery, YUI und anderen Bibliotheken kombinieren, Ext liefert dafür Adapter mit
  • sie hat eine umfassende Anzahl von grafischen Komponenten, die für die Entwicklung von yourGTD sinnvoll zu verwenden sind.

Nach dem jetzt ein paar Tage mit den Beispielen experimentiert habe und mir die interessanten Beispiele angesehen wie z.B

Ich werde mit dieser Bibliothek in den nächsten Tagen, einen ersten Prototyp von yourGTD für den internen Beta-Test zu Verfügung stellen können.


Montag, 7. April 2008

Meine ersten Erfahrungen mit django

Nachdem ich mit Christian und Björn ne ganze Zeit über die Verwendung von cherrypy als Server für yourgtd (leider nur bei Björn auf die Seite weitergeleitet) diskutiert habe, habe ich mir am Wochenende mal django näher angesehen.

Ich war beeindruck und werde wohl die Basis für yourgtd auf django aufbauen, mit unter auch weil Dino eine Portierung aufgesetzt hat.

Nach dem ich mir auch die Rest-API für django angesehen habe und einen ersten Patch (werde ich hier veröffentlichen) vorbereitet habe, steht den ersten Schritten nichts mehr im Weg.

Was ich an django so gut finde ist:

  • die Möglichkeit auf einfache Weise Module von Drittanbietern einzusetzen
  • Sehr flexibler Umgang mit URLs
  • und die "erste" Lauffähigkeit auf .Net

Mal sehen was die nächsten Tage bringen werden. Ich werde mal das Tutorial (auch auf Deutsch) durcharbeiten und dann hier über meine Erfahrungen schreiben (der Patch kommt dann auch).

UPDATE: Hier noch ein paar Links dazu:



Sonntag, 6. April 2008

Errinnerung an Damals ...

Thomas kann vor kurzen ins Büro (wir hatten uns über seine Foto-Apparate unterhalten) und fragte: "Ob ich mich an die Siemens Abschlussfeier von 2001 erinnere?". Nachdem er die Fotos mitgebracht hatte, erinnerte ich mich (super Fotos, na der Thomas halt).

Ich will euch die Fotos natürlich nicht vorenthalten ;-)

2001-12-13-0002

2001-12-13-0013

2001-12-13-0017

Montag, 24. März 2008

Ein weiteres Tutorial zu Ironpython

Ben Hall hat in seinem Blog einen Artikel geschrieben, der einen Einstieg in Ironpython und die Integration in Visual Studio beschreiben.

Sehr lesenswert ;-)

Sonntag, 23. März 2008

Einstieg in Silverlight 2 (beta 1)

Wer eine Einführung in Silverlight sucht, sollte sich das Tutorial unter http://silverlight.net/quickstarts/managed.aspx ansehen und des weiteren einen Überblick über die Architektur machen. Wenn man beide Dokumente gelesen hat, kann man sich ans Werk machen und die ersten Anwendungen schreiben.

Wer einen Vergleich von Silverlight 1 mit Version 2 sucht, sollte diese URL mal besuchen.

Viel Erfolg und viel Spass ;-)

Samstag, 22. März 2008

Wie mit Ironpython starten?

Ich denke wer eine Einführung von Python gelesen hat, ist schon gut gerüstet. Des weiteren können Grundkenntnisse der .Net Umgebung nicht schaden und die Beispiel des Ironpython Download. (Wobei ich mit 2.0 beginnen würde)

Dann sollten man die Artikel von "Fuzzyman" lesen und "last but not least" findet man im Ironpython Cookbook sicher den einen oder anderen Hinweis.

Ein Tutorial über Silverlight und Ironpython ...

... auf dem Blog von "Fuzzyman" unter IronPython & Silverlight 2 Tutorial with Demos and Downloads zu sehen.

Den interaktiven Interpreter finde ich sehr beeindruckend.

Viel Spass beim Testen :-)

Silverlight 2 mit Python, ASP.Net und was Microsoft sonst noch alles mit dem Web vorhat

Ich habe mit unter http://visitmix.com/blogs/2008Sessions/T28/ eine Session angesehen, die das Zusammenspiel von Python Ruby und ASP.Net zeigen. Wie von Microsoft gewohnt mit bester Debugger-Integration.

Als Silverlight vorgestellt worden ist, war ich nicht sehr begeistert davon, sondern habe gedacht, es wäre ein notwendige Reaktion von Microsoft aus Adobes Flash/Flex. Nachdem ich mit die 1.0 Version angesehen hatte, wurde meine Meinung nur bestarkt, da nicht von .Net zu sehen war (außer ein bißchen XAML -> XML). Nachdem ich mir jetzt aber die 2er Version angesehen habe, bin ich mehr als begeistert, ich denke es wird zeitnah, die nächste Technik sein, die ich mir gewissenhaft ansehen werde, da dort alles besser zu sein scheint, als bei Flash/Flex.

Man kann mit Javascript, wie bei Flex mit Actionscript, programmieren, aber man kann auch die Sprachen C# und VB.Net verwenden. Ich denke den richtigen Knaller bringt die Möglichkeit Python und Ruby zu verwenden, und zwar, ohne den Code vorher als MSIL zu compilieren. Wenn man sich noch die Möglichkeit der Programmieren ansieht, einerseits die IDE mit dem integrierten Debugger, andrerseits die Möglichkeiten zu Interaktion der verschiedenen Sprachen, ohne größere Umwege, kann ich nur sagen "WAAAUUUU".

Ich bin sehr gespannt wie Adobe darauf reagieren wird.

Worauf ich auch sehr gespannt bin, ist die Ankündigung der Verfügbarkeit von Silverlight auf der S60-Plattform :-).

Samstag, 1. März 2008

Python über den Browser als Console verwenden

Im MSDN Artikel zeigt Jimmy Schementi auf, wie man einen Apache auf Windows konfigurieren muss, um anschließend Python (Ironpython) als Konsole verwendet werden kann.

Die Beispiele basieren auf Silverlight 1.1. Ich werde wohl mal, wenn ich mit yourgtd einen vernünftigen Status erreicht habe, einen näheren Blick aus Ironpython und Silverlight werfen.

Freitag, 29. Februar 2008

Ein (fast) professionelles Werkzeug zum Erzeugen von Screencasts

Auf den Blog von apfelquak, den ich regelmäßig lese, ist ein interessanter Artikel zu einem Werkzeug zum Erstellen und Publizieren eines Screencast.

Zum Artikel geht es hier.

Heise Newsticker Artikel, den jeder Mac Benutzer gelesen haben sollte

Heise hat unter seinem Newsticker einen Artikel veröffentlicht, den man als Mac Benutzer gelesen haben sollte.

Der Artikel beschreibt unter andern die Vorteile von Fink und MacPorts, sowie einige Tools zu Video-Bearbeitung. Der Artikel stellt einen Auszug aus 2 Seiten die detailliert aus die Informationen eingeht:

Viel Spass beim Lesen ;-)


Dienstag, 26. Februar 2008

Umstellung von Wordpress auf Blogger

Da wir unseren eigenen Server für das Internet umziehen lassen und ich eigentlich kein Interesse und besonders keine Zeit mehr habe mich um die Entwicklung meines Blog (auf Basis von Wordpress) zukümmern, habe ich mit dem Umstieg von Wordpress auf Blogger begonnen.

Eigentlich habe ich schon eine ganze Zeit ein Blog auf Blogger (liegt wahrscheinlich daran, dass ich einige Dienste von Google intensiv nutze und Blogger ein Teil davon ist), habe aber irgendwie keine Zeit gefunden, meine lokale Blog-Software umzustellen.

Nachdem ich Krankheitsbedingt einige Tage nicht im Büro bin, habe ich mich entschieden endlich die ersten (alten) Einträge zu migrieren. So dass nun ein Anfang gemacht ist, um einige meiner Gedanken festzuhalten.

Also viel Spass auf eine weitere Episode meiner Bloggerzeit ;-).

Montag, 25. Februar 2008

Was den Web-Anwendungen noch fehlt, Firefox 3 später bringt und Google für Firefox, IE und (Safari) jetzt schon hat

Mittlerweile gibt es eine Menge guter Web Applikationen, was nicht zuletzt der Web 2.0 Euphorie zu verdanken ist. Leider fehlt den Anwendung die Möglichkeit auch ohne Netz-Anbindung die Informationen bearbeiten zu können.

Ein Lösung wird die Firefox Version 3 bringen, in dem sie Elemente für die Anwendungen bringt offline zu arbeiten (sowohl Front, wie auch Backend-Elemente)

Wer aber nicht auf Firefox 3 warten will oder auch eine Lösung braucht, die heute schon funktioniert, sollte sich Google Gears ansehen. Die Erweiterung funktioniert mit dem Firefox 1.5+, IE 6+ und für Safari ab Version Leopard (leider). Auf Basis eine SQL-Datenbank, hier wird SQLite 3 verwendet, werden dem Anwendungsentwickler einige Javascript-Funktionen zur Verfügung gestellt. Unter anderem einen lokalen Server, eine Datenbank (s.o.) und eine Worker Thread Pool, um Aktionen im Hintergrund laufen zu lassen, z.B. Synchronisation von Daten. Die entsprechende Funktionalität ist mit vielen Beispielen sehr gut dokumentiert und, obwohl noch im Beta-Status, von ausgesprochen guter Stabilität.

Um sich ein Bild von der Möglichkeit, dieser Browser-Erweiterung zu verschafften, sollten man sich den Google-Reader ansehen, eines der ersten Produkte von Google in dem die Technik verwendet wird.

Geht Apple den Weg weiter, weiter weg von der reinen Computerentwicklung

Nachdem die Keynote von Steve Jobs auf der WWDC 2007 für viele Apple Fans (mich eingeschlossen) eine Enttäuschung war, obwohl ich sagen muss, dass die Erwartungen auch sehr hoch waren, stellt sich nicht erst seid der Vorstellung der iPhone die Frage: "Wird Apple den Weg weg vom reinen Computerunternehmen schaffen?".


Heute sind ein paar weitere Gerüchte, rund um die Entwicklung eines Navigationssystem durch Apple aufgetaucht. Mit der Entwicklung des iPhone hat Apple eine wirklich wichtige Grundlage, die Portierung seines wirklich starken Betriebssystems, geschafft. Die Bedienung der Apple-basierten Programme war schon immer ein Maßstab für gut und intuitive Benutzerschnittstellen, was das iPhone mal wieder beeindruckend darstellt. Sollte Apple mit einen ähnlichen Konzept in die Autos seiner Nutzer vorstoßen können und ein ähnlich innovatives Konzept vorstellen, dürfte eine Leben mit Apple Produkten zu entscheidenden Zeitgeist werden.


Wenn das Navigationssystem von Apple dann auch noch mittels Googles Produkte Google Maps oder besser Google Earth angeboten werden würde dürfe einen Erfolg nicht im Weg stehen (für mich würde der Kauf eines Navigationssystem zu ersten mal eine Alternative darstellen).


Die Welt bleibt trotz enttäuschender WWDC spannend ;-).