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

<channel>
	<title>Alberto González Blog</title>
	<atom:link href="http://www.albertogonzalez.net/feed/" rel="self" type="application/rss+xml"/>
	<link>https://www.albertogonzalez.net</link>
	<description>Blog personal de Alberto González</description>
	<lastBuildDate>Tue, 21 Oct 2025 15:36:12 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.9.26</generator>
	<item>
		<title>Z80 NOP Tester</title>
		<link>https://www.albertogonzalez.net/z80-nop-tester/</link>
		<pubDate>Sat, 18 Oct 2025 19:57:29 +0000</pubDate>
		<dc:creator><![CDATA[alberto]]></dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[maker]]></category>
		<category><![CDATA[Z80]]></category>

		<guid isPermaLink="false">https://www.albertogonzalez.net/?p=5642</guid>
		<description><![CDATA[I&#8217;m excited to announce my design of an easy to assemble kit with no SMD components for testing Z80 microprocessors that I&#8217;ve been working on it for some time. I started designing my own Z80 NOP Tester after the Zilog Z80 End Of Life announcement on April 15, 2024 and sourcing reliable Z80 microprocessors became [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m excited to announce my design of an easy to assemble kit with no SMD components for testing Z80 microprocessors that I&#8217;ve been working on it for some time.</p>
<p>I started designing my own Z80 NOP Tester after <a href="https://codeberg.org/albertogonzalez/Z80_NOP_Tester/src/branch/master/docs/Littelfuse_PCN_Z84C00.pdf">the Zilog Z80 End Of Life announcement on April 15, 2024</a> and sourcing reliable Z80 microprocessors became increasingly challenging.</p>
<p><span id="more-5642"></span></p>
<p>I know there are other Z80 NOP tester alternatives out there, such as the one on the <a href="https://8bit-museum.de/projekte/hardware-projekte-cpu-nop-tester/">8bit-museum website by Stephan Slabihoud</a>. However, I wanted to fully understand the Z80 NOP cycle and enhance those designs with some nice touches:</p>
<ul>
<li>A ZIF (Zero Insertion Force) socket, ensuring that you can insert your Z80 IC with minimal force, preventing any damage to the microprocessor.</li>
<li>A power input with a USB Type B connector instead of the usual micro USB connector, which I found to be less sturdy.</li>
<li>A power switch that allows you to easily turn the device on and off without having to unplug it.</li>
<li>An adjustable clock generator with a range of approximately 4Hz to 90Hz.</li>
<li>16 LEDs to indicate access to all 16 address lines, along with LEDs for the M1, RFSH, MREQ, RD, and CLK signals.</li>
<li>Multiple test points for CLK, M1, RFSH, MREQ, RD.</li>
<li>4 mounting holes in the corners for easy installation in a case.</li>
</ul>
<p>In addition to verifying that a Z80 microprocessor is genuine and operational, I believe this kit is an excellent kit for honing soldering skills because it contains only through-hole components.</p>
<p>Additionally, the NE555P adjustable clock generator and the board&#8217;s multiple test points are ideal for those looking to learn how to use an oscilloscope.</p>
<p>You can find the repository of the project in <a href="https://codeberg.org/albertogonzalez/Z80_NOP_Tester">Codeberg</a>.</p>
<p><img class="aligncenter wp-image-5643 size-full" src="https://www.albertogonzalez.net/files/2025/10/Z80_NOP_Tester_RevA01.jpeg" alt="NOP Tester Rev.A01" width="1000" height="750" srcset="https://www.albertogonzalez.net/files/2025/10/Z80_NOP_Tester_RevA01.jpeg 1000w, https://www.albertogonzalez.net/files/2025/10/Z80_NOP_Tester_RevA01-300x225.jpeg 300w, https://www.albertogonzalez.net/files/2025/10/Z80_NOP_Tester_RevA01-768x576.jpeg 768w, https://www.albertogonzalez.net/files/2025/10/Z80_NOP_Tester_RevA01-653x490.jpeg 653w, https://www.albertogonzalez.net/files/2025/10/Z80_NOP_Tester_RevA01-740x555.jpeg 740w" sizes="(max-width: 1000px) 100vw, 1000px" /></p>
]]></content:encoded>
			</item>
		<item>
		<title>GP Pico Breakout Board</title>
		<link>https://www.albertogonzalez.net/gp-pico-breakout-board/</link>
		<pubDate>Tue, 16 Jul 2024 19:16:46 +0000</pubDate>
		<dc:creator><![CDATA[alberto]]></dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[maker]]></category>
		<category><![CDATA[OpenHardware]]></category>
		<category><![CDATA[RasberryPiPico]]></category>

		<guid isPermaLink="false">https://www.albertogonzalez.net/?p=5633</guid>
		<description><![CDATA[I am very excited to announce my first open source hardware project. It might be seen as something minor by some, and it&#8217;s a project built on top of other great projects (if that&#8217;s not engineering, I don&#8217;t know what is 😉). But for me, this has been my first contact with PCB design tools, [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I am very excited to announce my first open source hardware project. It might be seen as something minor by some, and it&#8217;s a project built on top of other great projects (if that&#8217;s not engineering, I don&#8217;t know what is <img src="https://s.w.org/images/core/emoji/11/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" />). But for me, this has been my first contact with PCB design tools, I learned a lot during the process and I am very proud of the result.</p>
<p>It is essentially a breakout board for the Rasberry Pi Pico that can be used as a game controller with the GP2040-CE firmware, among other uses.</p>
<p>Have a look at the project on its Codeberg page (<a href="https://codeberg.org/albertogonzalez/gp-pico-breakout-board">https://codeberg.org/albertogonzalez/gp-pico-breakout-board</a>) and let me know what you think.</p>
]]></content:encoded>
			</item>
		<item>
		<title>How to install OpenWrt on the Linksys MR8300 Wireless Router</title>
		<link>https://www.albertogonzalez.net/how-to-install-openwrt-on-the-linksys-mr8300-wireless-router/</link>
		<pubDate>Sun, 12 May 2024 12:37:24 +0000</pubDate>
		<dc:creator><![CDATA[alberto]]></dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Linksys]]></category>
		<category><![CDATA[OpenWrt]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">https://www.albertogonzalez.net/?p=5542</guid>
		<description><![CDATA[The Linksys MR8300 is not a bad wireless router, but one of its best features, as with the WRT1900ACS, is that it is supported by different open source firmwares including OpenWrt. So, if you&#8217;re like me and want to use this router with the open source router firmware to unlock all of its power instead [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>The Linksys MR8300 is not a bad wireless router, but one of its best features, as with the <a href="https://www.albertogonzalez.net/how-to-install-openwrt-on-the-linksys-wrt1900acs-wireless-router/">WRT1900ACS</a>, is that it is supported by different open source firmwares including <a href="https://openwrt.org/">OpenWrt</a>. So, if you&#8217;re like me and want to use this router with the open source router firmware to unlock all of its power instead of the limited stock firmware, read this guide to learn how to install it. It&#8217;s not a hard process, but you need to be careful with some of the steps, but don&#8217;t worry, I&#8217;ll guide you through the whole process.</p>
<p><span id="more-5542"></span><br />
<div class="su-note" style="border-color:#e55a34;border-radius:6px;-moz-border-radius:6px;-webkit-border-radius:6px;"><div class="su-note-inner su-clearfix" style="background-color:#ff643a;border-color:#ffe0d8;color:#333333;border-radius:6px;-moz-border-radius:6px;-webkit-border-radius:6px;"><strong>WARNING: </strong>Installation of OpenWrt 23.05 or main snapshot on the Linksys MR8300 needs a two steps installation. First you&#8217;ll need to install 22.03 for changing a boot variable. Than you can install 23.05. Don&#8217;t try to install or upgrade to 23.05 directly, it will soft-brick your device!</div></div>
<p>&nbsp;</p>
<h3>Save the stock firmware</h3>
<p>I don&#8217;t know why you would want to revert to the stock firmware after installing OpenWrt, but if you want to have the option, it would be best to keep a file with the stock firmware just in case you need it in the future.</p>
<p>You can download the Linksys stock firmware from <a href="https://www.linksys.com/support-article?articleNum=47131">https://www.linksys.com/support-article?articleNum=47131</a><br />
My MR8300 is v1.1, so the latest firmware available at the time of writing this guide is <a href="https://downloads.linksys.com/support/assets/firmware/FW_MR8300_1.1.10.210186_prod.img">FW_MR8300_1.1.10.210186_prod.img Ver. 1.1.10.210186 (4/19/2022) 48.5 MB</a></p>
<p>&nbsp;</p>
<h3>Installing OpenWrt 22.03.5</h3>
<p>As I said in the warning, we need to install install v22.03 to change a boot variable before installing the latest OpenWrt release.</p>
<ol>
<li><strong>Download OpenWrt firmware:</strong> Download the <a href="https://downloads.openwrt.org/releases/22.03.5/targets/ipq40xx/generic/openwrt-22.03.5-ipq40xx-generic-linksys_mr8300-squashfs-factory.bin">Factory image</a> to flash OpenWrt firmware v22.03.5 from<br />
<a href="https://firmware-selector.openwrt.org/?version=22.03.5&amp;target=ipq40xx%2Fgeneric&amp;id=linksys_mr8300">https://firmware-selector.openwrt.org/?version=22.03.5&amp;target=ipq40xx%2Fgeneric&amp;id=linksys_mr8300</a><br />
<a href="https://www.albertogonzalez.net/files/2024/05/OpenWrt_Firmware_22.03.5.jpg"><img class="aligncenter wp-image-5585" src="https://www.albertogonzalez.net/files/2024/05/OpenWrt_Firmware_22.03.5-300x181.jpg" alt="" width="600" height="363" srcset="https://www.albertogonzalez.net/files/2024/05/OpenWrt_Firmware_22.03.5-300x181.jpg 300w, https://www.albertogonzalez.net/files/2024/05/OpenWrt_Firmware_22.03.5-768x465.jpg 768w, https://www.albertogonzalez.net/files/2024/05/OpenWrt_Firmware_22.03.5-1024x620.jpg 1024w, https://www.albertogonzalez.net/files/2024/05/OpenWrt_Firmware_22.03.5-740x448.jpg 740w, https://www.albertogonzalez.net/files/2024/05/OpenWrt_Firmware_22.03.5.jpg 1081w" sizes="(max-width: 600px) 100vw, 600px" /></a></li>
<li><strong>Verify the downloaded firmware file:</strong> After downloading the firmware image you should verify, using a checksum tool, that the file you&#8217;ve just downloaded is correct so you will not brick your device by applying a faulty download. The <code>sha256sum</code> for the firmware image is show in the firmware selector page of the previous page. In this case is <code>7d9e46602162c98268c440d03b40c8c4f50cc27f2929d0566d6d9ac42edaf60e</code><strong>Only continue with flashing, if the firmware checksum of your download matches the checksum stated on the download site!</strong> On a Mac you can use the command: <code>shasum -a 256 /path/to/file</code>For more information about this process you can read the guide for <a href="https://openwrt.org/docs/guide-quick-start/verify_firmware_checksum">verifying OpenWrt firmware binary</a> in the OpenWrt project site.</li>
<li><strong>Disconnect the Internet cable:</strong> Now that we have downloaded the OpenWrt firmware file, we should disconnect the Ethernet cable from the yellow Internet port on the back of your router. This will prevent the router from connecting to who knows where.<br />
<img class="aligncenter size-medium wp-image-5587" src="https://www.albertogonzalez.net/files/2024/05/linksys-MR8300_disconnect_cable-300x189.jpg" alt="" width="300" height="189" srcset="https://www.albertogonzalez.net/files/2024/05/linksys-MR8300_disconnect_cable-300x189.jpg 300w, https://www.albertogonzalez.net/files/2024/05/linksys-MR8300_disconnect_cable-768x485.jpg 768w, https://www.albertogonzalez.net/files/2024/05/linksys-MR8300_disconnect_cable-740x467.jpg 740w, https://www.albertogonzalez.net/files/2024/05/linksys-MR8300_disconnect_cable.jpg 1000w" sizes="(max-width: 300px) 100vw, 300px" /></li>
<li><strong>Factory reset:</strong> Although not strictly necessary, resetting the router to its factory defaults before upgrading isn&#8217;t a bad idea. You can read more about this process on the <a href="https://www.linksys.com/gb/support-article/?articleNum=49114">Linksys website</a>, but it is quite simple: make sure your Linksys MR8300 is plugged in and switched on, then press and hold the reset button on the back of the unit. Do not release the button until the light goes out and then turns bright red.</li>
<li><strong>Log in to the Linksys MR8300 web interface to upload the new firmware:</strong> Connect your computer to the router using an Ethernet cable, then open a web browser to the IP address <code>192.168.1.1</code>. You&#8217;ll probably get a blocking page from our friends at Belkin, asking you to use an app on your phone to configure the router. Seriously, Belkin, who had the terrible idea of requiring us to download an app onto a phone in order to configure a router?<img class="aligncenter size-medium wp-image-5590" src="https://www.albertogonzalez.net/files/2024/05/Blocking_Linksys_App-300x179.png" alt="" width="300" height="179" srcset="https://www.albertogonzalez.net/files/2024/05/Blocking_Linksys_App-300x179.png 300w, https://www.albertogonzalez.net/files/2024/05/Blocking_Linksys_App-768x457.png 768w, https://www.albertogonzalez.net/files/2024/05/Blocking_Linksys_App-1024x609.png 1024w, https://www.albertogonzalez.net/files/2024/05/Blocking_Linksys_App-740x440.png 740w, https://www.albertogonzalez.net/files/2024/05/Blocking_Linksys_App.png 1346w" sizes="(max-width: 300px) 100vw, 300px" /><br />
We can try to get around this restriction by changing the URL on our browser. Edit the last part of the URL, replacing &#8216;<code>velop/blocking.html</code>&#8216; with &#8216;<code>login.html</code>&#8216;. This means that an URL such as <code>http://192.168.1.1:52000/ui/1.0.99.203202/dynamic/velop/blocking.html</code> would end in <code>http://192.168.1.1:52000/ui/1.0.99.203202/dynamic/login.html</code>.If you manage to bypass the blocking page, remember that the Username and Password for logging in is <code>admin</code>If this doesn&#8217;t work, try replacing &#8216;<code>velop/blocking.html</code>&#8216; with &#8216;<code>index.html#casupport</code>&#8216; or, if this does not work either, &#8216;<code>blocking.html</code>&#8216; with &#8216;<code>setup.html</code>&#8216;.If you haven&#8217;t managed to log in yet, all is not lost, we still have a trick up our sleeve. Enter this URL for a direct page to upload a new firmware: <code>https://192.168.1.1/fwupdate.html</code></li>
<li><strong>Upload the OpenWrt firmware:</strong> No matter how we got to the firmware update page, just upload the OpenWrt firmware you downloaded in step one and start the update process.<br />
<img class="aligncenter size-medium wp-image-5592" src="https://www.albertogonzalez.net/files/2024/05/Linksys_Firmware_Update_OpenWrt_22.03.5-300x104.png" alt="" width="300" height="104" srcset="https://www.albertogonzalez.net/files/2024/05/Linksys_Firmware_Update_OpenWrt_22.03.5-300x104.png 300w, https://www.albertogonzalez.net/files/2024/05/Linksys_Firmware_Update_OpenWrt_22.03.5.png 477w" sizes="(max-width: 300px) 100vw, 300px" /><br />
You may see some warnings warning (wrong file name, &#8230;), just continue. Wait about a minute for the router to complete the installation and reboot. Manually browse to <code>http://192.168.1.1/</code> again to enter LuCI web interface. You may need to force your browser to reload the cache.And you have done it, you have installed OpenWrt on the Linksys MR8300. The default username is <code>root</code> with no password.<img class="aligncenter wp-image-5594" src="https://www.albertogonzalez.net/files/2024/05/OpenWrt_Overview_LuCI-300x129.png" alt="" width="800" height="343" srcset="https://www.albertogonzalez.net/files/2024/05/OpenWrt_Overview_LuCI-300x129.png 300w, https://www.albertogonzalez.net/files/2024/05/OpenWrt_Overview_LuCI-768x330.png 768w, https://www.albertogonzalez.net/files/2024/05/OpenWrt_Overview_LuCI-740x318.png 740w, https://www.albertogonzalez.net/files/2024/05/OpenWrt_Overview_LuCI.png 981w" sizes="(max-width: 800px) 100vw, 800px" /></li>
</ol>
<p>&nbsp;</p>
<h3>Advanced Reboot Web UI</h3>
<p>The Linksys MR8300 is a dual partition device, which means each time you install/upgrade the system (from OEM or OpenWrt), it overwrites the other partition, not the active one.</p>
<p>To be able to see both partitions and choose which one we want the router to reboot to, we can install the <a href="https://docs.openwrt.melmac.net/luci-app-advanced-reboot/">Advanced Reboot Web UI package</a>.</p>
<p>To install the package, you must have reconnected the Ethernet cable to the yellow Internet port on the back of the router.</p>
<p>The package can be installed from LuCI by going to <code>System &gt; Software</code>. Click on the <code>Update lists...</code> button, filter the contents by <code>luci-app-advanced-reboot</code> and then click on the <code>Install</code> button.</p>
<p><img class="aligncenter wp-image-5598" src="https://www.albertogonzalez.net/files/2024/05/luci-app-advanced-reboot-300x179.png" alt="" width="800" height="477" srcset="https://www.albertogonzalez.net/files/2024/05/luci-app-advanced-reboot-300x179.png 300w, https://www.albertogonzalez.net/files/2024/05/luci-app-advanced-reboot-768x458.png 768w, https://www.albertogonzalez.net/files/2024/05/luci-app-advanced-reboot-740x441.png 740w, https://www.albertogonzalez.net/files/2024/05/luci-app-advanced-reboot.png 974w" sizes="(max-width: 800px) 100vw, 800px" /></p>
<p>Alternatively, if you prefer, you can connect to your router via ssh and run the following commands:</p>
<pre><code class="language-textile">opkg update
opkg install luci-app-advanced-reboot</code></pre>
<p>Once you&#8217;ve installed the package, you&#8217;ll see a new <code>Advanced Reboot</code> menu item under <code>System</code>.</p>
<p><img class="aligncenter wp-image-5599" src="https://www.albertogonzalez.net/files/2024/05/Advanced_Reboot_Menu-300x94.png" alt="" width="800" height="251" srcset="https://www.albertogonzalez.net/files/2024/05/Advanced_Reboot_Menu-300x94.png 300w, https://www.albertogonzalez.net/files/2024/05/Advanced_Reboot_Menu-768x241.png 768w, https://www.albertogonzalez.net/files/2024/05/Advanced_Reboot_Menu-740x232.png 740w, https://www.albertogonzalez.net/files/2024/05/Advanced_Reboot_Menu.png 974w" sizes="(max-width: 800px) 100vw, 800px" /><br />
Here you can see the firmwares installed in both partitions and choose to reboot in one or the other.</p>
<p><img class="aligncenter wp-image-5600" src="https://www.albertogonzalez.net/files/2024/05/Advanced_Reboot_Partitions-300x126.png" alt="" width="800" height="337" srcset="https://www.albertogonzalez.net/files/2024/05/Advanced_Reboot_Partitions-300x126.png 300w, https://www.albertogonzalez.net/files/2024/05/Advanced_Reboot_Partitions-768x323.png 768w, https://www.albertogonzalez.net/files/2024/05/Advanced_Reboot_Partitions-740x311.png 740w, https://www.albertogonzalez.net/files/2024/05/Advanced_Reboot_Partitions.png 972w" sizes="(max-width: 800px) 100vw, 800px" /></p>
<h3>Changing the kernsize variable value</h3>
<p>Despite its fair amount of flash memory (256MB), the MR8300 has a tiny kernel partition limited to 3MB. This is sufficient to boot Linksys OEM and OpenWrt 22.03 (based on kernel 5.10). Meanwhile this is not enough to boot kernel 5.15 (23.05 and snapshot). There is a workaround for this situation, and it involves changing a bootloader variable. This is only needed once in the lifetime of the device, and can be done easily via SSH. Once the bootloader has been tweaked, the device can boot everything: Linksys OEM, OpenWrt 22.03, 23.05 and snapshot.</p>
<ol>
<li>Access your router via SSH
<pre><code class="language-textile">ssh root@192.168.1.1</code></pre>
</li>
<li>Check your previous bootloader variables
<pre><code class="language-textile">fw_printenv</code></pre>
<p>Look for output similar to <code>kernsize=300000</code>. This is the default 3 MB size of kernel.</li>
<li>Change kernsize value to 500000
<pre><code class="language-textile">fw_setenv kernsize 500000</code></pre>
<p>This will tell the bootloader to read 5 MB (needed for kernel 5.15) instead of 3 MB.<br />
<strong>WARNING : DO NOT type = in this command</strong>, it will soft-brick the bootloader. You will need to access the device with a serial link and restore the kernsize variable from u-boot console.</li>
<li>Check new bootloader variables
<pre><code class="language-textile">fw_printenv</code></pre>
<p>to confirm the change after running. Now you should read <code>kernsize=500000</code>.</li>
<li>Reboot the device<br />
It should boot the current 22.03 just as previously.</li>
</ol>
<p>&nbsp;</p>
<h3>Upgrade to OpenWrt 23.05</h3>
<p>After changing the kernel partition to 5MB it is safe to install OpenWrt 23.05. If you haven&#8217;t done so yet, stop and read the previous section.</p>
<ol>
<li><strong>Download OpenWrt firmware:</strong> Download the <a href="https://downloads.openwrt.org/releases/23.05.3/targets/ipq40xx/generic/openwrt-23.05.3-ipq40xx-generic-linksys_mr8300-squashfs-factory.bin">Factory image</a> to flash OpenWrt firmware v23.05.3 from<br />
<a href="https://firmware-selector.openwrt.org/?version=23.05.3&amp;target=ipq40xx%2Fgeneric&amp;id=linksys_mr8300">https://firmware-selector.openwrt.org/?version=23.05.3&amp;target=ipq40xx%2Fgeneric&amp;id=linksys_mr8300</a><br />
<a href="https://www.albertogonzalez.net/files/2024/05/OpenWrt_Firmware_22.05.3.jpg"><img class="aligncenter wp-image-5604" src="https://www.albertogonzalez.net/files/2024/05/OpenWrt_Firmware_22.05.3-300x184.jpg" alt="" width="600" height="367" srcset="https://www.albertogonzalez.net/files/2024/05/OpenWrt_Firmware_22.05.3-300x184.jpg 300w, https://www.albertogonzalez.net/files/2024/05/OpenWrt_Firmware_22.05.3-768x470.jpg 768w, https://www.albertogonzalez.net/files/2024/05/OpenWrt_Firmware_22.05.3-1024x627.jpg 1024w, https://www.albertogonzalez.net/files/2024/05/OpenWrt_Firmware_22.05.3-740x453.jpg 740w, https://www.albertogonzalez.net/files/2024/05/OpenWrt_Firmware_22.05.3.jpg 1081w" sizes="(max-width: 600px) 100vw, 600px" /></a></li>
<li><strong>Verify the downloaded firmware file:</strong> As before, you should verify the checksum of the downloaded firmware image. In this case is <code>932f7237ae702d0f7928d2a27984c1dcd9f0eccb9f3315d0a5432061f694245e</code></li>
<li><strong>Flash Firmware:</strong> Flash the new OpenWrt firmware from the LuCI web interface in <code>System &gt; Backup / Flash Firmware</code><br />
<a href="https://www.albertogonzalez.net/files/2024/05/Flash_Firmware_Menu.png"><img class="aligncenter wp-image-5608" src="https://www.albertogonzalez.net/files/2024/05/Flash_Firmware_Menu-300x123.png" alt="" width="500" height="205" srcset="https://www.albertogonzalez.net/files/2024/05/Flash_Firmware_Menu-300x123.png 300w, https://www.albertogonzalez.net/files/2024/05/Flash_Firmware_Menu-740x304.png 740w, https://www.albertogonzalez.net/files/2024/05/Flash_Firmware_Menu.png 747w" sizes="(max-width: 500px) 100vw, 500px" /></a><br />
&nbsp;<br />
Click on the <code>Flash image...</code> button and select the firmware file we downloaded in step 1.<br />
<img class="aligncenter wp-image-5610" src="https://www.albertogonzalez.net/files/2024/05/Flash_image_button-300x33.png" alt="" width="800" height="89" srcset="https://www.albertogonzalez.net/files/2024/05/Flash_image_button-300x33.png 300w, https://www.albertogonzalez.net/files/2024/05/Flash_image_button-768x85.png 768w, https://www.albertogonzalez.net/files/2024/05/Flash_image_button-740x82.png 740w, https://www.albertogonzalez.net/files/2024/05/Flash_image_button.png 963w" sizes="(max-width: 800px) 100vw, 800px" /></p>
<p><strong>Uncheck the <code>Keep current settings and retain the current configuration option</code>, as the newer versions have &#8216;DSA&#8217; support, which is incompatible with the previous &#8216;swconfig&#8217; architecture, and will lead to a soft-brick of the router.</strong><br />
Also check the <code>Force upgrade option</code> and then click on the <code>Continue</code> button.<br />
&nbsp;<br />
<img class="aligncenter wp-image-5613" src="https://www.albertogonzalez.net/files/2024/05/OpenWrt_Flash_Firmware-300x237.png" alt="" width="800" height="631" srcset="https://www.albertogonzalez.net/files/2024/05/OpenWrt_Flash_Firmware-300x237.png 300w, https://www.albertogonzalez.net/files/2024/05/OpenWrt_Flash_Firmware-768x606.png 768w, https://www.albertogonzalez.net/files/2024/05/OpenWrt_Flash_Firmware-621x490.png 621w, https://www.albertogonzalez.net/files/2024/05/OpenWrt_Flash_Firmware-740x584.png 740w, https://www.albertogonzalez.net/files/2024/05/OpenWrt_Flash_Firmware.png 968w" sizes="(max-width: 800px) 100vw, 800px" /></li>
<li><strong>Wait for reboot</strong></li>
</ol>
<p>As this is a dual partition device, this OpenWrt v23.05.3 will have been installed on the other partition, overwriting the last stock firmware left in the device.</p>
<p>The Advanced Reboot package will not be installed, so we need to reinstall it as before.</p>
<p>Finally, if you want to get rid of the previous OpenWrt 22.03.5 in the other partition, just flash the same OpenWrt factory image from the freshly installed OpenWrt again.</p>
<div class="su-note" style="border-color:#c1dde3;border-radius:6px;-moz-border-radius:6px;-webkit-border-radius:6px;"><div class="su-note-inner su-clearfix" style="background-color:#d7f6fc;border-color:#f7fdfe;color:#333333;border-radius:6px;-moz-border-radius:6px;-webkit-border-radius:6px;">Note: Since OpenWrt 22.03.3, you can easily restore back Linksys OEM by just flashing the firmware image we saved before if you really need to.</div></div>
]]></content:encoded>
			</item>
		<item>
		<title>20 years in the games industry</title>
		<link>https://www.albertogonzalez.net/20-years-in-the-games-industry/</link>
		<pubDate>Thu, 07 Dec 2023 08:00:19 +0000</pubDate>
		<dc:creator><![CDATA[alberto]]></dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">https://www.albertogonzalez.net/?p=5537</guid>
		<description><![CDATA[It&#8217;s been 20 years since I started working in the games industry. And as someone said before me, it&#8217;s easy to look back and connect the dots that have brought me to where I am today, but my 12-year-old self, playing with an MSX and learning BASIC from the manual that came with the computer, [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s been 20 years since I started working in the games industry. And as someone said before me, it&#8217;s easy to look back and connect the dots that have brought me to where I am today, but my 12-year-old self, playing with an MSX and learning BASIC from the manual that came with the computer, couldn&#8217;t have imagined that I would be here now.</p>
<p><span id="more-5537"></span>For those of you starting out in the industry, I would say enjoy it and learn as much as you can, don&#8217;t neglect your health and don&#8217;t leave your friends and family behind for a job.</p>
<p>Those of you who have been in the industry as long as I have know how difficult it can be at times and how rewarding at others.</p>
<p>To all of you who have shared this journey with me, at one time or another, thank you for being with me on this journey and for the lessons you have taught me, all of which cannot be learned at a university.</p>
<p>I look forward to seeing what the next 20 years will bring.</p>
<hr />
<p>Hace ya 20 años que comencé a trabajar en la industria del videojuego. Y como ya dijo alguien antes que yo, es fácil echar la vista atrás y unir los puntos que me llevaron hasta donde estoy hoy, pero mi yo de 12 años, que jugaba con un MSX y aprendía BASIC con el manual que incluía el ordenador, no podría imaginar que estaría aquí en este momento.</p>
<p>Para los que estéis empezando a trabajar en esta industria os diría que disfrutéis y aprendáis todo cuanto podáis, que no descuidéis vuestra salud ni dejéis de lado a vuestros amigos y familia por un trabajo.</p>
<p>A los que lleváis en esto tanto tiempo como yo, ya sabéis lo difícil que puede ser en ocasiones y lo gratificante en otras.</p>
<p>A todos los que habéis compartido conmigo este camino, en un momento u otro, daros las gracias por acompañarme en este viaje y por las lecciones que me regalasteis, todo eso que no se aprende en una universidad.</p>
<p>Estoy deseando ver lo que nos depararán los próximos 20 años.</p>
]]></content:encoded>
			</item>
		<item>
		<title>WWDC 2020, Day 5</title>
		<link>https://www.albertogonzalez.net/wwdc-2020-day-5/</link>
		<pubDate>Fri, 26 Jun 2020 16:47:59 +0000</pubDate>
		<dc:creator><![CDATA[alberto]]></dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[WWDC]]></category>
		<category><![CDATA[WWDC20]]></category>

		<guid isPermaLink="false">https://www.albertogonzalez.net/?p=5486</guid>
		<description><![CDATA[One more day the number of sessions is overwhelming. There are so many that it&#8217;s hard to choose one. The sessions I have chosen to pay attention to on this third day of conference fall under the categories of Augment Reality, The game developer’s toolkit, Widgets or Swift Playgrounds &#8220;Swan&#8217;s Quest&#8221;. Remember that all session [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>One more day the number of sessions is overwhelming. There are <a href="https://developer.apple.com/news/?id=ejompdmj">so many</a> that it&#8217;s hard to choose one. The sessions I have chosen to pay attention to on this third day of conference fall under the categories of <a href="https://developer.apple.com/news/?id=pwa22b4z">Augment Reality</a>, <a href="https://developer.apple.com/news/?id=v0n9qlqx">The game developer’s toolkit</a>, Widgets or Swift Playgrounds &#8220;Swan&#8217;s Quest&#8221;.</p>
<p>Remember that all session videos are at <a href="https://developer.apple.com/videos/wwdc2020/">https://developer.apple.com/videos/wwdc2020/</a></p>
<p><span id="more-5486"></span></p>
<h3>The artist’s AR toolkit</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/The_artists_AR_toolkit-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5463" srcset="https://www.albertogonzalez.net/files/2020/06/The_artists_AR_toolkit-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/The_artists_AR_toolkit-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/The_artists_AR_toolkit-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/The_artists_AR_toolkit-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is part of the collection <a href="https://developer.apple.com/news/?id=pwa22b4z">Augment reality</a>.</p>
<p><strong>Reality Converter</strong> and <strong>Reality Composer</strong> make preparing augmented reality assets for your iOS or iPadOS app easier than ever. Discover how you can <strong>convert existing 3D assets into USDZ</strong>, <strong>bring them into Reality Composer</strong> to create AR experiences, and integrate with an existing Xcode project or export to <strong>AR Quick Look</strong>. We&#8217;ll detail how to work with assets in a variety of popular 3D formats, build and test your AR scenes, and integrate with your artist&#8217;s workflow. To get the most out of this session, you should be familiar with USDZ and Reality Composer. Watch <a href="https://developer.apple.com/videos/play/wwdc2019/602">“Working with USD”</a> and “Building AR Experiences with Reality Composer” for more. And to get more details about the latest additions to USD for AR, check out <a href="https://developer.apple.com/videos/play/wwdc2020/10613">“What&#8217;s new in USD”</a>.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10601/">The artist’s AR toolkit session video</a><br />
<a href="https://developer.apple.com/augmented-reality/tools/">AR Creation Tools</a><br />
<a href="https://developer.apple.com/augmented-reality/quick-look/">AR Quick Look</a></p>
<h3>Capture and stream apps on the Mac with ReplayKit</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Capture_and_stream_apps_on_the_Mac_with_ReplayKit-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5492" srcset="https://www.albertogonzalez.net/files/2020/06/Capture_and_stream_apps_on_the_Mac_with_ReplayKit-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Capture_and_stream_apps_on_the_Mac_with_ReplayKit-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Capture_and_stream_apps_on_the_Mac_with_ReplayKit-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Capture_and_stream_apps_on_the_Mac_with_ReplayKit-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is part of the collection <a href="https://developer.apple.com/news/?id=v0n9qlqx">The game developer’s toolkit</a>.</p>
<p>Learn how you can integrate <strong>ReplayKit</strong> into your Mac apps and games to easily share screen recordings or broadcast live audio and visuals online. We&#8217;ll show you how to <strong>capture screen content, audio, and microphone input</strong> inside your Mac apps, and even <strong>broadcast</strong> your video to a live audience. For more on getting started with this framework in your app, be sure to see “Live Screen Broadcast with ReplayKit” and <a href="https://developer.apple.com/videos/play/wwdc2017/606">&#8220;What&#8217;s New with Screen Recording and Live Broadcast&#8221;</a> from previous years.</p>
<p><a href="https://developer.apple.com/videos/play/wwdc2020/10633/">Capture and stream apps on the Mac with ReplayKit session video</a><br />
<a href="https://developer.apple.com/documentation/replaykit">ReplayKit Documentation</a><br />
<a href="https://developer.apple.com/documentation/replaykit/recording_and_streaming_your_macos_app">Sample Code: Recording and Streaming Your macOS App</a></p>
<h3>Design great widgets</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Design_great_widgets-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5498" srcset="https://www.albertogonzalez.net/files/2020/06/Design_great_widgets-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Design_great_widgets-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Design_great_widgets-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Design_great_widgets-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>Widgets elevate timely information from your app to primary locations on iPhone, iPad and Mac. Discover the keys to designing glanceable widgets, developing a strong widget idea, and clearly communicating with content, color, sizing, layout, and typography. If you&#8217;d like to learn more about the technical implementation for adding widgets into your app, check out &#8220;Get Started with WidgetKit&#8221; and our <a href="https://developer.apple.com/news/?id=yv6so7ie">three-part code-along series</a>.</p>
<p><a href="https://developer.apple.com/videos/play/wwdc2020/10103/">Design great widgets session video</a><br />
<a href="https://developer.apple.com/documentation/widgetkit/building_widgets_using_widgetkit_and_swiftui">Sample Code: Building Widgets Using WidgetKit and SwiftUI</a><br />
<a href="https://developer.apple.com/design/human-interface-guidelines/ios/system-capabilities/widgets">Widgets Human Interface Guidelines</a><br />
<a href="https://developer.apple.com/tutorials/swiftui">Introducing SwiftUI Tutorial</a><br />
<a href="https://developer.apple.com/documentation/swiftui">SwiftUI Documentation</a></p>
<h3>Become a Simulator expert</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Become_a_Simulator_expert-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5501" srcset="https://www.albertogonzalez.net/files/2020/06/Become_a_Simulator_expert-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Become_a_Simulator_expert-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Become_a_Simulator_expert-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Become_a_Simulator_expert-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>Simulator runs your iOS, iPadOS, tvOS, or watchOS apps directly on your Mac — no separate device required. We&#8217;ll give you a tour of the app&#8217;s latest tools and features and show you how to sharpen your Simulator skills. Discover how to test pointer and trackpad support, adjust Simulator preferences, and use command line tools like <strong>simctl</strong> to help you simulate push notifications in a development environment. While you can get a quick overview of Simulator in this session, for more detailed information about the tool you may want to refresh yourself on <a href="https://developer.apple.com/videos/play/wwdc2019/418">“Getting the Most Out of Simulator”</a> from WWDC19.</p>
<p><a href="https://developer.apple.com/videos/play/wwdc2020/10647/">Become a Simulator expert session video</a></p>
<h3>SF Symbols 2</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/SF_Symbols_2-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5505" srcset="https://www.albertogonzalez.net/files/2020/06/SF_Symbols_2-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/SF_Symbols_2-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/SF_Symbols_2-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/SF_Symbols_2-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>SF Symbols make it easy to adopt high-quality, Apple-designed symbols created to look great with San Francisco, the system font for all Apple platforms. Discover how you can use SF Symbols in AppKit, UIKit, and SwiftUI. Learn how to work with SF Symbols in common design tools and how to use them in code. And we&#8217;ll walk you through the latest updates, including additions to the repertoire, alignment improvements, changes with right-to-left localization, and multicolor symbols. This session focuses on the latest features in SF Symbols 2. While not required, we recommend watching <a href="https://developer.apple.com/videos/play/wwdc2019/206">&#8220;Introducing SF Symbols&#8221;</a> from WWDC19. If you&#8217;re planning to incorporate symbol assets into SwiftUI, you may also benefit from watching <a href="https://developer.apple.com/videos/play/wwdc2019/237">&#8220;Building Custom Views with SwiftUI&#8221;</a>.</p>
<p><a href="https://developer.apple.com/videos/play/wwdc2020/10207/">SF Symbols 2 session video</a><br />
<a href="https://developer.apple.com/design/human-interface-guidelines/sf-symbols/overview/">SF Symbols Human Interface Guidelines</a><br />
<a href="https://developer.apple.com/documentation/uikit/uiimage/creating_custom_symbol_images_for_your_app">Article: Creating Custom Symbol Images for Your App</a><br />
<a href="https://developer.apple.com/design/downloads/SF-Symbols-2.dmg">SF Symbols 2 App</a><br />
<a href="https://developer.apple.com/design/downloads/SF-Symbols.dmg">SF Symbols App</a></p>
<h3>Swan&#8217;s Quest, Chapter 4: The sequence completes</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Swans_Quest_Chapter_4-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5503" srcset="https://www.albertogonzalez.net/files/2020/06/Swans_Quest_Chapter_4-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Swans_Quest_Chapter_4-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Swans_Quest_Chapter_4-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Swans_Quest_Chapter_4-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>Swift Playgrounds presents &#8220;Swan&#8217;s Quest,” an interactive adventure in four chapters for all ages. It&#8217;s time for the grand finale: You&#8217;ve honed your skills with tones, but in this chapter our Hero needs to sequence multi-part harmony. Discover <strong>how to play pitched instruments with MIDI codes</strong>, and you just might help our Hero find the rhythm… and complete their quest. Swan&#8217;s Quest was created for Swift Playgrounds on iPad and Mac, combining frameworks and resources which power the educational experiences in many of our playgrounds, including Sonic Workshop, Sensor Arcade, and Augmented Reality. To learn more about building your own playgrounds, be sure to watch <a href="https://developer.apple.com/videos/play/wwdc2020/10654">&#8220;Create Swift Playgrounds content for iPad and Mac&#8221;</a>.</p>
<p><a href="https://developer.apple.com/videos/play/wwdc2020/10684/">Swan&#8217;s Quest, Chapter 4: The sequence completes session video</a><br />
<a href="https://developer.apple.com/sample-code/swift/swans-quest/quest-create.zip">Quest Create playground book</a><br />
<a href="https://developer.apple.com/sample-code/swift/swans-quest/the-sequence-completes.zip">Swan&#8217;s Quest: The sequence completes playground book</a></p>
<h3>What&#8217;s new in Universal Links</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Whats_new_in_Universal_Links-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5510" srcset="https://www.albertogonzalez.net/files/2020/06/Whats_new_in_Universal_Links-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Whats_new_in_Universal_Links-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Whats_new_in_Universal_Links-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Whats_new_in_Universal_Links-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>Universal Links help people access your content, whether or not they have your app installed. Get the details on the latest updates for the Universal Links API, including support for <strong>Apple Watch</strong> and <strong>SwiftUI</strong>. Learn how you can reduce the size and complexity of your app-site-association file with enhanced pattern matching features like <strong>wildcards</strong>, <strong>substitution variables</strong>, and <strong>Unicode support</strong>. And discover how cached associated domains data will improve the initial launch experience for people using your app.</p>
<p><a href="https://developer.apple.com/videos/play/wwdc2020/10098/">What&#8217;s new in Universal Links session video</a><br />
<a href="https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content">Article: Allowing Apps and Websites to Link to Your Content</a><br />
<a href="https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/handling_universal_links">Article: Handling Universal Links</a><br />
<a href="https://developer.apple.com/videos/play/wwdc2019/717">What&#8217;s New in Universal Links WWDC19 session</a></p>
<p><a href="https://developer.apple.com/videos/play/wwdc2020/10695/"><img src="https://www.albertogonzalez.net/files/2020/06/wwdc20_day5-1024x572.jpeg" alt="" width="1024" height="572" class="aligncenter size-large wp-image-5517" srcset="https://www.albertogonzalez.net/files/2020/06/wwdc20_day5.jpeg 1024w, https://www.albertogonzalez.net/files/2020/06/wwdc20_day5-300x168.jpeg 300w, https://www.albertogonzalez.net/files/2020/06/wwdc20_day5-768x429.jpeg 768w, https://www.albertogonzalez.net/files/2020/06/wwdc20_day5-740x413.jpeg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>
<p>Here’s a <a href="https://developer.apple.com/videos/play/wwdc2020/10695/">short video recap of the day.</a></p>
]]></content:encoded>
			</item>
		<item>
		<title>WWDC 2020, Day 4</title>
		<link>https://www.albertogonzalez.net/wwdc-2020-day-4/</link>
		<pubDate>Thu, 25 Jun 2020 12:12:36 +0000</pubDate>
		<dc:creator><![CDATA[alberto]]></dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[WWDC]]></category>
		<category><![CDATA[WWDC20]]></category>

		<guid isPermaLink="false">https://www.albertogonzalez.net/?p=5445</guid>
		<description><![CDATA[One more day the number of sessions is overwhelming. There are so many that it&#8217;s hard to choose one. The sessions I have chosen to pay attention to on this third day of conference fall under the categories of The game developer’s toolkit, Augment Reality, What&#8217;s new in Machine Learning and Computer Vision or Swift [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>One more day the number of sessions is overwhelming. There are <a href="https://developer.apple.com/news/?id=ls3g7su1">so many</a> that it&#8217;s hard to choose one. The sessions I have chosen to pay attention to on this third day of conference fall under the categories of <a href="https://developer.apple.com/news/?id=v0n9qlqx">The game developer’s toolkit</a>, <a href="https://developer.apple.com/news/?id=pwa22b4z">Augment Reality</a>, <a href="https://developer.apple.com/news/?id=b7gg4gdx">What&#8217;s new in Machine Learning and Computer Vision</a> or Swift Playgrounds &#8220;Swan&#8217;s Quest&#8221;.</p>
<p>Remember that all session videos are at <a href="https://developer.apple.com/videos/wwdc2020/">https://developer.apple.com/videos/wwdc2020/</a></p>
<p><span id="more-5445"></span></p>
<h3>Bring keyboard and mouse gaming to iPad</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Bring_keyboard_and_mouse_gaming_to_iPad-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5454" srcset="https://www.albertogonzalez.net/files/2020/06/Bring_keyboard_and_mouse_gaming_to_iPad-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Bring_keyboard_and_mouse_gaming_to_iPad-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Bring_keyboard_and_mouse_gaming_to_iPad-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Bring_keyboard_and_mouse_gaming_to_iPad-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is part of the collection <a href="https://developer.apple.com/news/?id=v0n9qlqx">The game developer’s toolkit</a>.</p>
<p>Level up your iPad games and add in keyboard, mouse, and trackpad controls. Discover how to use the Game Controller framework to augment your existing titles, bring over games from other platforms, or dream up entirely new interaction experiences. Learn how to integrate keyboard and “delta” mouse coordinate events for player motion, and disable pointer system gestures like the Dock or Control Center to take full advantage of full screen gameplay.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10617/">Bring keyboard and mouse gaming to iPad session video</a><br />
<a href="https://developer.apple.com/documentation/gamecontroller">Game Controller Documentation</a></p>
<h3>Support performance-intensive apps and games</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Support_performance-intensive_apps_and_games-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5455" srcset="https://www.albertogonzalez.net/files/2020/06/Support_performance-intensive_apps_and_games-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Support_performance-intensive_apps_and_games-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Support_performance-intensive_apps_and_games-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Support_performance-intensive_apps_and_games-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is part of the collection <a href="https://developer.apple.com/news/?id=v0n9qlqx">The game developer’s toolkit</a>.</p>
<p>iOS and iPadOS provide powerful capabilities to help developers deliver breakthrough apps and games across all device generations. In certain instances, however, demanding apps with exceptional performance requirements may only be able to provide the best experience on devices with an <strong>A12 Bionic chip or higher</strong>. With Xcode 12, developers can now enable a <strong>setting for performance-intensive apps and games</strong> to indicate this requirement. We&#8217;ll walk you through the narrow circumstances for when to apply this setting and the app distribution trade-offs that must be carefully considered. Before selecting this approach, you should have deep experience in optimizing your apps.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10621/">Support performance-intensive apps and games session video</a></p>
<h3>What&#8217;s new in USD</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Whats_new_in_USD-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5458" srcset="https://www.albertogonzalez.net/files/2020/06/Whats_new_in_USD-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Whats_new_in_USD-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Whats_new_in_USD-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Whats_new_in_USD-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is part of the collection <a href="https://developer.apple.com/news/?id=pwa22b4z">Augment reality</a>.</p>
<p>Discover proposed schema and structure updates to the <strong>Universal Scene Description (USD)</strong> standard. Learn how you can use <strong>Reality Composer to build AR content</strong> with interactive properties like anchoring, physics, behaviors, 3D text, and spatial audio that exports to <strong>USDZ</strong>. And, discover streamlined workflows that help you bring newly-created objects into your app. If you&#8217;re interested to learn more about USDZ as a distribution format, check out <a href="https://developer.apple.com/videos/play/wwdc2019/602">“Working with USD”</a> And for more on creating AR content with Reality Composer, watch <a href="https://developer.apple.com/videos/play/wwdc2020/10601">“The Artist&#8217;s AR Toolkit”</a> </p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10613/">What&#8217;s new in USD session video</a><br />
<a href="https://developer.apple.com/videos/play/wwdc2019/602">Working with USD WWDC19 session</a><br />
<a href="https://developer.apple.com/augmented-reality/reality-composer/">Reality Composer</a><br />
<a href="https://apps.apple.com/app/reality-composer/id1462358802">Reality Composer App</a><br />
<a href="https://developer.apple.com/documentation/realitykit/creating_3d_content_with_reality_composer">Article: Creating 3D Content with Reality Composer</a><br />
<a href="https://developer.apple.com/documentation/realitykit">RealityKit Documentation</a><br />
<a href="https://developer.apple.com/services-account/download?path=/Applications/Reality_Converter/Reality_Converter_Beta.dmg">Download Reality Converter beta</a><br />
<a href="https://developer.apple.com/augmented-reality/quick-look/">AR Quick Look: View example 3D models using USDZ</a></p>
<h3>Explore the Action &#038; Vision app</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Explore_the_Action_Vision_app-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5469" srcset="https://www.albertogonzalez.net/files/2020/06/Explore_the_Action_Vision_app-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Explore_the_Action_Vision_app-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Explore_the_Action_Vision_app-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Explore_the_Action_Vision_app-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>It&#8217;s now easy to create an app for fitness or sports coaching that takes advantage of machine learning — and to prove it, we built our own. Learn how we designed the Action &#038; Vision app using <strong>Object Detection</strong> and <strong>Action Classification</strong> in <strong>Create ML</strong> along with the new <strong>Body Pose Estimation</strong>, <strong>Trajectory Detection</strong>, and <strong>Contour Detection</strong> features in the <strong>Vision framework</strong>. Explore how you can create an immersive application for gameplay or training from setup to analysis and feedback. And follow along in Xcode with a full sample project. To get the most out of this session, you should have familiarity with the Vision framework and Create ML&#8217;s Action Classifier tools. To learn more, we recommend watching <a href="https://developer.apple.com/videos/play/wwdc2020/10043">“Build an Action Classifier with Create ML”</a>, <a href="https://developer.apple.com/videos/play/wwdc2020/10673">“Explore Computer Vision APIs”</a>, and <a href="https://developer.apple.com/videos/play/wwdc2020/10653">“Detect Body and Hand Pose with Vision”</a>. We also recommend exploring the Action &#038; Vision sample project to learn more about adopting these technologies.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10099/">Explore the Action &#038; Vision app session video</a><br />
<a href="https://developer.apple.com/documentation/vision/building_a_feature-rich_app_for_sports_analysis">Sample Code: Building a Feature-Rich App for Sports Analysis</a><br />
<a href="https://developer.apple.com/sample-code/ml/sample-mov.zip">Sample video for Action &#038; Vision app</a><br />
<a href="https://developer.apple.com/documentation/createml">Create ML Documentation</a><br />
<a href="https://developer.apple.com/documentation/vision">Vision Documentation</a></p>
<h3>Swan&#8217;s Quest, Chapter 3: The notable scroll</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Swans_Quest_Chapter_3-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5464" srcset="https://www.albertogonzalez.net/files/2020/06/Swans_Quest_Chapter_3-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Swans_Quest_Chapter_3-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Swans_Quest_Chapter_3-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Swans_Quest_Chapter_3-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>Swift Playgrounds presents &#8220;Swan&#8217;s Quest,” an interactive adventure in four chapters for all ages. Calling all musicians! In this chapter, our Hero has found a mysterious scroll of music, and only you can help decode it. (Don&#8217;t worry if you can&#8217;t read music, our clever Lizard is standing by to assist. It&#8217;s sure to be a note-worthy experience.) By learning a little theory, and mastering time to create tones of different lengths, you just might help our Hero face the music… and move onto the next part of their quest. Swan&#8217;s Quest was created for Swift Playgrounds on iPad and Mac, combining frameworks and resources which power the educational experiences in many of our playgrounds, including Sonic Workshop, Sensor Arcade, and Augmented Reality. To learn more about building your own playgrounds, be sure to watch <a href="https://developer.apple.com/videos/play/wwdc2020/10654">&#8220;Create Swift Playgrounds content for iPad and Mac&#8221;</a>.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10683/">Swan&#8217;s Quest, Chapter 3: The notable scroll session video</a><br />
<a href="https://developer.apple.com/sample-code/swift/swans-quest/quest-create.zip">Quest Create playground book</a><br />
<a href="https://developer.apple.com/sample-code/swift/swans-quest/the-notable-scroll.zip">Swan&#8217;s Quest: The notable scroll playground book</a></p>
<h3>Create Swift Playgrounds content for iPad and Mac</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Create_Swift_Playgrounds_content_for_iPad_and_Mac-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5467" srcset="https://www.albertogonzalez.net/files/2020/06/Create_Swift_Playgrounds_content_for_iPad_and_Mac-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Create_Swift_Playgrounds_content_for_iPad_and_Mac-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Create_Swift_Playgrounds_content_for_iPad_and_Mac-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Create_Swift_Playgrounds_content_for_iPad_and_Mac-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>Learn how to create Swift Playgrounds books that work fluidly across both Mac and iPad and help people of all ages explore the fun of coding in Swift. We&#8217;ll walk you through how to customize content for each platform while considering platform settings, and help you take advantage of them in your playgrounds while still providing a smooth cross-platform experience. For more on Swift Playgrounds, check out <a href="https://developer.apple.com/videos/play/wwdc2020/10643">&#8220;Build a SwiftUI view in Swift Playgrounds&#8221;</a>.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10654/">Create Swift Playgrounds content for iPad and Mac session video</a><br />
<a href="https://developer.apple.com/documentation/swift_playgrounds/exploring_content_creation_in_swift_playgrounds">Sample Code: Exploring Content Creation in Swift Playgrounds</a></p>
<h3>What&#8217;s new in Core NFC</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Whats_new_in_Core_NFC-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5474" srcset="https://www.albertogonzalez.net/files/2020/06/Whats_new_in_Core_NFC-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Whats_new_in_Core_NFC-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Whats_new_in_Core_NFC-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Whats_new_in_Core_NFC-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>Core NFC helps you scan and write to NFC tags in your apps, helping people get more from objects like parking meters, scooter rentals, car charging stations, and more. Learn about Core NFC&#8217;s support for the ISO15693 protocol and new tag capabilities, and find out more about syntax improvements for Swift.</p>
<p><a href="https://developer.apple.com/videos/play/wwdc2020/10209/">What&#8217;s new in Core NFC session video</a><br />
<a href="https://developer.apple.com/documentation/corenfc/creating_nfc_tags_from_your_iphone">Sample Code: Creating NFC Tags from Your iPhone</a><br />
<a href="https://developer.apple.com/videos/play/wwdc2019/715">Core NFC Enhancements WWDC19 Session</a></p>
<p><a href="https://developer.apple.com/videos/play/wwdc2020/10694/"><img src="https://www.albertogonzalez.net/files/2020/06/wwdc20_day4-1024x572.jpeg" alt="" width="1024" height="572" class="aligncenter size-large wp-image-5478" srcset="https://www.albertogonzalez.net/files/2020/06/wwdc20_day4.jpeg 1024w, https://www.albertogonzalez.net/files/2020/06/wwdc20_day4-300x168.jpeg 300w, https://www.albertogonzalez.net/files/2020/06/wwdc20_day4-768x429.jpeg 768w, https://www.albertogonzalez.net/files/2020/06/wwdc20_day4-740x413.jpeg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>
<p>Here’s a <a href="https://developer.apple.com/videos/play/wwdc2020/10694/">short video recap of the day.</a></p>
]]></content:encoded>
			</item>
		<item>
		<title>WWDC 2020, Day 3</title>
		<link>https://www.albertogonzalez.net/wwdc-2020-day-3/</link>
		<pubDate>Wed, 24 Jun 2020 12:49:01 +0000</pubDate>
		<dc:creator><![CDATA[alberto]]></dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Computer Vision]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[WWDC]]></category>
		<category><![CDATA[WWDC20]]></category>

		<guid isPermaLink="false">https://www.albertogonzalez.net/?p=5404</guid>
		<description><![CDATA[One more day the number of sessions is overwhelming. There are so many that it&#8217;s hard to choose one. The sessions I have chosen to pay attention to on this third day of conference fall under the categories of Apple Silicon, The game developer’s toolkit, What&#8217;s new in Machine Learning and Computer Vision, Design for [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>One more day the number of sessions is overwhelming. There are <a href="https://developer.apple.com/news/?id=losqp2ev">so many</a> that it&#8217;s hard to choose one. The sessions I have chosen to pay attention to on this third day of conference fall under the categories of <a href="https://developer.apple.com/news/?id=ywv74y7m">Apple Silicon</a>, <a href="https://developer.apple.com/news/?id=v0n9qlqx">The game developer’s toolkit</a>, <a href="https://developer.apple.com/news/?id=b7gg4gdx">What&#8217;s new in Machine Learning and Computer Vision</a>, <a href="https://developer.apple.com/news/?id=mb3c4r4r">Design for intelligence</a>, <a href="https://developer.apple.com/news/?id=dsd023qd">App Clips</a>, <a href="https://developer.apple.com/news/?id=yv6so7ie">Widgets code-along</a> or Swift Playgrounds &#8220;Swan&#8217;s Quest&#8221;.</p>
<p>Remember that all session videos are at <a href="https://developer.apple.com/videos/wwdc2020/">https://developer.apple.com/videos/wwdc2020/</a></p>
<p><span id="more-5404"></span></p>
<h3>Explore the new system architecture of Apple Silicon Macs</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Explore_the_new_system_architecture_of_Apple_Silicon_Macs-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5415" srcset="https://www.albertogonzalez.net/files/2020/06/Explore_the_new_system_architecture_of_Apple_Silicon_Macs-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Explore_the_new_system_architecture_of_Apple_Silicon_Macs-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Explore_the_new_system_architecture_of_Apple_Silicon_Macs-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Explore_the_new_system_architecture_of_Apple_Silicon_Macs-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is part of the collection <a href="https://developer.apple.com/news/?id=ywv74y7m">Apple Silicon and the Mac</a>.</p>
<p>Discover how Macs with Apple Silicon will deliver modern advantages using Apple&#8217;s System-on-Chip (SoC) architecture. Leveraging a unified memory architecture for CPU and GPU tasks, Mac apps will see amazing performance benefits from Apple Silicon tuned frameworks such as Metal and Accelerate. Learn about new features and changes coming to boot and security, and how these may affect your applications.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10686/">Explore the new system architecture of Apple Silicon Macs session video</a></p>
<h3>Tap into Game Center: Dashboard, Access Point, and Profile</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Tap_into_Game_Center_Dashboard_Access_Point_and_Profile-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5438" srcset="https://www.albertogonzalez.net/files/2020/06/Tap_into_Game_Center_Dashboard_Access_Point_and_Profile-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Tap_into_Game_Center_Dashboard_Access_Point_and_Profile-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Tap_into_Game_Center_Dashboard_Access_Point_and_Profile-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Tap_into_Game_Center_Dashboard_Access_Point_and_Profile-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is part of the collection <a href="https://developer.apple.com/news/?id=v0n9qlqx">The game developer’s toolkit</a>.</p>
<p>Apple&#8217;s social gaming network is ready to play. We&#8217;ll walk you through the latest updates to Game Center, starting with its in-game interface and all-new player experience. Learn how to integrate GameKit into your app and authenticate players effectively, and discover the <strong>Access Point</strong>, which brings players into the in-game dashboard. From there, we&#8217;ll explore <strong>player profiles</strong> and their options for privacy.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10618/">Tap into Game Center: Dashboard, Access Point, and Profile session video</a><br />
<a href="https://developer.apple.com/design/human-interface-guidelines/game-center/overview/introduction/">Game Center Human Interface Guidelines</a></p>
<h3>Tap into Game Center: Leaderboards, Achievements, and Multiplayer</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Tap_into_Game_Center_Leaderboards_Achievements_and_Multiplayer-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5441" srcset="https://www.albertogonzalez.net/files/2020/06/Tap_into_Game_Center_Leaderboards_Achievements_and_Multiplayer-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Tap_into_Game_Center_Leaderboards_Achievements_and_Multiplayer-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Tap_into_Game_Center_Leaderboards_Achievements_and_Multiplayer-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Tap_into_Game_Center_Leaderboards_Achievements_and_Multiplayer-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is part of the collection <a href="https://developer.apple.com/news/?id=v0n9qlqx">The game developer’s toolkit</a>.</p>
<p>Level up your Game Center integration and enable players to compare scores on <strong>leaderboards</strong>, earn valuable <strong>achievements</strong>, and engage with other players. Organize special events like weekly championships, daily showdowns, or 1-hour competitions using recurring leaderboards. Create up to 100 unique achievements for your game. And we&#8217;ll show you how to <strong>set up real-time or turn-based multiplayer matches</strong> for your Game Center players.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10619/">Tap into Game Center: Leaderboards, Achievements, and Multiplayer session video</a><br />
<a href="https://developer.apple.com/design/human-interface-guidelines/game-center/overview/introduction/">Game Center Human Interface Guidelines</a></p>
<h3>Design for Game Center</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Design_for_Game_Center-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5418" srcset="https://www.albertogonzalez.net/files/2020/06/Design_for_Game_Center-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Design_for_Game_Center-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Design_for_Game_Center-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Design_for_Game_Center-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is part of the collection <a href="https://developer.apple.com/news/?id=v0n9qlqx">The game developer’s toolkit</a>.</p>
<p>Get your game&#8217;s interface ready for Game Center. We&#8217;ll show you how to deliver personalized touches to the GameKit interface that provide a rich experience for players, with features like achievements, leaderboards, and multiplayer gaming. Learn how to customize your game&#8217;s access point, design collectible card-style achievements and multiple leaderboards, and adapt your interface for all platforms and orientations. Once you&#8217;ve learned about designing for Game Center, learn how to integrate the GameKit framework into your game with <a href="https://developer.apple.com/videos/play/wwdc2020/10618">“Tap into Game Center”</a> and watch <a href="https://developer.apple.com/videos/play/wwdc2020/10617">“Bring keyboard and mouse gaming to iPad”</a> and <a href="https://developer.apple.com/videos/play/wwdc2020/10614">“Advancements in Game Controllers”</a> to discover how to add specialty keyboard controls or game controllers.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10145/">Design for Game Center session video</a><br />
<a href="https://developer.apple.com/design/human-interface-guidelines/game-center/overview/introduction/">Game Center Human Interface Guidelines</a></p>
<h3>Advancements in Game Controllers</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Advancements_in_Game_Controllers-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5448" srcset="https://www.albertogonzalez.net/files/2020/06/Advancements_in_Game_Controllers-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Advancements_in_Game_Controllers-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Advancements_in_Game_Controllers-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Advancements_in_Game_Controllers-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is part of the collection <a href="https://developer.apple.com/news/?id=v0n9qlqx">The game developer’s toolkit</a>.</p>
<p>Let&#8217;s rumble! Discover how you can bring <strong>third-party game controllers</strong> and <strong>custom haptics</strong> into your games on iPhone, iPad, Mac, and Apple TV. We&#8217;ll show you how to add support for the latest controllers — including <strong>Xbox&#8217;s Elite Wireless Controller Series 2</strong> and <strong>Adaptive Controller</strong> — and map your game&#8217;s controls accordingly. Learn how you can use the Game Controller framework in tandem with <strong>Core Haptics</strong> to enable <strong>rumble feedback</strong>. And find out how you can take your gaming experience to the next level with <strong>custom button mapping</strong>, nonstandard inputs, and control over specialty features like <strong>motion sensors</strong>, <strong>lights</strong>, and battery level. To get the most out of this session, you should be familiar with the Game Controller framework. Check the <a href="https://developer.apple.com/documentation/gamecontroller">documentation</a> for a primer. And if you build games for iPad, be sure to check out <a href="https://developer.apple.com/videos/play/wwdc2020/10617">&#8220;Bring keyboard and mouse gaming to iPad”</a> for a guide on integrating keyboard, mouse, and trackpad inputs into your experience.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10614/">Advancements in Game Controllers session video</a><br />
<a href="https://developer.apple.com/documentation/gamecontroller">Game Controller Documentation</a><br />
<a href="https://developer.apple.com/documentation/corehaptics/playing_haptics_on_game_controllers">Sample Code: Playing Haptics on Game Controllers</a></p>
<h3>Explore Computer Vision APIs</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Explore_Computer_Vision_APIs-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5523" srcset="https://www.albertogonzalez.net/files/2020/06/Explore_Computer_Vision_APIs-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Explore_Computer_Vision_APIs-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Explore_Computer_Vision_APIs-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Explore_Computer_Vision_APIs-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is part of the collection <a href="https://developer.apple.com/news/?id=b7gg4gdx">What&#8217;s new in Machine Learning and Computer Vision</a>.</p>
<p>Learn how to bring Computer Vision intelligence to your app when you combine the power of <strong>Core Image</strong>, <strong>Vision</strong>, and <strong>Core ML</strong>. Go beyond machine learning alone and gain a deeper understanding of images and video. Discover new APIs in Core Image and Vision to bring Computer Vision to your application like new <strong>thresholding filters</strong> as well as <strong>Contour Detection</strong> and <strong>Optical Flow</strong>. And consider ways to use Core Image for pre-processsing and visualization of these results. To learn more about the underlying frameworks see <a href="https://developer.apple.com/videos/play/wwdc2017/506">&#8220;Vision Framework: Building on Core ML&#8221;</a> and &#8220;Core Image: Performance, Prototyping, and Python&#8221;. And to further explore Computer Vision APIs, be sure to check out the <a href="https://developer.apple.com/videos/play/wwdc2020/10653">&#8220;Detect Body and Hand Pose with Vision&#8221;</a> and <a href="https://developer.apple.com/videos/play/wwdc2020/10099">&#8220;Explore the Action &#038; Vision app&#8221;</a> sessions.</p>
<p><a href="https://developer.apple.com/videos/play/wwdc2020/10673/">Explore Computer Vision APIs session video</a><br />
<a href="https://developer.apple.com/documentation/vision">Vision Documentation</a></p>
<h3>Design for intelligence: Apps, evolved</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/07/Design_for_intelligence_Apps_evolved-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5526" srcset="https://www.albertogonzalez.net/files/2020/07/Design_for_intelligence_Apps_evolved-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/07/Design_for_intelligence_Apps_evolved-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/07/Design_for_intelligence_Apps_evolved-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/07/Design_for_intelligence_Apps_evolved-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is part of the collection <a href="https://developer.apple.com/news/?id=mb3c4r4r">Design for intelligence</a>.</p>
<p>Intelligence is a core part of building a great modern app. App extensions, Siri suggestions, voice, widgets, app clips — we&#8217;ve designed all of these features to help make everyday tasks easier for people who use our platforms. Learn about the origins of the intelligent system experience, and find out how integrating intelligently with the system can help make your app more convenient, relevant, and intuitive, making your features the focus.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10086/">Design for intelligence: Apps, evolved session video</a></p>
<h3>Design great app clips</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Design_great_app_clips-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5422" srcset="https://www.albertogonzalez.net/files/2020/06/Design_great_app_clips-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Design_great_app_clips-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Design_great_app_clips-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Design_great_app_clips-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is part of the collection <a href="https://developer.apple.com/news/?id=dsd023qd">App Clips</a>.</p>
<p>App clips offer fast, convenient ways for people to perform everyday tasks without needing to download or navigate your full app. We&#8217;ll show you how to identify key elements from your iOS app that make up a great app clip, design a smooth flow, work with notifications, and provide messaging guidance when encouraging people to download your full app.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10172/">Design great app clips session video</a><br />
<a href="https://developer.apple.com/documentation/app_clips/developing_a_great_app_clip">Article: Developing a Great App Clip</a><br />
<a href="https://developer.apple.com/design/human-interface-guidelines/app-clips/overview/">App Clips Human Interface Guidelines</a></p>
<h3>Widgets Code-along, part 1: The adventure begins</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Widgets_Code-along_part_1-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5429" srcset="https://www.albertogonzalez.net/files/2020/06/Widgets_Code-along_part_1-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Widgets_Code-along_part_1-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Widgets_Code-along_part_1-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Widgets_Code-along_part_1-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is part of the collection <a href="https://developer.apple.com/news/?id=yv6so7ie">Widgets code-along</a>.</p>
<p>Take your app on a most wondrous adventure to the home and Today screens of iPhone, iPad, and Mac. Grab the starter project and code along with us! We will guide you through the process of creating a widget for your app from start to finish so that you can provide people with beautiful views and glanceable information in an easily-accessible place. Discover how to create a widget project, learn fundamental concepts for widgets and their structure, configure the widget and its provider, and start exploring timeline concepts. Once you&#8217;re finished, travel onward with us to part two of the Widgets Code-along where we&#8217;ll learn more about timelines, system intelligence, and configuration.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10034/">Widgets Code-along, part 1: The adventure begins session video</a><br />
<a href="https://developer.apple.com/documentation/widgetkit/building_widgets_using_widgetkit_and_swiftui">Sample Code: Building Widgets Using WidgetKit and SwiftUI</a></p>
<h3>Widgets Code-along, part 2: Alternate timelines</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Widgets_Code-along_part_2-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5430" srcset="https://www.albertogonzalez.net/files/2020/06/Widgets_Code-along_part_2-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Widgets_Code-along_part_2-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Widgets_Code-along_part_2-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Widgets_Code-along_part_2-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is part of the collection <a href="https://developer.apple.com/news/?id=yv6so7ie">Widgets code-along</a>.</p>
<p>Our code-along continues as we help our widget rewrite the future and travel into an alternate timeline. Continue where you left off from Part 1, or traverse time and space and begin with the Part 2 starter project to jump right into the action. Find out how you can integrate system intelligence into your widgets to help them dynamically change at different points during the day and surface the most relevant information. Explore core timeline concepts, support multiple widget families, and learn how to make your widget configurable. Once you&#8217;ve helped your widget find its place in time, move on to the third and final part of the Widgets Code-along to discover advanced widget concepts and timelines.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10035/">Widgets Code-along, part 2: Alternate timelines session video</a><br />
<a href="https://developer.apple.com/documentation/widgetkit/building_widgets_using_widgetkit_and_swiftui">Sample Code: Building Widgets Using WidgetKit and SwiftUI</a></p>
<h3>Widgets Code-along, part 3: Advancing timelines</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Widgets_Code-along_part_3-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5431" srcset="https://www.albertogonzalez.net/files/2020/06/Widgets_Code-along_part_3-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Widgets_Code-along_part_3-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Widgets_Code-along_part_3-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Widgets_Code-along_part_3-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is part of the collection <a href="https://developer.apple.com/news/?id=yv6so7ie">Widgets code-along</a>.</p>
<p>Take your widget to the next level as we embark upon the third and final stage of the widgets code-along. Pick up where you left off in Part 2 or start with the Part 3 starter project to go warp speed ahead. We&#8217;ll explore advanced concepts for widgets, timelines, and configuration. Learn how to load in-process and background URLs and link directly to content within your app. And discover how to create multiple widgets that explore different features within your app, as well as making your widget dynamically configurable. For more on creating great widgets, watch &#8220;Build SwiftUI views for widgets”.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10036/">Widgets Code-along, part 3: Advancing timelines session video</a><br />
<a href="https://developer.apple.com/documentation/widgetkit/building_widgets_using_widgetkit_and_swiftui">Sample Code: Building Widgets Using WidgetKit and SwiftUI</a></p>
<h3>Swan&#8217;s Quest, Chapter 2: A time for tones</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Swans_Quest_Chapter_2-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5426" srcset="https://www.albertogonzalez.net/files/2020/06/Swans_Quest_Chapter_2-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Swans_Quest_Chapter_2-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Swans_Quest_Chapter_2-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Swans_Quest_Chapter_2-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>Swift Playgrounds presents &#8220;Swan&#8217;s Quest,” an interactive adventure in four chapters for all ages. In this chapter, our Hero needs your help decoding the Swan&#8217;s scroll. Call forth the best of your audio abilities on this one — you&#8217;re going to need them. Discover how to <strong>convert Swift Playgrounds into a tone generator</strong>, and you just might help our Hero find the missing message… and move onto the next part of their quest. Swan&#8217;s Quest was created for <strong>Swift Playgrounds on iPad and Mac</strong>, combining frameworks and resources which power the educational experiences in many of our playgrounds, including <strong>Sonic Workshop</strong>, Sensor Arcade, and Augmented Reality. To learn more about building your own playgrounds, be sure to watch <a href="https://developer.apple.com/videos/play/wwdc2020/10654">&#8220;Create Swift Playgrounds content for iPad and Mac&#8221;</a>.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10682/">Swan&#8217;s Quest, Chapter 2: A time for tones session video</a><br />
<a href="https://developer.apple.com/sample-code/swift/swans-quest/quest-create.zip">Quest Create playground book</a><br />
<a href="https://developer.apple.com/sample-code/swift/swans-quest/a-time-for-tones.zip">Swan&#8217;s Quest: A time for tones playground book</a></p>
<p><a href="https://developer.apple.com/videos/play/wwdc2020/10693/"><img src="https://www.albertogonzalez.net/files/2020/06/wwdc20_day3-1024x572.jpeg" alt="" width="1024" height="572" class="aligncenter size-large wp-image-5435" srcset="https://www.albertogonzalez.net/files/2020/06/wwdc20_day3.jpeg 1024w, https://www.albertogonzalez.net/files/2020/06/wwdc20_day3-300x168.jpeg 300w, https://www.albertogonzalez.net/files/2020/06/wwdc20_day3-768x429.jpeg 768w, https://www.albertogonzalez.net/files/2020/06/wwdc20_day3-740x413.jpeg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>
<p>Here’s a <a href="https://developer.apple.com/videos/play/wwdc2020/10693/">short video recap of the day.</a></p>
]]></content:encoded>
			</item>
		<item>
		<title>WWDC 2020, Day 2</title>
		<link>https://www.albertogonzalez.net/wwdc-2020-day-2/</link>
		<pubDate>Wed, 24 Jun 2020 01:30:49 +0000</pubDate>
		<dc:creator><![CDATA[alberto]]></dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[App Clips]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Apple Silicon]]></category>
		<category><![CDATA[AR]]></category>
		<category><![CDATA[ARKit]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mac Catalyst]]></category>
		<category><![CDATA[RealityKit]]></category>
		<category><![CDATA[Swift Playgrounds]]></category>
		<category><![CDATA[WidgetKit]]></category>
		<category><![CDATA[WWDC]]></category>
		<category><![CDATA[WWDC20]]></category>

		<guid isPermaLink="false">https://www.albertogonzalez.net/?p=5374</guid>
		<description><![CDATA[The number of sessions in a day is overwhelming. There are so many that it&#8217;s hard to choose one. The sessions I have chosen to pay attention to on this day of conference fall under the categories of Apple Silicon, Augment Reality, App Clips, WidgetKit or Swift Playgrounds &#8220;Swan&#8217;s Quest&#8221;. Remember that all session videos [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>The number of sessions in a day is overwhelming. There are <a href="https://developer.apple.com/news/?id=cyq5clst">so many</a> that it&#8217;s hard to choose one. The sessions I have chosen to pay attention to on this day of conference fall under the categories of <a href="https://developer.apple.com/news/?id=ywv74y7m">Apple Silicon</a>, <a href="https://developer.apple.com/news/?id=pwa22b4z">Augment Reality</a>, <a href="https://developer.apple.com/news/?id=dsd023qd">App Clips</a>, WidgetKit or Swift Playgrounds &#8220;Swan&#8217;s Quest&#8221;.</p>
<p>Remember that all session videos are at <a href="https://developer.apple.com/videos/wwdc2020/">https://developer.apple.com/videos/wwdc2020/</a></p>
<p><span id="more-5374"></span></p>
<h3>Port your Mac app to Apple Silicon</h3>
<p><img class="aligncenter size-large wp-image-5381" src="https://www.albertogonzalez.net/files/2020/06/Port_your_Mac_app_to_Apple_Silicon-1024x576.jpg" alt="" width="1024" height="576" srcset="https://www.albertogonzalez.net/files/2020/06/Port_your_Mac_app_to_Apple_Silicon-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Port_your_Mac_app_to_Apple_Silicon-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Port_your_Mac_app_to_Apple_Silicon-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Port_your_Mac_app_to_Apple_Silicon-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is part of the collection <a href="https://developer.apple.com/news/?id=ywv74y7m">Apple Silicon and the Mac</a> and it&#8217;s a journey to transition our apps to Apple Silicon. We learn how to <strong>recompile your macOS app for Apple Silicon Macs</strong> and build universal apps that launch faster, have better performance, and support the future of the platform. We&#8217;ll see how Xcode makes it simple to <strong>build a universal macOS binary</strong> and go through <strong>running, debugging, and testing your app</strong>. We learn what changes to low-level code we might need to make, find out how to <strong>handle in-process and out-of-process plug-ins</strong>, and discover some useful <strong>tips for working with universal apps</strong>. This session is designed for experienced macOS developers who want to get their existing apps running natively on Apple Silicon Macs.</p>
<p>Starting this year Mac Apps should be build and distributed as Universal Apps. Build for both Apple Silicon and 64-bit Intel architectures.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10214/">Port your Mac app to Apple Silicon session video</a><br />
<a href="https://developer.apple.com/documentation/apple_silicon/">Apple Silicon Documentation</a></p>
<h3>iPad and iPhone apps on Apple Silicon Macs</h3>
<p><img class="aligncenter size-large wp-image-5392" src="https://www.albertogonzalez.net/files/2020/06/iPad_and_iPhone_apps_on_Apple_Silicon_Macs-1024x576.jpg" alt="" width="1024" height="576" srcset="https://www.albertogonzalez.net/files/2020/06/iPad_and_iPhone_apps_on_Apple_Silicon_Macs-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/iPad_and_iPhone_apps_on_Apple_Silicon_Macs-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/iPad_and_iPhone_apps_on_Apple_Silicon_Macs-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/iPad_and_iPhone_apps_on_Apple_Silicon_Macs-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is also part of the collection <a href="https://developer.apple.com/news/?id=ywv74y7m">Apple Silicon and the Mac</a>.</p>
<p><strong>Apple Silicon Macs can run many iPad and iPhone apps as-is</strong>, and these apps will be made <strong>available to users on the Mac through the Mac App Store</strong>. Discover how iPad and iPhone apps run on Apple Silicon Macs, and the factors that make your apps come across better. Learn how to test your app for the Mac, and hear about your options for distribution of your apps.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10114">iPad and iPhone apps on Apple Silicon Macs session video</a></p>
<h3>Explore ARKit 4</h3>
<p><img class="aligncenter size-large wp-image-5384" src="https://www.albertogonzalez.net/files/2020/06/Explore_ARKit_4-1024x576.jpg" alt="" width="1024" height="576" srcset="https://www.albertogonzalez.net/files/2020/06/Explore_ARKit_4-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Explore_ARKit_4-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Explore_ARKit_4-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Explore_ARKit_4-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is part of the collection <a href="https://developer.apple.com/news/?id=pwa22b4z">Augment reality</a>.</p>
<p>ARKit 4 enables you to build the next generation of augmented reality apps to transform how people connect with the world around them. This session will walk you through the latest improvements to Apple&#8217;s augmented reality platform, including how to use <strong>Location Anchors</strong> to connect virtual objects with a real-world longitude, latitude, and altitude. Discover how to harness the <strong>LiDAR Scanner</strong> on iPad Pro and obtain a <strong>depth map</strong> of your environment and <strong>place objects</strong> in the scene. Finally, learn how to <strong>track faces</strong> in AR on more devices, including the iPad Air (3rd generation), iPad mini (5th generation), and all devices with the A12 Bionic chip or later that have a front-facing camera. To get the most out of this session, you should be familiar with how your apps can take advantage of LiDAR Scanner on iPad Pro. Watch <a href="https://developer.apple.com/videos/play/tech-talks/609/">“Advanced Scene Understanding in AR”</a> for more information.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10611/">Explore ARKit 4 session video</a><br />
<a href="https://developer.apple.com/documentation/arkit">ARKit Documentation</a><br />
<a href="https://developer.apple.com/documentation/arkit/creating_a_fog_effect_using_scene_depth">Sample Code: Creating a Fog Effect Using Scene Depth</a><br />
<a href="https://developer.apple.com/documentation/arkit/tracking_geographic_locations_in_ar">Sample Code: Tracking Geographic Locations in AR</a><br />
<a href="https://developer.apple.com/documentation/arkit/visualizing_a_point_cloud_using_scene_depth">Sample Code: Visualizing a Point Cloud Using Scene Depth</a></p>
<h3>What&#8217;s new in RealityKit</h3>
<p><img class="aligncenter size-large wp-image-5397" src="https://www.albertogonzalez.net/files/2020/06/Whats_new_in_RealityKit-1024x576.jpg" alt="" width="1024" height="576" srcset="https://www.albertogonzalez.net/files/2020/06/Whats_new_in_RealityKit-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Whats_new_in_RealityKit-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Whats_new_in_RealityKit-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Whats_new_in_RealityKit-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is also part of the collection <a href="https://developer.apple.com/news/?id=pwa22b4z">Augment reality</a>.</p>
<p>RealityKit is Apple&#8217;s rendering, animation, physics, and audio engine built from the ground up for augmented reality: It reimagines the traditional 3D renderer to make it easy for developers to prototype and produce high-quality AR experiences. Learn how to effectively implement each of the latest improvements to RealityKit in your app. Discover features like <strong>video textures</strong>, <strong>scene understanding</strong> using the LiDAR scanner on iPad Pro, <strong>location anchors</strong>, <strong>face tracking</strong>, and <strong>improved rendering debugging tools</strong>. To get the most out of this session, you should understand the building blocks of developing RealityKit-based apps and games. Watch <a href="https://developer.apple.com/videos/play/wwdc2019/603">“Introducing RealityKit and Reality Composer”</a> for a primer.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10612">What&#8217;s new in RealityKit session video</a><br />
<a href="https://developer.apple.com/documentation/realitykit">RealityKit Documentation</a><br />
<a href="https://developer.apple.com/documentation/realitykit/creating_a_game_with_sceneunderstanding">Sample Code: Creating a Game with SceneUnderstanding</a></p>
<h3>Explore app clips</h3>
<p><img class="aligncenter size-large wp-image-5389" src="https://www.albertogonzalez.net/files/2020/06/Explore_app_clips-1024x576.jpg" alt="" width="1024" height="576" srcset="https://www.albertogonzalez.net/files/2020/06/Explore_app_clips-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Explore_app_clips-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Explore_app_clips-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Explore_app_clips-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>This session is part of the collection <a href="https://developer.apple.com/news/?id=dsd023qd">Build great app clips</a> and is designed to introduce you to app clips.</p>
<p>In this session we&#8217;ll see <strong>how to design and build an app clip</strong> — a small part of your app that focuses on a specific task — and make it easily discoverable. Learn how to focus your app clip on short and fast interactions and identify contextually-relevant situations where you can surface it, like a search in Maps or at a real-world location through QR codes, NFC, or app clip codes. Find out a few <strong>key differences between apps and app clips</strong>, and explore how app clips interact with their corresponding apps.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10174/">Explore app clips session video</a><br />
<a href="https://developer.apple.com/app-clips/">Introducing App Clips</a><br />
<a href="https://developer.apple.com/design/human-interface-guidelines/app-clips/overview/">Human Interface Guidelines: App Clips</a><br />
<a href="https://developer.apple.com/documentation/app_clips">Documentation: App Clips</a><br />
<a href="https://developer.apple.com/documentation/app_clips/creating_an_app_clip">Article: Creating an App Clip</a><br />
<a href="https://developer.apple.com/documentation/app_clips/developing_a_great_app_clip">Article: Developing a Great App Clip</a><br />
<a href="https://developer.apple.com/documentation/swiftui/fruta_building_a_feature-rich_app_with_swiftui">Sample Code: Fruta: Building a Feature-Rich App with SwiftUI</a></p>
<h3>Meet WidgetKit</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Meet_WidgetKit-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5411" srcset="https://www.albertogonzalez.net/files/2020/06/Meet_WidgetKit-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Meet_WidgetKit-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Meet_WidgetKit-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Meet_WidgetKit-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>Meet WidgetKit: the best way to bring your app&#8217;s most useful information directly to the home screen. This session will show you <strong>what makes a great widget</strong> and take a look at <strong>WidgetKit&#8217;s features and functionality</strong>. Learn how to get started creating a widget, and find out how WidgetKit leverages the power of SwiftUI to provide a stateless experience. Discover how to harness your existing proactive technologies to make sure your widget surfaces relevant material. And create a <strong>Timeline</strong> that ensures your content is always fresh. For more on creating widgets, check out <a href="https://developer.apple.com/videos/play/wwdc2020/10033">&#8220;Build SwiftUI views for widgets&#8221;</a> and <a href="https://developer.apple.com/news/?id=yv6so7ie">&#8220;The widgets code-along&#8221;</a>.</p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10028/">Meet WidgetKit session video</a><br />
<a href="https://developer.apple.com/widgets/">Learn more about creating widgets</a><br />
<a href="https://developer.apple.com/documentation/widgetkit">WidgetKit Documentation</a><br />
<a href="https://developer.apple.com/documentation/widgetkit/creating-a-widget-extension">Article: Creating a Widget Extension</a><br />
<a href="https://developer.apple.com/documentation/widgetkit/keeping-a-widget-up-to-date">Article: Keeping a Widget Up To Date</a><br />
<a href="https://developer.apple.com/documentation/widgetkit/building_widgets_using_widgetkit_and_swiftui">Sample Code: Building Widgets Using WidgetKit and SwiftUI</a></p>
<h3>Meet Nearby Interaction</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Meet_Nearby_Interaction-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5489" srcset="https://www.albertogonzalez.net/files/2020/06/Meet_Nearby_Interaction-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Meet_Nearby_Interaction-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Meet_Nearby_Interaction-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Meet_Nearby_Interaction-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>The Nearby Interaction framework streams distance and direction between opted-in Apple devices containing the <strong>U1 chip</strong>. Discover how this powerful combination of hardware and software allow you to create intuitive <strong>spatial interactions</strong> based on the relative position of two or more devices. We&#8217;ll walk you through this session-based API and show you how to deliver entirely new interactive experiences — all with privacy in mind.</p>
<p><a href="https://developer.apple.com/videos/play/wwdc2020/10668/">Meet Nearby Interaction session video</a><br />
<a href="https://developer.apple.com/documentation/nearbyinteraction/implementing_interactions_between_users_in_close_proximity">Sample Code: Implementing Interactions Between Users in Close Proximity</a></p>
<h3>What&#8217;s new in Mac Catalyst</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Whats_new_in_Mac_Catalyst-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5482" srcset="https://www.albertogonzalez.net/files/2020/06/Whats_new_in_Mac_Catalyst-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Whats_new_in_Mac_Catalyst-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Whats_new_in_Mac_Catalyst-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Whats_new_in_Mac_Catalyst-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>Discover the latest updates to Mac Catalyst and find out how you can bring your iPadOS app to the Mac. Explore enhancements to the <strong>application lifecycle</strong>, integrate new <strong>extensions</strong> into your apps, and learn how the new look and feel of macOS impacts Mac Catalyst apps. Get a taste of the new <strong>Optimized for Mac</strong> mode. And learn more about all the improvements — including framework availability and beautiful new designs — that make bringing your iPad app to the Mac easier than ever. To get the most out of this session, you should have a basic familiarity with Mac Catalyst. We recommend you watch <a href="https://developer.apple.com/videos/play/wwdc2019/205">“Introducing iPad Apps for Mac”</a> to acquaint yourself. For more on refining your Mac Catalyst app, consider watching <a href="https://developer.apple.com/videos/play/wwdc2020/10056">“Optimize the interface of your Mac Catalyst app”</a>.</p>
<p><a href="https://developer.apple.com/videos/play/wwdc2020/10143/">What&#8217;s new in Mac Catalyst session video</a><br />
<a href="https://developer.apple.com/support/universal-purchase">Offering Universal Purchase</a></p>
<h3>What&#8217;s new in App Store Connect</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Whats_new_in_App_Store_Connect-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5484" srcset="https://www.albertogonzalez.net/files/2020/06/Whats_new_in_App_Store_Connect-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Whats_new_in_App_Store_Connect-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Whats_new_in_App_Store_Connect-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Whats_new_in_App_Store_Connect-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>Discover the latest improvements to App Store Connect, your suite of tools to upload, submit, and manage apps on the App Store. Learn about enhancements to the App Store Connect API, in-app purchase and subscriptions, Game Center, and more.</p>
<p><a href="https://developer.apple.com/videos/play/wwdc2020/10651/">What&#8217;s new in App Store Connect session video</a><br />
<a href="https://developer.apple.com/app-store-connect/api/">App Store Connect API</a><br />
<a href="https://developer.apple.com/documentation/appstoreconnectapi">App Store Connect API Documentation</a><br />
<a href="https://help.apple.com/app-store-connect/">App Store Connect Resources and Help</a></p>
<h3>Swan&#8217;s Quest, Chapter 1: Voices in the dark</h3>
<p><img src="https://www.albertogonzalez.net/files/2020/06/Swans_Quest_Chapter_1-1024x576.jpg" alt="" width="1024" height="576" class="aligncenter size-large wp-image-5409" srcset="https://www.albertogonzalez.net/files/2020/06/Swans_Quest_Chapter_1-1024x576.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/Swans_Quest_Chapter_1-300x169.jpg 300w, https://www.albertogonzalez.net/files/2020/06/Swans_Quest_Chapter_1-768x432.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Swans_Quest_Chapter_1-740x416.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>Swift Playgrounds presents &#8220;Swan&#8217;s Quest,” an <strong>interactive adventure in four chapters</strong> for all ages. In this chapter, our Hero must navigate a dark cave — and the only way to light the torches is to make them accessible. Learn about <strong>VoiceOver</strong> and write interesting audio descriptions. You just might help our Hero find their way out… and get a clue for the next challenge. Swan&#8217;s Quest was created for <strong>Swift Playgrounds on iPad and Mac</strong>, combining frameworks and resources which power the educational experiences in many of our playgrounds, including Sonic Workshop, Sensor Arcade, and Augmented Reality. To learn more about building your own playgrounds, be sure to watch <a href="https://developer.apple.com/videos/play/wwdc2020/10654">&#8220;Create Swift Playgrounds content for iPad and Mac&#8221;</a>. </p>
<p>Links<br />
<a href="https://developer.apple.com/videos/play/wwdc2020/10681/">Swan&#8217;s Quest, Chapter 1: Voices in the dark session video</a><br />
<a href="https://developer.apple.com/sample-code/swift/swans-quest/quest-create.zip">Quest Create playground book</a><br />
<a href="https://developer.apple.com/sample-code/swift/swans-quest/voices-in-the-dark.zip">Swan&#8217;s Quest: Voices in the dark playground book</a></p>
<p><a href="https://developer.apple.com/videos/play/wwdc2020/10692/"><img class="aligncenter wp-image-5406 size-large" src="https://www.albertogonzalez.net/files/2020/06/wwdc20_day2-1024x572.jpeg" alt="" width="1024" height="572" srcset="https://www.albertogonzalez.net/files/2020/06/wwdc20_day2.jpeg 1024w, https://www.albertogonzalez.net/files/2020/06/wwdc20_day2-300x168.jpeg 300w, https://www.albertogonzalez.net/files/2020/06/wwdc20_day2-768x429.jpeg 768w, https://www.albertogonzalez.net/files/2020/06/wwdc20_day2-740x413.jpeg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>
<p>Here’s a <a href="https://developer.apple.com/videos/play/wwdc2020/10692/">short video recap of the day.</a></p>
]]></content:encoded>
			</item>
		<item>
		<title>WWDC 2020, Day 1</title>
		<link>https://www.albertogonzalez.net/wwdc-2020-day-1/</link>
		<pubDate>Tue, 23 Jun 2020 02:59:36 +0000</pubDate>
		<dc:creator><![CDATA[alberto]]></dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[WWDC]]></category>
		<category><![CDATA[WWDC20]]></category>

		<guid isPermaLink="false">https://www.albertogonzalez.net/?p=5342</guid>
		<description><![CDATA[Apple Silicon Without a doubt, the announcement for which the opening session of WWDC 2020 will be remembered is that of the transition to ARM-based processors on the Mac. This announcement echoes the one made by Steve Jobs at WWDC in 2005 when Apple&#8217;s transition to Intel processors from PowerPC processors. With this transition, Apple [&#8230;]]]></description>
				<content:encoded><![CDATA[<h3>Apple Silicon</h3>
<p>Without a doubt, the announcement for which the opening session of WWDC 2020 will be remembered is that of the transition to <strong>ARM-based processors on the Mac</strong>. This announcement echoes the one made by Steve Jobs at WWDC in 2005 when Apple&#8217;s transition to Intel processors from PowerPC processors.</p>
<p>With this transition, Apple will complete a journey that began in 2009 with the acquisition of the company P.A. Semi to design the processors of their devices and whose fruits began to be harvested a year later with the introduction of the Apple A4 chip that powered the iPhone 4. Along this path Apple made different steps such as the transition to 64-bits in their devices or the introduction of <a href="https://developer.apple.com/metal/">Metal</a> or <a href="https://developer.apple.com/mac-catalyst/">Mac Catalyst</a> at WWDC 2019 that were preparing for this new transition.</p>
<p>Apple plans to ship the first Mac with Apple silicon by the end of the year and complete the transition in about two years.</p>
<p>To help developers get started with this new Mac architecture, Apple is launching the <strong><a href="https://developer.apple.com/programs/universal/">Universal App Quick Start Program</a></strong>, which provides access to documentation, forums support, beta versions of macOS Big Sur and Xcode 12, and exclusive access to a <strong>Developer Transition Kit (DTK)</strong>, a Mac development system based on Apple’s A12Z Bionic System on a Chip (SoC) with a total cost of the program of <strong>$500</strong>.</p>
<p><img class="aligncenter size-large wp-image-5366" src="https://www.albertogonzalez.net/files/2020/06/DTK_Specs-1024x835.png" alt="" width="1024" height="835" srcset="https://www.albertogonzalez.net/files/2020/06/DTK_Specs-1024x835.png 1024w, https://www.albertogonzalez.net/files/2020/06/DTK_Specs-300x245.png 300w, https://www.albertogonzalez.net/files/2020/06/DTK_Specs-768x626.png 768w, https://www.albertogonzalez.net/files/2020/06/DTK_Specs-601x490.png 601w, https://www.albertogonzalez.net/files/2020/06/DTK_Specs-740x604.png 740w, https://www.albertogonzalez.net/files/2020/06/DTK_Specs.png 1096w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>To apply for the Universal App Quick Start Program, your Apple ID must be associated with the Account Holder of an eligible program and for full details, see the <a href="https://developer.apple.com/terms/universal-app-quick-start-program/Developer-Universal-App-Quick-Start-Program.pdf">Universal App Quick Start Program terms and conditions</a>.</p>
<p>As expected, Apple has shown that major software companies such as <strong>Microsoft</strong>, <strong>Adobe</strong> and <strong>Unity</strong> already have versions of their applications running on ARM-based Mac prototypes. Yes, including <strong>Microsoft Office</strong> and <strong>Photoshop</strong>.</p>
<h3>macOS Big Sur</h3>
<p>Big Sur is the name of the upcoming release of macOS which also increases its major version number to <strong>11.0</strong>. Finally abandoning the 10.x version numbers that started with the transition to OS X Cheetah in 2001.</p>
<p>macOS Big Sur includes some technologies to help in the transition to Apple silicon. With Xcode 12 developers can create <strong>Universal 2 application binaries</strong>, a single application that includes binaries for both the new Apple silicon Macs and Intel-based Macs. On the other hand, <strong>Rosetta 2</strong> will allow to run existing Mac apps that have not yet been updated, including those with plug-ins, in the new Macs with Apple silicon. For those of us who are a little old, these terms remind us of the past transition to Intel processors.</p>
<p>Apple also announced that <strong>virtualization technology</strong> will allow developers to run Linux on a VM using for example Parallels. I have my doubts that it will be the same for Windows VM and Apple was careful not to say anything about it.</p>
<p><img class="aligncenter size-large wp-image-5364" src="https://www.albertogonzalez.net/files/2020/06/apple_apple-silicon_3rd-party-1024x655.jpg" alt="" width="1024" height="655" srcset="https://www.albertogonzalez.net/files/2020/06/apple_apple-silicon_3rd-party-1024x655.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/apple_apple-silicon_3rd-party-300x192.jpg 300w, https://www.albertogonzalez.net/files/2020/06/apple_apple-silicon_3rd-party-768x491.jpg 768w, https://www.albertogonzalez.net/files/2020/06/apple_apple-silicon_3rd-party-740x473.jpg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>A nice thing is that now developers can make their iOS and iPadOS apps available on the Mac without any modifications.</p>
<h3>iOS 14</h3>
<p>Apple introduces with <a href="https://www.apple.com/ios/ios-14-preview/">iOS 14</a> changes to the iPhone Home Screen interface where the user can reduce the number of pages by using the new <strong>App Library</strong>. It also incorporates some improvements in the <strong>widgets</strong> and these will be able to be integrated with different sizes in the Home Screen breaking the uniformity of the classic matrix of app icons. They are not radical changes but they add some freshness and organization to the endless list of apps that our iPhones&#8217; screens end up becoming.</p>
<p><img class="aligncenter size-large wp-image-5358" src="https://www.albertogonzalez.net/files/2020/06/Apple_ios14-widgets-756x1024.jpg" alt="" width="756" height="1024" srcset="https://www.albertogonzalez.net/files/2020/06/Apple_ios14-widgets-756x1024.jpg 756w, https://www.albertogonzalez.net/files/2020/06/Apple_ios14-widgets-221x300.jpg 221w, https://www.albertogonzalez.net/files/2020/06/Apple_ios14-widgets-768x1041.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Apple_ios14-widgets-362x490.jpg 362w, https://www.albertogonzalez.net/files/2020/06/Apple_ios14-widgets-740x1003.jpg 740w, https://www.albertogonzalez.net/files/2020/06/Apple_ios14-widgets.jpg 1306w" sizes="(max-width: 756px) 100vw, 756px" /></p>
<p>Developers will have a new way to make their applications known by using <strong>App Clips</strong>, small parts of a complete application, that will not exceed <strong>10MB</strong>, and that allowing to complete a specific task can be easily discoverable by scanning a new Apple-designed App Clip code, through NFC tag or shared in Messages.</p>
<p><img class="aligncenter size-large wp-image-5360" src="https://www.albertogonzalez.net/files/2020/06/Apple_ios14-app-clips-spin-app-756x1024.jpg" alt="" width="756" height="1024" srcset="https://www.albertogonzalez.net/files/2020/06/Apple_ios14-app-clips-spin-app-756x1024.jpg 756w, https://www.albertogonzalez.net/files/2020/06/Apple_ios14-app-clips-spin-app-221x300.jpg 221w, https://www.albertogonzalez.net/files/2020/06/Apple_ios14-app-clips-spin-app-768x1041.jpg 768w, https://www.albertogonzalez.net/files/2020/06/Apple_ios14-app-clips-spin-app-362x490.jpg 362w, https://www.albertogonzalez.net/files/2020/06/Apple_ios14-app-clips-spin-app-740x1003.jpg 740w, https://www.albertogonzalez.net/files/2020/06/Apple_ios14-app-clips-spin-app.jpg 1306w" sizes="(max-width: 756px) 100vw, 756px" /></p>
<p>I also liked the improvements announced in the Maps app with new <strong>cycling directions</strong>, electric vehicle routing and congestion/green zones.</p>
<p>On the other hand, I&#8217;m sure the new <strong>Translate</strong> app will be very usefull for many.</p>
<p>Additionally, I think the addition of <strong>Spacial Audio</strong> to the AirPods Pro and the <strong>Automatic switching</strong> to any AirPods is great.</p>
<h3>iPadOS 14</h3>
<p>I think what I liked most about the <a href="https://www.apple.com/ipados/ipados-preview/">iPadOS 14</a> announcements was <strong>Scribble</strong> and the Apple Pencil usage improvements on the iPad. It&#8217;s great to be able write by hand in any text field or paste handwriting as text.</p>
<p><img class="aligncenter size-large wp-image-5362" src="https://www.albertogonzalez.net/files/2020/06/apple_ipados14_scribble-1024x807.jpg" alt="" width="1024" height="807" srcset="https://www.albertogonzalez.net/files/2020/06/apple_ipados14_scribble-1024x807.jpg 1024w, https://www.albertogonzalez.net/files/2020/06/apple_ipados14_scribble-300x236.jpg 300w, https://www.albertogonzalez.net/files/2020/06/apple_ipados14_scribble-768x605.jpg 768w, https://www.albertogonzalez.net/files/2020/06/apple_ipados14_scribble-622x490.jpg 622w, https://www.albertogonzalez.net/files/2020/06/apple_ipados14_scribble-740x583.jpg 740w, https://www.albertogonzalez.net/files/2020/06/apple_ipados14_scribble.jpg 1483w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<h3>Other Developer Features</h3>
<p><strong>ARKit 4</strong> introduces new ways to capture information about the real world using a new Depth API that is designed to work with the LiDAR sensor in iPad Pro, enabling entirely new types of apps, such as on-site architecture, design, landscaping, and manufacturing.</p>
<p><strong>PencilKit</strong> now features Scribble, which makes it easy to create apps with text entry fields that users can write in with Apple Pencil. Developers will also have access to stroke data using PencilKit, all while seamlessly handling both Apple Pencil input and system touch gestures.</p>
<p><strong>TestFlight</strong> now supports up to <strong>100 team members</strong> for fast build distribution.</p>
<p><strong>AirPods Motion API</strong> gives developers access to movement data in real time.</p>
<p>Developers can now enable users to <strong>upgrade existing third-party app accounts to Sign in with Apple accounts</strong>.</p>
<p><img class="aligncenter size-large wp-image-5372" src="https://www.albertogonzalez.net/files/2020/06/hello_wwdc20-1024x572.jpeg" alt="" width="1024" height="572" srcset="https://www.albertogonzalez.net/files/2020/06/hello_wwdc20.jpeg 1024w, https://www.albertogonzalez.net/files/2020/06/hello_wwdc20-300x168.jpeg 300w, https://www.albertogonzalez.net/files/2020/06/hello_wwdc20-768x429.jpeg 768w, https://www.albertogonzalez.net/files/2020/06/hello_wwdc20-740x413.jpeg 740w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>If you&#8217;re interested, you can watch the keynote at <a href="https://www.apple.com/apple-events/june-2020/">https://www.apple.com/apple-events/june-2020/</a> and the Platforms State of the Union video at <a href="https://developer.apple.com/videos/play/wwdc2020/102/">https://developer.apple.com/videos/play/wwdc2020/102/</a></p>
<p>You can watch a Monday&#8217;s Recap short video at <a href="https://developer.apple.com/videos/play/wwdc2020/10691/">https://developer.apple.com/videos/play/wwdc2020/10691/</a></p>
<p>To follow the WWDC 2020, navigate to <a href="https://developer.apple.com/wwdc20/">https://developer.apple.com/wwdc20/</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			</item>
		<item>
		<title>Jailbreaking an iPhone in 2020</title>
		<link>https://www.albertogonzalez.net/jailbreaking-an-iphone-in-2020/</link>
		<pubDate>Mon, 01 Jun 2020 06:24:43 +0000</pubDate>
		<dc:creator><![CDATA[alberto]]></dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[checkra1n]]></category>
		<category><![CDATA[Chimera]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[jailbreak]]></category>
		<category><![CDATA[Unc0ver]]></category>

		<guid isPermaLink="false">https://www.albertogonzalez.net/?p=5231</guid>
		<description><![CDATA[It&#8217;s been quite a while since I jailbroke my first iPhone, an iPhone 3GS, back in 2010. Fortunately, from that iOS 4 to the current iOS 13, the iPhone Operating System has incorporated many improvements and features that were previously only possible through applications or tweaks on a jailbroken iPhone. These continuous changes made me [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s been quite a while since <a href="https://www.albertogonzalez.net/jailbreak-en-un-iphone-3gs-con-pwnagetool-y-ios-4/">I jailbroke my first iPhone, an iPhone 3GS, back in 2010</a>.</p>
<p>Fortunately, from that iOS 4 to the current iOS 13, the iPhone Operating System has incorporated many improvements and features that were previously only possible through applications or tweaks on a jailbroken iPhone. These continuous changes made me abandon the need to jailbreak my personal iPhone.</p>
<p>However, Apple continues to excessively block access to our iPhones and one change that particularly annoyed me was when Apple removed in September 2017, with the launch of iTunes 12.7 and iOS 11, the management of Apps within iTunes that allowed us to back up our Apps, as well as installing them on our iPhone from our Mac using iTunes.</p>
<p>This change prevents us from downloading the applications that we have acquired for our iPhone from our Mac using iTunes so we can save locally in our computer the IPA of the applications so that, if necessary, we can re-install them in our iPhone Apps previously acquired without having to download them again from the App Store.</p>
<p>Saving the IPA of the Apps we&#8217;ve purchased is especially useful if the developer or Apple itself decides to remove it from the App Store at some point. Isn&#8217;t that right, TomTom? Isn&#8217;t that right?</p>
<p>As it turns out, I purchased the TomTom GPS navigation application for Europe. When I bought it, TomTom promised that the map updates would be free for life. But some time ago TomTom announced that it was no longer updating the application and maps. But not only that, they removed it completely from the App Store. So, despite having paid for it, I can&#8217;t install it on any of my devices because it has disappeared from the App Store and Apple removed the possibility of backing it up with iTunes time ago.</p>
<p>So I find myself in a situation where neither Apple nor TomTom provide me with any way to install an application that I paid for. My only alternative is to jailbreak an iPhone 6 where I still have the App installed to access the whole file system so I can extract it and manually &#8220;build&#8221; the IPA to install it on another device. Thank you, Apple. Thank you, TomTom.</p>
<p>This iPhone 6 has iOS 12.4.3 installed, so I dived into finding current options to allow jailbreak on this combination of device and iOS version.</p>
<p><span id="more-5231"></span></p>
<p>In my search I found different options available to jailbreak an iPhone such as Chimera, Unc0ver or checkra1n.</p>
<p><strong><a href="https://chimera.sh">Chimera</a></strong> Jailbreak, developed by Coolstar and the <a href="https://twitter.com/Electra_Team">Electra Team</a>, is compatible for all devices with iOS 12 — 12.2 and 12.4 and install Sileo after the Jailbreaking process instead of Cydia. Chimera is a <strong>semi-untethered Jailbreak</strong>, which means that on each boot, the device startup sequence is unmodified and it boots into its original, non-jailbroken configuration. So, after each reboot, you will need to run the Chimera app to re-jailbreak the device.</p>
<p><strong><a href="https://unc0ver.dev/">Unc0ver</a></strong> is also a <strong>semi-untethered Jailbreak</strong> tool, like Chimera, for all devices including A12 devices such as iPhone XS, XS Max, XR on iOS 11.0 &#8211; 13.5.</p>
<p><strong><a href="https://checkra.in/">checkra1n</a></strong> can Jailbreak for iPhone 5s though iPhone X, iOS 12.3 and up. This is a <strong>semi-tethered jailbreak</strong> based on the <a href="https://twitter.com/axi0mX/status/1177542201670168576">‘<strong>checkm8</strong>’ bootrom exploit</a> compatible with devices with an A5-A11 chip. As a <strong>semi-tethered Jailbreak</strong>, on each boot the device will start up with an un-patched kernel, that is, its original stock iOS, and therefore will not be able to run modified code. So, after each reboot, you will need to jailbreak the device again by plugging it into a computer using the checkra1n tool.</p>
<p>I ended up choosing the <strong><a href="https://checkra.in">checkra1n jailbreak</a></strong> because it is the method compatible with my iPhone 6 with A8 chip running iOS 12.4.3. These are the steps needed to jailbreak your iPhone using the checkra1n tool.</p>
<ol>
<li>First we will download the checkra1n tool from the website <a href="https://checkra.in/#release">checkra.in</a>. In my case I downloaded <a href="https://assets.checkra.in/downloads/macos/33356fd4adabe88b787e1db36ac624833c32416124a40ec00d3089d659f21a5f/checkra1n%20beta%200.10.1.dmg">checkra1n 0.10.1 beta for macOS</a>.</li>
<li>Open the &#8216;checkra1n beta 0.10.1.dmg&#8217; and install the checkra1n App into your Applications folder.<br />
<img class="aligncenter wp-image-5287 size-medium" src="https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_to_applications-300x200.png" alt="" width="300" height="200" srcset="https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_to_applications-300x200.png 300w, https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_to_applications-768x511.png 768w, https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_to_applications-736x490.png 736w, https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_to_applications-740x493.png 740w, https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_to_applications.png 772w" sizes="(max-width: 300px) 100vw, 300px" /></li>
<li>Plug your iPhone into your Mac, launch the checkra1n application and check the iPhone model, firmware, connection mode and ECID information on the welcome screen. If everything is correct, click on the &#8216;Start&#8217; button.<br />
<img src="https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_welcome.png" alt="" width="592" height="454" class="aligncenter size-full wp-image-5298" srcset="https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_welcome.png 592w, https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_welcome-300x230.png 300w" sizes="(max-width: 592px) 100vw, 592px" /></li>
<li>It is required to put the device into DFU to apply the jailbreak, but before that, checkra1n will put the device in recovery mode first to prevent filesystem corruption.<br />
<img src="https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_recovery_mode.png" alt="" width="592" height="454" class="aligncenter size-full wp-image-5286" srcset="https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_recovery_mode.png 592w, https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_recovery_mode-300x230.png 300w" sizes="(max-width: 592px) 100vw, 592px" /><br />
Click on &#8216;Next&#8217; button and you&#8217;ll see how your iPhone rebooting in recovery mode (the iPhone screen will show the iTunes icon and below it a drawing of a lightning cable).<br />
<img src="https://www.albertogonzalez.net/files/2020/05/iPhone-6_recovery_mode.jpg" alt="" width="1000" height="1000" class="aligncenter size-full wp-image-5303" srcset="https://www.albertogonzalez.net/files/2020/05/iPhone-6_recovery_mode.jpg 1000w, https://www.albertogonzalez.net/files/2020/05/iPhone-6_recovery_mode-150x150.jpg 150w, https://www.albertogonzalez.net/files/2020/05/iPhone-6_recovery_mode-300x300.jpg 300w, https://www.albertogonzalez.net/files/2020/05/iPhone-6_recovery_mode-768x768.jpg 768w, https://www.albertogonzalez.net/files/2020/05/iPhone-6_recovery_mode-490x490.jpg 490w, https://www.albertogonzalez.net/files/2020/05/iPhone-6_recovery_mode-740x740.jpg 740w" sizes="(max-width: 1000px) 100vw, 1000px" /></li>
<li>Now it&#8217;s time to put the iPhone in DFU mode (Device Firmware Update). checkra1n will guide us through this process with the steps that are needed for our device with text and pictures.<br />
In my case, for an iPhone 6, I should press and hold the Power and Home buttons simultaneously for 4 seconds (at this time the screen should have turned black), then release the Power button, but keep holding down the Home button, for 10 more seconds.<br />
When you have read and understood the steps required for your device, it is time to click on the &#8221;Start&#8221; button and follow the process shown by checkra1n.<br />
<img src="https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_dfu_mode.png" alt="" width="592" height="454" class="aligncenter size-full wp-image-5283" srcset="https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_dfu_mode.png 592w, https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_dfu_mode-300x230.png 300w" sizes="(max-width: 592px) 100vw, 592px" /></li>
<li>As soon as the device enters DFU mode, checkra1n will start applying the jailbreak. Just wait for checkra1n to finish the process.<br />
<img src="https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_installing_jailbreak.png" alt="" width="592" height="454" class="aligncenter size-full wp-image-5284" srcset="https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_installing_jailbreak.png 592w, https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_installing_jailbreak-300x230.png 300w" sizes="(max-width: 592px) 100vw, 592px" /><br />
You should see how your iOS device shows the checkra1n verbose boot screen. Do not disconnect the device from your Mac yet.<br />
<img src="https://www.albertogonzalez.net/files/2020/06/iphone6_checkra1n_boot.jpg" alt="" width="668" height="376" class="aligncenter size-full wp-image-5316" style="padding:15px" srcset="https://www.albertogonzalez.net/files/2020/06/iphone6_checkra1n_boot.jpg 668w, https://www.albertogonzalez.net/files/2020/06/iphone6_checkra1n_boot-300x169.jpg 300w" sizes="(max-width: 668px) 100vw, 668px" />
</li>
<li>checkra1n will tell us when the process has been completed. Now you can click on the &#8216;Done&#8217; button, close the checkra1n application and disconnect the device.<br />
<img src="https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_jailbreak_done.png" alt="" width="592" height="454" class="aligncenter size-full wp-image-5285" srcset="https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_jailbreak_done.png 592w, https://www.albertogonzalez.net/files/2020/05/checkra1n_beta_0.10.1_jailbreak_done-300x230.png 300w" sizes="(max-width: 592px) 100vw, 592px" /></li>
<li>Now check your iPhone&#8217;s Home screen. You should see the checkra1n loader app. Congratulations, you&#8217;ve jailbroken your iPhone!<br />
<img src="https://www.albertogonzalez.net/files/2020/05/iphone_home_checkra1n.png" alt="" width="375" height="667" class="aligncenter size-full wp-image-5289" srcset="https://www.albertogonzalez.net/files/2020/05/iphone_home_checkra1n.png 375w, https://www.albertogonzalez.net/files/2020/05/iphone_home_checkra1n-169x300.png 169w, https://www.albertogonzalez.net/files/2020/05/iphone_home_checkra1n-275x490.png 275w" sizes="(max-width: 375px) 100vw, 375px" /></li>
<li>The next thing you should probably do is open the checkra1n loader app, tap on the Cydia option, and then tap on the &#8216;Install Cydia&#8217; button that appears.<br />
<table style="width:100%" >
<tr>
<th style="padding:10px"><img src="https://www.albertogonzalez.net/files/2020/05/checkra1n_loader.png" alt="" width="375" height="667" class="alignnone size-full wp-image-5293" srcset="https://www.albertogonzalez.net/files/2020/05/checkra1n_loader.png 375w, https://www.albertogonzalez.net/files/2020/05/checkra1n_loader-169x300.png 169w, https://www.albertogonzalez.net/files/2020/05/checkra1n_loader-275x490.png 275w" sizes="(max-width: 375px) 100vw, 375px" /></th>
<th style="padding:10px"><img src="https://www.albertogonzalez.net/files/2020/05/checkra1n_loader_install_cydia.png" alt="" width="375" height="667" class="alignnone size-full wp-image-5291" srcset="https://www.albertogonzalez.net/files/2020/05/checkra1n_loader_install_cydia.png 375w, https://www.albertogonzalez.net/files/2020/05/checkra1n_loader_install_cydia-169x300.png 169w, https://www.albertogonzalez.net/files/2020/05/checkra1n_loader_install_cydia-275x490.png 275w" sizes="(max-width: 375px) 100vw, 375px" /></th>
</tr>
</table>
</li>
<li>The checkra1n loader will start to download the base system and install Cydia.<br />
<table style="width:100%">
<tr>
<th style="padding:10px"><img src="https://www.albertogonzalez.net/files/2020/05/checkra1n_loader_downloading_base_system.png" alt="" width="375" height="667" class="alignnone size-full wp-image-5290" srcset="https://www.albertogonzalez.net/files/2020/05/checkra1n_loader_downloading_base_system.png 375w, https://www.albertogonzalez.net/files/2020/05/checkra1n_loader_downloading_base_system-169x300.png 169w, https://www.albertogonzalez.net/files/2020/05/checkra1n_loader_downloading_base_system-275x490.png 275w" sizes="(max-width: 375px) 100vw, 375px" /></th>
<th style="padding:10px"><img src="https://www.albertogonzalez.net/files/2020/05/checkra1n_loader_installing_cydia.png" alt="" width="375" height="667" class="alignnone size-full wp-image-5292" srcset="https://www.albertogonzalez.net/files/2020/05/checkra1n_loader_installing_cydia.png 375w, https://www.albertogonzalez.net/files/2020/05/checkra1n_loader_installing_cydia-169x300.png 169w, https://www.albertogonzalez.net/files/2020/05/checkra1n_loader_installing_cydia-275x490.png 275w" sizes="(max-width: 375px) 100vw, 375px" /></th>
</tr>
</table>
<p>When finished, Cydia will appear on your iPhone&#8217;s Home screen.</p>
<table style="width:100%">
<tr>
<th style="padding:10px"><img src="https://www.albertogonzalez.net/files/2020/05/iphone_home_checkra1n_cydia.png" alt="" width="375" height="667" class="alignnone size-full wp-image-5294" srcset="https://www.albertogonzalez.net/files/2020/05/iphone_home_checkra1n_cydia.png 375w, https://www.albertogonzalez.net/files/2020/05/iphone_home_checkra1n_cydia-169x300.png 169w, https://www.albertogonzalez.net/files/2020/05/iphone_home_checkra1n_cydia-275x490.png 275w" sizes="(max-width: 375px) 100vw, 375px" /></th>
<th style="padding:10px"><img src="https://www.albertogonzalez.net/files/2020/06/cydia_welcome.png" alt="" width="375" height="667" class="alignnone size-full wp-image-5313" srcset="https://www.albertogonzalez.net/files/2020/06/cydia_welcome.png 375w, https://www.albertogonzalez.net/files/2020/06/cydia_welcome-169x300.png 169w, https://www.albertogonzalez.net/files/2020/06/cydia_welcome-275x490.png 275w" sizes="(max-width: 375px) 100vw, 375px" /></th>
</tr>
</table>
</li>
<li>Remember that if you reboot the device, it will start up with an un-patched kernel and you will have to go back to step 3 if you want to re-jailbreak your iPhone.</li>
</ol>
<p>&nbsp;</p>
<hr />
<h5>Some handy links</h5>
<p style="padding-left: 30px;">
<a href="https://checkra.in/">checkra1n</a><br />
<a href="https://assets.checkra.in/downloads/macos/33356fd4adabe88b787e1db36ac624833c32416124a40ec00d3089d659f21a5f/checkra1n%20beta%200.10.1.dmg">&#8216;checkra1n beta 0.10.1.dmg&#8217; for macOS</a>
</p>
<p style="padding-left: 30px;">
<a href="https://unc0ver.dev/">Unc0ver</a><br />
<a href="https://github.com/pwn20wndstuff/Undecimus">Unc0ver GitHub project</a>
</p>
<p style="padding-left: 30px;">
<a href="https://chimera.sh">chimera.sh</a></p>
]]></content:encoded>
			</item>
	</channel>
</rss>