<?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 tutorial gesucht - Macnotes.de</title>
	<atom:link href="https://macnotes.de/search/tutorial/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>Wed, 09 Feb 2022 12:45:45 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://macnotes.de/images/2021/02/image-150x150.jpg</url>
	<title>Du hast nach tutorial gesucht - Macnotes.de</title>
	<link>https://macnotes.de/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Apple Produkte gebraucht verkaufen</title>
		<link>https://macnotes.de/2022/01/31/apple-produkte-gebraucht-verkaufen/</link>
		
		<dc:creator><![CDATA[Matze Fenn]]></dc:creator>
		<pubDate>Mon, 31 Jan 2022 12:43:17 +0000</pubDate>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[Hardware]]></category>
		<guid isPermaLink="false">https://macnotes.de/?p=613592</guid>

					<description><![CDATA[<p>Apple-Produkte sind hochwertig, aber das macht sie auch teuer. Wer sich ein neues iPad und Co. leisten will, muss ordentlich in die Tasche greifen. Natürlich kann man selbst auf gebrauchte Geräte zurückgreifen. Oder man nutzt seine eigenen Apple-Altgeräte, um den Neukauf etwas weniger schmerzhaft zu gestalten. Der Verkauf an Apple selbst oder an einen Refurbished-Service [&#8230;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2022/01/31/apple-produkte-gebraucht-verkaufen/">Apple Produkte gebraucht verkaufen</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class='lead'>Apple-Produkte sind hochwertig, aber das macht sie auch teuer. Wer sich ein neues iPad und Co. leisten will, muss ordentlich in die Tasche greifen. Natürlich kann man selbst auf gebrauchte Geräte zurückgreifen. Oder man nutzt seine eigenen Apple-Altgeräte, um den Neukauf etwas weniger schmerzhaft zu gestalten.</p>
<p>Der Verkauf an Apple selbst oder an einen <a href="https://macnotes.de/2020/12/14/refurbishedstore-im-interview-nachhaltigkeit-endet-nicht-bei-gebrauchten-iphones/">Refurbished-Service</a> kann die eigene Geldbörse etwas aufpolstern. Das geht umso besser, desto funktioneller das gebrauchte Produkt noch ist. Hier sind Tipps für das Aufbereiten und Verkaufen von Apple-Geräten.</p>
<h2>Wo verkauft man gebrauchte Apple Produkte?</h2>
<p>Es gibt <strong>verschiedene Angebote, über die wir unser Apple-Produkt verkaufen können</strong>. Grundsätzlich unterscheiden wir zwischen:</p>
<ul>
<li>dem Verkauf an Privatpersonen</li>
<li>dem Verkauf an Händler</li>
</ul>
<p>Wenn wir an eine Privatperson verkaufen, können wir <strong>Plattformen wie Ebay</strong> nutzen oder in unserem Bekanntenkreis handeln. Wenn wir stattdessen an einen professionellen Service verkaufen möchten, bieten sich <strong>Refurbished-Händler</strong> oder <strong>der Apple Trade In</strong> an. Dort verkaufen wir Altgeräte direkt an Apple, beispielsweise in einem Apple Store oder über die Website, und werden dafür ausgezahlt. Meist erhält man dort allerdings nur <strong>eine Gutschrift, statt Geld zurück.</strong></p>
<h3>Was benötigt man für den Verkauf?</h3>
<p>Sowohl Refurbished-Händler als auch Apple <strong>begutachten das gebrauchte Gerät und schätzen seinen Restwert ein.</strong> Diesen Vorschlag können wir als Verkäufer annehmen oder ablehnen. Ist die Hardware mehr oder weniger wertlos, recycelt Apple die Geräte kostenfrei.</p>
<p>Die besten Preise bekommen wir natürlich <strong>für die jüngste Technik mit den wenigsten Software- und Hardware-Problemen.</strong> Wer etwas technikversiert ist, kann das Gerät vor dem Verkauf deshalb <strong>eigenständig aufbereiten und etwas mehr Geld herausholen.</strong> Man bekommt außerdem überwiegend mehr Geld, je mehr Originalteile, wie Ladekabel, noch vorhanden sind.</p>
<p>Sonst sollte man das Apple-Produkt <strong>von jeglichen privaten Daten bereinigen</strong>. Die meisten Geräte kann man <a href="https://basic-tutorials.de/ratgeber/hardware/macbook-in-wenigen-schritten-zuruecksetzen-und-fuer-den-verkauf-vorbereiten/">in wenigen Schritten <strong>zurücksetzen</strong></a>, auf die Werkseinstellungen. Der potenzielle Käufer kann dann das Gerät direkt neu einrichten. Mit der Einführung von macOS Monterey ermöglichte Apple dieses einfache Vorgehen <a href="https://www.macrumors.com/how-to/erase-all-content-and-settings-mac/">auch am Mac</a>.</p>
<h2>Wo kriege ich am meisten Geld?</h2>
<p>Wo man am meisten Geld ausgezahlt bekommt, ist davon abhängig, <strong>was der Zustand und das Alter des Geräts sind und wie gut man die Hardware selbst generalüberholen kann</strong>. Einige der Refurbished-Ankaufdienstleister wie <a href="https://www.awin1.com/cread.php?awinmid=14000&awinaffid=644589&clickref=&ued=https%3A%2F%2Fwww.rebuy.de%2Fverkaufen" rel="nofollow">Rebuy</a> oder <a href="https://www.awin1.com/cread.php?awinmid=14133&awinaffid=644589&ued=https%3A%2F%2Fwirkaufens.de%2F" rel="nofollow">Wirkaufens</a> haben zu unterschiedlichen Zeitpunkten im Jahr Aktionen. Deshalb kann sich der Vergleich lohnen.</p>
<h3>Professionelle Händler</h3>
<p><strong>Grundsätzlich erhält man über den Apple Trade In nicht die besten Erlöse.</strong> Aber: Selbst, wenn ihr das Gerät selbst nicht weiterverkaufen könnt, lohnt es sich für das Unternehmen, die genutzten Materialien zu recyclen. Vor allem die Rohstoffe für Lithiumzellen-Akkus sind heute knapp und deshalb begehrt.</p>
<p><strong>Sowohl Apple als auch ein Refurbished-Händler überprüfen das Gerät auf seine Softwareleistung und den Hardwarezustand.</strong> Auf den Webseiten der Refurbished-Services kann man optimal erkennen, woran sie den Wert ihrer Waren berechnen. Sie arbeiten für ihre Käufer mit einem Bewertungssystem von <em>Gut </em>zu <em>Sehr gut</em> bis <em>Wie neu</em>, oder ähnliche Begriffen. Zu jeder Kategorie haben sie feste Definitionen. <strong>Produkte mit vielen Kratzern oder verlangsamter Software werden schlechter bewertet und bringen deshalb auch weniger Geld.</strong></p>
<ul>
<li><strong>Vorsicht!</strong> Die Gutachter bei den Verkaufsservices testen das Gerät auf Herz und Nieren. Sie erkennen hier auch meist, <strong>wenn Teile durch eine Nicht-Apple-Werkstatt repariert und ausgetauscht wurden.</strong> Werden solche Reparaturen erkannt, erhält man größtenteils weniger Erlös. In diesem Fall kann es sich lohnen, lieber an eine Privatperson zu verkaufen.</li>
</ul>
<p><strong>Mit Polituren, die Kratzer entfernen</strong>, und dem gründlichen Bereinigen des Speichers und Co. kann man aber auch hier noch etwas Geld herausschlagen.</p>
<h3>Verkauf an privat</h3>
<p><strong>Privatpersonen haben überwiegend nicht das gleiche Know-how und vor allem nicht die Technik zur Hand, die sie die Qualität von Apple-Produkten leicht erkennen lässt.</strong> Wenn man hier ein iPad verkauft, dessen Bildschirm schon einmal von einem Reparaturservice ohne Apple Zulassung ausgetauscht wurde, gibt es bessere Chancen, dass dieser Austausch nicht auffällt und stattdessen noch mehr Geld bringt, da man Gebrauchsspuren dadurch entfernen konnte.</p>
<p><strong>Wer also die Fähigkeit hat, die Software und Hardware eines Apple-Produkts eigenhändig aufzubessern, der kann bei dem Verkauf an Privatpersonen mehr Geld erwarten,</strong> wenn dabei keine Originalersatzteile genutzt wurden.</p>
<h3>Was kann ich erwarten?</h3>
<p>Der <a href="https://www.apple.com/de/trade-in/">Apple Trade In</a> gibt auf seiner Website <strong>die geschätzten Eintauschwerte</strong> für verschiedene Geräte und ihre Generationen an. Ein iPhone 11 Pro gibt dort rund 435 €. Zum Vergleich ist der höchste Schätzpreis für das iPhone 11 Pro auf Refurbed rund 280 €, bei rebuy aber knap 545 Euro. Die aktuellen Angebote für ein gebrauchtes iPhone 11 Pro bei Ebay liegen zwischen 280 € und 570 €.</p>
<h2>Fazit</h2>
<p>Altgeräte von Apple lassen sich über den Verkauf an Apple selbst, Refurbished-Händler oder Privatpersonen zu Geld machen. Am verlässlichsten sind die Erlöse über den Apple Trade In oder renommierte Gebrauchtankäufer. Wer selbst Reparaturen an dem Gerät durchführt und dabei keine Originalteile nutzt, erhält vermutlich über Privatkäufe mehr Geld, geht aber auch mehr Risiko ein.</p>
<p>Allein wegen des Nachhaltigkeitsgedankens lohnt es sich, Produkten auf diese Art ein zweites Leben zu schenken oder ihre Materialien im Recycling zu verwerten.</p>
<p>Übrigens: Wer keine Apple Produkte besitzt, kann hier lernen, wie man <a href="https://www.handelsblatt.com/technik/gadgets/verjuengungskur-fuer-smartphones-so-machen-sie-ihr-android-handy-wieder-flott/19913908.html?ticket=ST-11279748-NDsHXt6cqtRIKnsFLr9j-ap5">Android-Handys wieder flott macht</a>, um sie zu verkaufen.</p>
<p><small>Dieser Artikel enthält Affiliate-Links.</small></p><p>Der Beitrag <a href="https://macnotes.de/2022/01/31/apple-produkte-gebraucht-verkaufen/">Apple Produkte gebraucht verkaufen</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>Sajonaras 7 Minuten #26: Wie kann NRW nur 2,6 Millionen Euro für den Brockhaus ausgeben?</title>
		<link>https://macnotes.de/2021/03/03/sajonaras-7-minuten-26-wie-kann-nrw-nur-26-millionen-euro-fur-den-brockhaus-ausgeben/</link>
		
		<dc:creator><![CDATA[Alexander Trust]]></dc:creator>
		<pubDate>Wed, 03 Mar 2021 14:00:47 +0000</pubDate>
				<category><![CDATA[Podcast]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Lokal]]></category>
		<category><![CDATA[Politik]]></category>
		<category><![CDATA[Technologie]]></category>
		<guid isPermaLink="false">https://macnotes.de/?p=532920</guid>

					<description><![CDATA[<p>Die &#220;berschrift zu unserer j&#252;ngsten Podcast-Ausgabe ist etwas irref&#252;hrend. Tats&#228;chlich hat sich die Bildungsministerin des Landes NRW dazu entschieden, auf drei Jahre 2,5 Millionen Euro f&#252;r eine Brockhaus-Lizenz auszugeben. Doch das ist deutlich weniger ein Aufregerthema als man das nach der Recherche in den sozialen Medien denken k&#246;nnte. Heutzutage regt sich eigentlich jeder &#252;ber alles [&#8230;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2021/03/03/sajonaras-7-minuten-26-wie-kann-nrw-nur-26-millionen-euro-fur-den-brockhaus-ausgeben/">Sajonaras 7 Minuten #26: Wie kann NRW nur 2,6 Millionen Euro für den Brockhaus ausgeben?</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class='lead'>Die &Uuml;berschrift zu unserer j&uuml;ngsten Podcast-Ausgabe ist etwas irref&uuml;hrend. Tats&auml;chlich hat sich die Bildungsministerin des Landes NRW dazu entschieden, auf drei Jahre 2,5 Millionen Euro f&uuml;r eine Brockhaus-Lizenz auszugeben. Doch das ist deutlich weniger ein Aufregerthema als man das nach der Recherche in den sozialen Medien denken k&ouml;nnte.</p>
<p>Heutzutage regt sich eigentlich jeder &uuml;ber alles auf. Spannend w&auml;re aber, wenn die Leute irgendwann anfingen, sich &uuml;ber sich selbst aufzuregen, statt &uuml;ber andere. Vielleicht werden wir das ja noch erleben. Gerade aber in den &bdquo;Social Networks&ldquo; gibt es zu jedem Thema auch eine Aufreger-Bubble, ob nun gerechtfertigt oder nicht. Letztlich ist Aufregen nie gut, auch nicht f&uuml;r die eigene Lebenserwartung, wie diverse medizinische Studien bereits nachgewiesen haben.</p>
<h2>2,5 Millionen Euro f&uuml;r den Brockhaus?</h2>
<p>Auf den ersten Blick k&ouml;nnte man denken, dass dort jemand 2,5 Millionen Euro f&uuml;r Wissen ausgegeben hat, das heute niemand mehr ben&ouml;tigt. <a href="https://twitter.com/kaienburg/status/1365816541967757319">Auf</a> <a href="https://twitter.com/poprentner/status/1362651034489925633">Twitter</a> <a href="https://twitter.com/EricvonJordan2/status/1366009660789166083">beispielsweise</a> wurde die Entscheidung kritisiert und <a href="https://twitter.com/rad_ritter/status/1362672661751619587">der Ruf laut</a>, man h&auml;tte doch das Geld auch f&uuml;r die Wikipedia ausgeben k&ouml;nnen.</p>
<p>Doch wer so etwas fordert, der wei&szlig; nicht, was es mit dem Brockhaus 2021 <a href="https://de.wikipedia.org/wiki/Brockhaus_Enzyklop%C3%A4die">auf sich hat</a>. Die Marke firmiert unter schwedischer Flagge und liefert keine staubtrockenen B&uuml;cher mehr, die man sich ins Regal stellt. Die gibt es bereits seit 2015 nicht mehr. <a href="https://brockhaus.de/info/schulen/">Stattdessen offeriert</a> Brockhaus ein gesamtes Bildungsangebot f&uuml;r Sch&uuml;ler und Lehrer, zu den unterschiedlichsten Themen in der Bildung. Dazu z&auml;hlen auch Inhalte in der Cloud und Videokurse und interaktive Tutorials, Pr&uuml;fungsvorbereitungsinhalte, und vieles mehr. Lehrer bekommen au&szlig;erdem einen Kanon an Inhalten geliefert, Inspiration f&uuml;r Aufgaben, usf.</p>
<h3>33 Cent pro Sch&uuml;ler</h3>
<p>Man muss zudem die Situation ein wenig n&auml;her beleuchten. Sind 2,5 Millionen Euro viel Geld? Mit Sicherheit. Aber das Bundesland NRW verf&uuml;gt &uuml;ber 2,5 Millionen Sch&uuml;ler. Die 2,5 Millionen Euro flie&szlig;en auf drei Jahre. Also zahlt man umgerechnet lediglich 33 Cent pro Jahr pro Sch&uuml;ler und f&uuml;r 200.000 Lehrer, um diesen allen den Zugriff auf ein umfangreiches Lehr- und Bildungsangebot zu erm&ouml;glichen.</p>
<h3>Wikipedia ist (k)eine Anlaufstelle</h3>
<p>Wer spontan Wikipedia als Ersatz f&uuml;r &bdquo;den&ldquo; Brockhaus, wie ich ihn oben erl&auml;utert habe, sieht, der irrt. Zum einen hat das Onlinelexikon keine Schnittstellen um Computer und Tablets mit Lehr- und Lernmaterial zu versorgen. Man kann die App oder die Website &ouml;ffnen und selbst darin suchen. Aber das ist nicht vergleichbar mit dem &bdquo;modernen&ldquo; Angebot von Brockhaus.</p>
<p>Nun erl&auml;utere ich im Podcast aber noch umfangreicher, wieso ich denke, dass die Aufregung absolut nicht angebracht ist, und Wikipedia in diesem Fall keine echte Alternative. Und auch wenn es so klingt, m&ouml;chte ich gar nicht Partei ergreifen f&uuml;r etwas, sondern nur darauf aufmerksam machen, dass man nicht aufgrund falscher Annahmen ein Urteil f&auml;llt, was so nicht statthaft ist.</p>
<audio class="wp-audio-shortcode" id="audio-532920-1" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://macnotes.de/images/2021/03/sajonara026.m4a?_=1" /><a href="https://macnotes.de/images/2021/03/sajonara026.m4a">https://macnotes.de/images/2021/03/sajonara026.m4a</a></audio>
<p>Ihr findet unseren Podcast auf <a href="https://podcasts.apple.com/de/podcast/sajonaras-7-minuten/id824164708?l=de&at=1l3vbAb" rel="nofollow">iTunes</a>, <a href="https://open.spotify.com/show/4qnHdmYLstodgK0j3fmqf1">Spotify</a> und auch in <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9tYWNub3Rlcy5kZS9wb2RjYXN0cy9zYWpvbmFyYXMtNy1taW51dGVuL2ZlZWQv">Googles Podcast-Verzeichnis</a>. Dort k&ouml;nnt Ihr ihn abonnieren, wenn Ihr m&ouml;gt.</p>
<div class="inlinebox"><h4 class="notification is-warning has-text-dark is-marginless is-radiusless" style="padding:5;">Damit zeichnen wir unseren Podcast auf:</h4><div class="notification has-text-dark is-radiusless">Wer Lust hat, selbst auch einen Podcast aufzuzeichnen, dem wollen wir einen Blick auf unser Zubeh&ouml;r geben. Neben Apples GarageBand nutzen wir noch ein wenig Hardware, um unseren Podcast aufzuzeichnen. Wer sich selbst f&uuml;r die Podcast-Produktion interessiert, f&uuml;r den ist wom&ouml;glich folgende &Uuml;bersicht interessant:</p>
<ul>
<li><a href="https://www.amazon.de/R%C3%98DE-Go-Compact-Mikrofonsystem-kabellos/dp/B07QGGBNMN?tag=sajonara0d-21" rel="nofollow">R&Oslash;DE Wireless Go Compact Mikrofonsystem kabellos</a> (ca. 180 Euro).</li>
<li><a href="https://www.amazon.de/R%C3%98DE-Lavalier-Professionelles-tragbares-Mikrofon/dp/B07WM65GTF?tag=sajonara0d-21" rel="nofollow">R&Oslash;DE Lavalier GO Professionelles tragbares Mikrofon</a> (ca. 65 Euro).</li>
<li><a href="https://www.amazon.de/Rode-Anschlusskabel-Klinkenstecker-VideoMic-Smartphone-Rot/dp/B00L6C8T22?tag=sajonara0d-21" rel="nofollow">Rode Anschlusskabel auf Handy</a> (ca. 11 Euro).</li>
<li><a href="https://www.amazon.de/Creative-Sound-Blaster-Play-USB-DAC-Verst%C3%A4rker/dp/B073KTPNDR?tag=sajonara0d-21" rel="nofollow">Creative Sound Blaster Play!3 &#8211; USB-DAC-Verst&auml;rker und externe Soundkarte</a> (ca. 25 Euro).</li>
</ul>
<p></div></div>
<p><small>Dieser Artikel enthält Affiliate-Links.</small></p><p>Der Beitrag <a href="https://macnotes.de/2021/03/03/sajonaras-7-minuten-26-wie-kann-nrw-nur-26-millionen-euro-fur-den-brockhaus-ausgeben/">Sajonaras 7 Minuten #26: Wie kann NRW nur 2,6 Millionen Euro für den Brockhaus ausgeben?</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></content:encoded>
					
		
		<enclosure url="https://macnotes.de/images/2021/03/sajonara026.m4a" length="35679551" type="audio/mpeg" />

		
	</item>
		<item>
		<title>Sajonaras 7 Minuten #13: Apple TV+ weiter gratis, und mehr</title>
		<link>https://macnotes.de/2021/01/26/sajonaras-7-minuten-13-apple-tv-weiter-gratis-und-mehr/</link>
		
		<dc:creator><![CDATA[Alexander Trust]]></dc:creator>
		<pubDate>Tue, 26 Jan 2021 11:53:01 +0000</pubDate>
				<category><![CDATA[Podcast]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Technologie]]></category>
		<guid isPermaLink="false">https://macnotes.de/?p=516416</guid>

					<description><![CDATA[<p>In unserer aktuellen Podcast-Episode von Sajonaras 7 Minuten gehen wir noch einmal auf die Tatsache ein, dass und warum Apples TV-Streaming-Angebot noch bis Juni kostenlos bleibt. Au&#223;erdem nehmen wir den Faden von Apple vs VirnetX auf, den wir auf der Website noch nicht besprochen haben. Apple TV+ weiter gratis Ist das nicht sch&#246;n? Nun gibt [&#8230;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2021/01/26/sajonaras-7-minuten-13-apple-tv-weiter-gratis-und-mehr/">Sajonaras 7 Minuten #13: Apple TV+ weiter gratis, und mehr</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class='lead'>In unserer aktuellen Podcast-Episode von Sajonaras 7 Minuten gehen wir noch einmal auf die Tatsache ein, dass und warum Apples TV-Streaming-Angebot noch bis Juni kostenlos bleibt. Au&szlig;erdem nehmen wir den Faden von <a href="https://macnotes.de/firma/apple/">Apple</a> vs VirnetX auf, den wir auf der Website noch nicht besprochen haben.</p>
<h2>Apple TV+ weiter gratis</h2>
</p>
<p>Ist das nicht sch&ouml;n? Nun gibt es <a href="https://macnotes.de/produkt/apple-tv/">Apple TV</a>+ bis einschlie&szlig;lich Juni weiterhin gratis. Aber eigentlich ist das gar kein Grund zur Freude. Denn bei genauerer Betrachtung ist der Konzern aus Cupertino wegen der Covid-19-Pandemie mit der Produktion neuer Inhalte nicht hinterhergekommen.</p>
<p>Doch im Vergleich zur Konkurrenz ist das momentane Angebot fast lachhaft winzig zu nennen. Nun macht Quantit&auml;t nicht Qualit&auml;t weg, aber selbst die technisch aufwendige Produktion bei Apple sorgt nicht immer daf&uuml;r, dass auch alle Inhalte wirklich ein Volltreffer sind. Nicht zuletzt kann man das Rad bei Film und Fernsehen nicht immer wieder neu erfinden. Es braucht erst neue Technologien, die f&uuml;r andere Ans&auml;tze sorgen, nur die fallen nicht vom Himmel.</p>
<h2>Apple vs VirnetX neigt sich dem Ende zu</h2>
<p>2010 ging das erste Verfahren zwischen Apple und VirnetX los, 2021 hat der Streit wohl ein Ende. Denn auch in einem zweiten Verfahren entschied ein Richter nun, dass Apple nicht mehr &bdquo;nachverhandeln&ldquo; kann. Insgesamt schuldet der <a href="https://macnotes.de/produkt/iphone/">iPhone</a>-Hersteller dem Patenthalter dann knapp 1,1 Milliarden US-Dollar (ca. 910 Millionen Euro).</p>
<p>Schlimmer f&uuml;r Apple ist aber, dass es in Zukunft auch f&uuml;r jedes verkaufte iPhone und <a href="https://macnotes.de/produkt/ipad/">iPad</a> wird Tantieme zahlen m&uuml;ssen, oder eine andere Technologie f&uuml;r die &Uuml;bertragung von FaceTime wird aus dem Hut zaubern m&uuml;ssen.</p>
<p>Aber wer wei&szlig;, vielleicht ist die letzte Messe in dieser Angelegenheit ja trotzdem noch nicht gelesen.</p>
<h2>Weitere Podcast-Formate</h2>
<p>Sicher noch nicht am Ende sind wir mit der Idee des Podcasts, feilen noch am Konzept, auch darauf gehe ich in dieser Ausgabe kurz ein. Ich m&ouml;chte gerne das &bdquo;N&auml;hk&auml;stchen&ldquo; als Audio-Format ver&ouml;ffentlichen und auch neu ver&ouml;ffentlichen, also vorhandene N&auml;hk&auml;stchen thematisch noch einmal aufarbeiten, weil darin vielleicht Dinge angesprochen wurden, die heute schon wieder anders sind, oder zumindest auch noch Dinge klarstellen.</p>
<p>Ich habe auch die Idee, technische Formate herauszubringen. F&uuml;r letzteres w&auml;re es aber vielleicht sogar sinnvoll, auch bewegte Bilder zu verwenden. Da schwebt mir alles zwischen Tutorial, Nachrichten-Format und Dokumentation vor.</p>
<audio class="wp-audio-shortcode" id="audio-516416-3" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://macnotes.de/images/2021/01/sajonara013.m4a?_=3" /><a href="https://macnotes.de/images/2021/01/sajonara013.m4a">https://macnotes.de/images/2021/01/sajonara013.m4a</a></audio>
<p>Diesen Podcast k&ouml;nnt Ihr &uuml;brigens sowohl <a href="https://podcasts.apple.com/de/podcast/sajonaras-7-minuten/id824164708?l=de&at=1l3vbAb" rel="nofollow">auf iTunes</a> als auch <a href="https://open.spotify.com/show/4qnHdmYLstodgK0j3fmqf1">auf Spotify</a> abonnieren.</p>
<p><small>Dieser Artikel enthält Affiliate-Links.</small></p><p>Der Beitrag <a href="https://macnotes.de/2021/01/26/sajonaras-7-minuten-13-apple-tv-weiter-gratis-und-mehr/">Sajonaras 7 Minuten #13: Apple TV+ weiter gratis, und mehr</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></content:encoded>
					
		
		<enclosure url="https://macnotes.de/images/2021/01/sajonara013.m4a" length="15276208" type="audio/mpeg" />

		
	</item>
		<item>
		<title>Von der Idee zum WordPress-Plug-in: Schlagwörter automatisch hinzufügen #2</title>
		<link>https://macnotes.de/2021/01/26/von-der-idee-zum-wordpress-plug-in-schlagworter-automatisch-hinzufugen-2/</link>
		
		<dc:creator><![CDATA[Alexander Trust]]></dc:creator>
		<pubDate>Tue, 26 Jan 2021 00:33:34 +0000</pubDate>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://macnotes.de/?p=516259</guid>

					<description><![CDATA[<p>In Teil 1 von der Idee zum WordPress-Plug-in beschrieb ich bereits umfassend die Beweggründe, wie man von ein paar Zeilen Code für eine regelmäßig wiederkehrende Aufgabe am Ende des Tages zu einem ausgewachsenen Plug-in kam. Der vorherige Text wies außerdem bereits fertigen, funktionierenden Quellcode auf, mit dem man von Hand ohne Weiteres hätte arbeiten können. [&#8230;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2021/01/26/von-der-idee-zum-wordpress-plug-in-schlagworter-automatisch-hinzufugen-2/">Von der Idee zum WordPress-Plug-in: Schlagwörter automatisch hinzufügen #2</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/2021/01/24/von-der-idee-zum-wordpress-plug-in-schlagworter-automatisch-hinzufugen-1/">In Teil 1 von der Idee zum WordPress-Plug-in</a> beschrieb ich bereits umfassend die Beweggründe, wie man von ein paar Zeilen Code für eine regelmäßig wiederkehrende Aufgabe am Ende des Tages zu einem ausgewachsenen Plug-in kam. Der vorherige Text wies außerdem bereits fertigen, funktionierenden Quellcode auf, mit dem man von Hand ohne Weiteres hätte arbeiten können. Doch was wäre ein Plug-in ohne Komfort. Für Komfort dient die Eingabe vom Nutzer, und die speichert man am besten in der Datenbank ab.</p>
<p>Genau das wollen wir Euch dann in dieser Ausgabe erklären, und auch, welche Grenzen unser Plug-in weiterhin hat. Die Herangehensweise zeigt vor allem, dass so ein relativ einfaches Projekt mit ein wenig Fantasie und Aufwand zu etwas richtig seriösem aufgebaut werden kann.</p>
<h2>Das Plug-in braucht mehr Komfort</h2>
<p>Anstatt den Quellcode immer von Hand anzupassen, wenn man neue Schlagwörter hinzufügen möchte, kann man dazu die Datenbank bei WordPress verwenden und entsprechende Formulare. Folgende „Details“ und „Fragen“ gibt es unter anderem zu klären, von denen wir aber nur einige exemplarisch nennen wollen:</p>
<ul>
<li>Wie kann ich mit der Datenbank von WordPress kommunizieren?</li>
<li>Benötige ich eine eigene Tabelle?</li>
<li>Wie handhabt WordPress Formulare?</li>
<li>Gibt es Sicherheitsvorkehrungen zu treffen?</li>
<li>Muss ich mehrere Plug-in-Dateien erstellen?</li>
<li>Was ist die WordPress-Nonce, und wie kann sie mir in diesem Fall helfen?</li>
</ul>
<h2>Wann benötige ich für mein Plug-in eine eigene Tabelle?</h2>
<p>Es ist eine <a href="https://wordpress.stackexchange.com/questions/53932/is-it-bad-practice-to-create-own-table-for-a-plugin">viel diskutierte Frage</a>, ob es sinnvoll sein kann, eine eigene Tabelle für ein WordPress-Plug-in einzurichten. Eines der Schwergewichte unter den WordPress-Plug-ins, Yoast SEO, änderte vor ein paar Monaten seine Einstellung zu der Thematik und migriert seitdem mit jedem Update zunehmend mehr Daten aus WordPress-Tabellen in eigene.</p>
<p>Für mich liegt die Antwort auf der Hand: Ich mache immer eine eigene Tabelle, wenn ich eigene Daten verwenden möchte. Sieht man davon ab, dass WordPress-Tabellen vor allem bei großen Websites sowieso relativ unübersichtlich werden, kann es beim Abfragen von Daten auch Performance-Vorteile bieten. In der Tat ergibt es aber nur wenig Sinn, den Aufwand zu betreiben, wenn man am Ende nur eine Handvoll Datensätze speichern mag. Die lassen sich zur Not auch noch in der WordPress-Tabelle sichern.</p>
<h2>Wie kommuniziere ich mit der WordPress-Datenbank?</h2>
<p>WordPress hält für Entwickler Befehle zur Verfügung, um mit der Datenbank zu kommunizieren. In Einzelfällen kann es sinnvoll sein, die WordPress-Routinen zu umgehen und mittels PHP oder anderer Scriptsprachen die Kommunikation zur Datenbank auf eigene Faust zu unternehmen. Das ist aber nur in Fällen ratsam, in denen man wirklich viele Datensätze bearbeitet, und an dieser Stelle rede ich von zehntausenden Datensätzen und mehr, die regelmäßig immer wieder abgefragt werden oder aktualisiert werden. Denn zur Wahrheit gehört, <a href="https://macnotes.de/2020/01/16/wie-wordpress-das-web-verstopft-google-fonts-gutenberg-und-mehr/">dass die WordPress-Datenbank-Engine nicht die schnellste ist</a>.</p>
<p>In Teil 1 wiesen wir bereits auf Befehle wie <code>add_option()</code> (vgl. <a href="https://developer.wordpress.org/reference/functions/add_option/">WordPress Code-Referenz</a>) hin, mit dem sich Daten ohne Weiteres in die Tabelle <code>wp_options</code> von WordPress hinzufügen lassen. Mittels <code>update_option()</code> kann man vorhandene Datensätze aktualisieren, und sie mit <code>delete_option()</code> entsprechend wieder entfernen.</p>
<p>Doch wir wollen nicht die WordPress-Tabelle zumüllen, sondern mit der eigenen Tabelle kommunizieren. Diese funktioniert über die <code>wpdb</code>-Schnittstelle.</p>
<h3>Eigene Tabelle für WordPress erstellen</h3>
<p>Klar kann man die Tabelle für das eigene Plug-in auch von Hand erstellen, über phpMyAdmin oder eine andere Software, auch am Desktop-Computer. Wer sich auskennt, kann dazu auch einfach die mysql-Schnittstelle auf dem Server mittels Terminal verwenden. Doch bei einem Plug-in geht es ja um die Wiederverwendbarkeit und die Möglichkeit, dass auch andere Nutzer damit arbeiten können.</p>
<p>Entsprechend nutzen wir die WordPress-eigenen Mittel, um die Tabelle zu erstellen. Der beste Zeitpunkt dafür ist übrigens beim „Aktivieren“ des Plug-ins. Wie im ersten Teil dieses Tutorials schon beschrieben, trennt WordPress zwischen dem Aktivieren, Deaktivieren und Deinstallieren. Dafür gibt es extra drei passende „Auslöser“, die wir uns zunutze machen können.</p>
<p>In unserem Fall benötigen wir eine Tabelle, die lediglich drei Reihen umfasst, eine fortlaufende Nummerierung (ID), eine Suchphrase (searchstring) und ein Schlagwort (keywordstring). Um in mySQL eine Tabelle mit dieser Struktur einzurichten, benötigt man folgenden Code:</p>
<pre><code>CREATE TABLE XYZ (
		id mediumint(9) NOT NULL AUTO_INCREMENT,
		searchstring varchar(25) NOT NULL,
		keywordstring varchar(25) NOT NULL,
		UNIQUE KEY id (id),
	    UNIQUE KEY searchstring (searchstring)
	) ZEICHENSATZ;
</code></pre>
<p>Wir müssen der Tabelle noch einen Namen geben und auch einen Zeichensatz angeben. Da aber durch die Installation von WordPress je nach Konfiguration von WordPress ein Zeichensatz genutzt wird, und wir uns nicht den Kopf darüber zerbrechen wollen, welcher das ist, verwenden wir einfach <code>$wpdb-&gt;get_charset_collate()</code> (vgl. <a href="https://developer.wordpress.org/reference/classes/wpdb/get_charset_collate/">WordPress Code-Referenz</a>), um den Zeichensatz abzufragen.</p>
<p>Ja, und auch bei der Namensgebung für die Tabelle, wollen wir uns zumindest an die Gepflogenheiten halten und greifen daher auf das Präfix zurück, das WordPress uns anbietet, und Nutzer bei der Installation individuell einrichten können (<code>$wpdb-&gt;prefix</code>). Unsere Tabelle nennen wir dann noch <code>sn_add_keywords</code>, die entsprechend mit dem Präfix von WP ausgestattet wird.</p>
<h3>Tabelle bei Plug-in-Aktivierung einrichten</h3>
<p>Nun gehen wir davon aus, dass wir die Tabelle beim Aktivieren des Plug-ins einrichten möchten. Wir greifen dazu also auf den <code>register_activation_hook()</code> (vgl. <a href="https://developer.wordpress.org/reference/functions/register_activation_hook/">WordPress Code-Referenz</a>) zurück.</p>
<p>Dieser Aufruf hat zwei Parameter. Der erste nennt den Dateinamen des Plug-ins inklusive Pfadangabe. Dafür gibt es glücklicherweise eine Konstante namens <code>__FILE__</code>, die uns die Arbeit erleichtert, wenn wir uns an die Konventionen halten und unser Plug-in auch im Plug-in-Verzeichnis unterbringen. Der zweite Parameter ruft eine Funktion auf, die dann zum Zeitpunkt der Aktivierung des Plug-ins aktiv wird.</p>
<p>Wir erstellen also eine Funktion, die uns die Tabelle erstellt. Die sieht wie folgt aus:</p>
<pre><code>function sn_add_keywords_create_database() {
  global $wpdb;
  $charset_collate = $wpdb-&gt;get_charset_collate();
  $table_name = $wpdb-&gt;prefix . 'sn_add_keywords';

  $sql = "CREATE TABLE $table_name (
		id mediumint(9) NOT NULL AUTO_INCREMENT,
		searchstring varchar(25) NOT NULL,
		keywordstring varchar(25) NOT NULL,
		UNIQUE KEY id (id),
    UNIQUE KEY searchstring (searchstring)
	) $charset_collate;";

	require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
	dbDelta( $sql );
}
</code></pre>
<p>Die rufen wir dann mit dem passenden Auslöser auf:</p>
<pre><code>register_activation_hook(__FILE__, 'sn_add_keywords_create_database');
</code></pre>
<h3>Tabelle bei der Deinstallation löschen</h3>
<p>Man könnte die Tabelle theoretisch auch beim Deaktivieren schon löschen. Aber das erachten wir für nicht sinnvoll. Bei der Deinstallation eines Plug-ins sollte man aber sehr wohl darauf achten, hinter sich sauberzumachen. Wir setzen in dem Fall den <code>register_uninstall_hook()</code> ein. Der funktioniert analog zum Aktivierungsauslöser und hat die gleichen beiden Parameter. Wir erstellen also eine Funktion, die die Datenbank löscht:</p>
<pre><code>function sn_add_keywords_remove_database() {
  global $wpdb;
  $table_name = $wpdb-&gt;prefix . 'sn_add_keywords';
  $sql = "DROP TABLE IF EXISTS $table_name";
  $wpdb-&gt;query($sql);
}
</code></pre>
<p>Diese rufen wir dann mit dem Auslöser wie folgt auf:</p>
<pre><code>register_uninstall_hook(__FILE__, 'sn_add_keywords_remove_database');
</code></pre>
<h2>Wie kommuniziert unser Plug-in mit der Datenbank?</h2>
<p>Wie man mittels WordPress-Funktionen mit der Datenbank kommuniziert, haben wir schon angeschnitten. Aber damit unser Plug-in, das ebenfalls kann, benötigt es ein Formular.</p>
<p>Zudem können wir an dieser Stelle noch ein paar Sicherheitsvorkehrungen treffen. Anders als bei einem Formular zur Anmeldung beim Newsletter, wollen wir vermutlich nur Personen Schlagworte hinzufügen lassen, denen wir vertrauen. Auch müssen wir sicherstellen, dass in der Datenbank nichts „Bösartiges“ gespeichert wird. Aus diesem Grund nutzen wir die wordpress-eigenen Befehle für die Datenbankkommunikation, weil manche von ihnen bereits Sicherheitsmechanismen enthalten, und wir so ein bisschen beruhigter sein können. Doch, der Reihe nach.</p>
<h3>Formular für die Datenbankeingabe erstellen</h3>
<p>An dieser Stelle kann man ohne Umschweife zunächst einmal ein einfaches Formular in HTML erstellen. Wir benötigen zwei Eingabefelder für Text, eventuell noch zwei Etiketten und einen Button (oder Link) zum Absenden des Formulars. Der Einfachheit halber – weil es funktioniert, und um schnell erste Ergebnisse zu erhalten – verwenden wir keine spezielle Aktion zum Auslösen, und nutzen die <code>POST</code>-Methode.</p>
<p>Unser HTML-Formular sieht wie folgt aus:</p>
<pre><code>&lt;form method="POST"&gt;
	&lt;?php wp_nonce_field('sn_add_keywords', 'sn_add_keywords_nonce', true, true); ?&gt;
    &lt;h2&gt;Neuen Eintrag hinzufügen:&lt;/h2&gt;
    &lt;label for="searchstring"&gt;Searchstring:&lt;/label&gt;
    &lt;input type="text" id="searchstring" name="searchstring" required&gt;
    &lt;label for="keywordstring"&gt;Keywordstring:&lt;/label&gt;
    &lt;input type="text" id="keywordstring" name="keywordstring" required&gt;
	&lt;?php submit_button('Hinzufügen'); ?&gt;
&lt;/form&gt;
</code></pre>
<p>Die <code>submit_button()</code>-Funktion stellt WordPress zur Verfügung. In Klammern übergeben wir die Beschriftung für den Button. Der Button erhält dann auch die typischen Klassen, damit er mittels CSS automatisch in der für WordPress typischen Kolorierung und Form erscheint. Wer das individuelle handhaben mag, kann natürlich einen eigenen Button erstellen.</p>
<h3>Was ist dieses Nonce, und wieso brauche ich sie?</h3>
<p>Im obersten Feld des Formulars erkennt Ihr den Befehl <code>wp_nonce_field()</code>, den WordPress ebenfalls zur Verfügung stellt. Die „Nonce“ (vgl. <a href="https://de.wikipedia.org/wiki/Nonce">Wikipedia</a>) ist eine flüchtige Phrase, die zum Zwecke der Authentifizierung erstellt wird.</p>
<p>WordPress bietet dieses System ebenfalls an. Es ist sehr hilfreich, wenn man die Kommunikation mit der Datenbank nur authentifizierten Nutzern zu ermöglichen. Denn die Nonce wird beim Aufruf erzeugt und ist dann nur in der Session des Nutzers gültig. Würde jemand, der gar nicht mit WordPress eingeloggt ist, versuchen die Funktion auszuführen, scheiterte die Kommunikation daran, dass er nicht die korrekte „Nonce“ dafür hat.</p>
<p>Wir werden dann die erstellte Nonce noch überprüfen, bevor wir tatsächlich in die Datenbank schreiben.</p>
<h3>Formular-Daten in die Datenbank schreiben</h3>
<p>Nun müssen wir uns also noch darum kümmern, die im Formular eingegebenen Daten beim Klick auf den Button in die Datenbank zu speichern. Wie machen wir das?</p>
<p>Zum einen haben wir ja geschrieben, dass die Daten mittels POST-Methode übergeben werden. Sie sind dann entsprechend über die <a href="https://www.php.net/manual/de/reserved.variables.post.php">POST-Variablen</a> auslesbar. Mit dem Nonce-Field erzeugt WordPress aber noch ein unsichtbares Feld mit dem Authentifizierungstoken. Auch der ist dann als POST-Variable abfragbar und lässt sich so vergleichen.</p>
<p>Für das Schreiben in die Datenbank, kann man entweder ein eigenes QUERY and <code>$wpdb</code> übergeben, oder wir nutzen den von WordPress implementierten <code>$wpdb-&gt;insert()</code>-Befehl.</p>
<pre><code>if(is_admin() &amp;&amp; (isset($_POST['sn_add_keywords_nonce']) || wp_verify_nonce($_POST['sn_add_keywords_nonce'], 'sn_add_keywords'))) {
	global $wpdb;
	$table_name = $wpdb-&gt;prefix . 'sn_add_keywords';
	$newdata = array(
        'searchstring' =&gt; sanitize_text_field($_POST['searchstring']),
        'keywordstring' =&gt; sanitize_text_field($_POST['keywordstring']),
      );
    $wpdb-&gt;insert($table_name, $newdata, '%s');
    wp_safe_redirect(esc_url(admin_url('admin.php?page=sn_add_keywords%2Fsnak.php')));
}
exit();
</code></pre>
<p>Über den Befehl <code>wp_safe_redirect()</code> leiten wir nach dem Absenden den Benutzer wieder zurück zur Ausgangsseite. Diese Vorgehensweise hat übrigens einen Nachteil, den wir in Kauf nehmen, der aber für ein frei verfügbares Plug-in ausgebessert werden sollte, zum Beispiel, indem man AJAX verwendet.</p>
<p>Zuletzt stellen wir über den <code>exit()</code>-Befehl sicher, dass wirklich alle POST-Variablen nach dem Abschluss gelöscht werden. So wird das Formular geleert und auch eine neue Nonce erstellt.</p>
<p>Das Plug-in, wie wir es verwenden sieht bei uns dann übrigens derzeit so aus.</p>
<div data-id="516258" class="ajaxGalleryInit" style="display:none;"></div>
<h2>Was wir nicht erzählt haben?</h2>
<p>Auch dieser Beitrag ist schon wieder ziemlich lang geworden. Deshalb haben wir einige Details geschlabbert. Darunter:</p>
<ul>
<li>Denn in unserem Plug-in haben wir beispielsweise bei der Aktivierung auch eine Versionsnummer übergeben. Die können wir dann bei einem Update vergleichen und nutzen, um so Änderungen an der Datenbank vorzunehmen.</li>
<li>Wir haben aber auch unterschlagen, dass wir unsere Tabelle beim Aktivieren bereits mit ein paar Datensätzen ausgestattet haben. Ich finde es immer schöner, wenn man zumindest ein paar Anhaltspunkte hat.</li>
<li>Es kann außerdem sinnvoll sein, die Daten nicht zu löschen, oder dies dem Nutzer zur Wahl zu stellen. Um so eine Option haben wir uns bislang nicht gekümmert.</li>
<li>WordPress hält auch Alternativen zu den „Auslösern“ bereit. So kann man Dateien namens <code>uninstall.php</code> oder <code>activation.php</code> erstellen. Deren Inhalte werden dann automatisch ausgeführt.</li>
<li>Wie Ihr auf dem Screenshot erkennen könnt, geben wir die vorhandenen Datensätze auch im WordPress-Administrationsportal aus. Wie wir das gemacht haben, haben wir an dieser Stelle ebenso geschlabbert.</li>
<li>Nicht thematisiert haben wir den Prozess, wie man ein Plug-in bei WordPress einreicht. Vielleicht kommt das in einem anderen Beitrag einmal zur Sprache, oder Ihr findet es bis dahin selbst heraus.</li>
<li>Spannend ist auch, wie man bereits vorhandene Daten wieder löscht, oder überarbeitet.</li>
<li>Der Quellcode hier enthält auch kein CSS und gibt ganz grundsätzlich nicht das komplette Plug-in wieder, wie wir es verwenden. Zum Zwecke des Tutorials habe ich diesen angepasst, damit er allgemein verständlicher wird.</li>
</ul>
<p>Tatsächlich ist diese „Idee“, aus der erst eine Handvoll Quellcode wurde, in unserem Fall mittlerweile auf fünf Dateien mit rund 250 Zeilen Quellcode angewachsen (Kommentare inklusive).</p>
<p>Wenn jemand von Euch Fragen zu diesem Projekt hat, kann er uns gerne auf den üblichen Kanälen anschreiben.</p>
<p>Der Beitrag <a href="https://macnotes.de/2021/01/26/von-der-idee-zum-wordpress-plug-in-schlagworter-automatisch-hinzufugen-2/">Von der Idee zum WordPress-Plug-in: Schlagwörter automatisch hinzufügen #2</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>Von der Idee zum WordPress-Plug-in: Schlagwörter automatisch hinzufügen #1</title>
		<link>https://macnotes.de/2021/01/24/von-der-idee-zum-wordpress-plug-in-schlagworter-automatisch-hinzufugen-1/</link>
		
		<dc:creator><![CDATA[Alexander Trust]]></dc:creator>
		<pubDate>Sun, 24 Jan 2021 07:45:03 +0000</pubDate>
				<category><![CDATA[Tipps]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://macnotes.de/?p=515582</guid>

					<description><![CDATA[<p>Wer immer schon mal wissen wollte, wie man ein eigenes WordPress-Plug-in anfertigt, für den ist der nachfolgende Beitrag mit Sicherheit interessant. Denn bei uns war die Idee, Schlagwörter automatisch hinzuzufügen, damit wir bei der Überarbeitung der Artikel am Ende noch weniger Arbeit damit haben. Was aber als Bastelei am eigenen WordPress-Theme anfing und nur ein [&#8230;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2021/01/24/von-der-idee-zum-wordpress-plug-in-schlagworter-automatisch-hinzufugen-1/">Von der Idee zum WordPress-Plug-in: Schlagwörter automatisch hinzufügen #1</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class='lead'>Wer immer schon mal wissen wollte, wie man ein eigenes WordPress-Plug-in anfertigt, für den ist der nachfolgende Beitrag mit Sicherheit interessant. Denn bei uns war die Idee, Schlagwörter automatisch hinzuzufügen, damit wir bei der Überarbeitung der Artikel am Ende noch weniger Arbeit damit haben. Was aber als Bastelei am eigenen WordPress-Theme anfing und nur ein paar Zeilen Quellcode im Footer ausmachte, endete schließlich als ausgewachsenes Plug-in.</p>
<p>Warum? Es wäre zu einfach, zu sagen, weil wir es können. Es gibt viel einleuchtendere Gründe:</p>
<ul>
<li>Weil diese Aufgabe so oft ausgeführt wird, dass sich der Aufwand lohnt.</li>
<li>Da wir nicht ständig den Quellcode anpassen wollten, um wieder eine Option hinzuzufügen, sondern dies unmittelbar erledigen zu können.</li>
<li>Weil es durchaus Spaß macht, je öfter man sich einer Herausforderung stellt und man am Ende sogar noch etwas lernt.</li>
<li>Da ein Plug-in am Ende wartungsfreundlicher ist, und auch unabhängig von einem Thema genutzt werden kann.</li>
<li>Weil das Plug-in vielleicht sogar so interessant ist, dass man es anderen Leuten zur Verfügung stellen kann, die das gleiche Problem lösen wollen.</li>
</ul>
<h2>Automatisierung tut not</h2>
<p>Regelmäßige Macnotes-Leser wissen, dass wir im Hintergrund versuchen, trotz WordPress eine Datenbasis aufzubauen, mit der wir irgendwann dann den nächsten Schritt wagen können. Bis dahin wird es aber noch eine Weile dauern. <a href="https://macnotes.de/2021/01/08/wasserstand-19-neue-funktionen-2020-geschafft-2009-auch/">Anfang Januar erwähnte ich im Wasserstand #19</a>, dass wir bei der Überarbeitung das Jahr 2009 abgeschlossen haben. Mittlerweile bin ich sogar schon beim Februar 2010 angelangt.</p>
<p>Doch diese Überarbeitung ist so langwierig, und vor allem so repetitiv. Immer, wenn Aufgaben sich wiederholen, lohnt es sich, nach einer Automatisierung derselben zu suchen.</p>
<h2>Die Idee: Schlagwörter automatisch hinzufügen</h2>
<p>Wenn ich schreibe Schlagwörter, dann meine ich eigentlich sogar einen eigenen Typus, der bei uns intern „Keywords“ genannt wird. Wir haben zusätzlich zu den öffentlichen Schlagwörtern, für die es auch Archive gibt, nämlich interner Schlüsselwörter im Einsatz, die nicht für Nutzer und Suchmaschinen einsehbar sind, die uns aber erlauben, semantische Filter an manchen Stellen auf der Webseite einzusetzen, beispielsweise wenn es darum geht, „ähnliche Artikel“ anzuzeigen.</p>
<p>Nun ist die Situation, die ich bei Macnotes vorfand aber unbefriedigend. Denn es gab und gibt auch immer noch mehr als zehntausend öffentlich sichtbare Schlagwörter. Ich gehe bei der Überarbeitung chronologisch vor, Artikel für Artikel, da wir über die Jahre mehr als ein halbes Dutzend Webseiten (Macnotes, iPhone-Notes, Apfelmagazin, Blog4i, u. a. m.) zusammengeführt haben. Es gab inhaltlich doppelte Beiträge, die müssen zusammengeführt werden, und neu verlinkt. Ich könnte auch mit der Dampfhammer-Methode alle Beiträge und deren Schlagworte automatisch anpassen oder löschen. Nur dann fehlten mir auf einen Schlag zehntausende Endpunkt für Google. Stattdessen arbeite ich diese Stück für Stück ab und füge dann auch Weiterleitungen hinzu, damit die Suchmaschine nicht ganz im Dunkeln tappt.</p>
<h3>Wie kann man die Idee umsetzen?</h3>
<p>Wenn ich in den vielen Jahren Computerei etwas gelernt habe, dann, dass es nicht schadet, sich die eigene Idee einmal vor Augen zu führen.</p>
<p>Gerade Laien bekommen so ein besseres Gefühl dafür, was alles zu tun ist. In der Informatikausbildung nennt man solchen Output gerne auch mal Pseudocode. Strukturierte Notizen reichen aber vollkommen aus, um dann die einzelnen Teile auszuarbeiten.</p>
<p>Wenn ich also Schlagworte automatisch ersetzen will, dann muss ich mir Gedanken machen, darüber …</p>
<ul>
<li>… wann das geschehen soll,</li>
<li>… welche Schlagwörter das sein sollen,</li>
<li>… womit ich sie vergleichen kann, um zu entscheiden, ob sie automatisch hinzugefügt werden.</li>
</ul>
<p>Ich könnte mir noch mehr Fragen stellen. Aber ungefähr so beginnt dann ein Brainstorming und kann man versuchen, Antworten zu finden.</p>
<h3>1. Schritt: direkt im Artikel</h3>
<p>Meine erste Idee war, ich könnte, „wenn ich als Administrator eingeloggt bin“, und nur dann, eine Funktion aufrufen, die dann die Schlagwörter hinzufügt.</p>
<p>Ich gehe dann gerne hin, und füge in der Datei <code>footer.php</code> ersten Quellcode hinzu und erzeuge eine Ausgabe. Natürlich mache ich das nicht live auf Macnotes, sondern in meiner Entwicklungsumgebung am heimischen Computer. Ich setze für die WordPress-Entwicklung gerne <a href="https://www.mamp.info/de/mac/">MAMP</a> ein. Das hat sich bewährt und ist relativ pflegeleicht (funktioniert auch unter macOS Big Sur und auf Apple Silicon).</p>
<p>Da ich gerade einen Artikel überarbeitete, stoppte ich die Arbeit daran und dachte. Dieser kann als Startpunkt für die Funktion dienen. Also suchte ich nach einem Merkmal, das relativ eindeutig zuordenbar ist. Im Titel sehr vieler „Notizen“-Beiträge auf Macnotes kommt die Phrase „Notizen vom“ vor. Wenn ich 1000 Mal in Zukunft so ein Schlagwort automatisch hinzufüge, und vielleicht zwei, dreimal daneben liege, dann ist es einfacher, dreimal das Schlagwort wieder zu entfernen.</p>
<h4>Überschrift mit Phrase vergleichen, Ergebnis als Arbeitsauftrag</h4>
<p>Also verglich ich im Quellcode den Inhalt vom Titel mit der Phrase „Notizen vom“ und gab dann etwas aus. Die Notiz würde in etwa lauten:</p>
<pre><code>Wenn der Titel "Notizen vom" enthält, dann füge das Keyword "Notizen (MN)" hinzu, aber nur, wenn es noch nicht vorhanden ist.
</code></pre>
<p>Ja und dann kann man sich bereits an die Arbeit machen. Wer noch Laie ist, der kann anhand dieser Anweisung auch Google oder eine andere Suchmaschine bemühen, beispielsweise danach, wie man an den „Titel“ eines Beitrags in WordPress gelangt, oder wie man in PHP innerhalb einer Zeichenkette (String) nach einer Phrase (Substring) sucht. So kommt man dann von A nach B und hangelt sich immer weiter.</p>
<p>Wer schon mehr Erfahrung hat, wird Anlaufstellen kennen, oder eben direkt losprogrammieren. Der erste Code sieht dann in etwa wie folgt aus:</p>
<pre><code>if(strpos($post-&gt;post_title, 'Notizen vom') !== false) {
 echo 'An dieser Stelle muss dann die Funktion arbeiten.';
}
</code></pre>
<p>Die PHP-Funktion <a href="https://www.php.net/manual/de/function.strpos.php">strpos</a> wird gerne verwendet, um eine Gelingensbedingung zu erzeugen. Sie liefert entweder eine Zahl zurück, oder <code>false</code>, wenn die gesuchte Zeichenkette nicht vorhanden ist. Das ist prima, denn uns interessiert nur, ob es vorkommt. Also müssen wir umgekehrt fragen, ob beim Vergleich mit dem Titel „nicht false“ zurückgegeben wird.</p>
<h4>Überprüfen, ob das Schlagwort vorhanden ist</h4>
<p>Nun müssen wir noch überprüfen, ob der Beitrag nicht eventuell schon das Keyword „Notizen (MN)“ nutzt. WordPress bietet dazu bereits eine Funktion an namens <code>has_term()</code> (vgl. <a href="https://developer.wordpress.org/reference/functions/has_term/">WordPress Code-Referenz</a>).</p>
<p>Wir fügen also dem Code von oben noch etwas hinzu:</p>
<pre><code>if(strpos($post-&gt;post_title, 'Notizen vom') !== false) {
	if(has_term('Notizen (MN)') {
	echo 'es gibt das Keyword schon.';
} else {
	echo 'jetzt müssen wir das Schlagwort hinzufügen.';
}
}
</code></pre>
<h4>Schlagwort hinzufügen</h4>
<p>Wir müssen uns nun also Gedanken machen, wie wir das Schlagwort an der Stelle hinzufügen. Auch dafür bietet WordPress eine Methode an: <code>wp_set_post_terms()</code> (vgl. <a href="https://developer.wordpress.org/reference/functions/wp_set_post_terms/">WordPress Code-Referenz</a>).</p>
<p>Abermals passen wir dann den Code von oben weiter an.</p>
<pre><code>if(strpos($post-&gt;post_title, 'Notizen vom') !== false) {
	if(has_term('Notizen (MN)') {
	echo 'es gibt das Keyword schon.';
} else {
	wp_set_post_terms($post-&gt;ID, 'Notizen (MN)', 'keywords', true);
	echo 'wir haben das Schlagwort hinzugefügt.';
}
}
</code></pre>
<h2>2. Schritt: Abstrahieren nicht vergessen</h2>
<p>Jetzt haben wir doch alles erreicht, was wir wollten, und können uns wieder anderen Dingen zuwenden?</p>
<p>Nicht ganz. Denn wir wollen ja zum Beispiel auch zwei oder mehr Schlagworte anpassen. Zunächst bedeutet das, dass wir den Code von oben weiter umbauen müssen. Doch zunächst sollten wir uns wieder ein paar Gedanken darüber machen, wie man das machen kann.</p>
<p>Der unmittelbarste Zugang wäre vermutlich, denn Quellcode einfach zu kopieren, und einfach nur die Vergleichsphrase im Titel zu finden und dazu das passende Schlagwort. Aber man kann das auch eleganter lösen:</p>
<pre><code>Übergebe ein Array mit allen möglichen Schlagworten. Vergleiche und ersetze für alle diese.
</code></pre>
<p>Also dann ans Werk. Aus einem Schlagwort hab ich kurzerhand erst einmal zwei gemacht, und diese zu einem Array (<code>$tags[]</code>) hinzugefügt. Dann muss ich natürlich noch eine Funktion suchen, die mir erlaubt, für jedes Element im Array etwas auszuführen. Da hält PHP dann die <a href="https://www.php.net/manual/de/control-structures.foreach.php">foreach-Schleife</a> bereit.</p>
<pre><code>$tags = [
	"Notizen vom" =&gt; "Notizen (MN)",
	"Windows 7" =&gt; "Windows 7"
  ];
  foreach ($tags as $title =&gt; $keyword) {
    if(strpos($post-&gt;post_title, $title) !== false){
      if ( has_term($keyword, 'keywords') ) {
        echo ( '&lt;p&gt;Es gibt das Keyword "'.$keyword.'" schon.&lt;/p&gt;' );
      } else {
        wp_set_post_terms( $post-&gt;ID, $keyword, 'keywords', true );
        echo ( '&lt;p&gt;Wir haben das Keyword "'.$keyword.'" hinzugefügt.');
      }
    }
  }
</code></pre>
<h2>3. Schritt: Noch weiter abstrahieren, Plug-in entsteht</h2>
<p>Das letzte Stück Quellcode war doch eigentlich ganz prima? Ja, ich hätte einfach in der Footer-Datei bei neuen Schlagworten, die mir einfallen, diese ergänzen können, die Datei auf den Server hochladen, und weiterarbeiten können.</p>
<p>Aber auch das ist nur ein fauler Kompromiss. Denn viel besser wäre es ja, wenn man direkt in WordPress beliebig viele Schlagworte hinzufügen könnte, die man auf diese Weise ergänzen wollte.</p>
<h3>Vorüberlegungen</h3>
<p>An dieser Stelle lohnt es abermals, ein paar Vorüberlegungen zu machen. Fragen, die man sich stellen kann, lauten:</p>
<ul>
<li>Wie kann ich die Daten getrennt vom Code bearbeiten?</li>
<li>Welche Möglichkeiten habe ich, um mit Daten zu interagieren?</li>
</ul>
<p>Auch das sind nur zwei von vielen Fragen, mit denen man sich an der Stelle beschäftigen könnte. Mir ist zum Beispiel in den Sinn gekommen, eine Text-Datei oder eine CSV-Datei zu nutzen, um darüber die Daten zu ergänzen. Aber dann hätte ich auch das Problem, diese immer wieder zu ergänzen, und hochladen zu müssen.</p>
<p>Als Nächstes fällt einem dann eine Tabelle ein. WordPress nutzt MySQL und bietet sogar Funktionen, um sowohl Tabellen zu erstellen, als auch Daten darin zu ändern.</p>
<p>Nur dann benötige ich ja irgendeine Möglichkeit, die Daten online hinzuzufügen. Ich könnte natürlich eine separate HTML/PHP-Seite erstellen, die ich aufrufe, und der ich es erlaube, mit der Datenbank zu kommunizieren. An dieser Stelle reifte dann der Gedanke, dass ich auch gleich ein Plug-in für WordPress entwickeln könnte. Das hat nämlich auch den Vorteil, dass ich die Funktionalität nicht verliere, sollte ich mal das Theme für Macnotes anpassen.</p>
<h3>WordPress-Plug-ins erstellen, aber wie?</h3>
<p>Ich hatte vor Jahren schon mal ein Plug-in für WordPress erstellt. Aber wie das eben so ist, wenn man sich nicht so sehr mit der Materie auseinandersetzt, dann muss man sich erst wieder einarbeiten. Eine Anlaufstelle ist natürlich <a href="https://developer.wordpress.org/plugins/intro/">WordPress’ eigenes Handbuch</a> für die Plug-in-Entwicklung. Das ist aber so strukturiert, dass man viel hin- und hernavigiert und mit sehr vielen komplexen Dingen konfrontiert wird.</p>
<p>Einfacher geht es, wenn man in der Suchmaschine seines Vertrauens nach Alternativen Ausschau hält. Das können auch teilweise sehr alte Beiträge von <a href="https://www.smashingmagazine.com/2011/09/how-to-create-a-wordpress-plugin/">Smashing Magazine</a> (9+ Jahre) oder von <a href="https://bueltge.de/wp-tutorial-wir-schreiben-ein-simples-wp-plugin-teil-0/">Frank Bültge</a> (14+ Jahre) sein. Selbst wenn manche der Hinweise darin heute nicht mehr aktuell sein „sollten“, dann bekommt man nämlich Anhaltspunkte, wie die Dinge zusammenpassen und kann sich von dort aus weiterhangeln.</p>
<h3>Was braucht man für ein WordPress-Plug-in?</h3>
<p>Das einfachste WordPress-Plug-in, das man herstellen kann, besteht aus einer einzelnen Datei, die man einfach in das Plug-in-Verzeichnis von WordPress kopiert (besser aber in einen Unterordner). „So einfach“ ist das tatsächlich.</p>
<p>Diese Plug-in-Datei enthält im Kopf ein paar Kommentare, die WordPress dann ausliest und in der Administrationsoberfläche anzeigt.</p>
<pre><code>/**
* Plugin Name: SN Add Keywords
* Plugin URI: https://sajonara.info
* Description: This plugin automatically adds keywords to the database, if they are found in the headline and not already implemented.
* Version: 0.0.2
* Author: Alexander Trust
* Author URI: https://sajonara.info
* License: GPL2
*/
</code></pre>
<p>Eine PHP-Datei, die nur diese Information enthält und sonst nichts, ist auf dem Papier auch schon ein „nutzloses“ Plug-in. WordPress zeigt es dann an, und man kann es aktivieren.</p>
<div data-id="515581" class="ajaxGalleryInit" style="display:none;"></div>
<h4>Plug-ins wollen aufgerufen werden</h4>
<p>Angenommen, wir hätten den bereits fertigen Quellcode von davor in unsere Plug-in-Datei kopiert, hätte auch dieser funktioniert, WordPress beim Aktivieren allerdings eine Fehlermeldung ausgegeben. Das liegt nicht zuletzt daran, dass WordPress gerne möchte, dass Plug-ins und deren Funktionen „aufgerufen“ werden sollen.</p>
<p>Dazu stellt WordPress zwei Kategorien an Aufrufen zur Verfügung:</p>
<ul>
<li>Hooks</li>
<li>Filter</li>
</ul>
<p>Die Filter sollen vor allem dazu genutzt werden, um Inhalte zu verändern. Entsprechend gibt es für Filter (<code>add_filter()</code>) Parameter, die beispielsweise den Titel (<code>the_title</code>) oder den Text (<code>the_content</code>) betreffen. Es gibt noch viele weitere Endpunkte, an denen man einen Filter ausführen könnte.</p>
<p>Doch wir wollen ja nicht den Text verändern, sondern Schlagworte hinzufügen, und also sind die „Hooks“ (<code>add_hook()</code>) vielleicht eher für unsere Zwecke geeignet.</p>
<p>Was wir dann also machen können, um WordPress zufriedenzustellen, ist unseren Code von davor in eine Funktion integrieren, und diese mittels eines Action-Hooks aufzurufen.</p>
<pre><code>add_action('wp_footer', 'sn_add_keywords');

function sn_add_keywords() {
 /* Unser Quellcode von zuvor. */
}
</code></pre>
<h4>Drei Zustände eines Plug-ins</h4>
<p>WordPress erkennt insgesamt drei Zustände eines Plug-ins, und kann, beim Eintreten derselben aktiv werden.</p>
<ul>
<li>Beim Aktivieren,</li>
<li>beim Deaktivieren</li>
<li>und beim Deinstallieren.</li>
</ul>
<p>Warum erzähle ich Euch das? Nun, weil es durchaus hilfreich sein kann, nicht nur an sich selbst zu denken, sondern auch an andere. Und an dieser Stelle erreicht dann die ursprüngliche Idee bereits eine interessante Komplexität.</p>
<p>Ich sagte ja, es wäre prima, wenn man eine Tabelle hätte, in die man dann die Schlagwörter hinzufügen kann. Das Aktivieren des Plug-ins eignet sich in diesem Fall dazu, die Tabelle anzulegen. Auch dafür hält WordPress dann Befehle bereit.</p>
<p>Ich finde aber, dass dieser Beitrag schon lang genug geworden ist, und habe mich deshalb dazu entschieden, noch einen zweiten Teil herauszubringen, in dem ich dann erkläre, wie man die Tabelle anlegt, sie mit ersten Daten füllt, und wieso es hilfreich sein kann, die Versionsnummer des eigenen Plug-ins ebenfalls in der Datenbank von WordPress zu speichern. Außerdem widme ich mich dann auch den anderen beiden Zuständen von Plug-ins. Nicht zuletzt wollt Ihr ja sicherstellen, dass Euer Plug-in, wenn man es deinstalliert, die Daten ordentlich löscht. Und über das Erstellen einer „Webseite“ für das Plug-in in der Administrationsoberfläche von WordPress haben wir auch noch nicht gesprochen.</p>
<p>Freut Euch also dann auf den zweiten Teil, der vermutlich nicht ewig auf sich warten lassen wird.</p>
<p>Der Beitrag <a href="https://macnotes.de/2021/01/24/von-der-idee-zum-wordpress-plug-in-schlagworter-automatisch-hinzufugen-1/">Von der Idee zum WordPress-Plug-in: Schlagwörter automatisch hinzufügen #1</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>Wasserstand #12: PHP, Javascript und viel Arbeit</title>
		<link>https://macnotes.de/2020/05/07/wasserstand-12-php-javascript-und-viel-arbeit/</link>
		
		<dc:creator><![CDATA[Alexander Trust]]></dc:creator>
		<pubDate>Thu, 07 May 2020 00:35:07 +0000</pubDate>
				<category><![CDATA[Kommentar]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Technologie]]></category>
		<guid isPermaLink="false">https://macnotes.de/?p=398655</guid>

					<description><![CDATA[<p>Es kommt immer anders als man denkt. Deshalb gibt es einen neuen Wasserstand erst heute, und gab es ihn nicht schon im April. Zwar versprach ich vollmundig, den Newsletter zu veröffentlichen, konnte mich aber nicht dran halten. Wir wollten – ich möchte mit Macnotes eigentlich jeden Tag immer weiter sein, als wir es tatsächlich sind. [&#8230;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2020/05/07/wasserstand-12-php-javascript-und-viel-arbeit/">Wasserstand #12: PHP, Javascript und viel Arbeit</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class='lead'>Es kommt immer anders als man denkt. Deshalb gibt es einen neuen Wasserstand erst heute, und gab es ihn nicht schon im April. <a href="https://macnotes.de/2020/04/19/kommentar-vorbestellen-bestellen-der-akku-ist-leer-jetzt/">Zwar versprach ich vollmundig</a>, den Newsletter zu veröffentlichen, konnte mich aber nicht dran halten.</p>
<p>Wir wollten – ich möchte mit Macnotes eigentlich jeden Tag immer weiter sein, als wir es tatsächlich sind.</p>
<h2>Tun, was man tun muss</h2>
<p>Doch es gibt eben diese finanziellen Zwänge, die es notwendig machen, dass wir unsere Ideen in dem Maße verfolgen, wie es das Portmonee zulässt. Im November 2019 investierten wir einen ganzen Batzen unseres privaten Kapitals, um die Webseite aufzukaufen.</p>
<p>Wir wollten und wollen die Dinge anders machen. Das haben wir mehrfach artikuliert. Wir verzichten auf die große Werbung, aber im Umkehrschluss ist Macnotes &#8211; Stand heute &#8211; absolut nicht wirtschaftlich. <a href="https://macnotes.de/2019/12/16/darum-sind-wir-nicht-mehr-amazon-partner/">Amazon wollte uns nicht im Affiliate-Programm</a>, darüber hinaus ist AdSense ein Schatten seiner selbst und gibt es viele Aufräumarbeiten. Unter dem Strich kommt so im Monat meist nur ein niedriger dreistelliger Betrag zusammen.</p>
<p>Das ist „noch“ egal, denn wir sind in der Lage, unser Geld „anderswo“ zu verdienen. Tatsächlich portiere ich selbst aktuell ein uraltes Joomla 1.5 auf ein WordPress und benötige dafür viel PHP, Javascript und habe sogar ein eigenes Importscript in Ruby geschrieben, nachdem ich Zugriff auf die MySQL-Datenbank des Kunden erhielt. Diese Arbeit hält Macnotes natürlich auch auf, vor allem im Tagesgeschäft. Aber diese Arbeit bringt Macnotes auch etwas. Denn manche der Dinge, die ich für meine Kunden erledige, kann ich in Zukunft auch für Macnotes verwenden.</p>
<h2>Gefährlich genug</h2>
<p>Vielleicht kennt ihr die Situation, wenn man sich intensiv mit einer Sache befasst und am Ende so viel Know-how hat, dass man eigene, kreative Ideen entwickelt. Ganz gleich, ob’s ums Kochen, Basteln oder Programmieren geht. Genau das passierte mir unter anderem während meiner Arbeit an dem Joomla-Projekt für den Kunden. Denn ich musste mich sehr viel mit Javascript abgeben und weil ich aber nicht auf ein Framework vertrauen wollte, habe ich mit purem Javascript sehr sehr viele Lösungen gesucht und die allermeisten davon auch umgesetzt. Ob es um ein Akkordeon-Menü geht, ein rekursives Formular oder Register für ein Glossar.</p>
<p>Am Ende wollte ich aus einer Laune heraus einen eigenen einfachen Textersetzungsbefehl von TextExpander für die „Wayback Machine“ <em>ausbauen</em>. Dabei herausgekommen ist ein ausgewachsenes Formular in HTML und Javascript, mit dem ich mit der API des Internetarchivs interagiere. Dazu verbinde ich das Formular, empfange das Ergebnis als JSON-Objekt und verarbeite es dann. Wenn ich dann die Daten eintrage und den Button klicke, kopiert mir die „App“ (hust) das Ergebnis in die Zwischenablage. Damit habe ich gerade bei der Arbeit mit Macnotes eine riesige Erleichterung erlebt. Denn viele der Links von früher gibt es so heute nicht mehr.</p>
<p>Und weil ich ein Spielkind bin, aber auch Herausforderungen liebe, habe ich gar nicht lang darüber nachgedacht, sondern das Formular mittels CSS-Framework in Form gebracht. Außer mir hätte es bis dahin eigentlich niemand gesehen, doch nun zeige ich Euch das Ergebnis zumindest im Screenshot.</p>
<div data-id="398654" class="ajaxGalleryInit" style="display:none;"></div>
<p>Ich möchte mittelfristig auch den Quellcode <a href="https://github.com/sajonara">auf Github veröffentlichen</a> und womöglich sogar ein WordPress-Plug-in daraus machen. Aber das sind Nebenkriegsschauplätze, die vielleicht auch nie zur Vollendung kommen. So ehrlich muss ich zu mir selbst sein. Denn ich habe jeden Tag mehr Ideen als der Tag Stunden.</p>
<h2>Informationen sammeln und aufbereiten</h2>
<p>Ich arbeite daran, Macnotes noch in diesem Jahr ein neues Layout zu verpassen. Allerdings ist der langfristige Plan vor allen Dingen, die Webseite mit Informationen auszurüsten. Teilweise tue ich das schon jetzt, selbst wenn es momentan noch „sch…“ ausschaut. Beispielsweise habe ich auf Seiten zu Veranstaltungen wie der <a href="https://macnotes.de/events/wwdc-2008/">WWDC 2008</a> die passenden Nachrichtenmeldungen dazu untergebracht. Das sieht dann wie folgt aus:</p>
<div data-id="398653" class="ajaxGalleryInit" style="display:none;"></div>
<h2>Taxonomien und Post Types</h2>
<p>Gerne hätte ich auch schon früher Infos zu besonderen Themen eingebunden, beispielsweise zu Schlagwörtern wie „Coronavirus“. Da ich aber die alten „Schlagwörter“ offline nehme und eine und mehrere neue Taxonomien einrichte, möchte ich das Pferd nicht von hinten aufzäumen. Denn erst einmal braucht die Seite ein neues Layout, bevor ich anfange die Inhalte passend aufzubereiten.</p>
<p>Bei dem eingangs angesprochenen Kundenprojekt beispielsweise habe ich, ähnlich wie ich nur „reines“ Javascript einsetzen wollte, auch möglichst versucht, auf WordPress-Plug-ins zu verzichten. So habe ich am Ende selbst die Eingabeoberfläche für einen Custom Post Type mit Metaboxen erstellt und dann mittels Javascript dem Nutzer die Möglichkeit bereitgestellt, neue Felder „on the fly“ hinzuzufügen. Dabei musste ich einmal mehr feststellen, dass WordPress doch leider so ein Umstandskasten ist. Ich verstehe nicht, warum das System Metadaten als „serialisierte Objekte“ speichert, anstatt von echten JSON-Objekten oder alternativ Arrays. Aber <a href="https://wordpress.stackexchange.com/questions/183475/why-wordpress-choose-data-serialization-over-json-encode">irgendwas werden sich die Entwickler schon dabei gedacht haben</a>.</p>
<p>Diese ganzen Erkenntnisse möchte ich auf Macnotes irgendwann auch mit Euch teilen, wahrscheinlich in Form von Tutorials, wie Ihr gewisse Dinge nachbauen könnt. Denn es gibt eine Menge Dinge, die ich gelernt habe, nicht nur was PHP oder Javascript angeht, sondern auch Ruby, SEO, CSS und so fort.</p>
<h2>Von Stöckchen auf Retro-Steinchen</h2>
<p>Ein Thema, das Ihr auf Macnotes „irgendwann“ auch vermehrt erleben werdet, ist das Thema Retro. Denn ich habe auch da vieles ausprobiert und zum Beispiel einen Basic-Interpreter für den Mac wie <a href="https://www.qb64.org/portal/">QB64</a> ausprobiert, einige eigene Programme <a href="https://twitter.com/Macnotes/status/1255944468269879297">dafür geschrieben</a>.</p>
<p>Nur Retro heißt bei mir nicht nur Theorie, sondern auch Praxis. Die elektronische Bucht, <a href="https://www.youtube.com/channel/UCPiFOcskeiOj0jHz3YCWDBQ">wie Wolfgang Rudolph sie oft nennt</a>, bescherte mir zuletzt beispielsweise einen Atari 1040 STF samt Monochrom-Monitor, aber auch einen C64C samt 5,25 Zoll Disketten-Laufwerk.</p>
<div data-id="398660" class="ajaxGalleryInit" style="display:none;"></div>
<p>Ich denke, dass einige von Euch diese Leidenschaft für die Nostalgie teilen und letztlich kann man aus der Beschäftigung mit der Vergangenheit auch für die Zukunft lernen. Dass ich übrigens keinen Amiga ersteigert habe, liegt nur zum Teil an mir. Ich hatte es vor, aber die Preise gingen regelmäßig durch die Decke. Aber ich liege auf der Lauer und hätte nichts dagegen, wenn ich dann auch irgendwann einen Amiga in meine Sammlung aufnehmen kann. Denn alte DOS-PCs besitze ich schon zu Genüge.</p>
<div data-id="398659" class="ajaxGalleryInit" style="display:none;"></div>
<p>Das Schöne ist auch immer wieder, wie man das Alte mit dem Neuen verbinden kann. Denn es gibt ja da diese Arduinos und Raspberrys, mit denen man alte Retro-Konsolen beleben kann, oder eben die Heimautomatisierung steuern. Auch darüber möchte ich schreiben.</p>
<h2>Weiter, immer weiter</h2>
<p>Nun habe ich Euch wieder ein wenig den Mund wässrig gemacht, kann aber leider noch nichts liefern. Ich muss erst das erwähnte Projekt beenden, bevor ich wieder mehr Zeit in Macnotes investieren kann. Dass ich mir trotzdem die Nächte für das Projekt um die Ohren schlage zeigt mir selbst, dass ich ein klein wenig verrückt bin, aber eben auch voll hinter dem Projekt stehe. Denn <a href="https://macnotes.de/2020/03/31/wasserstand-11-der-newsletter-mit-corona/">gegenüber dem letzten Wasserstand</a> habe ich vorgestern einen Haken unter die Beiträge aus Juli 2008 gemacht.</p>
<p>Wenn zwischendrin außerdem noch <a href="https://macnotes.de/2020/05/06/test-magic-keyboard-furs-ipad-ist-gut-aber-teuer/">Tests wie der zum Magic Keyboard fürs iPad Pro</a> abfallen, und Apple weiter fleißig neue Produkte veröffentlicht, dann bin ich guter Dinge, dass wir uns gemeinsam auf <a href="https://macnotes.de/2020/05/05/wwdc-2020-am-22-juni-mit-swift-challenge/">die erste digitale WWDC 2020 im Juni</a> freuen können. Es bleibt spannend!</p>
<p>Der Beitrag <a href="https://macnotes.de/2020/05/07/wasserstand-12-php-javascript-und-viel-arbeit/">Wasserstand #12: PHP, Javascript und viel Arbeit</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>Wasserstand #6: Sichtbarkeit, Sichtbarkeit und Unsichtbarkeit</title>
		<link>https://macnotes.de/2020/02/21/wasserstand-6-sichtbarkeit-sichtbarkeit-und-unsichtbarkeit/</link>
		
		<dc:creator><![CDATA[Alexander Trust]]></dc:creator>
		<pubDate>Fri, 21 Feb 2020 02:23:46 +0000</pubDate>
				<category><![CDATA[Kommentar]]></category>
		<category><![CDATA[Technologie]]></category>
		<guid isPermaLink="false">https://macnotes.de/?p=396454</guid>

					<description><![CDATA[<p>Ein kleines Dorf beugt sich den R&#246;mern&#8230; so geht die Erz&#228;hlung von Asterix. Doch seit dem letzten Wasserstand ist wieder einiges passiert, &#252;ber das ich Euch unterrichten m&#246;chte. Positiv: Unsere Sichtbarkeit hat sich weiter erh&#246;ht. Negativ: Das bringt absolut &#252;berhaupt nichts. Denn trotz leichter Zuw&#228;chse &#252;ber die vergangene Woche sind weder die Zugriffszahlen signifikant gestiegen, [&#8230;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2020/02/21/wasserstand-6-sichtbarkeit-sichtbarkeit-und-unsichtbarkeit/">Wasserstand #6: Sichtbarkeit, Sichtbarkeit und Unsichtbarkeit</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class='lead'></p><p>Ein kleines Dorf beugt sich den R&ouml;mern&hellip; so geht die Erz&auml;hlung von Asterix. Doch seit dem letzten Wasserstand ist wieder einiges passiert, &uuml;ber das ich Euch unterrichten m&ouml;chte.</p><p></p><p></p><p>Positiv: Unsere Sichtbarkeit hat sich weiter erh&ouml;ht. Negativ: Das bringt absolut &uuml;berhaupt nichts. Denn trotz leichter Zuw&auml;chse &uuml;ber die vergangene Woche sind weder die Zugriffszahlen signifikant gestiegen, noch kam es zu mehr Werbeeinnahmen.</p><p></p><p></p><h2 class="wp-block-heading">Die Sache mit dem Affiliate-Marketing</h2><p></p><p></p><p>Die Werbeeinahmen &uuml;ber &bdquo;Display&ldquo;-Werbung, also Werbebanner im klassischen Sinn, sind unver&auml;ndert hoch oder niedrig. Stand jetzt k&ouml;nnten wir auch &bdquo;Hartz IV&ldquo; beantragen und h&auml;tten vermutlich mehr Geld &uuml;brig.</p><p></p><p></p><p>Was mich aber pers&ouml;nlich sehr irritiert ist die Entwicklung der Ums&auml;tze &uuml;ber das Affiliate-Marketing. Doch bevor ich ins Detail gehe, m&ouml;chte ich sagen, dass ich selbst diese Form der Werbung eigentlich ablehne. Mir w&auml;re es lieber, H&auml;ndler X, Y w&uuml;rde g&uuml;nstigere Preise an seine Kunden weitergeben und auf die Provision verzichten. Nur so l&auml;uft der Hase halt nicht.</p><p></p><p></p><p>Letztes Jahr habt Ihr uns gl&uuml;cklicherweise ein paar Einnahmen &uuml;bers Affiliate-Marketing beschert. Allerdings vermutete ich seit einiger Zeit ein technisches Problem, das das Tracking verhindert. Schon von Beginn an erzielten wir keinen einzigen Cent bei Media Markt und Saturn. In den ersten Monaten, zu denen dann leider auch der Black Friday z&auml;hlte, haben wir Deppen leider den falschen Trackinglink f&uuml;r das Netzwerk genutzt.</p><h3>Keine Konversion? Kann das sein?</h3><p></p><p></p><p>Leider Gottes blieb anfangs eine E-Mail vom 11. Februar von mir unbeantwortet. Doch mittlerweile f&uuml;hrte ich sogar ein Telefonat mit einer Verantwortlichen. Man f&uuml;hrte eine Testbestellung aus. Unsere Affiliate-Links funktionieren also. Leider konnten wir nur Euch mit den beworbenen Angeboten nicht &uuml;berzeugen.</p><p></p><p></p><p>Tragischerweise ergibt sich so die Situation, dass wir seit November bislang 0 Euro beim Affiliate-Marketing f&uuml;r Saturn und Media Markt erzielten.</p><p></p><p></p><h2 class="wp-block-heading">Der Patron</h2><p></p><p></p><p>Entsprechend m&uuml;ssen wir uns auch Gedanken &uuml;ber andere Wege der Monetarisierung machen. Manche von Euch kennen vielleicht die &bdquo;Patreon&ldquo;-Plattform. Genau auf dieser wollen nun auch wir versuchen ein wenig Geld einzusammeln, um dieses Projekt besser zu machen und unsere Ziele langfristig auch umzusetzen.</p><p></p><p></p><p>Wenn Ihr Feedback f&uuml;r <a href="https://www.patreon.com/sajonara">unseren Patreon-Auftritt</a> habt, nur her damit. Es ist schlie&szlig;lich noch kein Meister vom Himmel gefallen und vielleicht fallen Euch noch Dinge ein, die wir &uuml;ber die Plattform anbieten k&ouml;nnten.</p><p></p><p></p><h2 class="wp-block-heading">Der April macht, was er will</h2><p></p><p></p><p>Die Fusion zweier Webseiten macht Arbeit. Das schrieb ich bereits <a href="https://macnotes.de/2020/02/13/wasserstand-5-deutschkurs-fur-anfanger-und-die-fusion-zweier-webseiten/">im Wasserstand #5</a>. Tats&auml;chlich bin ich mit der &bdquo;oberfl&auml;chlichen&ldquo; Bearbeitung der Beitr&auml;ge mittlerweile mit April 2008 fertig.</p><p></p><p></p><h3 class="wp-block-heading">Thin Content wird gel&ouml;scht und weitergeleitet</h3><p></p><p></p><p><a href="https://macnotes.de/2020/02/07/wasserstand-4-cebit-2008-und-richtungsweisende-entscheidung/">Anfang des Monats</a> ackerte ich noch im M&auml;rz 2008 herum. Was mir dabei auffiel: Macnotes wurde 2008 &uuml;berarbeitet. Die Webseite bekam ein neues Layout und auch neue Funktionen. So gab es eine Rubrik mit Kurznachrichten, die nur als &bdquo;Widget&ldquo; in der Seitenleiste der Webseite aufgerufen wurde. Nat&uuml;rlich hielten sich die Autoren bei den Nachrichten entsprechend &bdquo;kurz&ldquo;. Doch ein oder zwei S&auml;tze als Nachricht, geschweige denn Artikel zu verkaufen, dass gef&auml;llt weder uns noch Euch, noch Google. Entsprechend l&ouml;sche ich diesen &bdquo;<a href="https://de.ryte.com/wiki/Thin_Content">Thin Content</a>&ldquo; und leite ihn einfach auf eine Erkl&auml;rseite um.</p><p></p><p></p><p>Wenn Ihr auf der Startseite die Navigation am unteren Seitenende beobachtet, k&ouml;nnt Ihr sogar ein wenig nachverfolgen, wie viele Artikel gerade auf der Webseite online sind. Es gibt noch &bdquo;Lexikon-artige&ldquo; Beitr&auml;ge &uuml;ber Firmen, Events, Produkte, etc., die nicht in diese Z&auml;hlung fallen. Aber die Zahl der Nachrichten, Kommentar, Interviews oder Testberichte und Tutorials wurde zuletzt eben ein bisschen geringer. Denn die bescheidenen Ein- oder Zweizeiler wollten wir Euch nicht antun. Sie helfen am Ende niemandem so recht weiter.</p><p></p><p></p><p>Ich bin ehrlich. Es stimmt mich trotzdem froh, dass ich nicht alle 35.000 Texte &uuml;berarbeiten muss. Denn es gibt wei&szlig; Gott sch&ouml;nere Aufgaben.</p><p></p><p></p><p>Anhand der Abst&auml;nde, in denen dieser &bdquo;Newsletter&ldquo; ver&ouml;ffentlicht wird, k&ouml;nnt Ihr Euch au&szlig;erdem errechnen, wie viel Zeit es mich und uns noch kosten wird, bis wir mal klar Schiff gemacht haben werden.</p><p></p><p></p><h2 class="wp-block-heading">Podcast(versuche)</h2><p></p><p></p><p>Das Jahr 2008 bedeutete f&uuml;r mich pers&ouml;nlich aber auch die ersten Versuche f&uuml;r einen Podcast. Ja, sie sind keine Kronen der Sch&ouml;pfung, aber immerhin beweisen sie unseren Tatendrang schon damals.</p><p></p><p></p><ul class="wp-block-list">
<li><a href="https://macnotes.de/2008/05/01/sajonara-podcast-folge-1/">Sajonaras 7 Minuten &#8211; Folge 1</a>.</li>
<li><a href="https://macnotes.de/2008/05/02/sajonaras-7-minuten-folge-2/">Sajonaras 7 Minuten &#8211; Folge 2</a>.</li>
</ul><p>Und das Sch&auml;rfste seit dem letzten Wasserstand habe ich noch gar nicht erw&auml;hnt. Aber ich glaube, dass hebe ich mir f&uuml;r den n&auml;chsten Wasserstand auf. Denn tats&auml;chlich hat jemand aus dem Ruhrgebiet auf unseren Namen Handyvertr&auml;ge bei Klarmobil abgeschlossen. Die Strafanzeige bei der hiesigen Polizei ist bereits gestellt. Mehr dazu an anderer Stelle.</p><p></p>
<p>Der Beitrag <a href="https://macnotes.de/2020/02/21/wasserstand-6-sichtbarkeit-sichtbarkeit-und-unsichtbarkeit/">Wasserstand #6: Sichtbarkeit, Sichtbarkeit und Unsichtbarkeit</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>Swift Playgrounds endlich für macOS veröffentlicht</title>
		<link>https://macnotes.de/2020/02/12/swift-playground-endlich-fur-macos-veroffentlicht/</link>
		
		<dc:creator><![CDATA[Alexander Trust]]></dc:creator>
		<pubDate>Wed, 12 Feb 2020 13:35:03 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://macnotes.de/?p=395948</guid>

					<description><![CDATA[<p>Apple bringt seine beliebte iPad-App zum Programmieren-Lernen, Swift Playgrounds, auf den Mac. Ab sofort kann man sie im Mac App Store herunterladen. Es handelt sich dabei um eine angepasste Variante der iPad-Fassung, die Apple mit der eigenen Catalyst-Softwareschnittstelle für den Mac portiert hat. Swift Playgrounds für Mac Seit kurzem kann man nun auch Swift Playgrounds [&#8230;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2020/02/12/swift-playground-endlich-fur-macos-veroffentlicht/">Swift Playgrounds endlich für macOS veröffentlicht</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> bringt seine beliebte iPad-App zum Programmieren-Lernen, Swift Playgrounds, auf den Mac. Ab sofort kann man sie im Mac App Store herunterladen. Es handelt sich dabei um eine angepasste Variante der iPad-Fassung, die Apple mit der eigenen Catalyst-Softwareschnittstelle für den Mac portiert hat.</p>
<p></p>



<h2 class="wp-block-heading">Swift Playgrounds für Mac</h2>



<p>Seit kurzem kann man nun auch Swift Playgrounds für den Mac herunterladen. Allerdings muss man zuvor mindestens macOS 10.15.3 installieren. Ansonsten verweigert die App die Installation.</p>



<p>Apple schuf die App Swift Playgrounds, um Schülern auf einfache Weise das Programmieren beizubringen. Doch es gibt mittlerweile auch Module von anderen App- und Zubehörherstellern, die wie eine Art Tutorial dienen. So kann man mit LEGO Mindstorms dem micro:bit, Adafruit-Roboter-Spielzeug und anderem mehr in Playgrounds umgehen.</p>



<h2><a href="https://apps.apple.com/de/app/swift-playgrounds/id1496833156?mt=12">Swift Playgrounds im Mac App Store herunterladen</a>.</h2></p>



<h2 class="wp-block-heading">Endlich vernünftig tippen</h2>



<p>Einen Vorteil, den die Portierung am Mac bringt, ist die vollständige Tastatur. Zwar leistete Apple gute Arbeit mit automatischen Ersetzungen am iPad. Doch die Bildschirmtastatur zu nutzen war selten eine Option, da sie sonst fast immer im Blickfeld lag. Das Tippen mit Apples eigener iPad-Tastatur machte auch nur bedingt Spaß. Aber beim Programmieren geht es eben auch darum, viel zu tippen und vor allem regelmäßig Sonderzeichen, Klammern, und anderes mehr zu verwenden.</p>



<p>Den Quellcode kann man mit anderen Teilen. Man kann ihn aber auch in iCloud speichern und dann auf dem iPad unterwegs weiterverwenden.</p>



<h2 class="wp-block-heading">Swift Playgrounds seit 2016</h2>



<p>Apple präsentierte die App im Rahmen der WWDC 2016. Seitdem werden die Inhalte ständig aktualisiert. Die Kurse und Lektionen setzen beispielsweise immer auf den aktuellen Swift-Versionen auf. Derzeit bietet Apple also Kurse für Swift 5.1 an. Seit 2017 gibt es die <a href="https://macnotes.de/2017/03/22/jetzt-mehrsprachig-swift-playgrounds-lernt-deutsch/">App auch auf Deutsch</a>.</p>
<p>Der Beitrag <a href="https://macnotes.de/2020/02/12/swift-playground-endlich-fur-macos-veroffentlicht/">Swift Playgrounds endlich für macOS veröffentlicht</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>Oculus Quest: Spiele demnächst noch schneller?</title>
		<link>https://macnotes.de/2019/12/22/oculus-quest-spiele-demnachst-noch-schneller/</link>
		
		<dc:creator><![CDATA[Alexander Trust]]></dc:creator>
		<pubDate>Sun, 22 Dec 2019 13:03:19 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technologie]]></category>
		<guid isPermaLink="false">https://macnotes.de/?p=392354</guid>

					<description><![CDATA[<p>Die Oculus Quest hat jetzt ein neues Feature für Entwickler. Die Rede ist von dynamischem „Fixed Foveated Rendering“ (FFR). Dies ermöglicht Entwicklern in Zukunft noch schnellere Spiele auf das Virtual-Reality Headset zu zaubern, mehr oder weniger automatisch. In der Realität ist es auch so, dass nur diejenigen Dinge, die in unserem Fokus sind, auch wirklich [&#8230;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2019/12/22/oculus-quest-spiele-demnachst-noch-schneller/">Oculus Quest: Spiele demnächst noch schneller?</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2>Die Oculus Quest hat jetzt ein neues Feature für Entwickler.</h2> Die Rede ist von dynamischem „Fixed Foveated Rendering“ (FFR). Dies ermöglicht Entwicklern in Zukunft noch schnellere Spiele auf das Virtual-Reality Headset zu zaubern, mehr oder weniger automatisch.</p>



<p class='lead'>In der Realität ist es auch so, dass nur diejenigen Dinge, die in unserem Fokus sind, auch wirklich scharf sind. Der Rest bleibt eher unscharf.</p>



<h2 class="wp-block-heading">Oculus Quest mit FFR-Support</h2>



<p>Dies bildet FFR als Technologie ab. Oculus erlaubt es Entwicklern, Fokusringe zu definieren und Teile, die außerhalb dieser Fokusringe liegen, werden weniger detailreich wiedergegeben.</p>



<p>Dies sorgt dafür, dass weniger Ressourcen genutzt werden. Im Umkehrschluss funktioniert das Spiel schneller. Die Quest ist nicht das erste Headset aus dem Hause Oculus, das mit diesem Feature aufwartet.</p>



<p>Standardmäßig ist FFR abgeschaltet. Es liegt also an den Softwareanbietern selbst, es in die eigenen Apps zu integrieren. Auf anderen Oculus-Headsets erzielen Entwickler damit vor allem schnellere Bildwiederholungsraten.</p>



<h2 class="wp-block-heading">Funktion schon im Einsatz</h2>



<p>Oculus unterscheidet vier Abstufungen: Low, Medium, High und High Top.</p>



<p>Oculus selbst wendet das Feature schon an, und zwar in seinen zuletzt hinzugefügten neuen Tutorials. Falls Ihr das Headset nicht ganz auf den Boden richtet, trotzdem aber auf Eure Füße guckt, könnt Ihr sehen, wie unscharf diese sind. Richtet Ihr stattdessen den Blick mit dem Headset auf die Füße, werden diese scharf. Genau um diese Art Effekt geht es. Dinge, die nicht im Blickfeld sind, weniger genau abzubilden und so Ressourcen zu sparen.</p>



<p>FFR soll vor allem Entwickler von PC-VR-Games helfen, die auf die Quest zu portieren.</p>



<p>Zum jetzigen Zeitpunkt ist FFR übrigens nur im Oculus-eigenen SDK enthalten. Engines wie Unity oder Unreal unterstützen das Feature noch nicht. Das war in der Vergangenheit in der Regel aber immer nur eine Frage der Zeit.</p>
<p>Der Beitrag <a href="https://macnotes.de/2019/12/22/oculus-quest-spiele-demnachst-noch-schneller/">Oculus Quest: Spiele demnächst noch schneller?</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>AirPlay 2 gehackt: Bald Audio auf allen Lautsprechern?</title>
		<link>https://macnotes.de/2019/12/05/airplay-2-gehackt-bald-audio-auf-allen-lautsprechern/</link>
		
		<dc:creator><![CDATA[Alexander Trust]]></dc:creator>
		<pubDate>Thu, 05 Dec 2019 19:31:39 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technologie]]></category>
		<guid isPermaLink="false">https://macnotes.de/?p=391884</guid>

					<description><![CDATA[<p>Entwickler haben AirPlay 2 gehackt. Es ist nur noch eine Frage der Zeit, bis wir damit dann beliebige Lautsprecher als Mehrraum-Audio-Systeme einsetzen können. Mittelfristig könnte man dann über einen Raspberry Pi jeden herkömmlichen Lautsprecher oder Verstärker in ein AirPlay-2-fähiges Gerät umwandeln. Vor ein paar Tagen gab es gute Nachrichten auf GitHub. Dort kopierte ein Nutzer [&#8230;]</p>
<p>Der Beitrag <a href="https://macnotes.de/2019/12/05/airplay-2-gehackt-bald-audio-auf-allen-lautsprechern/">AirPlay 2 gehackt: Bald Audio auf allen Lautsprechern?</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2>Entwickler haben AirPlay 2 gehackt.</h2> Es ist nur noch eine Frage der Zeit, bis wir damit dann beliebige Lautsprecher als Mehrraum-Audio-Systeme einsetzen können. Mittelfristig könnte man dann über einen Raspberry Pi jeden herkömmlichen Lautsprecher oder Verstärker in ein AirPlay-2-fähiges Gerät umwandeln.</p>



<p class='lead'>Vor ein paar Tagen gab es <a href="https://github.com/mikebrady/shairport-sync/issues/535#issuecomment-560415118">gute Nachrichten auf GitHub</a>. Dort kopierte ein Nutzer ein paar Wörter eines der Entwickler von „shairport-sync“ (@invano).</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>„guys… ready? I can finally confirm I got airplay2 working, including multi-room! Audio streaming data correctly recovered, decrypted and decoded!“ (@invano)</p>
</blockquote>



<h2 class="wp-block-heading">Software funktionstüchtig, aber nicht fertig</h2>



<p>Doch @invano schränkt selbst ein, dass er bislang nur ein Python-Script nutzt. Damit ist er in der Lage, ein Audio-Signal aufzunehmen, es zu entschlüsseln und wieder zu verschlüsseln. Sozusagen verfügt er über ein Proof of Concept.</p>



<p>Bis man den Algorithmus dann aber auch wirklich wird einsetzen können, dauert es noch ein wenig.</p>



<h2 class="wp-block-heading">Jeden Lautsprecher AirPlay-fähig machen</h2>



<p>Wie erwähnt gibt es bereits die Software „shairport-sync“. Damit haben die Entwickler bereits AirPlay der ersten Generation übergangen. Die Software wird auf einen Computer installiert und macht aus diesem einen AirPlay-Empfänger. Von <a href="https://macnotes.de/produkt/itunes/">iTunes</a> aus kann man dann das Gerät als Ziel für das Audiosignal wählen. So könnte das auch in Zukunft auch mit AirPlay 2 funktionieren.</p>



<p>Die Software kann man beispielsweise auf einen Raspberry Pi installieren (<a href="https://thepi.io/how-to-set-up-a-raspberry-pi-airplay-receiver/">englischsprachiges Tutorial</a>). Per Klinke verbindet man den dann mit dem Lautsprecher oder Verstärker.</p>



<h2 class="wp-block-heading">Was sagt Apple dazu?</h2>



<p>Apple scheint sich an dem Projekt bislang nicht zu stören. Es ist auf GitHub frei verfügbar, und zwar schon eine ganze Weile. Noch versteht die Software aber kein AirPlay 2. Das ist nach den Neuigkeiten aber nur noch eine Frage der Zeit.</p>



<p>Falls Ihr andere Möglichkeiten wie diese kennt, lasst es uns wissen.</p>
<p>Der Beitrag <a href="https://macnotes.de/2019/12/05/airplay-2-gehackt-bald-audio-auf-allen-lautsprechern/">AirPlay 2 gehackt: Bald Audio auf allen Lautsprechern?</a> erschien zuerst auf <a href="https://macnotes.de">Macnotes.de</a>.</p>
]]></content:encoded>
					
		
		
		
	</item>
	</channel>
</rss>
