<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>knallisworld</title>
	<atom:link href="http://www.knallisworld.de/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.knallisworld.de/blog</link>
	<description>Where is the beef?</description>
	<lastBuildDate>Thu, 11 Mar 2010 16:12:09 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>HTML5 for the rest</title>
		<link>http://www.knallisworld.de/blog/2010/03/11/html5-for-the-rest/</link>
		<comments>http://www.knallisworld.de/blog/2010/03/11/html5-for-the-rest/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 16:12:09 +0000</pubDate>
		<dc:creator>knalli</dc:creator>
				<category><![CDATA[Allgemeines]]></category>

		<guid isPermaLink="false">http://www.knallisworld.de/blog/?p=976</guid>
		<description><![CDATA[http://daringfireball.net/linked/2010/03/11/html5media
]]></description>
			<content:encoded><![CDATA[<p>http://daringfireball.net/linked/2010/03/11/html5media</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knallisworld.de/blog/2010/03/11/html5-for-the-rest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Patente &#8211; Zwang durch die Hintertür</title>
		<link>http://www.knallisworld.de/blog/2010/03/03/patente-zwang-durch-die-hintertur/</link>
		<comments>http://www.knallisworld.de/blog/2010/03/03/patente-zwang-durch-die-hintertur/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 07:18:45 +0000</pubDate>
		<dc:creator>knalli</dc:creator>
				<category><![CDATA[Allgemeines]]></category>

		<guid isPermaLink="false">http://www.knallisworld.de/blog/?p=974</guid>
		<description><![CDATA[Gestern hat Apple den in letzter Zeit häufige Methode umgedreht und selber eine Klage eingereicht &#8211; gegen HTC, gegen den derzeitigen Hauptkonkurrenten in Sachen technischer Geräte/Smartphones. Und entgegen Heises aktuellen Stand ist sehr wohl bekannt, um welche Patente es sich genau handelt &#8211; inkl. der ersten, unbestätigten Deutungen/Beispiele.
Bleibt eigentlich zu dem Patentblödsinn nur zu sagen:

Dem [...]]]></description>
			<content:encoded><![CDATA[<p>Gestern hat Apple den in letzter Zeit häufige Methode umgedreht und <a href="http://www.heise.de/mobil/meldung/Apple-reicht-Klage-gegen-HTC-ein-944604.html">selber eine Klage eingereicht</a> &#8211; gegen HTC, gegen den derzeitigen Hauptkonkurrenten in Sachen technischer Geräte/Smartphones. Und entgegen Heises aktuellen Stand ist sehr wohl <a href="http://www.engadget.com/2010/03/02/apple-vs-htc-a-patent-breakdown/">bekannt, um welche Patente es sich genau handelt</a> &#8211; inkl. der ersten, unbestätigten Deutungen/Beispiele.</p>
<p>Bleibt eigentlich zu dem Patentblödsinn nur zu sagen:</p>
<ul>
<li>Dem Unternehmen Apple bleibt wie allen anderen nichts anderes übrig, als weiter Patente zu registrieren. Würden Sie es nicht machen, schnappt sich ein anderes Unternehmen das Patent und man wird selber verklagt.</li>
<li>Die Unternehmen müssen ihre Patente verteidigen und einsetzen, ansonsten wäre das Patent ja irrelevant.</li>
</ul>
<p>Eins muss man aber schon sagen: Es ist wirklich bemerkenswert, wie die anderen Hersteller &#8211; HTC ganz vorne &#8211; seit 2007 ihre Produktlinien verändert haben. Natürlich ganz uninspiriert von der Konkurrenz!!!11 Die liebe &#8220;Apple-Konkurrenz&#8221; sollte lieber mal ihre Hausaufgaben machen und überlegen, warum sie die doch so alten und nicht wirklich neuen Techniken nicht selber derartig revolutionär entwickelt haben. Abgesehen von der Touch-Steuerung gab es fast alles vorher, wenn auch nicht im Mobil-Computer-Bereich.</p>
<p>Und zum Schluss: Wer als Konkurrent versucht, das iPhone-Dilemma nur mit einer technisch überlegenen Kopie zu entgegnen, der hat immer noch nicht verstanden, wie der Erfolg zustande kam. Technik ist nicht alles. Wen interessieren heute noch Ghz im Prozessor?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knallisworld.de/blog/2010/03/03/patente-zwang-durch-die-hintertur/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android: Kleines Stolpern?</title>
		<link>http://www.knallisworld.de/blog/2010/02/16/android-kleines-stolpern/</link>
		<comments>http://www.knallisworld.de/blog/2010/02/16/android-kleines-stolpern/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 23:11:24 +0000</pubDate>
		<dc:creator>knalli</dc:creator>
				<category><![CDATA[Allgemeines]]></category>

		<guid isPermaLink="false">http://www.knallisworld.de/blog/?p=968</guid>
		<description><![CDATA[Es gibt die ersten Anzeichen, das der große Vorteil des Android OS auch ein Nachteil ist: Die Offenheit, die Flexibilität und die &#8211; mögliche &#8211; Masse an Hardware bremst die Entwicklung eher. Problem: Nicht jedes Gerät ist gleich, nicht jede Funktion ist also da. Und nicht jedes Gerät ist unbedingt auf dem neusten Stand. Und [...]]]></description>
			<content:encoded><![CDATA[<p>Es gibt die ersten Anzeichen, das der große Vorteil des Android OS auch ein Nachteil ist: Die Offenheit, die Flexibilität und die &#8211; mögliche &#8211; Masse an Hardware bremst die Entwicklung eher. Problem: Nicht jedes Gerät ist gleich, nicht jede Funktion ist also da. Und nicht jedes Gerät ist unbedingt auf dem neusten Stand. Und ob nun wirklich jeder Benutzer das selbständig(!) aktualisiert?</p>
<p>&#8220;a good point&#8221;:</p>
<blockquote><p>New Android devices are being announced and shipped in bunches. <a href="http://www.mobilecrunch.com/2009/10/06/rumor-htc-working-on-new-flagship-android-device-the-dragon/">HTC</a>, <a href="http://www.mobilecrunch.com/2009/10/07/hands-on-samsung-moment/">Samsung</a>, <a href="http://www.crunchgear.com/2009/10/06/exclusive-dells-android-phone-is-coming-to-the-u-s/">Dell</a>, <a href="http://www.mobilecrunch.com/2009/10/06/oops-verizons-two-android-phones-get-caught-on-camera/">Verizon</a> and others have phones on the way. Each has different hardware, and different software, than the others.</p>
<p>We’ve spoken with a number of high profile Android application developers. All of them, without exception, have told me they are extremely frustrated with Android right now. For the iPhone, they build once and maintain the code base. On Android, they built once for v.1.5, but are getting far less installs than the iPhone.</p></blockquote>
<p>Link: <a href="http://techcrunch.com/2009/10/11/a-chink-in-androids-armor/">techcrunch.com</a></p>
<p>Es ist durchaus mühselig, wenn man als Entwickler eine große Anzahl von Funktionen/Features nicht voraussetzen kann, weil nicht jedes Gerät alles kann bzw. das Softwareupdate nicht ausgeführt werden kann, darf, muss, will, sollte. =&gt; Komplexität in der Entwicklung.</p>
<p>Den Artikel habe ich über folgenden Text gefunden:</p>
<blockquote><p>First, there are the obvious issues of fragmentation. Android itself is already having to deal with<a href="http://techcrunch.com/2009/10/11/a-chink-in-androids-armor/">this problem</a>, as various device manufacturers and carriers lag behind in rolling out the latest system updates, and developers are forced to tweak their applications to accommodate the differences in each device. And these are phones that are on the <em>same platform</em>. With the WAC — which is actually supposed to “unite a fragmented marketplace” — these fragmentation problems will probably be much, much worse.</p>
<p>Every time the WAC platform is updated, you’ll probably have to wait for your phone’s operating system maker to update their software. And you’ll have to wait for your carrier to deploy it in an OTA update (if they don’t push these over the air, then most people will probably never update and the market will get even more fragmented). Even if these updates are painless, developers will have to deal with dozens, or even hundreds, of different devices. They’ll have to take into account the myriad display resolutions, input options (does it have a keyboard or trackball?), and processing power available. Does the device support background applications? How about GPS? You get the picture.</p></blockquote>
<p>Link: <a href="http://techcrunch.com/2010/02/15/wholesale-applications-community-fail/">techcrunch.com</a></p>
<p>Die Alternative ist natürlich auch nicht berauschend: Der Entwickler konzentriert sich nur auf einige wenige Geräte bzw. Versionen.</p>
<p>Und dann kommen da ein paar große Kinder, die gemerkt haben, das ihr Sandkasten zunehmend kleiner wird, und glauben &#8211; sie könnten das Problem <a href="http://www.heise.de/mobil/meldung/MWC-Mobilfunkprovider-gruenden-gemeinsamen-App-Shop-931130.html">lösen</a>. Mit mehr <span style="text-decoration: line-through;">Komplexität</span> Vielfalt. Ja ne ist klar.</p>
<p><a href="http://daringfireball.net/linked/2010/02/15/kincaid">Inspiration</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.knallisworld.de/blog/2010/02/16/android-kleines-stolpern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gefunden: HTML5 Beispiele</title>
		<link>http://www.knallisworld.de/blog/2010/02/07/gefunden-html5-beispiele/</link>
		<comments>http://www.knallisworld.de/blog/2010/02/07/gefunden-html5-beispiele/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 16:15:56 +0000</pubDate>
		<dc:creator>knalli</dc:creator>
				<category><![CDATA[Allgemeines]]></category>

		<guid isPermaLink="false">http://www.knallisworld.de/blog/?p=964</guid>
		<description><![CDATA[Google, Mozilla.. und die Videos sind mal erste Klasse!
http://www.thechromesource.com/google-pushing-html5-for-the-future/
]]></description>
			<content:encoded><![CDATA[<p>Google, Mozilla.. und die Videos sind mal erste Klasse!</p>
<p><a href="http://www.thechromesource.com/google-pushing-html5-for-the-future/">http://www.thechromesource.com/google-pushing-html5-for-the-future/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.knallisworld.de/blog/2010/02/07/gefunden-html5-beispiele/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Notiert: Mobiler Firefox hat im RC kein aktiviertes Flash</title>
		<link>http://www.knallisworld.de/blog/2010/02/04/notiert-mobiler-firefox-hat-im-rc-kein-aktiviertes-flash/</link>
		<comments>http://www.knallisworld.de/blog/2010/02/04/notiert-mobiler-firefox-hat-im-rc-kein-aktiviertes-flash/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 07:20:42 +0000</pubDate>
		<dc:creator>knalli</dc:creator>
				<category><![CDATA[Allgemeines]]></category>

		<guid isPermaLink="false">http://www.knallisworld.de/blog/?p=962</guid>
		<description><![CDATA[Stuart Parmenter:
We’ve decided to disable plugin (not to be confused with add-ons, which are supported) support for this release.  The Adobe Flash plugin used on many sites degraded the performance of the browser to the point where it didn’t meet our standards.

Siehe
]]></description>
			<content:encoded><![CDATA[<blockquote><p>Stuart Parmenter:</p>
<p style="padding-left: 30px;">We’ve decided to disable plugin (not to be confused with add-ons, which are supported) support for this release.  The Adobe Flash plugin used on many sites degraded the performance of the browser to the point where it didn’t meet our standards.</p>
</blockquote>
<p><a href="http://daringfireball.net/linked/2010/02/04/firefox-maemo">Siehe</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.knallisworld.de/blog/2010/02/04/notiert-mobiler-firefox-hat-im-rc-kein-aktiviertes-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple, Flash &#8211; ich bin nicht alleine</title>
		<link>http://www.knallisworld.de/blog/2010/01/30/apple-flash-ich-bin-nicht-alleine/</link>
		<comments>http://www.knallisworld.de/blog/2010/01/30/apple-flash-ich-bin-nicht-alleine/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 22:15:48 +0000</pubDate>
		<dc:creator>knalli</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Technologie/IT]]></category>

		<guid isPermaLink="false">http://www.knallisworld.de/blog/?p=960</guid>
		<description><![CDATA[Auch andere haben sich mit diesem Thema in den letzten Tagen befasst.
Zum einen gibt es einen Artikel auf TUAW, zum anderen auch einen umfangreichen Blogbeitrag. Gerade letzterer verfolgt ähnlich meinem Beitrag nicht nur die iPad/Flash-Thematik, sondern auch die allgemeine Performance in iPhoneOS als auch Mac OS X. Die herausragendsten Passagen sind sicherlich folgende.
Serlet didn’t name [...]]]></description>
			<content:encoded><![CDATA[<p>Auch andere haben sich mit diesem Thema in den letzten Tagen befasst.</p>
<p>Zum einen gibt es <a href="http://www.tuaw.com/2010/01/28/adobe-speaks-up-about-flash-on-the-ipad/">einen Artikel auf TUAW</a>, zum anderen auch einen umfangreichen <a href="http://daringfireball.net/2010/01/apple_adobe_flash">Blogbeitrag</a>. Gerade letzterer verfolgt ähnlich meinem Beitrag nicht nur die iPad/Flash-Thematik, sondern auch die allgemeine Performance in iPhoneOS als auch Mac OS X. Die herausragendsten Passagen sind sicherlich folgende.</p>
<blockquote><p>Serlet didn’t name any specific guilty plugins. Just “plugins”. But during the week at WWDC, I confirmed with several sources at Apple who are familiar with the aggregate Crash Reporter data, and they confirmed that “plugins” was a euphemism for “Flash”.</p>
<p>In other words, in Apple’s giant pile of aggregate crash reports — from all app crashes on all Macs from all users who click the button to send these reports to Apple — Flash accounts for more of them than anything else.</p></blockquote>
<p>Jo. Warum kommt das jetzt jedem so bekannt vor.. <img src='http://www.knallisworld.de/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  Ein weiterer Grund: Apple musste auf Adobe warten, bis die sich endlich mal dazu bequemen, eine 64-Bit-Version herauszubringen. Da das ja bekanntlich nicht der Fall ist, Mac OS X aber 64-Bit laufen soll.. musste eine entsprechende Abstraktionsschicht für Browserplugins (also ein eigener Flashprozess..) her. Die Alternativen wären gewesen: Kein 64-Bit-Safari oder gar kein Flash.</p>
<blockquote><p>It’s a chicken-and-egg problem. Publishers use Flash for web video because Flash is installed on such a high percentage of clients; clients support Flash because so many publishers use Flash for web video. Apple, with the iPhone, is solving the chicken and egg problem. For the first time ever, there is a large and growing audience of demographically desirable users who don’t have Flash installed. If you want to show video to iPhone users, you need to use H.264.</p></blockquote>
<p>Machtpositionen sind manchmal zu was nützlich.</p>
<p>Und zuletzt spricht er über die Performanceproblematik von Flash/Mac OS X*. Ingesamt doch ein bisschen interessant zu lesen.</p>
<p>* Da geht es um die Sache mit der fehlenden H.264-Unterstützung in Form einer Public API, Flash auf die Mac Hardware zugreifen kann. Während das natürlich unschön ist, erklärt das aber immer noch nicht die beschissenen Laufzeitverhalten. Wenn eine Flash-Anwendung keine (H.264)-Videos und hochauflösenden Bilder hat, warum sind die Performancestats so beschissen?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knallisworld.de/blog/2010/01/30/apple-flash-ich-bin-nicht-alleine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple und die Sache mit Flash [Update]</title>
		<link>http://www.knallisworld.de/blog/2010/01/28/apple-und-die-sache-mit-flash/</link>
		<comments>http://www.knallisworld.de/blog/2010/01/28/apple-und-die-sache-mit-flash/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 14:37:10 +0000</pubDate>
		<dc:creator>knalli</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Technologie/IT]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://www.knallisworld.de/blog/?p=950</guid>
		<description><![CDATA[Nun wissen wir endlich alle, wie der neuste Wurf von Apple heißt: nicht iTablet, kein iSlate sondern iPad. Okay, eigentlich hätte man auch iPod Touch Pro nennen können, den mehr ist es &#8211; erstmal &#8211; auch nicht. Klar, ein größeres Display und die daraus resultierenden weiteren Möglichkeiten, die die Apps/UI damit bieten, sind es dann [...]]]></description>
			<content:encoded><![CDATA[<p>Nun wissen wir endlich alle, wie der neuste Wurf von Apple heißt: nicht iTablet, kein iSlate sondern <em>iPad</em>. Okay, eigentlich hätte man auch <em>iPod Touch Pro</em> nennen können, den mehr ist es &#8211; erstmal &#8211; auch nicht. Klar, ein größeres Display und die daraus resultierenden weiteren Möglichkeiten, die die Apps/UI damit bieten, sind es dann schon.</p>
<p style="text-align: center;"><img class="size-full wp-image-958 aligncenter" title="ipad_farmville" src="http://www.knallisworld.de/blog/wp-content/uploads/2010/01/ipad_farmville.jpg" alt="" width="320" height="261" /></p>
<p>Weiterhin scheint sich Apple aber zu sträuben endlich auch Flash auf ihre <em>mobile devices</em> zu bringen. Während es bei der iPod Touch/iPhone-Palette durchaus verständliche Gründe aus Sicht der Performance und auch der Usability gibt, werden diese Gründe bei iPad natürlich geringer. Warum also sonst?</p>
<h3>Performance</h3>
<p>Leider haben Flashobjekte immer wieder die Angewohnheit, sowohl CPU- als auch RAM-lastig zu sein. Ob das nun ein Problem vom Flashplugin oder vom zuständigen Entwickler ist, das kann man so natürlich nicht sagen. Dazu kommt, dass Adobe sich nicht imstande sieht, für Nicht-Windows-Systeme eine ordentliche Version es Flashplayers herauszubringen.</p>
<p>Oder um es mal am Beispiel zu nehmen: Es ist definitiv nicht normal, dass ein Flashspiel wie Farmville auf einem iMac Core 2 Duo mit knapp 3Ghz und 4 GB Ram gerne mal 50-150% CPU und das Flash-Plugin alleine (also ohne Browser) über 200 MB beansprucht. Und zwar im &#8220;ohne Details&#8221;-Modus. Youtube-Videos sind da mit 40% und nicht nennenswertem RAM-Verbrauch gelinde gesagt überschaubar.</p>
<p>Diese Probleme könnten auch auf dem iPad oder iPhone auftreten, ein Umstand, den Apple definitiv vermeiden will. Performance-Killer sind nicht erwünscht (irgendwie auch verständlich).</p>
<h3>User Interface (UI)</h3>
<p>Flashanwendungen sind immer für eine Interaktion <em>mit einer Maus</em> konzipiert. Wie sollen die mit einem Touchpad harmonisieren? De facto bedeutet das, das eine Reihe von Flashanwendungen nicht &#8220;funktionieren&#8221;, weil das Plugin keinen richtigen Unterschied zwischen Bewegen und Klicken oder Rechtsklick vermitteln kann bzw. das &#8220;Mauszeigerziehen&#8221; überhaupt nicht in der Form vorhanden ist. Und iPhone/iPad spezielle Gesten sind komplett unbekannt. Eine große Inkonsistenz &#8211; und von Adobe habe ich in der Richtung noch nichts gehört. Das ist auch nicht im Sinne von Apple, die ein k<em>onsistentes System</em> anbieten wollen.</p>
<p>Stichwort <em>Konsistenz</em>: Selbst die einzelnen Flashplayer haben alle eine eigene UI und Benutzerführungslogik: Zusammenfassend kann man wohl sagen, dass der Play-Button meistens links ist. Mal darf man zoomen, mal gibt es Vollbild, mal darf man spulen. Manchmal ist der Button rund, mal ist er eckig. Das passt ebenfalls nicht in die konsistente und einfache Welt des iPhones &#8211; und iPads.</p>
<p>Nicht zu vergessen sind natürlich noch diese &#8220;Hammer-Player-mit-jedem-Schnickschnack-der-möglich-ist&#8221;-Flashanwendungen, bei denen definitiv ein Koller vorprogrammiert ist.</p>
<p>Die Alternative, einfach die Funktionen zu reduzieren, ist natürlich eine Sache von Adobe und vom dem Entwickler. Und, nein, nicht wirklich eine Option (die genutzt würde).</p>
<p>Festzuhalten ist also: native App &gt; Web App &gt; Flash App</p>
<h3>Flash für alles und nichts</h3>
<p>Flash ist eins der meist verbreitesten Internetplugins, und tatsächlich haben viele Seiten ein Flash &#8220;versteckt&#8221;.</p>
<ul>
<li>Werbung (und danach kräht außer der Werbebranche nun wirklich keiner nach);</li>
<li>komplexe Anwendungen (wie etwa auch o.g. Farmville), die wohl als native bzw. Device-optimierte App wesentlich besser geeignet wären;</li>
<li>Flashvideoplayer;</li>
<li>&#8220;Ich-wusste-es-nicht-besser&#8221;-Statements.</li>
</ul>
<p>Letzteres sind Dinge wie Navigationsmenüs oder &#8220;Webseitenlogos&#8221; in Flash, die in der Regel ein gutes Statement zur Inkompetenz aufweisen. Der Großteil ließe sich mit HTML/CSS/Javascript auch lösen (und ja, das Web bietet auch kostenlose(!) Frameworks für Animationen) &#8211; und das zu einem Bruchteil der benutzten Browserperformance. Aber Unkenntnis und das Flash-Buzzword bieten halt leider viel Potenzial für solche Lösungen. Nur einige hoch angesetzten (oder utopisch?) Anforderungen müssten wirklich Flash nutzen; und natürlich nur aus Flash bestehende Anwendungen. Diese Webseitenbetreiber wissen aber auch, dass sie damit eine Reihe von Leuten ausschließen (und sei es nur mangels großem Display). Kann sich jemand wirklich und ernsthaft die ZDF-Mediathek als Flashanwendung vorstellen? Auf dem iPhone? Auf dem iPad? Letzteres vielleicht, aber auch nur wenn die Auflösung mitspielt, denn Flash hat stets eine fixe Größe. Eine native App würde wohl jeder vorziehen, wohl auch zu Recht..</p>
<p>Am Beispiel: Die gesamte Produktpalette von Google wäre sicherlich nicht so erfolgreich, wenn sie Lösungen aus Flash nutzen würde. Man stelle sich das vor, Google Mail oder auch Microsofts Outlook Web als eine große Flashanwendung. Unfassbar, jeder würde den Kopf schütteln.</p>
<h3>Als Fazit: Alternativen &#8211; und was wohl dahintersteckt</h3>
<p>Als <span style="text-decoration: line-through;">eine</span> <em>die</em> Alternative für Flash ist HTML5/CSS3 anzusehen, welches u.a. eine starke Unterstützung für &#8220;Anwendungen&#8221; im klassischen Sinne anbietet.; beispielsweise Datenbank-API, File-API und natürlich das Video-Tag. Apple ist auf den Zug aufgesprungen, als sie das iPhone (in der ersten Version, wohlgemerkt!) mit dem hauseigenen Browser WebKit ausstatteten. Unterstützt mit der Tatsache, dass sie ein paar Ergänzungen in ihrer MobileSafari im Vergleich zum normalen WebKit machen, besitzen iPod/iPhone/iPad damit einen leistungsstarken Browser. Nicht ohne Grund setzt auch Google in Adroid auf diese Browserengine, wenngleich mit anderer Javascriptengine.</p>
<p>Der Browser selber hat im Gegensatz zu Flashplugins (die quasi ja nur eine Schnittstelle zu einer anderen Anwendung herstellen) den großen Vorteil, dass sein UI durch das Betriebssystem gesteuert wird. Im Gegensatz zum Flash, wo dies jeder Entwickler selber macht.</p>
<p>Flashvideo? Brauchen wir nicht, der HTML5-Videotag macht&#8217;s möglich. UI-Effekte wie Transformationen (größer, kleiner, verschieben, Farbwechsel) mit Javascript oder sogar Flash? Brauchen wir nicht, geht mit CSS3. Eine Flashapp zum Speichern von Daten (serverseitig)? Braucht man nicht, geht auch mit HTML5/Javascript. Außerdem gibt es integrierte Offline/Online-Sync-Möglichkeiten.</p>
<p>Für mich sind mögliche Offline-Webanwendungen ein Killerfeature für <em>mobile devices</em>, denn warum soll &#8220;Netz nicht verfügbar&#8221; immer bedeuten, das ich jetzt machtlos bin?</p>
<p>Um wieder zum Anfang anzuknopfen: Man hatte natürlich gehofft, das Apple ein Flashplugin für das iPad anbietet bzw. es unterstützt. So wie es im Moment aber aussieht, ziehen sie &#8211; mehr oder weniger direkt &#8211; gegen Adobe in den Krieg und setzen dabei weiterhin komplett auf HTML5 bzw. auf native Apps. Da die Geräte &#8211; glücklicherweise &#8211; eine gewisse Machtposition im Sektor der <em>online mobile devices</em> besitzen, sind die Anbieter von Diensten auf Alternativlösungen angewiesen, falls sie die doch große (und vor allem: sehr wichtige) Zielgruppe nicht ausgrenzen wollen. Davon können im Ende alle profitieren, wenn die *** proprietäre Flashgeschichte schwindet und stattdessen kleine, Client-performante und offenere Lösungen entstehen.</p>
<p>Übrigens: Auch Google setzt bekanntlich auf HTML5. Nicht nur Google Gears wurde entwicklungsplanmäßig in die Tonne gehauen, sondern auch Neuentwicklungen entstehen alle im Fokus der HTML(5)-Features. Das neue <a href="http://www.google.com/mobile/voice/">Google Voice</a> (leider ein unschöner US-only-Kandidat) bietet VoIP. Kein Flash, pures HTML/CSS/Javascript.</p>
<p>Und mal ehrlich: Vermisst jemand wirklich das Flashplugin auf dem iPhone? Oder: Nutzt jemand wirklich Flash auf einem anderen Smartphone so intensiv, das es notwendig ist? Wenn ja, für was?</p>
<h4>Update, 29. Januar 2010</h4>
<p>Tatsächlich gibt es Ansätze, wie man <a href="http://blogs.adobe.com/jnack/2008/05/flashbased_mult.html">Multitouch</a> und <a href="http://www.flashforum.de/forum/stuff/stuff-mausgesten-interpretieren-mit-dogesture-274268.html">Gesten</a> in Flash umsetzen kann. Denn eine Maus und einen Mauszeiger findet man auf Multitouchgeräten nicht &#8211; um Gegenteil: man hat mehrere Pointer. Das bedeutet aber nicht, das vorhandene Flashanwendungen das alle nutzen würde, haha. Zu früh gefreut.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knallisworld.de/blog/2010/01/28/apple-und-die-sache-mit-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Featurities meets Fallstrick: Die Spring Security 3.0 Konfigurationsodyssey</title>
		<link>http://www.knallisworld.de/blog/2010/01/25/featurities-meets-fallstrick-die-spring-security-3-0-konfigurationsodyssey/</link>
		<comments>http://www.knallisworld.de/blog/2010/01/25/featurities-meets-fallstrick-die-spring-security-3-0-konfigurationsodyssey/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 08:56:43 +0000</pubDate>
		<dc:creator>knalli</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Konfiguration]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[Technik]]></category>
		<category><![CDATA[Technologie/IT]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://www.knallisworld.de/blog/?p=944</guid>
		<description><![CDATA[Mit dem Majorrelease 3.0 wurde dem Modul Spring Security eine Menge von neuen Features angeignet. Spring Security ist die Modulkomposition, welches für das Java Framework Spring quasi die gesamte Authentifizierung, Autorisierung, Legitimierung jedwegiger Art ermöglicht.
Leider wurden mit dem Release 2.x auf 3.0 eine Reihe von API-Changes vollzogen. Zugegeben, die waren auch sicher alle sinnvoll, weil [...]]]></description>
			<content:encoded><![CDATA[<p>Mit dem Majorrelease 3.0 wurde dem Modul Spring Security eine Menge von neuen Features angeignet. Spring Security ist die Modulkomposition, welches für das Java Framework Spring quasi die gesamte Authentifizierung, Autorisierung, Legitimierung jedwegiger Art ermöglicht.<img class="alignright" src="http://www.springsource.com/sites/all/themes/spring09/logo.png" alt="" width="264" height="46" /></p>
<p>Leider wurden mit dem Release 2.x auf 3.0 eine Reihe von API-Changes vollzogen. Zugegeben, die waren auch sicher alle sinnvoll, weil Komponenten wie die Authentifizierung weiter geteilt wurden und man somit wesentlich flexibler ist, neue Anforderungen zu ermöglichen (Baukastenprinzip). Aber die Dokumentation ist &#8211; gesamtheitlich betrachtet &#8211; irgendwie immer noch mies und oft nicht aktualisiert. Oder man findet im Internet einfach nur (alte) Beispiele.</p>
<p><img class="alignleft" src="http://www.smileygarden.de/smilie/Crazy/65.gif" alt="" width="95" height="50" /></p>
<h3>Die http-Direktive</h3>
<p>Im Namespace von Spring Security existiert das Tagelement http, mit welchem man kurze, knappe und verständliche Konfigurationen anlegen kann. Der Vorteil liegt klar auf der Hand: Man muss nicht alle Beans, Listener und Provider anlegen, denn das geschieht automatisch. Tja, wären da nicht ein paar Einschränkungen in der Funktionsvielfalt.</p>
<h3>Konkretes Beispiel: Remember Me</h3>
<p>Just wurde das <a href="http://www.springsource.org/node/2280">Minor-Release 3.0.1 veröffentlicht</a>, und nur wenige Tage später zu erfahren, dass <a href="http://forum.springsource.org/showthread.php?p=278747#post278747">Remember Me kaputt sei</a>. Egal, fahren wir erstmal weiter mit 3.0.0.</p>
<p>Laut Dokumentation ist es am einfachsten, wenn man die Direktive remember-me (Security Namespace) innerhalb der http-Direktive (Security Namespace) verwendet. Ohne irgendeine Angabe wird ein stinknormales, Cookie basiertes Tokenverfahren ohne (echten) privaten Schlüssel verwendet. Reicht für den ersten Einsatz erstmal auf, soll ja erstmal funktionieren.</p>
<p><strong>Fehlermöglichkeit 1a: Man loggt sich ein, und es passiert nichts (kein &#8220;RememberMe&#8221;-Cookie).</strong><br />
Lösung: Wenn man einen eigenen Auth-Filter einsetzt, muss man diesem auch den RememberMe-Service &#8220;setten&#8221;. Außerdem muss der SecurityChainFilter (web.xml!) auch auf die login-Seite verweisen. Es dürfen auch keine Filter bei der Konfigurierung von intercepted Urls (speziell hier: login, logout) gemacht werden.</p>
<p><strong>Fehlermöglichkeit 1b: Es passiert noch immer nichts?</strong><br />
Lösung: Vielleicht wurde vergessen, einen Parameternamen für den Request zu setzen. Der Standardname ist ein typischer Springname, der natürlich unschön ist. Und den kann man nicht über die RememberMe-Direktive setzen, also muss man eh einen eigenen Service definieren. Bäm. Referenzierung geht dann zwar noch, aber für mehr ist die RememberMe-Direktive dann nicht mehr zu gebrauchen.</p>
<p><strong>Fehlermöglichkeit 2a: Man besucht die Seite ohne Login, aber mit Cookie &#8211; und die Loginseite kommt (Log sagt kein gültiger Auth).</strong><br />
Lösung: Man kann der Log trauen, wenn sie zwar beim Einloggen nun einen Token ablegt (kann man zum Beispiel sehr einfach mit <a href="https://addons.mozilla.org/de/firefox/addon/573">diesem Firefox-Addon</a> inkl. Editor(!) verifizieren), dieses aber beim erneuten Besuchen der Seite (bzw. ohne JSPSESSION-Cookie) nicht verwendet bzw. wird nicht erkannt. Schlussendlich half u.a. das Umbenennen der Userservices-Bean in &#8220;userService&#8221;. Außerdem sollte die Loginseite keinen Filter/Access haben (s.o.) Lieber 2x prüfen!</p>
<p><strong>Fehlermöglichkeit 2b: Es erscheint eine Ausnahme, dass der Key falsch sei.</strong><br />
Lösung: Dazu muss man wissen: Sobald  man eine individualisierte RememberMe-Konfiguration nutzt, wird auch der Key nicht mehr vernünftig auf alle Komponenten (Provider, Filter, Manager) gesetzt. Beim Anlegen wird also der eigene Key verwendet, beim Auslesen der Standardkey. Yes! (s.o.)</p>
<p><strong>Fehlermöglichkeit 3: Man besucht die Seite ohne Login, aber mit Cookie &#8211; aber wie in 2 nur die Loginseite.</strong><br />
Lösung: Im Logger/Debugger kann man nun feststellen, dass zwar das Cookie gefunden wurde, das Token gefunden und validiert wurde aber dann keine Rechte existieren &#8211; aha? Wahrscheinlich fehlt im Provider noch ein zusätzliches Setting der Komponenten. Am besten von RememberMe Service/Filter/Provider jeweils alle möglichen Properties durchgehen. Jaja, wie gesagt.. <img src='http://www.knallisworld.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>Fehlermöglichkeit 4: Das Ausloggen (beispielsweise logout.html) hat nach Aktivierung von Rememberme plötzlich keine Auswirkungen mehr.</strong><br />
Lösung: Zwar wird die Seite gefunden, aber es wird kein &#8220;Logout&#8221; gemacht. Auch hier sollte man prüfen, ob ein SecurityChainFilter (web.xml) auch für die logout-Seite greift.</p>
<p><strong>Fehlermöglichkeit 5: Das Besuchen der Seite wirft einen Fehler (ggf. &#8220;mit weißer Seite&#8221;), dass keine neue Session erstellt werden kann.</strong><br />
Lösung: Richtig, nach einem Request ist ja dann auch zu spät. Das Attribut create-session in der Direktive http sollte daher auf &#8220;ifRequeried&#8221; gestellt sein.</p>
<h3>Fazit:</h3>
<ul>
<li>SecurityChainFilter immer prüfen</li>
<li>Intercepted Urls prüfen</li>
<li>RememberMe-Direktive innerhalb der http-Direktive ist quasi abgesehen von der services-ref unbrauchbar.</li>
</ul>
<h3>Anmerkung:</h3>
<p>Natürlich kann man sich das Problem mit den SecurityChains vom Hals schaffen, indem man stupide ein /* filtert. Das hat jedoch zur Auswirkung, das Spring Security auch jeden verdammten Request anguckt; bei zusätzlichen (statischen) Inhalten wie Javascript, Stylesheets, Bildern, Flash u.ä. ist das ein Overhead, der unnötig ist.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knallisworld.de/blog/2010/01/25/featurities-meets-fallstrick-die-spring-security-3-0-konfigurationsodyssey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Die Diplomarbeit als Video</title>
		<link>http://www.knallisworld.de/blog/2010/01/09/die-diplomarbeit-als-video/</link>
		<comments>http://www.knallisworld.de/blog/2010/01/09/die-diplomarbeit-als-video/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 20:36:24 +0000</pubDate>
		<dc:creator>knalli</dc:creator>
				<category><![CDATA[Diplomarbeit.. ftw!]]></category>
		<category><![CDATA[Technologie/IT]]></category>

		<guid isPermaLink="false">http://www.knallisworld.de/blog/?p=941</guid>
		<description><![CDATA[Geht nicht? Doch! Mit Hilfe des Visualisierungstool Gource (Open Source) lassen sich von SCMs wie Git oder Subversion sehr ansprechende Visualisierungen erzeugen. Es gibt auch einen netten Link, wie man das unter Mac OSX ans Laufen bekommt (man braucht dafür MacPorts).

]]></description>
			<content:encoded><![CDATA[<p>Geht nicht? Doch! Mit Hilfe des <a href="http://code.google.com/p/gource/">Visualisierungstool Gource</a> (Open Source) lassen sich von SCMs wie Git oder Subversion sehr ansprechende Visualisierungen erzeugen. Es gibt auch einen <a href="http://www.matthewhutchinson.net/2009/12/8/gource-on-osx-snow-leopard">netten Link, wie man das unter Mac OSX ans Laufen bekommt</a> (man braucht dafür MacPorts).</p>
<p><object width="500" height="400"><param name="movie" value="http://www.youtube.com/v/AvG--rQxYWk&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/AvG--rQxYWk&#038;fs=1" type="application/x-shockwave-flash" width="500" height="400" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.knallisworld.de/blog/2010/01/09/die-diplomarbeit-als-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title></title>
		<link>http://www.knallisworld.de/blog/2010/01/08/939/</link>
		<comments>http://www.knallisworld.de/blog/2010/01/08/939/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 20:56:58 +0000</pubDate>
		<dc:creator>knalli</dc:creator>
				<category><![CDATA[Kurz notiert]]></category>

		<guid isPermaLink="false">http://www.knallisworld.de/blog/?p=939</guid>
		<description><![CDATA[Merke: Verwende in (Hibernate) Mappings keinen Spaltennamen wie &#8220;primary&#8221;. Denn wird er nicht überschrieben &#8211; etwa über die @Column-Annotation &#8211; kann es zu gar nicht lustigen Problemen in der DB  führen, auch HSQLDB. Versteckt irgendwo in der Tracelog.
Hintergrund: Ist natürlich ein SQL-Schlüsselwort.
]]></description>
			<content:encoded><![CDATA[<p>Merke: Verwende in (Hibernate) Mappings keinen Spaltennamen wie &#8220;primary&#8221;. Denn wird er nicht überschrieben &#8211; etwa über die @Column-Annotation &#8211; kann es zu gar nicht lustigen Problemen in der DB  führen, auch HSQLDB. Versteckt irgendwo in der Tracelog.</p>
<p>Hintergrund: Ist natürlich ein SQL-Schlüsselwort.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knallisworld.de/blog/2010/01/08/939/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
