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

<channel>
	<title>Networking &#8211; Xojo Programming Blog</title>
	<atom:link href="https://blog.xojo.com/tag/networking/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.xojo.com</link>
	<description>Blog about the Xojo programming language and IDE</description>
	<lastBuildDate>Mon, 13 Oct 2025 19:01:55 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Year of Code 2025: October Project &#8211; Multi-Platform Communication</title>
		<link>https://blog.xojo.com/2025/10/13/year-of-code-2025-october-project-multi-platform-communication/</link>
		
		<dc:creator><![CDATA[Gabriel Ludosanu]]></dc:creator>
		<pubDate>Mon, 13 Oct 2025 19:01:53 +0000</pubDate>
				<category><![CDATA[Cross-Platform]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Year of Code]]></category>
		<category><![CDATA[#YearofCode]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[Lan]]></category>
		<category><![CDATA[Multi-Platform Development]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Rapid Application Development]]></category>
		<category><![CDATA[UDPSocket]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=15461</guid>

					<description><![CDATA[For October&#8217;s Xojo Year of Code 2025, I built MPACSocket, a tiny, reusable UDPSocket subclass that enables zero-config, local-network presence and chat across platforms. It&#8230;]]></description>
										<content:encoded><![CDATA[
<p>For October&#8217;s Xojo Year of Code 2025, I built MPACSocket, a tiny, reusable UDPSocket subclass that enables zero-config, local-network presence and chat across platforms. It wraps binding, broadcast, presence beacons, peer tracking, and JSON parsing into a single class with a clean event-based API. Drop it into Desktop projects and you’ve got instant LAN discovery and messaging.</p>



<h2 class="wp-block-heading">What this project includes</h2>



<ul class="wp-block-list">
<li>A self-contained UDPSocket subclass (MPACSocket) that handles bind, presence broadcasting, peer pruning, and chat envelopes with versioned JSON (good for further updates to the protocol).</li>



<li>Simple API: Start(port), Stop(), Rename(name), SendChat(text). Everything else comes through events like Bound, ChatReceived, PeerOnline/PeerOffline, PeerUpdated, StatusChanged, and SocketError.</li>



<li>A sample DesktopWindow (wndMPAC) that wires MPACSocket to a transcript area and peers list.</li>
</ul>



<h2 class="wp-block-heading">How to use</h2>



<ul class="wp-block-list">
<li>Add MPACSocket to your project, drop it onto a DesktopWindow or instantiate in code.</li>



<li>Set DisplayName, call Start(62636), and listen to events to update your UI or console output.</li>



<li>Use SendChat to broadcast a message; presence beacons and peer tracking happen automatically.</li>
</ul>



<h2 class="wp-block-heading">Download</h2>



<p>You can download the entire Xojo project from <a href="https://github.com/xolabsro/Multi-Platform-App-Communication" target="_blank" rel="noreferrer noopener">GitHub</a></p>



<p>This project shows how a small, well-scoped class can turn low-level UDP into a friendly, cross-platform building block. Feel free to adapt the events or JSON schema for your own protocols.</p>



<p><em>Gabriel is a digital marketing enthusiast who loves coding with Xojo to create cool software tools for any platform. He is always eager to learn and share new ideas!</em></p>



<ul class="wp-block-social-links has-normal-icon-size is-content-justification-center is-layout-flex wp-container-core-social-links-is-layout-16018d1d wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-facebook  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.facebook.com/goxojo" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Facebook</span></a></li>

<li class="wp-social-link wp-social-link-x  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://x.com/xojo" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li>

<li class="wp-social-link wp-social-link-linkedin  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.linkedin.com/company/xojo" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li>

<li class="wp-social-link wp-social-link-github  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://github.com/topics/xojo" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li>

<li class="wp-social-link wp-social-link-youtube  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.youtube.com/c/XojoInc" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"></path></svg><span class="wp-block-social-link-label screen-reader-text">YouTube</span></a></li></ul>



<p><strong>Year of Code Project</strong></p>



<ul class="wp-block-list">
<li><a href="https://blog.xojo.com/2025/01/09/year-of-code-2025-kickoff/">Year of Code: Kickoff</a></li>



<li><a href="https://blog.xojo.com/2025/01/15/year-of-code-2025-january-project/" target="_blank" rel="noreferrer noopener">January Project: Desktop Apps</a>&nbsp;|&nbsp;<a href="https://forum.xojo.com/t/year-of-code-2025-january-project-sharing/83927" target="_blank" rel="noreferrer noopener">Forum Discussion</a></li>



<li><a href="https://blog.xojo.com/2025/02/11/year-of-code-2025-february-project/">February Project: Database Apps</a>&nbsp;|&nbsp;<a href="https://forum.xojo.com/t/2025-year-of-code-february" target="_blank" rel="noreferrer noopener">Forum Discussion</a></li>



<li><a href="https://blog.xojo.com/2025/03/05/year-of-code-2025-march-project-web-apps/">March Project: Web Apps</a> | <a href="https://forum.xojo.com/t/2025-year-of-code-march/84474?u=alyssa_foley">Forum Discussion</a></li>



<li><a href="https://blog.xojo.com/2025/04/08/year-of-code-2025-april-project-user-interface/">April Project: User Interface</a> | <a href="https://forum.xojo.com/t/2025-year-of-code-april-user-interface/84926">Forum Discussion</a></li>



<li><a href="https://blog.xojo.com/2025/05/07/year-of-code-2025-may-project-mobile-apps/">May Project: Mobile Apps</a> | <a href="https://forum.xojo.com/t/2025-year-of-code-may-is-mobile/85272">Forum Discussion</a></li>



<li><a href="https://blog.xojo.com/2025/06/10/year-of-code-2025-june-project-cross-platform-code-class/">June Project: Code Sharing</a> | <a href="https://forum.xojo.com/t/2025-year-of-code-june-is-code-sharing/85612">Forum Discussion</a></li>



<li><a href="https://blog.xojo.com/2025/07/10/year-of-code-2025-july-project-charting/">July Project: Charting</a> | <a href="https://forum.xojo.com/t/2025-year-of-code-july-is-charting/85896">Forum Discussion</a></li>



<li><a href="https://blog.xojo.com/2025/08/07/year-of-code-2025-august-project-console-apps/">August Project: Console Apps</a> | <a href="https://forum.xojo.com/t/august-2025-year-of-code-console-apps/86203">Forum Discussion</a></li>



<li><a href="https://blog.xojo.com/2025/09/08/year-of-code-2025-september-project-games/">September Project: Games</a> | <a href="https://forum.xojo.com/t/2025-year-of-code-septgamer">Forum Discussion</a></li>



<li><a href="https://blog.xojo.com/2025/10/13/year-of-code-2025-october-project-multi-platform-communication/">October Project: Multi-Platform</a> | <a href="https://forum.xojo.com/t/2025-year-of-code-october-multi-platform-communication/86717">Forum Discussion</a></li>



<li><a href="https://blog.xojo.com/2025/11/10/year-of-code-2025-november-project-pdf-postcard-generator/">November Project: PDF</a> | <a href="https://forum.xojo.com/t/2025-year-of-code-november-pdf/86969">Forum Discussion</a></li>
</ul>



<p><strong>How to Play:</strong></p>



<p>Each month we&#8217;ll announce a new theme and share an example project of our own. Share your projects to the Xojo Forum thread for that month via GitHub (all the links you need are posted above ↑ ). Learn how to use <a href="https://blog.xojo.com/2024/04/02/using-xojo-and-github/">Xojo and GitHub</a>.</p>



<p><strong>The Prizes:</strong></p>



<p>Monthly winners get $100 at the Xojo store. Every month you submit a project is another chance to win the grand prize. The grand prize is $250 cash plus a Xojo Pro license and a year of GraffitiSuite and will be announce in December. Learn more about the <a href="https://blog.xojo.com/2025/01/09/year-of-code-2025-kickoff/#prizes">prizes</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Only 48 Days Until Monkeybread Software&#8217;s Xojo Conference</title>
		<link>https://blog.xojo.com/2024/03/05/only-48-days-until-monkeybread-softwares-xojo-conference/</link>
		
		<dc:creator><![CDATA[Alyssa Foley]]></dc:creator>
		<pubDate>Tue, 05 Mar 2024 15:20:00 +0000</pubDate>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Beginner Tips]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Monkeybread Software]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[Xojo Programming Language]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=12635</guid>

					<description><![CDATA[Monkeybread Software and Christian Schmitz have organized an exceptional event in Germany in just 2 months. Take this opportunity to meet and network with members of the global Xojo Community. Meet Geoff Perlman, Xojo's Founder &#038; CEO and Xojo Engineers, Javier Menendez and Ricardo Cruz.]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Register now for the biggest Xojo event in 2024!</h2>



<p><a href="https://www.monkeybreadsoftware.de/xojo/events/andernach-2024-event.shtm">Monkeybread Software</a> and Christian Schmitz have organized an exceptional event in Germany taking place in just 2 months &#8211; April 22nd to 27th. Take this opportunity to meet and network with members of the global Xojo Community. Meet Geoff Perlman, Xojo&#8217;s Founder &amp; CEO and Xojo Engineers, Javier Menendez and Ricardo Cruz.</p>



<h3 class="wp-block-heading">This event includes:</h3>



<ul class="wp-block-list">
<li>Keynotes from Geoff Perlman and Christian Schmitz</li>



<li>Educational, Feedback and Q&amp;A Sessions</li>



<li>Web Lab with Xojo&#8217;s Ricardo Cruz</li>



<li>Performance Lab with MBS&#8217;s Christian Schmitz</li>



<li>Dinners, Networking and Sightseeing</li>
</ul>



<h2 class="wp-block-heading">Training, Sessions &amp; Events</h2>



<h3 class="wp-block-heading"><a href="https://www.monkeybreadsoftware.de/xojo/events/andernach-2024-event.shtml#Schedule"><strong>6 Day Schedule</strong></a></h3>



<p>Monday          22nd April        Welcome Event<br>Tuesday         23rd April         Sight Seeing Tour &amp; Dinner<br>Wednesday    24th April         Training Day &amp; Reception in Hotel<br>Thursday        25th April         Conference &amp; Dinner at Baggerado<br>Friday             26th April         Conference &amp; Farewell Dinner<br>Saturday         27th April         Geyser Tour</p>



<h2 class="wp-block-heading">Einstein Hotel Am Römerpark</h2>



<p>The event will be hosted at the <a href="https://www.einsteinhotels.de/">Einstein Hotel Am Römerpark</a>, a modern business and conference hotel with unique ambiance and modern facilities. Located in Andernach across from the river Rhine, the hotel features a garden, lounge, terrace and the Sky Bar &amp; Restaurant.</p>



<figure class="wp-block-image size-large is-style-default"><img fetchpriority="high" decoding="async" width="1024" height="394" src="https://blog.xojo.com/wp-content/uploads/2024/03/andernach-1024x394.png" alt="" class="wp-image-12642" srcset="https://blog.xojo.com/wp-content/uploads/2024/03/andernach-1024x394.png 1024w, https://blog.xojo.com/wp-content/uploads/2024/03/andernach-300x115.png 300w, https://blog.xojo.com/wp-content/uploads/2024/03/andernach-768x295.png 768w, https://blog.xojo.com/wp-content/uploads/2024/03/andernach.png 1300w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Visit, Attend &amp; Network</h2>



<h3 class="wp-block-heading"><a href="https://www.andernach-tourismus.de/en/">Location: Andernach</a></h3>



<p>Networking is not limited to the event hotel! Enjoy the evenings with other Xojo users at casual get-togethers. Arrive a day or two before the conference or stay over the weekend and schedule time to enjoy the area. Join the <a href="https://www.monkeybreadsoftware.de/xojo/events/andernach-2024-event.shtml#SightSeeingTour">group for sightseeing</a> and a <a href="https://www.monkeybreadsoftware.de/xojo/events/andernach-2024-event.shtml#GeyserTour">Geyser Tour</a>. Andernach has much to offer visitors including the &#8220;Runde Turm&#8221; (round tower), Mariendom (Cathedral of Mary), the old crane on the Rhine River front, the Mikveh or the well preserved town wall.</p>



<p>Learn everything else you need to know and <a href="https://www.monkeybreadsoftware.de/xojo/events/register.shtml">Register Today</a> at <a href="https://www.monkeybreadsoftware.de/xojo/events/andernach-2024-event.shtml">Monkeybread Software</a>.</p>



<ul class="wp-block-social-links has-normal-icon-size is-content-justification-center is-layout-flex wp-container-core-social-links-is-layout-16018d1d wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-facebook  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.facebook.com/goxojo" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Facebook</span></a></li>

<li class="wp-social-link wp-social-link-x  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://x.com/xojo" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li>

<li class="wp-social-link wp-social-link-linkedin  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.linkedin.com/company/xojo" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li>

<li class="wp-social-link wp-social-link-github  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://github.com/topics/xojo" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li>

<li class="wp-social-link wp-social-link-youtube  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.youtube.com/c/XojoInc" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"></path></svg><span class="wp-block-social-link-label screen-reader-text">YouTube</span></a></li></ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>#JustCode Challenge Week 10 &#8211; NetTank</title>
		<link>https://blog.xojo.com/2018/08/24/justcode-challenge-week-10-nettank/</link>
		
		<dc:creator><![CDATA[Paul Lefebvre]]></dc:creator>
		<pubDate>Fri, 24 Aug 2018 10:00:54 +0000</pubDate>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[#JustCode]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[UDP]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=4851</guid>

					<description><![CDATA[For the 10th week of the #JustCode Challenge I took a look at networking. For my project this week I've created a networked version of the Combat game, which has two tanks on the screen shooting at each other. ]]></description>
										<content:encoded><![CDATA[<p>For the 10th week of the #JustCode Challenge I took a look at networking. For my project this week I&#8217;ve created a networked version of the Combat game, which has two tanks on the screen shooting at each other. The network version allows you to control one tank with the app running on your computer and someone else to control the other tank with the app running on their computer. I call it NetTank.</p>
<p><span id="more-4851"></span></p>
<p>I made a version of Combat in Xojo a while ago (it&#8217;s included in the Xojo examples folder in the Download) so I figured I would start there. To provide network capabilities to a game, you generally want to go with something fast and that means UDP (User Datagram Protocol), which is provided by the UDPSocket. There&#8217;s also a UDPSocket example included with Xojo which I used as a reference.</p>
<p>To start I first decided what data I wanted to send back and forth. I narrowed it down to these actions:</p>
<ul>
<li>JoinAction</li>
<li>MoveAction</li>
<li>HitAction</li>
</ul>
<p>These are all sent as JSON by broadcasting to a Multicast group.</p>
<p>JoinAction is sent when a game is first started to allow the two client NetTank apps to negotiate who is player 1 and who is player 2. The two actions are &#8220;ready&#8221; and &#8220;player2&#8221;.</p>
<p>MoveAction contains the action that your tank just did to send to the other client so it can update its display. Initially I was just sending actions for &#8220;forward&#8221;, &#8220;left&#8221;, &#8220;right&#8221; and &#8220;fire&#8221;. But because UDP does not guarantee messages are received, the tanks would sometimes get out of sync if a lot of moves were sent quickly when there was network congestion. So I instead decided to send the actual xy coordinate and rotation angle for a forward move so that should a message get lost it will at least have the correct information in a future forward message.</p>
<p>When a tank is hit, HitAction contains the new location for the tank (it is moved to a random spot on the screen when hit) to send to the other client.</p>
<p>Because the Combat game already ran using Timers, I didn&#8217;t really have to change much of the original Combat game code for NetTank. I added a UDPSocket to the main CombatWindow and in its DataAvailable event I have the code to check for the messages and update the Tank objects as needed.</p>
<p>I also had to make a few tweaks to the main code to send the JSON messages for movements, hits and to properly identify which tank to move.</p>
<p>To try the game you&#8217;ll need to run it on two different computers. The first one that starts becomes player 1 (blue) and the second one is player 2 (red). Use the arrow keys to move the tanks and press the space bar to fire.</p>
<p><img decoding="async" class="alignnone size-full wp-image-4856" src="https://blog.xojo.com/wp-content/uploads/2018/08/2018-08-22_14-05-40.png" alt="" width="1220" height="437" /></p>
<p><a href="http://files.xojo.com/JustCode/NetworkTank.zip">Download the project</a> or <a href="https://gitlab.com/xojo/NetTank">check it out on GitLab</a>.</p>
<p>Add your #JustCode project to the <a href="https://forum.xojo.com/49555-just-code-challenge-week-10-projects">week 10 forum conversation</a>.</p>
<p>Download and check out earlier projects:</p>
<ul>
<li>Week 9: <a href="https://blog.xojo.com/2018/08/17/justcode-challenge-week-9-quote-web-service/">Quote Web Service</a></li>
<li>Week 8: <a href="https://blog.xojo.com/2018/08/10/justcode-challenge-week-8-jumpstart-app-launcher/">JumpStart App Launcher</a></li>
<li>Week 7: <a href="https://blog.xojo.com/2018/08/03/justcode-challenge-week-7-pitch-tracker/">Pitch Tracker</a></li>
<li>Week 6: <a href="https://blog.xojo.com/2018/07/27/justcode-challenge-week-6-bubble-popper/">Bubble Popper</a></li>
<li>Week 5: <a href="https://blog.xojo.com/2018/07/20/justcode-challenge-week-5-math-quiz/">Math Quiz</a></li>
<li>Week 4: <a href="https://blog.xojo.com/2018/07/13/justcode-challenge-week-4-mini-golf-scorekeeper/">Mini-Golf ScoreKeeper</a></li>
<li>Week 3: <a href="https://blog.xojo.com/2018/07/06/just-code-challenge-week3/">Dogs Up!</a></li>
<li>Week 2: <a href="https://blog.xojo.com/2018/06/29/just-code-challenge-week2/">Password Generator</a></li>
<li>Week 1: <a href="https://blog.xojo.com/2018/06/22/just-code-challenge-week1/">Color Picker</a></li>
</ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Love it or Hate it, Networking is Necessary</title>
		<link>https://blog.xojo.com/2018/02/08/love-it-or-hate-it-networking-is-necessary/</link>
		
		<dc:creator><![CDATA[Alyssa Foley]]></dc:creator>
		<pubDate>Thu, 08 Feb 2018 10:00:04 +0000</pubDate>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Dev Marketing]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[XDC]]></category>
		<category><![CDATA[App Marketing]]></category>
		<category><![CDATA[Developer Marketing]]></category>
		<category><![CDATA[Social Media Marketing]]></category>
		<guid isPermaLink="false">http://blog.xojo.com/?p=3101</guid>

					<description><![CDATA[You probably aren't focused on marketing and promoting your app. We've shared some tips to use Twitter to market you apps, and have talked about other ways to market your app for free. These efforts do not live in a vacuum. Let's discuss ways to integrate all these forms of marketing to make the greatest impact...let's talk about Networking.]]></description>
										<content:encoded><![CDATA[<p>So many of you in the Xojo community are independent developers and though you are smart for choosing Xojo for rapid, cross-platform development, you probably aren&#8217;t focused on marketing and promoting your app.</p>
<p>I&#8217;ve shared some tips on using <a href="https://blog.xojo.com/2017/06/29/free-marketing-4-practical-tips-for-developers-new-to-twitter/">Twitter to market you apps</a>, and Dana has talked about other ways to <a href="https://blog.xojo.com/2017/11/16/8-ways-to-market-your-app-for-free/">market your app for free</a>. These efforts do not live in a vacuum. Let&#8217;s discuss ways to integrate all these forms of marketing to make the greatest impact&#8230;let&#8217;s talk about Networking.</p>
<p><span id="more-3101"></span><a href="https://imgs.xkcd.com/comics/networking.png"><img decoding="async" class="size-medium aligncenter" src="https://imgs.xkcd.com/comics/networking.png" width="740" height="281" /></a></p>
<p>Delicious business cards aside, networking is simply the building of business relationships. For some of us, extroverts I&#8217;m looking at you, this may come naturally and you may genuinely enjoy it; but for others, networking can be a true effort, a constant struggle to get out there and be authentic in every interaction.</p>
<p>Regardless of how you feel, networking is necessary. From independent developers, citizen developers, small business owners and CEOs, networking leads &#8220;to more job and business opportunities, broader and deeper knowledge, improved capacity to innovate, faster advancement, and greater status and authority&#8221; as discussed in HBR&#8217;s article <a href="https://hbr.org/2016/05/learn-to-love-networking">Learn to Love Networking</a>.</p>
<p>Love it or not, here are 5 ways to network, IRL and online.</p>
<ol>
<li><strong>Cross-posting</strong> sometimes gets a bad, spam-y reputation but used responsibly it can be a simple solution to promote your app to different audiences. The key, both to reaching more people and to avoid being considered spam, is to tailor each message for the individual network and only post to the networks you are active in. For example, I have a blog post, &#8220;<a href="https://blog.xojo.com/2013/06/19/a-modern-alternative-to-visual-basic/">A Modern Alternative to Visual Basic</a>&#8221; and I want to post it across all our networks. On <a href="https://twitter.com/xojo"><strong>Twitter</strong></a> I might tweet a question hoping to start a conversation: <img loading="lazy" decoding="async" class="aligncenter wp-image-3688" src="https://blog.xojo.com/wp-content/uploads/2018/01/Screen-Shot-2018-01-10-at-3.56.25-PM.png" alt="" width="400" height="320" />Even with 280 characters, I tend limit the hashtags on Twitter more than I would on other networks. On <a href="https://www.facebook.com/goxojo/"><strong>Facebook</strong></a> and <a href="https://plus.google.com/u/0/b/110070695557977244252/+XojoInc"><strong>Google+</strong></a> I would expand the post to include more details, multiple images and additional hashtags: <img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3689" src="https://blog.xojo.com/wp-content/uploads/2018/01/Screen-Shot-2018-01-10-at-4.00.38-PM.png" alt="" width="500" height="639" />On <a href="https://www.linkedin.com/company/1525415/">LinkedIn</a> I will tailor the post more toward to specific audience, ie Visual Basic developers: <img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3690" src="https://blog.xojo.com/wp-content/uploads/2018/01/Screen-Shot-2018-01-10-at-4.08.37-PM.png" alt="" width="545" height="655" />And that&#8217;s how you cross-post the same content, even the same image, to different networks while still tailoring the message to each audience.</li>
<li>Use your <strong>signature block</strong>. Your signature block is simple, silent networking (so appealing to us introverts). Share a little about yourself and your app in your signature block. Make sure to link to your website and the social network you are most active on. <em>Don&#8217;t</em> write your life story, <em>don&#8217;t</em> include 7 inspirational quotes, <em>do</em> keep it short and <em>do</em> include a direct link.</li>
<li><strong>Attend events</strong> and show your strengths. You&#8217;ve developed this app, your input is valuable and you are likely more knowledgable than you think. Know what your strengths are and work out how you will talk about them and how you can use them to help others. <em>Shameless Plug: Each year I&#8217;m reminded by developers at the <a href="https://www.xojo.com/xdc/">Xojo Developer Conference</a> that networking is the greatest benefit in attending.</em></li>
<li><strong>Share and listen-</strong> don&#8217;t make it all about you and your project. Offer your expertise but don&#8217;t forget to listen to what others have to say. Your next great idea or that missing piece to your project could be a conversation away! Keep in mind, you&#8217;re probably not the only one in the room who isn&#8217;t 100% comfortable networking.</li>
<li><strong>Be nice</strong>, you aren&#8217;t the only &#8220;expert&#8221; in the room. Your goal is conversations and engagement. People will remember <em>and share</em> generous and kind interactions. Ask actual questions, not statements showing off your experience. It may seem like a silly or obvious list, but these <a href="https://www.powerofpositivity.com/10-conversation-starters-introverts/">10 conversation starters for introverts</a> can really help break the ice. Keep the list handy on your phone and check it right before you enter the room.</li>
</ol>
<p>To learn even more about using social media and other app marketing topics, come to <a href="https://www.xojo.com/xdc/">XDC</a> or email me at social@xojo.com with questions or suggestions on app marketing topics you would find helpful!</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
