<?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/"
	 xmlns:media="http://search.yahoo.com/mrss/" >

<channel>
	<title>Du hast nach jquery gesucht - Macnotes.de</title>
	<atom:link href="https://macnotes.de/search/jquery/feed/rss2/" rel="self" type="application/rss+xml" />
	<link>https://macnotes.de/</link>
	<description>iPhone, iPod, iPad, Mac - das unabhängige Magazin rund um Apple</description>
	<lastBuildDate>Thu, 23 Jun 2022 00:20:06 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://macnotes.de/images/2021/02/image-150x150.jpg</url>
	<title>Du hast nach jquery gesucht - Macnotes.de</title>
	<link>https://macnotes.de/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Wasserstand #16: Es geht wieder weiter</title>
		<link>https://macnotes.de/2020/07/17/wasserstand-16-es-geht-wieder-weiter/</link>
		
		<dc:creator><![CDATA[Alexander Trust]]></dc:creator>
		<pubDate>Fri, 17 Jul 2020 01:35:34 +0000</pubDate>
				<category><![CDATA[Kommentar]]></category>
		<category><![CDATA[Internet]]></category>
		<guid isPermaLink="false">https://macnotes.de/?p=401767</guid>

					<description><![CDATA[<p>Es ist rund zwei Wochen her, als ich das letzte Mal über den Status Quo bei Macnotes informierte. Dieser Wasserstand fällt etwas kürzer aus als der letzte. Dafür hat er deutlich bessere Nachrichten in petto. Und zwar geht es um die nahe Zukunft von Macnotes, also das, was schon recht bald kommt. Denn letzten Sonntag [&#8230;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2020/07/17/wasserstand-16-es-geht-wieder-weiter/">Wasserstand #16: Es geht wieder weiter</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class='lead'>Es ist rund zwei Wochen her, als ich das letzte Mal über den Status Quo bei Macnotes informierte. Dieser Wasserstand fällt etwas kürzer aus als <a href="https://macnotes.de/2020/07/01/wasserstand-15-aderlass-abmahnung-rebounce-und-durststrecke/">der letzte</a>. Dafür hat er deutlich bessere Nachrichten in petto. Und zwar geht es um die nahe Zukunft von Macnotes, also das, was schon recht bald kommt.</p>
<p>Denn letzten Sonntag hab ich das Gröbste für einen Kundenauftrag erledigt und widme mich seitdem auch einem neuen Layout/Theme für Macnotes. Natürlich mache ich damit auf den ersten Blick tolle Fortschritte. Denn man hat „schnell mal“ was zusammengeschustert. Mir kommt es aber auch aufs Detail an und es gibt genügend Fallstricke, die über Wohl und Wehe entscheiden können.</p>
<p>Ich bin jedenfalls froh, dass ich Euch aktuell zeigen kann, was ich in der kurzen Zeit seit vergangenen Sonntag auf die Beine gestellt habe.</p>
<h2>Neues Design in mehreren Phasen</h2>
<p>Entsprechend werde ich aber trotzdem die Kirche zunächst im Dorf lassen und versuchen die Funktionalität von Macnotes jetzt nachzubauen, und aber den Schnickschnack für später übrig zu lassen. Beispielsweise möchte ich mittels Javascript Inhaltsverzeichnisse implementieren, wo dies angebracht erscheint, oder aber auch eine eigene Bildergalerie und womöglich auch ein Glossar etablieren. Das muss aber noch ein wenig warten.</p>
<h3>Die neue Startseite</h3>
<p>Stand heute habe ich die neue Startseite bereits „fertig“. Es fehlen dort im Prinzip Änderungen im Detail.</p>
<div data-id="401761" class="ajaxGalleryInit" style="display:none;"></div>
<p>Die neue Startseite wird allerdings ein wenig von allem enthalten. Also aus bestimmten Kategorien die Inhalte bereitstellen. Sie erhält dafür keine Seiten-Navigation zum Blättern. Denn meines Erachtens ist sie dafür nicht gedacht.</p>
<p>Sehr wohl möchte ich aber mittelfristig auch die Usability erhöhen und habe damit bereits begonnen. Denn jeder Abschnitt der Startseite enthält eine Navigation, über die man zu den Abschnitten springen kann. Ein kleines Detail ist, dass das Pfeil-Symbol immer auch in die Richtung zeigt, in der sich der Bereich befindet (und selbstredend ist der sichtbare Bereich nicht gleichzeitig Teil der Navigation).</p>
<div data-id="401766" class="ajaxGalleryInit" style="display:none;"></div>
<p>Sieht man mal vom Bild ab, das in meiner Entwicklungsumgebung fehlt, bin ich derzeit damit ganz zufrieden.</p>
<h3>Die neue Artikelseite</h3>
<p>Die neue Artikelseite zeigt, dass man ein Design nicht einfach so aus der Taufe heben kann. Sie gefällt mir noch nicht (ganz). Abstände und Details passen irgendwie noch nicht zusammen und wirken noch unrund. Aber zumindest kann sie sich trotzdem sehen lassen.</p>
<p>In der Seitenleiste gibt es zugehörige Firmen, Events, Plattformen, Personen und Produkte, wenn denn welche ausgewählt sind. Die Event-Seiten beispielsweise enthalten ihrerseits Links zu Nachrichten über das Event. So könnt Ihr dann bei der kommenden WWDC 2021 schon alle Meldungen an einer Stelle abrufen.</p>
<div data-id="401765" class="ajaxGalleryInit" style="display:none;"></div>
<p>Am unteren Ende gibt es eine Vor- und Zurück-Navigation und außerdem „ähnliche Nachrichten“. Diese sind „hausgemacht“. Denn ich habe für WordPress und auch auf Macnotes schon vor Jahren eine zusätzliche Taxonomie eingerichtet, die jedoch unsichtbar ist. Ich frage dann Beiträge ab, die über gleiche „Keywords“ verfügen und gebe sie aber außerdem per Zufall wieder. Auf diese Weise möchte ich sowohl die Themenzugehörigkeit sicherstellen als auch die Neugier von Euch befriedigen. Denn vielleicht gibt es ja noch etwas zu lesen, das Ihr noch nicht kennt. Und also werden bei einem Seitenabruf regelmäßig neue ähnliche Beiträge angezeigt. Wie ich das technisch umgesetzt habe, darüber werde ich Euch auch „später“ (alias irgendwann und nicht heute) noch informieren, sodass Ihr das auf Euren Webseiten womöglich nachmachen könnt.</p>
<div data-id="401762" class="ajaxGalleryInit" style="display:none;"></div>
<p>Auch hier fehlen bei meiner lokalen Installation einige Bilder, aber das soll Euch nicht weiter stören, weil es, wenn das neue Design live geht, anders sein wird.</p>
<h3>Das neue Archiv</h3>
<p>Auch für das/die Archiv(e) habe ich bereits angefangen ein neues Design anzulegen. Natürlich bekommen außerdem die Archive eine Seitennavigation. Denn dort macht sie Sinn.</p>
<p>Beim Überfahren der Bilder nutze ich CSS-Effekte, die ich leider im Standbild nicht wiedergeben kann. Aber auch das ist etwas, das ich Euch „später“ noch im Detail vorstelle, damit Ihr es eventuell auf Eurer Webseite nachmachen könnt.</p>
<div data-id="401763" class="ajaxGalleryInit" style="display:none;"></div>
<p>Wenn ich allerdings „Effekte“ benutze oder Funktionen umsetze, dann möchte ich diese mit möglichst wenig Ressourcen am Browser einrichten. Umso dankbarer bin ich, dass es mittlerweile auch CSS-Effekte und -Animationen gibt. Also ich mit dem Web Ende der 1990er anfing lauteten die HTML-Befehle noch ganz anders und <a href="https://de.wikipedia.org/wiki/JavaScript">steckte Javascript noch in den Kinderschuhen</a>. Heute ist vieles wesentlich eingängiger als damals. Doch meine Devise lautet: Ich werde keine Javascript-Bibliothek installieren, nur weil es womöglich einfacher ist. Sieht man davon ab, dass WordPress von Haus aus JQuery lädt, nutze ich für meinen Alltag sogenanntes „Vanilla Javascript“, für das man keine zusätzlichen Dinge laden muss.</p>
<h2>Was noch fehlt</h2>
<p>Hier und da muss ich auf jeden Fall noch am Kontrast schrauben. Ich bin selbst rot-grün-fehlsichtig. Entsprechend sind mir manche Farbkombinationen leider ein Dorn im Auge und muss ich entsprechend nachbessern. Es ist auch nicht ausgeschlossen, dass ich im Zuge der Arbeiten die Schriftarten noch auswechsle.</p>
<p>In jedem Fall werden ich versuchen sie lokal auf dem Webserver abzulegen, damit auch in diesem Fall keine Kommunikation mit fremden Server stattfinden muss.</p>
<p>Macnotes hab ich im November 2019 gekauft, wie ich es vorgefunden habe. Entsprechend gibt es noch super viel zu tun. Aber es kommt jetzt wieder ein wenig mehr Fahrt in die ganze Geschichte, selbst wenn es „noch“ nicht danach ausschaut.</p>
<h2>Was schon da ist: Responsivität</h2>
<p>Ja und in einer Angelegenheit habe ich aber auf ein Framework gesetzt, und zwar ein CSS-Framework. Dabei wollte ich vor allem eines, das nicht zu viele Features bietet und von Haus aus eher einen kleinen „Fußabdruck“ hinterlässt. Mit <a href="https://bulma.io/">Bulma</a> denke ich, hab ich eine gute Alternative gefunden. Denn ich habe in der Vergangenheit auch mit anderen, deutlich größeren Frameworks gearbeitet, wie beispielsweise <a href="https://getbootstrap.com/">Bootstrap</a>, <a href="https://get.foundation/">Foundation</a> oder <a href="https://materializecss.com/">Materialize</a>. Ausprobieren möchte ich irgendwann auch noch <a href="https://tailwindcss.com/">Tailwind</a>. Aber wenn man Fortschritte erzielen möchte, dann muss man Entscheidungen treffen, und also fiel die Wahl auf Bulma, weil es mir nicht ganz fremd war und ich die überschaubare Größe schätze.</p>
<p>In jedem Fall habe ich auch die „Responsivität“ im Blick. Ein Thema in diesem Zusammenhang sind natürlich auch die Überschriften oder Typographie im Allgemeinen. Denn es gibt zwar Lösungen, aber die sind entweder sehr komplex oder eben begrenzt einsatzfähig. Wie ich dieses Problem gelöst habe, werde ich auch an anderer Stelle explizit breittreten. ;)</p>
<p>So in etwa sieht dann das neue Macnotes auf dem iPhone aus: Also zumindest, wenn Google Euch keine AMP-Version liefert.</p>
<div data-id="401764" class="ajaxGalleryInit" style="display:none;"></div>
<p>Mittelfristig möchten wir auch dafür eine eigenständige Lösung anbieten. Aber vermutlich macht es da mehr Sinn, gleich ein eigenes CMS zu programmieren, was durchaus auf unserem Schmierzettel als Idee vermerkt ist.</p>
<p>Falls Euch das Thema langweilt, habt Ihr hoffentlich nicht zu viel von dem Beitrag gelesen. Ansonsten sind wir auch gerne offen für Feedback schon zu diesem frühen Zeitpunkt, damit wir das neue Macnotes schon in der Entwicklungsphase optimieren können. Das ist auch der Grund, warum ich diesen Wasserstand loswerden wollte.</p>
<p>Der Beitrag <a href="https://macnotes.de/2020/07/17/wasserstand-16-es-geht-wieder-weiter/">Wasserstand #16: Es geht wieder weiter</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>REST before SDK: APIs per Javascript adressieren</title>
		<link>https://macnotes.de/2018/08/30/rest-before-sdk-apis-per-javascript-adressieren/</link>
		
		<dc:creator><![CDATA[Alexander Trust]]></dc:creator>
		<pubDate>Wed, 29 Aug 2018 22:27:11 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<guid isPermaLink="false">https://sajonara.de/?p=73787</guid>

					<description><![CDATA[<p>Wer sich mit der Idee rumschlägt, seine Webseiten durch Inhalte oder Funktionen anderer Anbieter wie Twitter, YouTube, DropBox, Deezer, Soundcloud usf. zu erweitern, der wird sich mit den APIs der einzelnen Anbieter auseinandersetzen müssen. Weniger als Tutorial, sondern vielmehr als gut gemeinter Ratschlag ist in diesem Kontext nachfolgender Beitrag zu verstehen. APIs von Internet-Angeboten gibt [&#8230;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2018/08/30/rest-before-sdk-apis-per-javascript-adressieren/">REST before SDK: APIs per Javascript adressieren</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class='lead'>Wer sich mit der Idee rumschlägt, seine Webseiten durch Inhalte oder Funktionen anderer Anbieter wie Twitter, YouTube, DropBox, Deezer, Soundcloud usf. zu erweitern, der wird sich mit den APIs der einzelnen Anbieter auseinandersetzen müssen. Weniger als Tutorial, sondern vielmehr als gut gemeinter Ratschlag ist in diesem Kontext nachfolgender Beitrag zu verstehen.</p>
<p>APIs von Internet-Angeboten gibt es wie Sand am Meer. Fast jede Plattform, die was auf sich hält, bietet eine an. Man kann die Inhalte, die über die API zur Verfügung gestellt werden, über sehr viele verschiedene Wege, oder besser, sehr viele verschiedene Programmier- und Scriptsprachen abrufen. Eine davon, mit der viele Webworker häufig zuerst in Kontakt kommen, ist JavaScript.</p>
<p>Gerade aber bei der Kommunikation mit APIs mit Javascript lauert meines Erachtens nach eine Art &#8222;Fallstrick&#8220;, der allen Maßnahmen zur Optimierung des Internets auf Downloadgröße und Geschwindigkeit zuwider läuft.</p>
<h2>REST before SDK</h2>
<p>REST oder &#8222;Representational State Transfer&#8220; ist eine Programmieridee, die nicht zu Javascript gehört, sondern dem HTTP-Protokoll zugrunde liegt und mit der alle Programmiersprachen konfrontiert werden, mit denen im Internet hantiert werden kann. Sie bedeutet, dass man in einem Moment eine Abfrage startet und im selben Atemzug &#8222;eine&#8220; Webseite als Ergebnis erhält. Denn so funktioniert auch das HTTP-Protokol. Bei jedem Klick auf einen Link wird eine Kommunikation mit dem Server gestartet, der genau eine Webseite als Ergebnis zurückliefert. Wer keinen direkten Zugriff auf eine Datenbank im Internet hat, der ist bei der Kommunikation mit APIs auf HTTP und REST angewiesen.</p>
<p>Das Ergebnis so einer Kommunikation ist in der Regel ein JSON-Objekt oder eine XML-Seite. Darin sind dann alle Informationen gebündelt enthalten, die man wiederum weiterverarbeiten &#8222;muss&#8220;. Denn so, wie sie einem präsentiert werden, sind sie für die eigene Webseite nicht 1:1 zu gebrauchen.</p>
<h2>Keine Angst vor Komplexität</h2>
<p>In Javascript selbst gibt es Standardfunktionen für die Kommunikation nach dem REST-Schema. Diese wirken nur auf den ersten Blick &#8222;vermeintlich&#8220; komplex. Aber gerade weil das so ist, bieten viele Anbieter für ihre API oft ein separates Javascript-SDK an. Das ist nur wieder eine JavaScript-Datei, die man im Kopf einer HTML-Datei lädt, bevor man damit arbeiten kann, so wie jQuery oder andere. Was dabei jedoch außer Acht gelassen wird, ist die Effizienz und Benutzerfreundlichkeit von Webseiten.</p>
<p>Im Fall des Streaming-Anbieters Deezer beispielsweise gibt es ein Javascript SDK, das ist fast 200 KByte groß. Angenommen jemand möchte gerne die Profilseiten seiner Nutzer mit der Möglichkeit bereichern, dass diese dort ihre eigenen musikalischen Deezer-Favoriten zeigen können. Würde man es auf die &#8222;vermeintlich&#8220; einfachere Weise mittels SDK tun, dann verlangt man von den Besuchern der Webseite jedes Mal eine zusätzliche JS-Datei mit knapp 200 KB herunterzuladen.</p>
<h2>Hausmittel verwenden!!!!!11111eins</h2>
<p>Doch das muss nicht sein. Jeder moderne Browser versteht JavaScript, ohne dass man ihm großartig etwas beibringen müsste. Wenn man weiß, in welcher Form eine API seine Ergebnisse liefert (JSON oder XML), dann kann man mit Hausmitteln mit dieser API kommunizieren. Alles was man dazu wissen muss, ist, wie ein HTTP-Request ausschaut und unter welcher Adresse, mit welchen Parametern man an die Informationen der API kommen kann.</p>
<pre>1 var xhr = new XMLHttpRequest();
2 xhr.open("GET", "URL mit der kommuniziert wird", false);
3 xhr.setRequestHeader('Content-Type', 'text/xml');
4 xhr.send();
5 xmlDocument = xhr.responseXML;
6 document.write('<span id="spanId">'+ xmlDocument.childNodes['0'].textContent +'</span>')</pre>
<p>Obiges Code-Beispiel zeigt ein paar Zeilen Javascript, die eine Verbindung mit einem Server aufbauen, in der freudigen Erwartung auf eine XML-Seite als Ergebnis. Dieses wird in der Variable, bzw. dem Objekt <code>xhr</code> gespeichert werden. Die Verbindung wird explizit über den Befehl <code>.open()</code> realisiert. Dieser Funktion lassen sich Parameter übergeben, von denen der erste die Art der Kommunikation beschreibt. Im Beispiel oben war es <code>GET</code>, doch es gibt auch <code>POST</code>, <code>PUT</code> und <code>DELETE</code>. In <code>xmlDocument</code> (Zeile 5) wird dann die Antwort gespeichert. In Zeile 6 schließlich wird das Ergebnis der ersten Ebene des XML-Objekts ausgegeben, und dort dasjenige namens <code>textContent</code>. Für ein JSON-Objekt funktioniert es &#8222;vergleichbar&#8220;.</p>
<p>Welche URL man nutzen muss, ist in der Dokumentation des API-Anbieters angegeben. Wie die einzelnen Felder der XML-Seiten oder JSON-Objekte heißen, steht ebenfalls in den Dokumentationen, könnte man zur Not aber immer am &#8222;lebenden&#8220; Objekt erfahren, indem man es als Ergebnis ausgibt und alle Felder notiert.</p>
<h2>Ach ja, da war doch was: Authentifizierung</h2>
<p>Was ich an dieser Stelle bislang geschlabbert habe, ist die Tatsache, dass man, um mit einer API zu kommunizieren, sich bei der Verbindungsaufnahme &#8222;ausweisen&#8220; respektive authentifizieren muss. Das geschieht in der Regel durch einen speziellen API-Key, den man vom Anbieter erhält und auf eine Methode, die dieser akzeptiert.</p>
<p>Nun wird in diesem Kontext oft OAuth als Ausweissystem genutzt. Wie man das mit Javascript gefügig macht, dazu gibt es <a href="https://www.google.de/webhp?ie=UTF-8#q=javascript%20oauth" target="_blank" rel="noopener">im Web genügend Beispiele</a>. Doch das ist nicht in jedem Fall notwendig. <a href="https://dev.twitter.com/docs/auth/application-only-auth" target="_blank" rel="noopener">Twitter beispielsweise</a> erlaubt sowohl bei der REST API als auch bei der SEARCH API eine Per-App-Authorisierung, die man über einen HTTP-Request mit Javascript-Bordmitteln realisieren kann, im direktesten Fall, indem man die Parameter für <code>.send()</code> manipuliert. Das ist bei anderen APIs nicht anders &#8211; und drum lautet mein Appell: Setzt euch ein bisschen mit dem Giftschrank von Javascript auseinander und schaut, was ihr ohne die Hilfe externer 200-KByte-Bibliotheken auf die Beine stellen könnt.</p>
<p>Der Beitrag <a href="https://macnotes.de/2018/08/30/rest-before-sdk-apis-per-javascript-adressieren/">REST before SDK: APIs per Javascript adressieren</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>Apple-Patentklage: Diashow auf Apple-Webseite</title>
		<link>https://macnotes.de/2016/07/08/apple-patentklage-diashow-auf-apple-webseite/</link>
		
		<dc:creator><![CDATA[Marco Jahn]]></dc:creator>
		<pubDate>Fri, 08 Jul 2016 16:34:10 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Technologie]]></category>
		<guid isPermaLink="false">http://www.macnotes.de/?p=205672</guid>

					<description><![CDATA[<p>Apple ist mal wieder Ziel einer Patentklage, diesmal einer etwas kuriosen. Es geht nicht um ein Produkt, sondern um die Webseite. Dort ist eine Diashow zu sehen &#8211; und das hat sich jemand patentieren lassen. Und will nun Geld sehen. Ob das mal gut geht&#8230; Fragliches Patent Ein gewisser Samuel Lit hält ein Patent, das [&#8230;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2016/07/08/apple-patentklage-diashow-auf-apple-webseite/">Apple-Patentklage: Diashow auf Apple-Webseite</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class='lead'><a href="https://macnotes.de/firma/apple/">Apple</a> ist mal wieder Ziel einer Patentklage, diesmal einer etwas kuriosen. Es geht nicht um ein Produkt, sondern um die Webseite. Dort ist eine Diashow zu sehen &#8211; und das hat sich jemand patentieren lassen. Und will nun Geld sehen. Ob das mal gut geht&#8230;</p>
<h2>Fragliches Patent</h2>
<p>Ein gewisser Samuel Lit hält ein Patent, das beim US-Patentamt unter der Nummer 8.793.330 <a href="http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&amp;Sect2=HITOFF&amp;u=%2Fnetahtml%2FPTO%2Fsearch-adv.htm&amp;r=1&amp;p=1&amp;f=G&amp;l=50&amp;d=PTXT&amp;S1=8,793,330.PN.&amp;OS=pn/8,793,330&amp;RS=PN/8,793,330">verzeichnet</a> ist, zugesprochen bekommen. Darin geht es um eine Diashow für das Internet, in der alle möglichen Arten von Inhalten gezeigt werden. Die einzelnen Folien rotieren nach einer gewissen Zeit &#8211; ist das System bei der letzten angekommen, geht es bei der ersten weiter. Das Ganze heißt in der Fachsprache &#8222;Carousel&#8220; oder &#8222;Slider&#8220;.</p>
<p>Apple verwendet ein solches System auf seiner Webseite, allen voran auf der Startseite. Dort werden aktuelle Produkte präsentiert. Lit ist das ein Dorn im Auge, weil Apple keine Lizenz erworben hat. Deshalb hat er Klage <a href="https://de.scribd.com/document/317737403/Samuel-Lit-Lawsuit">eingereicht</a>, wie Apple Insider <a href="https://appleinsider.com/articles/16/07/07/apples-use-of-web-carousels-target-of-new-patent-lawsuit">berichtet</a>. Damit soll erreicht werden, dass Apple &#8222;faire Lizenzgebühren&#8220; inkl. Zinsen nachzahlt.</p>
<p>Was allerdings noch lustig werden könnte, denn es gibt so eine Klausel, die sich &#8222;Prior Art&#8220; nennt. Etwas zu patentieren, das vorher schon existierte, ist unzulässig. Wer sich das Patent näher ansieht, stellt fest, dass der Antrag erst 2008 einging &#8211; es finden sich aber schon einige andere Slider im Internet, die länger existierten, beispielsweise <a href="http://www.gmarwaha.com/blog/2007/08/09/jcarousel-lite-a-jquery-plugin/">jCarousel Lite</a>, das auf jQuery basiert und bis 2007 zurückreicht.</p>
<p>Der Beitrag <a href="https://macnotes.de/2016/07/08/apple-patentklage-diashow-auf-apple-webseite/">Apple-Patentklage: Diashow auf Apple-Webseite</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>Custom Content Type Manager: WordPress-Plugin stiehlt Admin-Login</title>
		<link>https://macnotes.de/2016/03/06/custom-content-type-manager-wordpress-plugin-stiehlt-admin-login/</link>
		
		<dc:creator><![CDATA[Alexander Trust]]></dc:creator>
		<pubDate>Sun, 06 Mar 2016 02:36:44 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Internet]]></category>
		<guid isPermaLink="false">https://sajonara.de/?p=74719</guid>

					<description><![CDATA[<p>IT-Sicherheitsspezialisten von Sucuri haben herausgefunden, dass das WordPress-Plugin Custom Content Type Manager (CCTM) eine Hintertür hat und den Admin-Login stiehlt. Es wird dringend abgeraten, das Update von Custom Content Type Manager 0.9.8.8 herunterzuladen. Der IT-Sicherheitsdienstleister Sucuri hat in der Datei &#8222;auto-update.php&#8220; eine Hintertür gefunden, die offenbar den Admin-Login an einen Hacker sendet. Darüber hinaus gibt [&#8230;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2016/03/06/custom-content-type-manager-wordpress-plugin-stiehlt-admin-login/">Custom Content Type Manager: WordPress-Plugin stiehlt Admin-Login</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class='lead'>IT-Sicherheitsspezialisten von Sucuri haben herausgefunden, dass das WordPress-Plugin Custom Content Type Manager (CCTM) eine Hintertür hat und den Admin-Login stiehlt.</p>
<p>Es wird dringend abgeraten, das Update von <strong>Custom Content Type Manager 0.9.8.8</strong> herunterzuladen. Der IT-Sicherheitsdienstleister Sucuri hat in der Datei &#8222;auto-update.php&#8220; eine Hintertür gefunden, die offenbar den Admin-Login an einen Hacker sendet. Darüber hinaus gibt es die Datei &#8222;CCTM_Communicator.php&#8220;, die den Server des Hackers informiert, dass das Update ausgeführt wurde und die WordPress-Installation infiziert wurde.</p>
<h2>Plugin-Update nach längerer Pause</h2>
<p>Nach längerer Pause (10 Monate) erhielt das Plugin <a href="http://web.archive.org/web/20160218100330/https://wordpress.org/plugins/custom-content-type-manager/">bereits am 17. Februar</a> ein Update auf Version 0.9.8.8. Dafür verantwortlich war der Entwickler &#8222;wooranker&#8220;.</p>
<p>Nutzer waren ebenfalls Ungereimtheiten aufgefallen, die sie im WordPress-Forum <a href="https://wordpress.org/support/topic/vulnerability-on-auto-updatephp">artikulierten</a>. Später dann veröffentlichte Sucuri eine <a href="https://blog.sucuri.net/2016/03/when-wordpress-plugin-goes-bad.html">umfassende Analyse</a> der Sicherheitslücke.</p>
<p>Neben den eingangs erwähnten Dateien wurde vermeintlich eine eigene Version von jQuery geladen. Dabei handelte es sich jedoch um einen Trackercode, der dem Hacker mitteilen konnte, wie viele Besucher die infizierte Seite besucht hatten.</p>
<h2>Hacker aus Indien?</h2>
<p>Über die Auswertung der Kommunikation lässt sich rausfinden, dass hinter den Änderungen des Plugins vermeintlich der Freelance-Entwickler Vishnudath Mangilipudi aus Andhra Pradesh in Indien stecken soll. Zumindest kann man Hinweise auf ihn als Domain-Registrar derjenigen Server finden, mit denen das Plugin kommuniziert hat.</p>
<p>Ein Profil auf einer Freelancing-Plattform DesignCrowd führt ihn mit dem Spitznamen wooranker. Übrige geblieben ist lediglich <a href="http://web.archive.org/web/20160306194122/http://www.designcrowd.com/design/7464935">eine</a> Angebotsbeschreibung, auf der man ablesen kann, dass wooranker Grafik-Designer aus Indien sei.</p>
<h2>Plugin wieder mit altem Autor</h2>
<p>Der alte Plugin-Autor &#8222;fireproofsocks&#8220; hat offenbar die Probleme behoben und mittlerweile Version 0.9.8.9 von <a href="https://wordpress.org/plugins/custom-content-type-manager/">Custom Content Type Manager</a> veröffentlicht. Diese Version sollte nicht mehr von &#8222;wooranker&#8220; gehackt worden sein.</p>
<p>Vor dem Hack hatte das WordPress-Plugin Custom Content Type Manager über 10.000 aktive Installationen, mittlerweile sind es nur noch 9.000.</p>
<h2>DesignCrowd distanziert sich</h2>
<p>DesignCrowd möchte nicht, dass die eigene Plattform mit jemandem in Verbindung gebracht wird, der im Verdacht steht, ein WordPress-Plugin manipuliert zu haben. Deshalb ist man an uns herangetreten, mit der Bitte, den Link zu dem Freelance-Design-Portal zu löschen. Man habe den Account bereits deaktiviert.</p>
<p>Wir haben deshalb den Link ersetzt mit einem validen Link zu Archive.org, wo es glücklicherweise eine Kopie mit dem Hinweis auf das Profil gibt. Auf der Einzelseite wird bestätigt, dass der vermeintliche Hacker des Plugins &#8222;vorher&#8220; zumindest 440 US-Dollar über DesignCrowd auf ehrliche Weise verdient haben soll.</p>
<p>Der Beitrag <a href="https://macnotes.de/2016/03/06/custom-content-type-manager-wordpress-plugin-stiehlt-admin-login/">Custom Content Type Manager: WordPress-Plugin stiehlt Admin-Login</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>Videokurse zur Javascript-Entwicklung im Angebot</title>
		<link>https://macnotes.de/2015/11/17/videokurse-javascript-entwicklung-angebot/</link>
		
		<dc:creator><![CDATA[Alexander Trust]]></dc:creator>
		<pubDate>Tue, 17 Nov 2015 15:38:18 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://www.macnotes.de/?p=199795</guid>

					<description><![CDATA[<p>Auf StackSocial gibt es gleich 10 Videokurse zum Erlernen von Javascript, JQuery, und anderen Frameworks wie NodeJS, ExpressJS oder MeteorJS &#8211; Käufer zahlen so viel, wie sie wollen, um alle Inhalte zu bekommen aber mindestens mehr als der Durchschnitt, der derzeit bei guten 10 US-Dollar liegt. Ein Teil der Umsätze wird außerdem gespendet. Bei StackSocial [&#8230;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2015/11/17/videokurse-javascript-entwicklung-angebot/">Videokurse zur Javascript-Entwicklung im Angebot</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class='lead'>Auf StackSocial gibt es gleich 10 Videokurse zum Erlernen von Javascript, JQuery, und anderen Frameworks wie NodeJS, ExpressJS oder MeteorJS &#8211; Käufer zahlen so viel, wie sie wollen, um alle Inhalte zu bekommen aber mindestens mehr als der Durchschnitt, der derzeit bei guten 10 US-Dollar liegt. Ein Teil der Umsätze wird außerdem gespendet.</p>
<p>Bei StackSocial gibt es aktuell ein Paket bestehend aus 10 Videokursen, für die man so viel zahlen kann, wie man will, mindestens aber mehr als den Durchschnitt. 10 Prozent des Betragen werden zudem für der Project Hope gespendet.</p>
<p><a href="https://stacksocial.com/sales/pay-what-you-want-javascript-development-bundle?aid=a-zzbmjlwp" rel="nofollow" target="_blank">Die Videokurse</a> sind teils didaktisch so aufbereitet, dass sie Nutzer in die Thematik einführen und klassisch von einfachen Strukturen zu komplexeren Methoden führen. Einige der Kurse sind hingegen deutlich praxisorientierter, indem sie an echten Projekte exerzieren, was man zum Beispiel mit ExpressJS, MeteroJS, NodeJS oder AngularJS anstellen kann. Javascript-Frameworks sind äußerst beliebt, weil sie Entwicklern viel Arbeit abnehmen, und die Entwicklung komplexer Web-Applikation erlauben.</p>
<p>Alle Kurse werden auf der neuen Plattform von StackSocial, die sich StackSkills nennt, gehostet. Es ist also nicht davon auszugehen, dass der Anbieter eines Tages oder zumindest so bald die Segel streichen. Alle Kurse sind allerdings in englischer Sprache verfügbar.</p>
<p>Die Kurse &#8222;Learn MeteorJS By Building 10 Real World Projects&#8220;, &#8222;Projects in ExpressJS &#8211; Learn ExpressJs Building 10 Projects&#8220; und &#8222;Learn JavaScript Server Technologies From Scratch&#8220;, sowie &#8222;Projects in JavaScript &#038; JQuery&#8220;, &#8222;Learn NodeJS by Building 10 Projects&#8220; und &#8222;Learn Apache Cassandra from Scratch&#8220; von Eduonix sind &#8222;inhaltsgleich&#8220; mit denen, die der Anbieter auf der Lernplattform Udemy anbietet. Dort haben alle diese Kurse 4 oder mehr Sterne bei einer 5-Stern-Wertung. Von Eduonix stammen außerdem die Kurse &#8222;Learn NoSQL Database Design From Scratch &#038; With CouchDB&#8220; und &#8222;Projects in AngularJS &#8211; Learn by Building 10 Projects&#8220;, die ebenfalls im Paket enthalten sind. Ergänzt wird dieses von Packt Publishings Kurs &#8222;Mastering D3 &#038; Rapid D3&#8220;, der helfen soll, Daten aus Tabellenkalkulationen mit D3 im Web zu visualisieren. Zenva liefert schließlich den Kurs &#8222;3D Programming with WebGL &#038; Babylon.js for Beginners&#8220;.</p>
<p><small>Dieser Artikel enthält Affiliate-Links.</small></p><p>Der Beitrag <a href="https://macnotes.de/2015/11/17/videokurse-javascript-entwicklung-angebot/">Videokurse zur Javascript-Entwicklung im Angebot</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>Switcher: jQuery-Plugin schreibt Social-Network-Links für iOS um</title>
		<link>https://macnotes.de/2014/08/20/switcher-jqueryplugin-social-networks-links-ios/</link>
		
		<dc:creator><![CDATA[Stefan Keller]]></dc:creator>
		<pubDate>Tue, 19 Aug 2014 22:17:41 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Internet]]></category>
		<guid isPermaLink="false">http://www.macnotes.de/?p=186623</guid>

					<description><![CDATA[<p>Switcher ist ein Plugin für jQuery, das für iPhone und iPad Links zu Social Networks so umschreibt, dass der Link nach Möglichkeit in der dafür vorgesehenen App aufgerufen wird. Dabei werden die URI Schemes ausgenutzt, die eine App in iOS registrieren kann. Viele Apps, inklusive der in iOS mitgelieferten, lassen sich über ein so genanntes [&#8230;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2014/08/20/switcher-jqueryplugin-social-networks-links-ios/">Switcher: jQuery-Plugin schreibt Social-Network-Links für iOS um</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class='lead'>Switcher ist ein Plugin für jQuery, das für <a href="https://macnotes.de/produkt/iphone/">iPhone</a> und <a href="https://macnotes.de/produkt/ipad/">iPad</a> Links zu Social Networks so umschreibt, dass der Link nach Möglichkeit in der dafür vorgesehenen App aufgerufen wird. Dabei werden die URI Schemes ausgenutzt, die eine App in <a href="https://macnotes.de/plattform/ios/">iOS</a> registrieren kann.</p>
<p>Viele Apps, inklusive der in iOS mitgelieferten, lassen sich über ein so genanntes URI Scheme direkt ansprechen. Die Idee dahinter ist nicht neu. Der vermutlich bekannteste Vertreter ist &#8222;mailto:&#8220;, der ebenso auf Desktop-Rechnern funktioniert. iOS treibt das Ganze noch einen Schritt weiter, denn wenn eine App ein eigenes URI Scheme unterstützt, kann man sie direkt aus einer anderen aufrufen.</p>
<h2>iOS-Apps von Social Networks mit URI Schemes</h2>
<p>Die meisten sozialen Netzwerke wie Facebook, Twitter oder LinkedIn haben eine eigene iOS-App. Wenn auf der eigenen Webseite ein Link vorkommt, der auf ein solches Netzwerk zeigt, würde der User, der dem Link folgt, auf der Webseite landen. Aber auf mobilen Geräten sind Apps häufig besser aufbereitet und schneller als die Web-Ansicht. Dieses Problem versucht Switcher zu lösen.</p>
<h2>jQuery-Plugin</h2>
<p>Mithilfe des jQuery Plugins <a href="https://github.com/rscherf/Switcher" target="_blank" rel="noopener">Switcher</a> werden alle Links, die in einem benannten HTML-Element sind, auf ihr Ziel überprüft. Handelt es sich um ein unterstütztes soziales Netzwerk, schreibt Switcher die URLs so um, dass nicht die Webseite des sozialen Netzwerks, sondern die entsprechende App geöffnet wird. Ein Link, der beispielsweise zu <code>https://twitter.com/macnotes</code> führt, wird so umgeschrieben, dass <code>twitter://user?screen_name=macnotes</code> dabei herauskommt. Klickt der Anwender auf den Link, öffnet sich die Twitter-App und zeigt in dem Fall unser Profil an.</p>
<h2>Switcher ist frei verfügbar</h2>
<p>Switcher ist freie Software, wobei der Lizenztext keinem gängigen entspricht, etwa der GPL. Der Autor Ryan Scherf gibt an, dass er nicht alle Apps verwendet, die der <a href="https://macnotes.de/produkt/app-store/">App Store</a> zu bieten hat; wer eine kennt, die noch nicht unterstützt wird, soll sich dazu berufen fühlen, sie der Code-Basis von Switcher hinzuzufügen und einen Pull-Request zu tätigen.</p>
<p>Der Beitrag <a href="https://macnotes.de/2014/08/20/switcher-jqueryplugin-social-networks-links-ios/">Switcher: jQuery-Plugin schreibt Social-Network-Links für iOS um</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>Stack Hacker Bundle: 8 Web-Dev-Kurse für $49</title>
		<link>https://macnotes.de/2014/07/18/the-full-stack-hacker-bundle/</link>
		
		<dc:creator><![CDATA[Stefan Keller]]></dc:creator>
		<pubDate>Fri, 18 Jul 2014 19:33:56 +0000</pubDate>
				<category><![CDATA[Schnäppchen]]></category>
		<category><![CDATA[Technologie]]></category>
		<guid isPermaLink="false">http://www.macnotes.de/?p=185761</guid>

					<description><![CDATA[<p>Wer sich in Richtung Web-Entwicklung umfassend weiterbilden möchte, wird aktuell bei StackSocial fündig. Dort gibt es noch drei Tage lang 8 Kurse mit zusammen über 70 Stunden an Content für $49 &#8211; einzeln gekauft würde das Paket mehr als zehnmal so viel kosten. Für umgerechnet rund 36,26 Euro erhält man ein Bundle, das viele Grundlagen [&#8230;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2014/07/18/the-full-stack-hacker-bundle/">Stack Hacker Bundle: 8 Web-Dev-Kurse für $49</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class='lead'>Wer sich in Richtung Web-Entwicklung umfassend weiterbilden möchte, wird aktuell bei StackSocial fündig. Dort gibt es noch drei Tage lang 8 Kurse mit zusammen über 70 Stunden an Content für $49 &#8211; einzeln gekauft würde das Paket mehr als zehnmal so viel kosten.</p>
<p>Für umgerechnet rund 36,26 Euro erhält man <a href="https://stacksocial.com/300250/the-full-stack-hacker-bundle?aid=a-zzbmjlwp" rel="nofollow" target="_blank" rel="noopener">ein Bundle</a>, das viele Grundlagen diverser Web-Technologien vermittelt. Mit dabei sind Kurse über Amazon Web Services, PHP, HTML 5 und MongoDB. Bei StackSocial ist zu lesen, dass das Paket normalerweise $668 (ca. 494,31 Euro) kostet, aktuell aber nur $49.</p>
<p>Bilden kann man sich darüber, wie man Amazon Web Services nutzt, sich einen Überblick über alle wichtigen Web-Technologien verschaffen, mit GitHub einsteigt, wie Python funktioniert, wie man einen Online-Marktplatz etabliert, die wichtigsten Informationen über HTML 5 zu verstehen, wie PHP und MySQL zusammenarbeiten und wie MongoDB zu verwenden ist.</p>
<p>Einzig muss man in Kauf nehmen, dass die Kurse überwiegend ausschließlich auf Englisch verfügbar sind. Dafür gibt es aber eine 30-Tage-Geld-zurück-Garantie. StackSocial bietet das Stack Hacker Bundle noch drei Tage lang an.</p>
<p>Bei einigen der Kurse erhält man beim Abschluss ein entsprechendes Zertifikat. Wer also z. B. mit einer IDE Web-Apps mit HTML5, CSS3, jQuery und PHP sowie MySQL-Anbindung produzieren mag, könnte sich dies am Ende zertifizieren lassen, oder aber, dass er mit den Amazon Web Services haushalten kann.</p>
<p>Diejenigen, die einen Einstieg in GitHub bislang gescheut haben, könnten einen anderen Kurs namens &#8222;GitHub Fundamentals&#8220; in Anspruch nehmen, in dem man die Versionsverwaltung mit dem Tool näher gebracht bekommt.</p>
<p>Es gibt darüber hinaus noch Kurse zur Programmierung mit Python oder einen Kurs, der am Beispiel exerziert, wie man mit Python, Bootstrap und anderen Hilfsmitteln einen kompletten Handelsplatz programmiert, der von Inhalten gespeist wird, die die Nutzer selbst beitragen können.</p>
<p><small>Dieser Artikel enthält Affiliate-Links.</small></p><p>Der Beitrag <a href="https://macnotes.de/2014/07/18/the-full-stack-hacker-bundle/">Stack Hacker Bundle: 8 Web-Dev-Kurse für $49</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>WordPress optimieren Teil 1 &#8211; Der Header</title>
		<link>https://macnotes.de/2012/05/07/wordpress-siteload-optimieren-teil-1-der-header/</link>
		
		<dc:creator><![CDATA[Alexander Trust]]></dc:creator>
		<pubDate>Mon, 07 May 2012 01:28:08 +0000</pubDate>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[Internet]]></category>
		<guid isPermaLink="false">http://www.ichspiele.cc/tech/?p=5188</guid>

					<description><![CDATA[<p>WordPress als System ist in der Regel &#8222;schön einfach&#8220;, aber wer eine Reihe von Plugins installiert hat, oder diverse Features nachrüstet, der erzeugt schnell mal einen Siteload, der die Nutzer nervt, weil sie zu lange auf die Anzeige der Seite warten müssen, der aber, wie man aus vielen Einträgen in den Google-Foren der Webmastertools erfährt, [&#8230;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2012/05/07/wordpress-siteload-optimieren-teil-1-der-header/">WordPress optimieren Teil 1 &#8211; Der Header</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class='lead'>WordPress als System ist in der Regel &#8222;schön einfach&#8220;, aber wer eine Reihe von Plugins installiert hat, oder diverse Features nachrüstet, der erzeugt schnell mal einen Siteload, der die Nutzer nervt, weil sie zu lange auf die Anzeige der Seite warten müssen, der aber, wie man aus vielen Einträgen in den Google-Foren der Webmastertools erfährt, auch die Suchmaschine manchmal abschreckt. Das muss nicht sein.</p>
<p>Wir haben uns vorgenommen eine kleine Reihe von Artikeln zu veröffentlichen, die vor allem aus unserer eigenen, jüngeren Erfahrung entspringen. Wenn man Webseiten optimieren möchte, nicht unbedingt als SEO, aber vor allem der Liebe zum Leser wegen und damit Google einen trotzdem lieb hat, kann man schon im &#8222;Kopf&#8220; der Seite anfangen.</p>
<h2>Template-Dateien</h2>
<p>Wer WordPress auf WordPress.com nutzt, der müsste schon ein Pro-Package erworben haben, um ähnliche Dinge anstellen zu können, wie gleich beschrieben werden. Wer allerdings sein WordPress selbst anlegt, der kann in den Template-Dateien rumfuhrwerken.</p>
<h2>Conditional Tags</h2>
<p>Angenommen wir wollten ein Javascript oder eine Anweisung nur je auf einem bestimmten Seitentyp laden, und alle anderen Seiten mit den Kilobyte verschonen, die dafür geladen werden müssten. Dafür hält WordPress die <em>Conditional Tags</em> (kurz CT) bereit. Eine komplette Darstellung, welche Conditional Tags es gibt, findet man im <a href="https://codex.wordpress.org/Conditional_Tags" target="_blank" rel="noopener">Codex von WordPress</a> (engl.).</p>
<p>Für die Homepage beispielsweise gibt es den CT <code>is_home()</code>. Handelt es sich um einen einzelnen Beitrag (Post) kann man <code>is_single()</code> nutzen. Dieser CT bedient allerdings auch wirklich nur &#8222;Posts&#8220;. Angenommen ihr behandelt aber &#8222;Seiten&#8220; (Pages) und &#8222;Anhänge&#8220; (Attachments) mehr oder weniger gleichrangig, so wie wir das tun, dann könnte für euch auch der CT <code>is_singular()</code> interessant sein, der nämlich alle drei Typen von Dokumenten anspricht.</p>
<h2>Beispiel: Webfont</h2>
<p>Wer dem Trend der Typographie im Netz folgt, der wird vielleicht früher oder später auf Webfonts zurückgreifen wollen, das sind Schriftarten, die man auf unterschiedliche Arten in seine Seiten integrieren kann. Eine kostenlose Möglichkeit ist die Nutzung von <a href="https://fonts.google.com/" target="_blank" rel="noopener">Googles Sammlung an Webfonts</a>. Derzeit (Stand: 7. Mai 2012) kann man aus einem Fundus von 501 Schriftfamilien auswählen. Google selbst hat dort aber eine Art Tachometer angebracht, einen Anzeiger, der, je mehr Schriften man hinzufügt, immer mehr in den roten Bereich wandert. Das liegt daran, dass die Schriften erst geladen werden müssen. Je mehr Schriften, desto mehr Kilobyte muss der Browser des Nutzers herunterladen, ehe er die Schrift auch anzeigt.</p>
<p>Da wäre es doch effizient, wenn man nur dann wirklich alle Webfonts verwendet, wenn man sie auch wirklich braucht. In unserem Fall ist es so, dass wir auf der Homepage nur den regulären Font namens <em>Tienne</em> benötigen, auf den Artikelseiten allerdings zusätzlich noch den Font <em>Lekton</em>. Das ist übrigens die Schrift art, mit der auf dieser Seite die &#8222;Code&#8220;-Schnipsel wiedergegeben werden.</p>
<p>In einem ersten Schritt sollte man sich überlegen, wie man am cleversten vorgeht, um die Bedingungen zu formulieren. Dann ist es einfacher eine entsprechend Abfrage zu produzieren. &#8222;Wir&#8220; wollen also nur in Einträgen, auf Seiten und bei Anhängen die &#8222;Code&#8220;-Schrift zusätzlich laden, auf allen anderen Seiten soll nur die normale geladen werden. Der komplette Aufruf, ohne Berücksichtigung der Seiten, würde wie folgt lauten:</p>
<pre>&lt;link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Tienne:400|Lekton:700" type="text/css" /&gt;</pre>
<p>Die Zeile stünde dann in der <em>header.php</em>. Wir wollten aber ja diese Ausgabe nur dann haben, wenn wir auf einer einzelnen Seite sind, und ansonsten auf die &#8222;Code&#8220;-Schriftart verzichten. Entsprechend würden wir den Header so umschreiben:</p>
<pre>&lt;?php if(is_singular()) { ?&gt;
&lt;link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Tienne:400|Lekton:700" type="text/css" /&gt;
&lt;?php } else { ?&gt;
&lt;link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Tienne:400" type="text/css" /&gt;
&lt;?php } ?&gt;</pre>
<p>Es bietet sich übrigens für Anfänger an, auf diese Art zu klammern:</p>
<p><code>&lt;?php x { ?&gt; auszuführender Code &lt;?php } ?&gt;</code></p>
<p>Man kann es auch anders machen, aber dann müsste man eventuell noch mit dem <em>echo</em>-Befehl hantieren und anstelle von einfachen Anführungszeichen, Hochkommata setzen, usf.</p>
<p>Mit dem oben beschriebenen Code wird erreicht, dass lediglich auf den Einzelseiten zwei Schriftarten vom Google-Server geladen werden, während aber die übrigen Seiten nur die &#8222;Standard&#8220;-Schriftart erhalten.</p>
<h2>Beispiel 2: CSS-Dateien</h2>
<p>Während es vor Jahren schon mal latent im Webworking den Trend gab, möglichst viele verschiedene Stylesheets zu erstellen, ist man heute wohl wieder auf dem Weg in die andere Richtung. 1 einzige Datei ist besser als 2, sind besser als 3 usw. Im Einzelfall sollte man tatsächlich den Gebrauchsfall (use case) studieren, um zu ermitteln, welche Aktion häufiger vorkommt, und dann entscheiden was Sinn macht. Beispielsweise gibt es manche WordPress-Themen, die super schöne Kommentarfelder anbieten, die aber auch enorm viel CSS-Inhalt mit sich rumschleppen. Wenn man durch das Auslagern der CSS-Formate für die Kommentare ein paar Kilobyte sparen kann, sollte man es tun. Aber auch nur dann.</p>
<h3 class="meta text_align_right">Kommentare</h3>
<p>Wenn man sich nun vorstellt, man möchte den CSS-Anteil für die Kommentare nur dann laden, wenn eine Seite auch tatsächliche Kommentare erlaubt, dann hält WordPress den CT <code>comments_open()</code> bereit. Eine mögliche Abfrage würde wie folgt ausschauen:</p>
<pre>&lt;?php if(comments_open()) { ?&gt;
&lt;link rel="stylesheet" href="&lt;?php bloginfo('stylesheet_directory'); ?&gt;/css/comments.css" /&gt;
&lt;?php } ?&gt;</pre>
<h3 class="meta text_align_right">Lightbox</h3>
<p>Es gibt andererseits vielleicht auch die Situation, dass jemand eine Lightbox laden möchte, die unter Umständen auch noch jquery benötigt, mootools oder eine andere Javascript-Bibliothek. Es ist sehr wahrscheinlich, dass man so einen Effekt nicht schon auf der Homepage oder den Archivseiten anwendet, sondern nur in den einzelnen Beiträgen. Dann könnte man erneut zu <code>is_singular()</code> oder sogar nur <code>is_single()</code> greifen:</p>
<pre>&lt;?php if(is_single()) { ?&gt;
&lt;script type="text/javascript" src="&lt;?php bloginfo('stylesheet_directory'); ?&gt;/js/jquery/jquery.js?ver=1.7.1"&gt;&lt;/script&gt;
&lt;link rel="stylesheet" href="&lt;?php bloginfo('stylesheet_directory'); ?&gt;/css/lightbox.css" /&gt;
&lt;?php } ?&gt;</pre>
<h3 class="meta text_align_right">Google+-Box, Facebook, etc. pp</h3>
<p>Man könnte noch viele Beispiele anführen. Eines aus unserer Praxis ist aber zum Beispiel die &#8222;Google Plus&#8220;-Box, bzw. die Facebook-Box, die wir lediglich auf der Startseite einfügen, aber ansonsten gar nicht. Entsprechend lautet unsere Abfrage dann wie folgt:</p>
<pre>&lt;?php if (is_home()) { ?%gt;
	&lt;script type="text/javascript"&gt;
	window.___gcfg = {lang: 'en'};
	(function()
	{var po = document.createElement("script");
	po.type = "text/javascript"; po.async = true;po.src = "https://apis.google.com/js/plusone.js";
	var s = document.getElementsByTagName("script")[0];
	s.parentNode.insertBefore(po, s);
	})();&lt;/script&gt;
&lt;?php } ?&gt;</pre>
<h2>Ausblick: CSS, Plugins mit Bordmitteln</h2>
<p>Wie genau der nächste Teil ausschauen wird, haben wir uns (leider) noch nicht überlegt, aber wir wollen zumindest auch das Thema CSS noch weiter ansprechen, wenngleich die Optimierung von Stilvorlagen nicht spezifisch auf WordPress passt, sondern eigentlich jede Webseite oder jedes CMS wie bspw. Contao oder ModX betreffen. Letzteres haben wir neben WordPress auch manchmal im Einsatz.</p>
<p>Und in einem weiteren Schritt wollen wir thematisieren, welche Möglichkeiten man hat, auf einzelne Plugins bei WordPress zu verzichten, die man mit Bordmitteln sehr gut selbst nachbauen kann, und die einem nicht die HTML-Dateien zukleistern. Denn es gibt WordPress-Plugins, die erzeugen super viel &#8222;Overhead&#8220;. Ein schönes Beispiel hierfür wären die NextGen Gallery oder alle Plugins, die neuerdings auf die Masche gekommen sind ein &#8222;Pro&#8220;-Pack anzubieten, bei dem man dann ohne den ganzen Werbemüll auskommt, wie beispielsweise All in One SEO Pack.</p>
<p>Der Beitrag <a href="https://macnotes.de/2012/05/07/wordpress-siteload-optimieren-teil-1-der-header/">WordPress optimieren Teil 1 &#8211; Der Header</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>Test: HTML5 Webseiten-Editor Flux</title>
		<link>https://macnotes.de/2011/11/07/html5-webseiten-editor-flux/</link>
					<comments>https://macnotes.de/2011/11/07/html5-webseiten-editor-flux/#comments</comments>
		
		<dc:creator><![CDATA[ar]]></dc:creator>
		<pubDate>Mon, 07 Nov 2011 10:48:39 +0000</pubDate>
				<category><![CDATA[Review]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://www.macnotes.de/?p=68191</guid>

					<description><![CDATA[<p>Der Markt der Webseiten-Editoren war bisher sauber getrennt: Da gab es zum einen Dreamweaver, als Feature-Monster zum Mega-Preis von Adobe. F&#252;r Einsteiger gab es die reinen WYSIWYG-Editoren mit wenig Handlungsspielraum f&#252;r HTML-Kenner wie iWeb, Sandvox und RapidWeaver, die haupts&#228;chlich vorlagenbasierte Seiten produzierten. Letztendlich noch die echten Editoren f&#252;r Handarbeiter, wie Coda, Espresso und andere reine [&#8230;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2011/11/07/html5-webseiten-editor-flux/">Test: HTML5 Webseiten-Editor Flux</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class='lead'>Der Markt der Webseiten-Editoren war bisher sauber getrennt: Da gab es zum einen Dreamweaver, als Feature-Monster zum Mega-Preis von Adobe. F&uuml;r Einsteiger gab es die reinen WYSIWYG-Editoren mit wenig Handlungsspielraum f&uuml;r HTML-Kenner wie iWeb, Sandvox und RapidWeaver, die haupts&auml;chlich vorlagenbasierte Seiten produzierten. Letztendlich noch die echten Editoren f&uuml;r Handarbeiter, wie Coda, Espresso und andere reine Texteditoren. Mit Flux betritt nun ein, nicht mehr ganz neuer, aber in der dritten Version deutlich verbesserter Zwitter den Markt.</p>
<h2>Webseiten erstellen mit Maus und Tastatur</h2>
</p>
<p>Flux ist ganz auf HTML5 getrimmt. Was normalerweise eine intensive Besch&auml;ftigung mit Code-Elementen bedeutet, wird in Flux mit einem Zusammenspiel von Mausbedienung und Code-Optimierung erreicht. So erstellt man neue Elemente, angefangen vom einfachen &#8222;div&#8220; &uuml;ber Formen bis hin zur Medien-Integration &uuml;ber Auswahlboxen und positioniert alle Elemente per Maus. &Uuml;ber einen Inspektor passt man die Werte anschlie&szlig;end an oder erledigt dies im Code-Editor, der auf Wunsch jederzeit bereitsteht.</p>
<h2>Workflow</h2>
<p>In Flux erstellt man Webseiten normalerweise von Grund auf neu und per Hand. Zwar werden auch einige, wenige Vorlagen mitgeliefert, doch tendenziell ist Handarbeit angesagt. Zun&auml;chst wird dazu ein Projekt im Seiten-Manager angelegt, standardm&auml;&szlig;ig wird diese mit einer index.html und einer dazugeh&ouml;rigen .css-Datei gef&uuml;llt. Hier finden sich auf sp&auml;ter s&auml;mtliche Medien (Filme, Bilder) und auch eventuelle fremde Codeschnipsel zur Verwendung im eigenen Projekt wieder. Ein Doppelklick auf die index.html &ouml;ffnet diese nebst der zugeh&ouml;rigen CSS-Definition im Seiten-Editor. Dort werden nun die gew&uuml;nschten Elemente hinzugef&uuml;gt. Links &ouml;ffnet sich wahlweise eine &Uuml;bersicht der verwendeten Stile oder eine Ansicht des Element-Baumes. Am unteren Rand legt man fest, welche Elemente angezeigt werden sollen und zudem kann man hier einen Text-Editor einblenden. Oberhalb des Fensters befindet sich eine Reiterleiste mit vorgefertigten Elementen, wie Containern, Formen, Medien, Texten, verschiedenen anderen Elementen und externen Scripten.</p>
<h2>Arbeitsweise</h2>
<p>Die Lernkurve ist bei Flux deutlich h&ouml;her als bei Programmen wie Sandvox oder gar iWeb, was auch die etwas d&uuml;rftige, englischsprachige Dokumentation mit verursacht. Wesentlich mehr Hilfe bieten da zahlreiche Video-Tutorials, die auf der Homepage des Herstellers verlinkt sind. Hat man sich erst einmal an die Arbeitsweise des Programms, und die nicht immer zur Verf&uuml;gung stehende R&uuml;ckg&auml;ngig-Funktion des Programms gew&ouml;hnt, geht die Arbeit gut von der Hand. Hintergrundwissen zum Thema HTML und CSS kann dabei nicht schaden. Wenn man das Prinzip verinnerlicht hat, ist es eine sehr angenehme Angelegenheit, viele Dinge, besonders im optischen Bereich wie bei einem DTP-Programm mit der Maus zu erledigen, um dann die Feinheiten im Code selber zu justieren. &Uuml;ber &bdquo;Actions &amp; Widgets&ldquo; bietet Flux dar&uuml;ber hinaus eine ganze Reihe vorgefertigte JavaScript- und andere interaktive Code-Schnipsel, wie etwa MooTools, jQuery und &auml;hnliche an, die weitgehend fertig konfiguriert leicht in eine Seite integriert werden.</p>
<h2>Fazit</h2>
<p>Anwender, die schnell und einfach zu einer eigenen Webseite kommen wollen, sind mit Programmen wie Rapid Weaver oder Sandvox sicher besser bedient. Wer jedoch elegante Webseiten mit moderner Technologie und umfassenden Konfigurationsm&ouml;glichkeiten sucht und eine etwas l&auml;ngere Einarbeitungszeit nicht scheut, ist bei Flux gut aufgehoben. Mit einem Preis von 89,99 Euro spielt das Programm dabei in einer &auml;hnlichen Liga. Es wird derzeit im &Uuml;brigen h&auml;ufig in Bundles angeboten, da hei&szlig;t es Augen offen halten. Die Entwickler haben beim letzten Versionssprung einige neue Features hinzugef&uuml;gt. Wenn die Entwicklung weiter gut voran schreitet, kann man auf einige &Uuml;berraschungen bei Flux gespannt sein. Eine Testversion kann man auf der Homepage des Anbieters <a title="Flux" href="https://web.archive.org/web/20111015151642/http://theescapers.com/flux/">The Escapers</a> herunterladen.<small></small></p>
<p>Der Beitrag <a href="https://macnotes.de/2011/11/07/html5-webseiten-editor-flux/">Test: HTML5 Webseiten-Editor Flux</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://macnotes.de/2011/11/07/html5-webseiten-editor-flux/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
		
	</item>
		<item>
		<title>jQTouch: jQuery-Plugin für Webapplikationen auf iPhone, G1 und Pre</title>
		<link>https://macnotes.de/2009/09/02/jqtouch-jquery-plugin-fur-webapplikationen-auf-iphone-g1-und-pre/</link>
					<comments>https://macnotes.de/2009/09/02/jqtouch-jquery-plugin-fur-webapplikationen-auf-iphone-g1-und-pre/#comments</comments>
		
		<dc:creator><![CDATA[kg]]></dc:creator>
		<pubDate>Wed, 02 Sep 2009 09:31:43 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://www.macnotes.de/?p=16972</guid>

					<description><![CDATA[<p>jQTouch, ein jQuery-Plugin, soll es k&#252;nftig einfacher machen, Web-Apps f&#252;r iPhone, G1, Palm Pre und andere Smartphones entwickeln. Die Betaversion des Plugins steht ab sofort zur Verf&#252;gung und erm&#246;glicht die Entwicklung von Applikationen mit HTML, CSS und JavaScript, die einige Eigenschaften des Webkit-Browsers unterst&#252;tzen. Mit jQTouch k&#246;nnen Webanwendungen Zugriff auf bestimmte Hardware-Funktionen des Ger&#228;tes bekommen, [&#8230;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2009/09/02/jqtouch-jquery-plugin-fur-webapplikationen-auf-iphone-g1-und-pre/">jQTouch: jQuery-Plugin für Webapplikationen auf iPhone, G1 und Pre</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class='lead'>jQTouch, ein jQuery-Plugin, soll es k&uuml;nftig einfacher machen, Web-Apps f&uuml;r <a href="https://macnotes.de/produkt/iphone/">iPhone</a>, G1, Palm Pre und andere Smartphones entwickeln. Die Betaversion des Plugins steht ab sofort zur Verf&uuml;gung und erm&ouml;glicht die Entwicklung von Applikationen mit HTML, CSS und JavaScript, die einige Eigenschaften des Webkit-Browsers unterst&uuml;tzen.</p>
<p>Mit jQTouch k&ouml;nnen Webanwendungen Zugriff auf bestimmte Hardware-Funktionen des Ger&auml;tes bekommen, beispielsweise den Bewegungssensor oder auch Multi-Touch. jQTouch stellt die daf&uuml;r n&ouml;tigen Events zur Verf&uuml;gung. Ebenso lassen sich zus&auml;tzliche Themes einrichten, die die Web-Apps noch st&auml;rker wie echte Applikationen aussehen lassen.</p>
<p><a href="http://jqtjs.com">jQTouch</a> ist Open Source, der Code findet sich bei <a href="https://code.google.com/archive/p/jqtouch">Google</a>.</p>
<p>[mn-vimeo id=&#8220;6353874&#8243;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2009/09/02/jqtouch-jquery-plugin-fur-webapplikationen-auf-iphone-g1-und-pre/">jQTouch: jQuery-Plugin für Webapplikationen auf iPhone, G1 und Pre</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://macnotes.de/2009/09/02/jqtouch-jquery-plugin-fur-webapplikationen-auf-iphone-g1-und-pre/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
		
		<media:content url="https://player.vimeo.com/video/6353874" duration="104">
			<media:player url="https://player.vimeo.com/video/6353874" />
			<media:title type="html">jQTouch: jQuery-Plugin für Webapplikationen auf iPhone, G1 und Pre &#124; Macnotes.de</media:title>
			<media:description type="html">jQTouch, ein jQuery-Plugin, soll es künftig einfacher machen, Web-Apps für iPhone, G1, Palm Pre und andere Smartphones entwickeln. Die Betaversion des Plugins steht ab sofort zur Verfügung und ermöglicht die Entwicklung von Applikationen mit HTML, CSS und JavaScript, die einige Eigenschaften des Web</media:description>
			<media:thumbnail url="https://macnotes.de/images/2009/09/6353874.jpg" />
			<media:keywords>Software</media:keywords>
		</media:content>
	</item>
	</channel>
</rss>
