pezcurrel 4 years ago
parent
commit
74727aa0c1

+ 16 - 13
crawler/crawler.php

@@ -259,7 +259,7 @@ if (!$opts['onlinecheck'])
 	$opts['loadbiglist']=true;
 
 $biglist=array();
-
+$ibiglistc=0;
 if ($opts['loadbiglist']) {
 	if (file_exists($opts['biglistfp']) && is_file($opts['biglistfp']) && is_readable($opts['biglistfp'])) {
 		echo('Carico la listona pre-esistente («'.$opts['biglistfp'].'») ... ');
@@ -267,6 +267,7 @@ if ($opts['loadbiglist']) {
 		if ($buf!==false) {
 			echo('OK :-)'.N);
 			$biglist=json_decode($buf,true);
+			$ibiglistc=count($biglist);
 		} else {
 			echo('ERRORE :-('.N);
 		}
@@ -341,22 +342,25 @@ if ($opts['onlinecheck']) {
 		}
 	}
 	ksort($biglist);
-	echo('Totale istanze note: '.count($biglist).N);
+	$diff=count($biglist)-$ibiglistc;
+	if ($diff>=0) $diff='+'.$diff;
+	echo('Totale istanze note: '.count($biglist).' ('.$diff.' rispetto all\'ultima volta).'.N);
 }
 
-$oprodlistc=0;
+$prodlist=array();
+$iprodlistc=0;
 $buf=@file_get_contents($opts['prodlistfp']);
 if ($buf!==false) {
 	$prodlist=json_decode($buf,true);
-	$oprodlistc=count($prodlist);
+	$iprodlistc=count($prodlist);
 }
 
 $newbiglist=array();
 $i=0;
-$qinst=count($biglist);
+$biglistc=count($biglist);
 foreach ($biglist as $dom=>$oinfo) {
 	if ($opts['onlinecheck']) {
-		echo('Recupero le informazioni su «'.$dom.'» ('.($i+1).'/'.$qinst.' - '.round(100/$qinst*$i).'%) ... ');
+		echo('Recupero le informazioni su «'.$dom.'» ('.($i+1).'/'.$biglistc.' - '.round(100/$biglistc*$i).'%) ... ');
 		$buf=@file_get_contents('https://'.$dom.'/api/v1/instance',false,$context);
 		if ($buf!==false) {
 			echo('OK :-)'.N);
@@ -368,7 +372,7 @@ foreach ($biglist as $dom=>$oinfo) {
 		} else {
 			echo('ERRORE :-( ... ');
 			$lastokk=null;
-			if (array_key_exists('cr-checks',$oinfo)) {
+			if (!is_null($oinfo) && array_key_exists('cr-checks',$oinfo)) {
 				foreach ($oinfo['cr-checks'] as $key=>$val)
 					if ($val['ok']) $lastokk=$key;
 			}
@@ -396,14 +400,13 @@ foreach ($biglist as $dom=>$oinfo) {
 		&& time()-strtotime($info['contact_account']['created_at'])>=6*30*24*60*60*/
 	) {
 		if (array_key_exists($dom,$prodlist)) {
-			$info['new']=false;
 			if (array_key_exists('short_description',$info) && (!array_key_exists('short_description',$prodlist[$dom]) || $prodlist[$dom]['short_description']!=$info['short_description'])) {
 				$info['short_description_changed']=true;
 				$info['prev_short_description']=$prodlist[$dom]['short_description'];
 			} else {
 				$info['short_description_changed']=false;
 			}
-			if ($prodlist[$dom]['description']!=$info['description']) {
+			if (array_key_exists('description',$info) && (!array_key_exists('description',$prodlist[$dom]) || $prodlist[$dom]['description']!=$info['description'])) {
 				$info['description_changed']=true;
 				$info['prev_description']=$prodlist[$dom]['description'];
 			} else {
@@ -415,7 +418,6 @@ foreach ($biglist as $dom=>$oinfo) {
 			else
 				$info['show']=-1;
 		} else {
-			$info['new']=true;
 			$info['short_description_changed']=false;
 			$info['description_changed']=false;
 			$info['show']=-1;
@@ -434,15 +436,16 @@ foreach ($biglist as $dom=>$oinfo) {
 if ($opts['onlinecheck']) {
 	$json=json_encode($newbiglist,JSON_PRETTY_PRINT);
 	file_put_contents($opts['biglistfp'],$json);
-	$diff=count($newbiglist)-count($biglist);
+	$newbiglistc=count($newbiglist);
+	$diff=$newbiglistc-$ibiglistc;
 	if ($diff>=0) $diff='+'.$diff;
-	echo('Totale istanze nella listona: '.count($newbiglist).' ('.$diff.' rispetto all’ultima volta)'.N);
+	echo('Totale istanze nella listona: '.$newbiglistc.' ('.$diff.' rispetto all’ultima volta)'.N);
 } else {
 	echo('Totale istanze nella listona: '.count($biglist).N);
 }
 $json=json_encode($prodlist,JSON_PRETTY_PRINT);
 file_put_contents($opts['prodlistfp'],$json);
-$diff=count($prodlist)-$oprodlistc;
+$diff=count($prodlist)-$iprodlistc;
 if ($diff>=0) $diff='+'.$diff;
 echo('Totale istanze nella listina di quelle occhei: '.count($prodlist).' ('.$diff.' rispetto all’ultima volta)'.N);
 

+ 3 - 3
web/about_it.php

@@ -10,13 +10,13 @@
 <div class="scrwidein">
 <section class="sectcont">
 <h3>Info</h3>
-<p>Questo sito è curato da un gruppo di utenti entusiasti di Mastodon provenienti principalmente dall’Istanza italiana <a href="https://mastodon.bida.im">mastodon.bida.im</a>, e da altri collaboratori da Istanze diverse.</p>
-<p>Ecco alcuni contatti</p>
+<p>Questo sito è realizzato da alcuni utenti entusiasti di Mastodon provenienti principalmente dall’Istanza italiana <a href="https://mastodon.bida.im">mastodon.bida.im</a>, con l’aiuto di numerosi utenti provenienti da diverse parti del Fediverso che ringraziamo per il loro contributo.</p>
+<p>Per contatti potete rivolgervi a:</p>
 <ul>
 <li>Ca_Gi: <a href="https://mastodon.bida.im/@Ca_Gi">@Ca_Gi@mastodon.bida.im</a></li>
 <li>Pongrèbio: <a href="https://mastodon.bida.im/@pongrebio" style="letter-spacing:-0.3px;">@pongrebio@mastodon.bida.im</a></li>
 </ul>
-<p>Eccetto dove diversamente specificato, i contenuti di questo sito sono rilasciati sotto <a href="https://creativecommons.org/licenses/by/4.0">Licenza Creative Commons Attribuzione 4.0 Internazionale</a>.</p>
+<p>Eccetto dove diversamente specificato, i contenuti di questo sito sono rilasciati con <a href="https://creativecommons.org/licenses/by/4.0">Licenza Creative Commons Attribuzione 4.0 Internazionale</a>.</p>
 </section>
 </div>
 </div>

+ 45 - 45
web/home_en.php

@@ -11,70 +11,70 @@
 
 <ol style="margin-bottom: 20pt;">
 
-<li><a href="#Introduction" id="IntroductionL" onclick="shsum()" class="lev1summ">Introduction</a></li>
+<li class="lev1summ"><a href="#Introduction" id="IntroductionL" onclick="shsum()">Introduction</a></li>
 
-<li><a href="#WhatIsMastodon" id="WhatIsMastodonL" onclick="shsum()" class="lev1summ">What is Mastodon?</a>
+<li class="lev1summ"><a href="#WhatIsMastodon" id="WhatIsMastodonL" onclick="shsum()">What is Mastodon?</a>
 <ol>
-<li><a href="#MastodonIsNotASocial" id="MastodonIsNotASocialL" onclick="shsum()">Mastodon is not <em>a</em> social network</a></li>
-<li><a href="#SoWhatIsMastodon" id="SoWhatIsMastodonL" onclick="shsum()">So what is Mastodon?</a></li>
-<li><a href="#WhoOwnsMastodon" id="WhoOwnsMastodonL" onclick="shsum()">Who owns Mastodon?</a></li>
+<li class="lev2summ"><a href="#MastodonIsNotASocial" id="MastodonIsNotASocialL" onclick="shsum()">Mastodon is not <em>a</em> social network</a></li>
+<li class="lev2summ"><a href="#SoWhatIsMastodon" id="SoWhatIsMastodonL" onclick="shsum()">So what is Mastodon?</a></li>
+<li class="lev2summ"><a href="#WhoOwnsMastodon" id="WhoOwnsMastodonL" onclick="shsum()">Who owns Mastodon?</a></li>
 </ol>
 </li>
 
-<li><a href="#TheInstance" id="TheInstanceL" onclick="shsum()" class="lev1summ">The Instance</a>
+<li class="lev1summ"><a href="#TheInstance" id="TheInstanceL" onclick="shsum()">The Instance</a>
 <ol>
-<li><a href="#RunningAnInstance" id="RunningAnInstanceL" onclick="shsum()">Running an Instance</a></li>
-<li><a href="#ChoosingTheInstance" id="ChoosingTheInstanceL" onclick="shsum()">Choosing the instance</a></li>
-<li><a href="#MediumAndSmallIsBetter" id="MediumAndSmallIsBetterL" onclick="shsum()">Medium and small Instances are better</a></li>
-<li><a href="#InteractionsAndEchoChambers" id="InteractionsAndEchoChambersL" onclick="shsum()">Interactions and echo-chambers</a></li>
-<li><a href="#SoftwareModifications" id="SoftwareModificationsL" onclick="shsum()">Instance based software modifications and personalization</a></li>
+<li class="lev2summ"><a href="#RunningAnInstance" id="RunningAnInstanceL" onclick="shsum()">Running an Instance</a></li>
+<li class="lev2summ"><a href="#ChoosingTheInstance" id="ChoosingTheInstanceL" onclick="shsum()">Choosing the instance</a></li>
+<li class="lev2summ"><a href="#MediumAndSmallIsBetter" id="MediumAndSmallIsBetterL" onclick="shsum()">Medium and small Instances are better</a></li>
+<li class="lev2summ"><a href="#InteractionsAndEchoChambers" id="InteractionsAndEchoChambersL" onclick="shsum()">Interactions and echo-chambers</a></li>
+<li class="lev2summ"><a href="#SoftwareModifications" id="SoftwareModificationsL" onclick="shsum()">Instance based software modifications and personalization</a></li>
 </ol>
 </li>
 
-<li><a href="#TheSoftware" id="TheSoftwareL" onclick="shsum()" class="lev1summ">The software</a>
+<li class="lev1summ"><a href="#TheSoftware" id="TheSoftwareL" onclick="shsum()">The software</a>
 <ol>
-<li><a href="#MastodonOnSmartphones" id="MastodonOnSmartphonesL" onclick="shsum()">Mastodon on smartphones</a></li>
-<li><a href="#MastodonOnTheDesktop" id="MastodonOnTheDesktopL" onclick="shsum()">Mastodon on the desktop</a></li>
+<li class="lev2summ"><a href="#MastodonOnSmartphones" id="MastodonOnSmartphonesL" onclick="shsum()">Mastodon on smartphones</a></li>
+<li class="lev2summ"><a href="#MastodonOnTheDesktop" id="MastodonOnTheDesktopL" onclick="shsum()">Mastodon on the desktop</a></li>
 </ol>
 </li>
 
-<li><a href="#UsingMastodon" id="UsingMastodonL" onclick="shsum()" class="lev1summ">Using Mastodon</a>
+<li class="lev1summ"><a href="#UsingMastodon" id="UsingMastodonL" onclick="shsum()">Using Mastodon</a>
 <ol>
-<li><a href="#MastodonAccount" id="MastodonAccountL" onclick="shsum()">Mastodon account</a></li>
-<li><a href="#ThreeTimelines" id="ThreeTimelinesL" onclick="shsum()">Three timelines</a></li>
-<li><a href="#SearchingThings" id="SearchingThingsL" onclick="shsum()">Searching things</a></li>
-<li><a href="#TrendingTopics" id="TrendingTopicsL" onclick="shsum()">Where are the trending topics?</a></li>
-<li><a href="#NoRetweetAndComment" id="NoRetweetAndCommentL" onclick="shsum()">No “Retweet and comment”</a></li>
-<li><a href="#LinkingToots" id="LinkingTootsL" onclick="shsum()">Linking a toot</a></li>
-<li><a href="#ObscuredFollowersList" id="ObscuredFollowersListL" onclick="shsum()">“Obscured” followers list</a></li>
-<li><a href="#TootsPrivacy" id="TootsPrivacyL" onclick="shsum()">The post’s privacy</a></li>
-<li><a href="#ThreadsAndRamifications" id="ThreadsAndRamificationsL" onclick="shsum()">Threads and ramifications</a></li>
-<li><a href="#MovingThroughRamifications" id="MovingThroughRamificationsL" onclick="shsum()">Moving through ramifications</a></li>
-<li><a href="#MovingToAnotherInstance" id="MovingToAnotherInstanceL" onclick="shsum()">Moving to another Instance</a></li>
+<li class="lev2summ"><a href="#MastodonAccount" id="MastodonAccountL" onclick="shsum()">Mastodon account</a></li>
+<li class="lev2summ"><a href="#ThreeTimelines" id="ThreeTimelinesL" onclick="shsum()">Three timelines</a></li>
+<li class="lev2summ"><a href="#SearchingThings" id="SearchingThingsL" onclick="shsum()">Searching things</a></li>
+<li class="lev2summ"><a href="#TrendingTopics" id="TrendingTopicsL" onclick="shsum()">Where are the trending topics?</a></li>
+<li class="lev2summ"><a href="#NoRetweetAndComment" id="NoRetweetAndCommentL" onclick="shsum()">No “Retweet and comment”</a></li>
+<li class="lev2summ"><a href="#LinkingToots" id="LinkingTootsL" onclick="shsum()">Linking a toot</a></li>
+<li class="lev2summ"><a href="#ObscuredFollowersList" id="ObscuredFollowersListL" onclick="shsum()">“Obscured” followers list</a></li>
+<li class="lev2summ"><a href="#TootsPrivacy" id="TootsPrivacyL" onclick="shsum()">The post’s privacy</a></li>
+<li class="lev2summ"><a href="#ThreadsAndRamifications" id="ThreadsAndRamificationsL" onclick="shsum()">Threads and ramifications</a></li>
+<li class="lev2summ"><a href="#MovingThroughRamifications" id="MovingThroughRamificationsL" onclick="shsum()">Moving through ramifications</a></li>
+<li class="lev2summ"><a href="#MovingToAnotherInstance" id="MovingToAnotherInstanceL" onclick="shsum()">Moving to another Instance</a></li>
 </ol>
 </li>
 
-<li><a href="#Moderation" id="ModerationL" onclick="shsum()" class="lev1summ">Moderation</a>
+<li class="lev1summ"><a href="#Moderation" id="ModerationL" onclick="shsum()">Moderation</a>
 <ol>
-<li><a href="#HarassmentAndModeration" id="HarassmentAndModerationL" onclick="shsum()">Harassment &amp; moderation</a></li>
-<li><a href="#BlockingAndSilencing" id="BlockingAndSilencingL" onclick="shsum()">Blocking and silencing</a></li>
+<li class="lev2summ"><a href="#HarassmentAndModeration" id="HarassmentAndModerationL" onclick="shsum()">Harassment &amp; moderation</a></li>
+<li class="lev2summ"><a href="#BlockingAndSilencing" id="BlockingAndSilencingL" onclick="shsum()">Blocking and silencing</a></li>
 </ol>
 </li>
 
-<li><a href="#MastodonAndTwitter" id="MastodonAndTwitterL" onclick="shsum()" class="lev1summ">Mastodon &amp; Twitter</a>
+<li class="lev1summ"><a href="#MastodonAndTwitter" id="MastodonAndTwitterL" onclick="shsum()">Mastodon &amp; Twitter</a>
 <ol>
-<li><a href="#MastodonIsNotTwitter" id="MastodonIsNotTwitterL" onclick="shsum()">Mastodon is not Twitter...</a></li>
-<li><a href="#TwitterMindset" id="TwitterMindsetL" onclick="shsum()">...but are you still tangled in a Twitter mindset?</a></li>
-<li><a href="#BridgingMastodonAndTwitter" id="BridgingMastodonAndTwitterL" onclick="shsum()">Bridging Mastodon and Twitter</a></li>
+<li class="lev2summ"><a href="#MastodonIsNotTwitter" id="MastodonIsNotTwitterL" onclick="shsum()">Mastodon is not Twitter...</a></li>
+<li class="lev2summ"><a href="#TwitterMindset" id="TwitterMindsetL" onclick="shsum()">...but are you still tangled in a Twitter mindset?</a></li>
+<li class="lev2summ"><a href="#BridgingMastodonAndTwitter" id="BridgingMastodonAndTwitterL" onclick="shsum()">Bridging Mastodon and Twitter</a></li>
 </ol>
 </li>
 
-<li><a href="#Federation" id="FederationL" onclick="shsum()" class="lev1summ">Federation</a>
+<li class="lev1summ"><a href="#Federation" id="FederationL" onclick="shsum()">Federation</a>
 <ol>
-<li><a href="#TheFediverse" id="TheFediverseL" onclick="shsum()">The Fediverse</a></li>
-<li><a href="#DecentralizedAndFederated" id="DecentralizedAndFederatedL" onclick="shsum()">Decentralized and federated</a></li>
-<li><a href="#HowFederationWorksTheory" id="HowFederationWorksTheoryL" onclick="shsum()">How federation works (theory)</a></li>
-<li><a href="#HowFederationWorksPractice" id="HowFederationWorksPracticeL" onclick="shsum()">How federation works (practice)</a></li>
+<li class="lev2summ"><a href="#TheFediverse" id="TheFediverseL" onclick="shsum()">The Fediverse</a></li>
+<li class="lev2summ"><a href="#DecentralizedAndFederated" id="DecentralizedAndFederatedL" onclick="shsum()">Decentralized and federated</a></li>
+<li class="lev2summ"><a href="#HowFederationWorksTheory" id="HowFederationWorksTheoryL" onclick="shsum()">How federation works (theory)</a></li>
+<li class="lev2summ"><a href="#HowFederationWorksPractice" id="HowFederationWorksPracticeL" onclick="shsum()">How federation works (practice)</a></li>
 </ol>
 </li>
 
@@ -92,7 +92,7 @@
 <section>
 <h3><a name="Introduction" id="Introduction" class="anchor"></a>Introduction</h3>
 <p>Mastodon is an innovative open-source and self-hostable microblogging platform similar to Twitter or Tumblr. Its development was started in 2016 by Eugen Rochko and since then Mastodon constantly attracted new users and communities looking for a social environment independent from big company logics and censorship.</p>
-<p>Mastodon is not a Twitter clone: by concept, structure and functionalities it is something completely different and interesting!</p>
+<p>Mastodon is not a Twitter clone: by concept, structure and functionalities it is something completely different and much more interesting!</p>
 <p>This website is an introduction to Mastodon’s basic concepts and features which you should know to fully understand how Mastodon works. It is conceived as a series of independent and menu selectable chapters (just click on the “Guide” link to show the summary menu), but it can also be read as a single text. It also hosts a <a href="instances">list of instances</a> that you can browse and use as a starting point to find the Mastodon instance that best fits your needs.</p>
 </section>
 
@@ -220,7 +220,7 @@ Basically, every Instance can interact with all the other ones and later decide
 <ul>
 <li><em>Home</em>: like on Twitter, it shows all the posts of all the people you follow on all Instances;</li>
 <li><em>Local</em>: it shows all the posts of the members of your Instance;</li>
-<li><em>Federated</em>: it shows all the posts of the people that you follow and also the posts of people on other Instances that are followed by people of your Instance.</li>
+<li><em>Federated</em>: it shows all the posts of the members of your Instance and also the posts of people on other Instances that are followed by people of your Instance.</li>
 </ul>
 <p>On every timeline the posts are shown in chronological order. This means that no algorythm, number of stars or other factors will influence the number of times you will see a post. A post can be boosted (“retweeted”) but that’s it.</p>
 <p><img src="<?php echo($prepath); ?>imgs/ThreeTimelines.png" class="image" alt="Screenshot showing the three timelines header."></p>
@@ -236,7 +236,7 @@ Basically, every Instance can interact with all the other ones and later decide
 <section>
 <h3><a name="TrendingTopics" id="TrendingTopics" class="anchor"></a>Where are the trending topics?</h3>
 <p>Twitter’s “Trending Topics” feature finds its Mastodon’s counterpart in “Trending Hashtags”. When “Trending Hashtags” are active, though, they’re reviewed by the admins to ensure they aren’t being gamed as a vector for abuse. However what’s most important is that this feature is completely optional: it is up to each instance’s admin and its community to decide if they want to have “Trending Hashtags”, and in fact many instances don’t activate it, thus eliminating the urge for their users to participate in certain topics instead of others and all the “social noise” about vapor-problems. So many Mastodon Instances are places where you can talk with people without having to know by a “Trending Topics” board that a certain topic is more important than the one you really want to talk about.</p>
-<p><img src="<?php echo($prepath); ?>imgs/TrendingTopics.png" class="image" alt="A screenshot showing the 'trending hashtags' feature."></p>
+<p><img src="<?php echo($prepath); ?>imgs/TrendingHashtags.png" class="image" alt="A screenshot showing the 'trending hashtags' feature."></p>
 </section>
 
 <section>
@@ -265,10 +265,10 @@ But then, if you cannot discover new people by checking who is following who, ho
 <h3><a name="TootsPrivacy" id="TootsPrivacy" class="anchor"></a>The post’s privacy</h3>
 <p>When you post a message (toot) you can choose among 4 types of posting</p>
 <ul>
-<li><em>Public</em>: your post is public, it appears on public timelines and everybody can see it. <em>Public</em> posts are recognizable by a globe icon.</li>
-<li><em>Not listed</em>: your post is still public but doesn’t appear on timelines. People can read it only if they are mentioned in it or if they go to your profile and scroll through your posts. <em>Not listed</em> posts are recognizable by an open padlock icon.</li>
-<li><em>Followers only</em>: your post is still half-public because only your followers will see it. At their eyes it appears as a regular public post. <em>Followers only</em> posts are recognizable by a closed padlock icon.</li>
-<li><em>Direct</em>: your post is private and viewable only by the people mentioned in it. <em>Direct</em> posts are recognizable by an envelope icon.</li>
+<li><img src="<?php echo($prepath); ?>imgs/Earth.png" class="imager" alt="Globe icon."><em>Public</em>: your post is public, it appears on public timelines and everybody can see it. <em>Public</em> posts are recognizable by a globe icon.</li>
+<li class="prili"><img src="<?php echo($prepath); ?>imgs/OpenPadlock.png" class="imager" alt="Open padlock icon."><em>Not listed</em>: your post is still public but doesn’t appear on timelines. People can read it only if they are mentioned in it or if they go to your profile and scroll through your posts. <em>Not listed</em> posts are recognizable by an open padlock icon.</li>
+<li class="prili"><img src="<?php echo($prepath); ?>imgs/ClosedPadlock.png" class="imager" alt="Closed padlock icon."><em>Followers only</em>: your post is still half-public because only your followers will see it. At their eyes it appears as a regular public post. <em>Followers only</em> posts are recognizable by a closed padlock icon.</li>
+<li class="prili"><img src="<?php echo($prepath); ?>imgs/Mail.png" class="imager" alt="Mail envelope icon."><em>Direct</em>: your post is private and viewable only by the people mentioned in it. <em>Direct</em> posts are recognizable by an envelope icon.</li>
 </ul>
 <p>Anyway remember that Mastodon is designed to spread interactions and not for privacy: your Instance admins can read all your messages, including direct ones, just like on every other big social network.</p>
 <p>For encrypted messaging there are other and more specific platforms.</p>

+ 447 - 7
web/home_it.php

@@ -1,17 +1,457 @@
-<body>
+<body onscroll="scrolltrack()">
 <nav>
 <div id="hmenu">
 <ul>
 <?php echo($menuout); ?>
 </ul>
 </div>
+
+<div id="summcont">
+<div id="summary">
+
+<ol style="margin-bottom: 20pt;">
+
+<li class="lev1summ"><a href="#Introduction" id="IntroductionL" onclick="shsum()" class="lev1summ">Introduzione</a></li>
+
+<li class="lev1summ"><a href="#WhatIsMastodon" id="WhatIsMastodonL" onclick="shsum()" class="lev1summ">Cos’è Mastodon?</a>
+<ol>
+<li class="lev2summ"><a href="#MastodonIsNotASocial" id="MastodonIsNotASocialL" onclick="shsum()">Mastodon non è <em>un</em> social network</a></li>
+<li class="lev2summ"><a href="#SoWhatIsMastodon" id="SoWhatIsMastodonL" onclick="shsum()">E allora cos’è Mastodon?</a></li>
+<li class="lev2summ"><a href="#WhoOwnsMastodon" id="WhoOwnsMastodonL" onclick="shsum()">Di chi è Mastodon?</a></li>
+</ol>
+</li>
+
+<li class="lev1summ"><a href="#TheInstance" id="TheInstanceL" onclick="shsum()" class="lev1summ">L’Istanza</a>
+<ol>
+<li class="lev2summ"><a href="#RunningAnInstance" id="RunningAnInstanceL" onclick="shsum()">Crearsi una propria Istanza</a></li>
+<li class="lev2summ"><a href="#ChoosingTheInstance" id="ChoosingTheInstanceL" onclick="shsum()">Scegliere l’Istanza</a></li>
+<li class="lev2summ"><a href="#MediumAndSmallIsBetter" id="MediumAndSmallIsBetterL" onclick="shsum()">Le medie e piccole Istanze sono le migliori</a></li>
+<li class="lev2summ"><a href="#InteractionsAndEchoChambers" id="InteractionsAndEchoChambersL" onclick="shsum()">Interazioni ed echo-chambers</a></li>
+<li class="lev2summ"><a href="#SoftwareModifications" id="SoftwareModificationsL" onclick="shsum()">Istanze con software personalizzato e modificato</a></li>
+</ol>
+</li>
+
+<li class="lev1summ"><a href="#TheSoftware" id="TheSoftwareL" onclick="shsum()" class="lev1summ">Il software</a>
+<ol>
+<li class="lev2summ"><a href="#MastodonOnSmartphones" id="MastodonOnSmartphonesL" onclick="shsum()">Mastodon su smartphone</a></li>
+<li class="lev2summ"><a href="#MastodonOnTheDesktop" id="MastodonOnTheDesktopL" onclick="shsum()">Mastodon sul desktop</a></li>
+</ol>
+</li>
+
+<li class="lev1summ"><a href="#UsingMastodon" id="UsingMastodonL" onclick="shsum()" class="lev1summ">Usare Mastodon</a>
+<ol>
+<li class="lev2summ"><a href="#MastodonAccount" id="MastodonAccountL" onclick="shsum()">Account Mastodon</a></li>
+<li class="lev2summ"><a href="#ThreeTimelines" id="ThreeTimelinesL" onclick="shsum()">Tre Timeline</a></li>
+<li class="lev2summ"><a href="#SearchingThings" id="SearchingThingsL" onclick="shsum()">La casella di ricerca</a></li>
+<li class="lev2summ"><a href="#TrendingTopics" id="TrendingTopicsL" onclick="shsum()">Dove sono i Trending Topics?</a></li>
+<li class="lev2summ"><a href="#NoRetweetAndComment" id="NoRetweetAndCommentL" onclick="shsum()">Non c’è “Ritwitta e commenta”</a></li>
+<li class="lev2summ"><a href="#LinkingToots" id="LinkingTootsL" onclick="shsum()">Condividere un toot</a></li>
+<li class="lev2summ"><a href="#ObscuredFollowersList" id="ObscuredFollowersListL" onclick="shsum()">Lista dei followers “oscurata”</a></li>
+<li class="lev2summ"><a href="#TootsPrivacy" id="TootsPrivacyL" onclick="shsum()">La privacy dei tuoi post</a></li>
+<li class="lev2summ"><a href="#ThreadsAndRamifications" id="ThreadsAndRamificationsL" onclick="shsum()">Threads e ramificazioni</a></li>
+<li class="lev2summ"><a href="#MovingThroughRamifications" id="MovingThroughRamificationsL" onclick="shsum()">Spostarsi tra le ramificazioni</a></li>
+<li class="lev2summ"><a href="#MovingToAnotherInstance" id="MovingToAnotherInstanceL" onclick="shsum()">Spostarsi su un’altra Istanza</a></li>
+</ol>
+</li>
+
+<li class="lev1summ"><a href="#Moderation" id="ModerationL" onclick="shsum()" class="lev1summ">Moderazione</a>
+<ol>
+<li class="lev2summ"><a href="#HarassmentAndModeration" id="HarassmentAndModerationL" onclick="shsum()">Molestie e moderazione</a></li>
+<li class="lev2summ"><a href="#BlockingAndSilencing" id="BlockingAndSilencingL" onclick="shsum()">Sospensione e silenziamento</a></li>
+</ol>
+</li>
+
+<li class="lev1summ"><a href="#MastodonAndTwitter" id="MastodonAndTwitterL" onclick="shsum()" class="lev1summ">Mastodon e Twitter</a>
+<ol>
+<li class="lev2summ"><a href="#MastodonIsNotTwitter" id="MastodonIsNotTwitterL" onclick="shsum()">Mastodon non è Twitter...</a></li>
+<li class="lev2summ"><a href="#TwitterMindset" id="TwitterMindsetL" onclick="shsum()">...ma sei ancora intrappolato in una “mentalità da Twitter”?</a></li>
+<li class="lev2summ"><a href="#BridgingMastodonAndTwitter" id="BridgingMastodonAndTwitterL" onclick="shsum()">Connettere Mastodon e Twitter</a></li>
+</ol>
+</li>
+
+<li class="lev1summ"><a href="#Federation" id="FederationL" onclick="shsum()" class="lev1summ">Federazione</a>
+<ol>
+<li class="lev2summ"><a href="#TheFediverse" id="TheFediverseL" onclick="shsum()">Il Fediverso</a></li>
+<li class="lev2summ"><a href="#DecentralizedAndFederated" id="DecentralizedAndFederatedL" onclick="shsum()">Decentralizzato e federato</a></li>
+<li class="lev2summ"><a href="#HowFederationWorksTheory" id="HowFederationWorksTheoryL" onclick="shsum()">Come funziona la federazione (teoria)</a></li>
+<li class="lev2summ"><a href="#HowFederationWorksPractice" id="HowFederationWorksPracticeL" onclick="shsum()">Come funziona la federazione (pratica)</a></li>
+</ol>
+</li>
+
+</ol>
+</div>
+</div>
 </nav>
-<div class="scrwide">
-<div class="scrwidein">
-<section class="sectcont">
-<h3>Lavori in corso</h3>
-<p>Questa pagina ospiterà la traduzione in italiano della guida.</p>
-</section>
+
+<article>
+<div id="content">
+<div id="header">
+<h1>Mastodon Startpage</h1>
 </div>
+
+<section>
+<h3><a name="Introduction" id="Introduction" class="anchor"></a>Introduzione</h3>
+<p>Mastodon è una innovativa piattaforma di microblogging open source le cui funzionalità possono ricordare Twitter o Tumblr. Eugen Rochko ne inizia lo sviluppo nel 2016 e da allora Mastodon continua ad attrarre nuovi utenti e comunità in cerca di un ambiente social indipendente, slegato da grandi compagnie e libero da censura.</p>
+<p>Ma Mastodon non è un clone di Twitter: per concetto, struttura e funzionalità è qualcosa di totalmente diverso e molto più interessante!</p>
+<p>Questo sito è un’introduzione a funzionalità e concetti base che permettono di comprendere e apprezzare appieno il funzionamento di Mastodon. È concepito come una serie di capitoli indipendenti selezionabili da menù (clicca su “Guida” per visualizzare l’indice dei capitoli), ma può essere tranquillamente letto come un testo unico. Contiene inoltre un <a href="instances/it">elenco di Istanze Mastodon</a> suggerite tra cui scegliere quella che meglio si addice alle tue esigenze.</p>
+</section>
+
+<section class="lev1sect">
+<h2><a name="WhatIsMastodon" id="WhatIsMastodon" class="anchor"></a>Cos’è mastodon?</h2>
+</section>
+
+<section>
+<h3><a name="MastodonIsNotASocial" id="MastodonIsNotASocial" class="anchor"></a>Mastodon non è <em>un</em> social network</h3>
+<p>Non c’è <em>un</em> social network chiamato Mastodon! Ci sono, invece, migliaia di social network indipendenti chiamati Istanze Mastodon.</p>
+<p>Ogni Istanza ha il proprio server indipendente, la sua homepage, comunità, regole, amministratori e moderatori.</p>
+<p>Da ogni Istanza puoi interagire con gli utenti che si trovano sulle altre Istanze. Funziona un po’ come l’e-mail (si può spedire un’e-mail da Gmail a un indirizzo Yahoo, giusto?). Questo perché tutte le Istanze possono connettersi tra loro.</p>
+<p>Ogni amministratore d’Istanza può silenziare o bloccare utenti della sua Istanza ma anche quelli di Istanze diverse e questi blocchi avranno però effetto solo sull’Istanza che amministra. Può anche decidere di bloccare completamente un’altra Istanza (per esempio perché permette la pubblicazione di contenuti offensivi o perché non è moderata adeguatamente).</p>
+</section>
+
+<section>
+<h3><a name="SoWhatIsMastodon" id="SoWhatIsMastodon" class="anchor"></a>E allora cos’è Mastodon?</h3>
+<p>Quando diciamo “Mastodon” intendiamo la totalità delle Istanze Mastodon nel loro insieme ma anche la tecnologia che queste condividono.</p>
+<p>Un modo per descrivere Mastodon è “una galassia di social network indipendenti che utilizzano una piattaforma comune”.</p>
+<p>
+</section>
+
+<section>
+<h3><a name="WhoOwnsMastodon" id="WhoOwnsMastodon" class="anchor"></a>Di chi è Mastodon?</h3>
+<p>Di tutti! Poiché Mastodon è una piattaforma libera, gratuita e open source, chiunque può usarla, modificarla e, volendo, installarla su un proprio server per creare un’Istanza. Chi ne porta avanti lo sviluppo non ha alcun copyright sul software che realizza e mette a disposizione gratuitamente. Questo è un classico esempio della filosofia alla base del software libero: realizzare e condividere senza alcuna restrizione strumenti software aperti affinché chiunque possa utilizzarli come preferisce e collaborare al loro miglioramento.</p>
+<p><img src="<?php echo($prepath); ?>imgs/WhoOwnsMastodon.jpg" class="image" alt="Una ragazza con le braccia aperte davanti a un cielo azzurro. Foto di Jess Hall." title="Foto di Jess Hall."></p>
+<p>I tuoi dati personali e i contenuti che pubblichi si trovano materialmente sul server dell’Istanza su cui ti registri. Questo significa che oltre a te solo gli amministratori dell’Istanza su cui sei registrato hanno la possibilità di accedervi, esattamente come su qualsiasi piattaforma commerciale e non.</p>
+</section>
+
+<section class="lev1sect">
+<h2><a name="TheInstance" id="TheInstance" class="anchor"></a>L’Istanza</h2>
+</section>
+
+<section>
+<h3><a name="RunningAnInstance" id="RunningAnInstance" class="anchor"></a>Crearsi una propria Istanza</h3>
+<p>Chiunque abbia un server e sufficienti capacità tecniche per gestirlo può crearsi un’Istanza Mastodon. Il software per le Istanze Mastodon è completamente libero, gratuito e open source (<a href="https://en.wikipedia.org/wiki/Free_and_open-source_software">FOSS</a>), ma mantenere un server e acquistare un dominio web ha dei costi e richiede una certa quantità di lavoro, così come gestire la moderazione. A seconda delle specifiche tecniche, della configurazione scelta e del numero di utenti registrati sulla propria Istanza, il costo può variare da qualche centinaio d’euro all’anno fino ad alcune migliaia.<br>
+Molte Istanze coprono i propri costi con crowdfunding o collette fra i membri ma non è da escludere che qualcuna possa usare altri sistemi.<br>
+Mastodon però è nata come piattaforma priva di pubblicità. Per questa ragione se un’Istanza si autofinanziasse tramite messaggi pubblicitari, con ogni probabilità verrebbe bloccata da gran parte delle altre Istanze.</p>
+<p><img src="<?php echo($prepath); ?>imgs/RunningAnInstance.jpg" class="image" alt="Dettaglio del frontalino di un server. Foto di Whrelf Siemens." title="Foto di Whrelf Siemens."></p>
+</section>
+
+<section>
+<h3><a name="ChoosingTheInstance" id="ChoosingTheInstance" class="anchor"></a>Scegliere l’Istanza</h3>
+<p>Poiché ogni Istanza è completamente indipendente dalle altre, ogni Istanza è diversa dalle altre.</p>
+<p>Se ti registri su un’Istanza gestita da una comunità di vegani francesi dovrai aspettarti che la maggior parte dei post che vedrai saranno in francese e che pubblicare foto di bistecche e grigliate sarà considerato offensivo e contrario alla policy.<br>
+Se invece ti registrassi su un’Istanza gestita da una comunità religiosa inglese, i post saranno perlopiù in inglese e le immagini di bistecche e grigliate saranno benvenute, ma probabilmente postare foto di nudo potrebbe causarti qualche problema.<br>
+Scegliere l’Istanza che meglio corrisponde alle tue esigenze e interessi è la chiave per accedere al meglio alla galassia Mastodon.</p>
+<p>Puoi scegliere un’Istanza in base alla lingua, alla sua policy e termini di servizio, agli argomenti trattati, ma anche in base alle sue posizioni etiche e politiche o secondo altri criteri.
+In ogni caso ricorda che più ti senti a casa nell’Istanza di tua scelta meglio è.</p>
+<p>Un’Istanza ben amministrata dovrebbe sempre aver specificato ben chiaramente sulla propria homepage la propria policy e dovrebbe mettere a disposizione l’elenco delle altre Istanze che ha bloccato.</p>
+<p>Scusa se lo ripetiamo, ma è davvero importante appoggiarsi a un’Istanza i cui moderatori parlano la tua lingua e condividono con te almeno quelle posizioni politiche che consideri imprescindibili: solo in questo modo potrai comunicare efficacemente con loro.</p>
+<p>Non aver paura di provare tutte le Istanze che vuoi: potrai decidere in seguito se cancellare l’account che non vorrai utilizzare o addirittura spostarlo su un’altra Istanza!</p>
+</section>
+
+<section>
+<h3><a name="MediumAndSmallIsBetter" id="MediumAndSmallIsBetter" class="anchor"></a>Le medie e piccole Istanze sono le migliori</h3>
+<p>Le Istanze Mastodon sono migliaia: ci sono sia quelle con solo cinque utenti sia quelle con oltre centomila.</p>
+<p>Tra queste ultime c’è mastodon.social. È l’istanza creata e gestita dall’inventore di Mastodon, ma ciò non significa che debba esser considerata per qualche motivo una sorta di “Istanza ufficiale” di Mastodon, perché ogni Istanza ha esattamente gli stessi poteri rispetto alle altre, né più né meno.</p>
+<p>Il problema con queste Istanze molto grosse è che, non essendo connesse a una comunità specifica, i loro utenti possono esser portati a replicare al proprio interno alcuni comportamenti antipatici che solitamente vediamo nei grandi social commerciali.</p>
+<p>Per fare un esempio: se fossi iscritta o iscritto a una grossa Istanza generalista con base all’estero e altri utenti italiani iniziassero a minacciarti, degli admin che non parlano la tua lingua potrebbero avere difficoltà anche solo a capire che stai ricevendo minacce. O ancora: se fossi iscritta/o a un’Istanza che non ha una policy femminista o anti-omofobica, gli admin potrebbero minimizzare quelli che in realtà sono degli abusi nei tuoi confronti. Al contrario, se ti registri su un’Istanza di cui senti tue le policy, l’etica e la comunità che accoglie, anche la moderazione sarà più adatta alle tue esigenze.</p>
+<p>La galassia Mastodon funziona al meglio quando connette numerose piccole e medie Istanze e non appoggiandosi solamente a poche mega-Istanze generaliste.</p>
+<p>Per questi motivi tra le Istanze che suggeriamo non includiamo le Istanze più grandi.</p>
+</section>
+
+<section>
+<h3><a name="InteractionsAndEchoChambers" id="InteractionsAndEchoChambers" class="anchor"></a>Interazioni ed echo-chambers</h3>
+<p>Dato il gran numero di strumenti che hanno amministratori e utenti per bloccare altri utenti e intere Istanze si potrebbe pensare che la galassia Mastodon sia composta perlopiù da comunità isolate e chiuse nelle proprie bolle.</p>
+<p><img src="<?php echo($prepath); ?>imgs/Echo_chambers-Streuli_Silvan.png" class="image" alt="Due scimmiette di peluche, una che si copre gli occhi e l’altra che si copre le orecchie. Foto di Streuli Silvan." title="Foto di Streuli Silvan."></p>
+<p>Pur essendo tecnicamente possibile, la verità è invece del tutto opposta e di fatto la varietà delle comunità che si incrociano su Mastodon è qualcosa che difficilmente si può verificare sui grandi social commerciali.<br>
+Fondamentalmente, ogni Istanza interagisce nativamente con tutte le altre e solo in seguito può decidere di interrompere alcune di queste interazioni. Quest’ultima è una scelta che riguarda la comunità che gestisce ogni Istanza e che viene presa in base alla sua cultura e apertura mentale. Una comunità che non rispetta persone e stili di vita differenti molto probabilmente bloccherà e sarà bloccata da molte Istanze. Al contrario, un’Istanza gestita da una comunità disponibile a dialogare rispettosamente con chi ha una cultura o stile di vita diversi non verrà mai bloccata da altre Istanze altrettanto disponibili.</p>
+<p>Dalla sua nascita Mastodon è stato adottato da diverse comunità che condividono valori antifascisti, antirazzisti, antisessisti, pro-LGBT, antiomofobi e antitransfobici e col tempo ha attratto comunità di popolazioni indigene, ecologisti, difensori dei diritti animali, vegetariani, vegani, minoranze etniche, gruppi di difesa dei diritti umani, ecc.<br>
+Per questo motivo razzisti e bigotti verranno sicuramente bloccati da gran parte delle comunità che attualmente si trovano su Mastodon. Le Istanze create da gruppi razzisti, difatti, vengono isolate con grande efficienza.</p>
+</section>
+
+<section>
+<h3><a name="SoftwareModifications" id="SoftwareModifications" class="anchor"></a>Istanze con software personalizzato e modificato</h3>
+<p>Poiché il software delle Istanze Mastodon è open source (se sei uno smanettone il codice è <a href="https://github.com/tootsuite/mastodon">qui</a>), ogni amministratore d’Istanza può apportare delle modifiche che saranno disponibili solo ai membri della sua Istanza. Al tempo stesso un amministratore può scegliere di usare o non usare certe funzioni. Per esempio, un’Istanza può permettere ai propri utenti di scrivere post più lunghi dei 500 caratteri standard, oppure può rimuovere i Trending Hashtag.</p>
+</section>
+
+<section class="lev1sect">
+<h2><a name="TheSoftware" id="TheSoftware" class="anchor"></a>Il software</h2>
+</section>
+
+<section>
+<h3><a name="MastodonOnSmartphones" id="MastodonOnSmartphones" class="anchor"></a>Mastodon su smartphone</h3>
+<p>Tutti noi abbiamo un’e-mail ma, come è facile osservare, non esiste l’“applicazione ufficiale per le e-mail”: alla propria e-mail infatti si può accedere tramite browser o con una qualsiasi delle tante applicazioni per le e-mail.<br>
+Allo stesso modo, non esiste una applicazione “ufficiale” per Mastodon, ma ci si può accedere da browser o con una tra tante App disponibili.</p>
+<p>Su Android ce ne sono diverse. Le più note sono Tusky, Fedilab e Subway Toot. Puoi scaricarle da <a href="https://f-droid.org">F-Droid</a>, uno “store” alternativo e completamente open source, ma anche dal Google Play Store.</p>
+<p>Anche per iOS sono disponibili diverse App. Tra queste Amaroq, Toot e Mast sono tra le più conosciute.</p>
+<p>Ogni App è diversa dalle altre e ognuna ha i suoi pro e i suoi contro. Alcune offrono caratteristiche uniche. Cerca le App e provale personalmente per capire quale preferisci.</p>
+<p>Tieni conto che alcune di queste App, come Toot e Mast, possono non essere gratuite o open source!</p>
+<p><img src="<?php echo($prepath); ?>imgs/MastodonOnSmartphones.png" class="image" alt="Tre schermate di Mastodon su smartphone."></p>
+</section>
+
+<section>
+<h3><a name="MastodonOnTheDesktop" id="MastodonOnTheDesktop" class="anchor"></a>Mastodon sul desktop</h3>
+<p>Solitamente, su desktop, si accede alla propria Istanza tramite browser semplicemente andando sulla homepage dell’Istanza. Sono però disponibili anche delle Applicazioni come</p>
+<ul>
+<li><a href="https://whalebird.org">Whalebird</a> (Linux, Windows, OSX)</li>
+<li><a href="https://appcenter.elementary.io/com.github.bleakgrey.tootle">Tootle</a> (Linux)</li>
+<li><a href="https://thedesk.top/en">TheDesk</a> (Linux, Windows, OSX)</li>
+<li><a href="https://hyperspace.marquiskurt.net">Hyperspace</a> (Linux, Windows, OSX)</li>
+</ul>
+<p>Ci sono pure dei frontend alternativi! Un frontend è un sito web da cui puoi accedere alla tua Istanza semplicemente inserendo il tuo nome utente e password e che invece di mostrarti l’homepage standard, te ne mostra una fatta in modo completamente diverso, con colori, pulsanti e menù organizzati in un modo che potresti preferire a quello standard.</p>
+<ul>
+<li><a href="https://pinafore.social">Pinafore</a>: un frontend Mastodon semplificato</li>
+<li><a href="https://www.halcyon.social">Halcyon</a>: riproduce la grafica di Twitter</li>
+</ul>
+<p>Applicazioni e frontend possono aggiungere, nascondere o modificare alcune funzioni. È quindi possibile che certe istruzioni, consigli e trucchi non funzionino se usati nel loro ambito anziché dalla homepage. Analogamente certe App mettono a disposizione funzioni che altre non hanno.</p>
+<p><img src="<?php echo($prepath); ?>imgs/MastodonOnDesktop.png" class="image" alt="Schermata di una homepage standard di Mastodon."></p>
+</section>
+
+<section class="lev1sect">
+<h2><a name="UsingMastodon" id="UsingMastodon" class="anchor"></a>Usare Mastodon</h2>
+</section>
+
+<section>
+<h3><a name="MastodonAccount" id="MastodonAccount" class="anchor"></a>Account Mastodon</h3>
+<p>Un account Mastodon è composto più o meno come un indirizzo e-mail:
+<p><em>@nome@istanza</em></p>
+<p>Se su Mastodon menzioni un utente scrivendo solo <em>@nome</em>, nella maggioranza dei casi verrà ritenuto che l’utente indicato si trovi sulla tua stessa Istanza. Perciò se un certo utente è registrato su un’Istanza diversa dalla tua e non specifichi anche la seconda parte, quella contenente il nome dell’altra Istanza, chi clicca su <em>@nome</em> potrebbe esser rimandato a un omonimo che sta sulla tua Istanza o ricevere un messaggio d’errore.</p>
+<p>Nota che alcune App possono offrire dei servizi di autocompletamento dei nomi utente.</p>
+</section>
+
+<section>
+<h3><a name="ThreeTimelines" id="ThreeTimelines" class="anchor"></a>Tre Timeline</h3>
+<p>Su Mastodon ci sono tre diverse Timeline</p>
+<ul>
+<li><em>Home</em>: come la Timeline di Twitter, mostra tutti i post di chi segui;</li>
+<li><em>Locale</em>: mostra tutti i post pubblici degli utenti della tua Istanza;</li>
+<li><em>Federata</em>: mostra tutti i post pubblici degli utenti della tua Istanza e i post pubblici di tutti gli utenti di altre Istanze che sono seguiti da membri della tua Istanza.</li>
+</ul>
+<p>In tutte le Timeline i post sono mostrati in ordine cronologico. Ciò significa che nessun algoritmo, quantità di stelle ricevute o altri fattori influiscono sul numero di volte che vedrai un post. Un post può essere boostato (“retwittato”), ma niente di più.</p>
+<p><img src="<?php echo($prepath); ?>imgs/ThreeTimelines.png" class="image" alt="Schermata che mostra le icone delle tre Timeline."></p>
+</section>
+
+<section>
+<h3><a name="SearchingThings" id="SearchingThings" class="anchor"></a>La casella di ricerca</h3>
+<p>Nella maggior parte delle Istanze, se cerchi qualcosa nella casella di ricerca vengono trovati solo #hashtag e nomi utente. Un sistema di ricerca più completo è in via di sviluppo.</p>
+<p>La casella di ricerca non esplora tutte le Istanze esistenti ma solo quelle che la tua Istanza conosce. Ciò significa per esempio che se cerchi un certo #hashtag non ti verranno mostrati tutti i post pubblicati su tutte le Istanze esistenti che lo contengono, ma solo quelli di utenti noti su Istanze che la tua Istanza conosce.</p>
+<p><img src="<?php echo($prepath); ?>imgs/SearchingThings.png" class="image" alt="Schermata che mostra la casella di ricerca."></p>
+</section>
+
+<section>
+<h3><a name="TrendingTopics" id="TrendingTopics" class="anchor"></a>Dove sono i Trending Topics?</h3>
+<p>Se su Twitter ci sono i “Trending Topics”, su Mastodon ci sono i “Trending Hashtags”. Sulle Istanze che li utilizzano, questi vengono verificati manualmente dagli amministratori per assicurarsi che non vengano gonfiati artificialmente, usati come veicolo pubblicitario o in altri modi che la policy dell’Istanza possa ritenere sconvenienti. I Trending Hashtags sono opzionali e questo significa che in alcune Istanze viene scelto di non usarli affatto. La scelta è totalmente libera e di fatto molte Istanze decidono di non usarli proprio per eliminare alla radice uno strumento capace di indirizzare le tue discussioni su argomenti di massa e per ridurre il meccanismo tipico dei social di enfatizzare argomenti di poco conto. In questo modo molte Istanze restano dei luoghi in cui puoi discutere con altre persone degli argomenti che veramente ti interessano senza il peso di “dover dire la tua” su cose che non t’interessano realmente.</p>
+<p><img src="<?php echo($prepath); ?>imgs/TrendingHashtags.png" class="image" alt="Trending Hashtags."></p>
+</section>
+
+<section>
+<h3><a name="NoRetweetAndComment" id="NoRetweetAndComment" class="anchor"></a>Non c’è “Ritwitta e commenta”</h3>
+<p>Su Mastodon quando “boosti” un post non c’è la funzione “Ritwitta e commenta” come su Twitter. Questa mancanza è voluta perché è una funzione che viene utilizzata soprattutto per creare disturbo, generare polemiche e molestare l’autore/trice di un post senza intervenire direttamente con lui/lei.<br>
+È vero che questa funzione può esser usata anche in modo positivo, per esempio per consigliare una discussione in corso, ma la stessa cosa può essere fatta anche in altri modi che, invece, si prestano meno a generare litigi. Mastodon è strutturato in modo da stimolare il dialogo tra le persone più che i boost.</p>
+</section>
+
+<section>
+<h3><a name="LinkingToots" id="LinkingToots" class="anchor"></a>Condividere un toot</h3>
+<p>Se vuoi suggerire ai tuoi follower di leggere una certa discussione puoi boostarne un post o intervenire direttamente nella discussione menzionando gli account delle persone che vorresti si unissero al dialogo.</p>
+<p>Puoi anche citare un post copiandone l’URL e incollandola nel tuo post. Ricorda però che i link verso altri post su browser funzionano sempre, ma su alcune App no. Su certe App, infatti, cliccando su un link si viene sempre rimandati al browser.</p>
+<p><img src="<?php echo($prepath); ?>imgs/LinkingAToot.png" class="image" alt="Schermata che mostra il menù a forma di tre puntini che appare su ogni toot, da cui si apre una tendina con varie opzioni tra le quali, evidenziata, “Copia il link sul tuo status”."></p>
+</section>
+
+<section>
+<h3><a name="ObscuredFollowersList" id="ObscuredFollowersList" class="anchor"></a>Lista dei followers “oscurata”</h3>
+<p>Quando controlli il profilo di un altro utente vedrai il numero di persone che segue e quelle che lo seguono, ma se fai clic su quel numero, anziché l’elenco completo delle persone ne vedrai solo una parte: quelle che già conosci o che sono membri della tua stessa Istanza.<br>
+Questa cosa è voluta e serve a proteggerti.<br>
+Diamo uno sguardo alla vita reale: nessuno di noi va in giro con la lista dei propri amici attaccata al collo, non è vero?<br>
+Ma allora, se non si possono scoprire persone nuove controllando chi sta seguendo chi, come si fa a trovare e incontrare nuove persone su Mastodon? <em>Comunicando</em>, socializzando e interagendo! Quando “boosti” il messaggio di un certo utente non stai solo facendo conoscere quel messaggio ma stai pure presentando quell’utente ai tuoi followers che a loro volta presenteranno a te i propri e così via. Mastodon enfatizza la socializzazione umana anziché l’esplorazione dei profili a mo’ di spionaggio.</p>
+<p><img src="<?php echo($prepath); ?>imgs/ObscuredFollowersList.png" class="image" alt="Schermata che mostra una lista di “follows”."></p>
+</section>
+
+<section>
+<h3><a name="TootsPrivacy" id="TootsPrivacy" class="anchor"></a>La privacy dei tuoi post</h3>
+<p>Quando pubblichi un messaggio (toot) puoi scegliere fra quattro diversi livelli di privacy.</p>
+<ul>
+<li><img src="<?php echo($prepath); ?>imgs/Earth.png" class="imager" alt="Icona raffigurante il nostro pianeta."><em>Pubblico</em>: il tuo post appare sulle timeline pubbliche e chiunque può vederlo. I post pubblici sono indicati da un’icona a forma di globo.</li>
+<li class="prili"><img src="<?php echo($prepath); ?>imgs/OpenPadlock.png" class="imager" alt="Icona raffigurante un lucchetto aperto."><em>Non elencato</em>: il tuo post è pubblico ma non appare sulle timeline pubbliche. Può esser letto da chiunque vi sia menzionato e da chi va a vedere il tuo profilo. I post non elencati sono indicati da un’icona a forma di lucchetto aperto.</li>
+<li class="prili"><img src="<?php echo($prepath); ?>imgs/ClosedPadlock.png" class="imager" alt="Icona raffigurante un lucchetto chiuso."><em>Solo followers</em>: il tuo post è semi-pubblico perché può essere visto dai tuoi followers. Ai loro occhi appare come un messaggio pubblico se non fosse per l’icona: i post per soli followers sono indicati da un’icona a forma di lucchetto chiuso.</li>
+<li class="prili"><img src="<?php echo($prepath); ?>imgs/Mail.png" class="imager" alt="Icona raffigurante una busta da lettere."><em>Diretto/privato</em>: il tuo post è privato e può essere visto solo dalle persone che vi sono menzionate. I post diretti sono indicati da un’icona a forma di busta per le lettere.</li>
+</ul>
+<p>Ricorda però che Mastodon è concepito principalmente per far circolare ciò che scrivi e generare discussioni, ma non per la privacy: tecnicamente gli amministratori della tua Istanza hanno la possibilità di leggere tutto ciò che scrivi, inclusi i messaggi diretti, esattamente come avviene sui grandi social commerciali.</p>
+<p>Per lo scambio di messaggi criptati e sicuri esistono piattaforme specifiche.</p>
+</section>
+
+<section>
+<h3><a name="ThreadsAndRamifications" id="ThreadsAndRamifications" class="anchor"></a>Threads e ramificazioni</h3>
+<p>Una discussione (“thread”) può evolversi in una sorta di “albero” formato da discussioni collaterali che possono svilupparsi da qualunque post. Nell’immagine seguente è rappresentato lo schema di un thread che a partire da un post iniziale si sviluppa in quattro “rami”:</p>
+<p><img src="<?php echo($prepath); ?>imgs/thread_01.svg" class="image" alt="Rappresentazione grafica di un thread diviso in quattro rami. Ogni post è rappresentato da un quadratino con un numero progressivo. Il quadratino rappresentante il post iniziale sta in alto e quelli successivi, coi numeri man mano più alti, sono disposti verso il basso. I diversi “rami” sono rappresentati da linee che collegano i quadratini. Il ramo che potremmo definire “principale” è formato dalle risposte 1, 2, 3 e 4 che, disposte sotto il post iniziale, formano una linea perfettamente verticale. Dal quadratino rappresentante la risposta numero 1, però, parte una seconda linea alla sua sinistra, alla quale sono attaccati i quadratini 2a e 3a. Questi rappresentano la ramificazione “a”. Anche dal quadratino rappresentante la risposta numero 2 del “ramo principale” si sviluppa, alla sua destra, una ramificazione chiamata “b” composta dai post 3b, 4b, 5b, 6b. Infine c’è l’ultima ramificazione, quella denominata “c”, che non si sviluppa da un post del ramo principale, bensì alla destra del post 5b. Il ramo “c” è composto dai post 6c e 7c."></p>
+<p>Gli utenti di Twitter sono ben abituati a questo modo di organizzare i thread ma chi viene da piattaforme diverse (tipo Facebook) potrebbe trovarsi inizialmente un po’ spiazzato e metterci qualche tempo per abituarsi.</p>
+</section>
+
+<section>
+<h3><a name="MovingThroughRamifications" id="MovingThroughRamifications" class="anchor"></a>Spostarsi tra le ramificazioni</h3>
+<p>Per districarsi all’interno di una discussione molto ramificata è necessario comprendere un solo concetto: quando selezioni un post, il thread viene riorganizzato in modo da mostrare solo i post che a partire dal primo messaggio han portato fino a quello che è stato selezionato e, sotto di esso, vengono mostrati nel loro ordine cronologico quelli successivi.</p>
+<p><img src="<?php echo($prepath); ?>imgs/thread_01.svg" class="image" alt="È la stessa immagine descritta nel capitoletto precedente e che da qui in avanti verrà costantemente ripresa, ogni volta con qualche modifica."></p>
+<p>Facciamo alcuni esempi. Se si vuol leggere il thread dell’immagine precedente e si seleziona il primo toot, tutti quelli successivi vengono riordinati in modo da apparire nel loro ordine cronologico (vedi immagine seguente).</p>
+<p><img src="<?php echo($prepath); ?>imgs/thread_02.svg" class="image" alt="Il post iniziale è evidenziato. I diversi thread presenti nell’immagine precedente sono ora riorganizzati in un’unica linea verticale. In cima c’è sempre il toot iniziale e sotto di esso, a scendere, i post 1, 2, 3 e 4. La linea di congiunzione che mostra la concatenazione cronologico-discorsiva del “ramo principale” parte dal toot iniziale e connette i post appena menzionati. Sotto il post 4 troviamo i post 2a e 3a. La linea di congiunzione del ramo “b” parte dal post 1 facendo un’ampia curva a sinistra fino a toccare il post 2a e da esso prosegue in verticale fino al post 3a. Ancor più sotto troviamo i post 3b, 4b, 5b, 6b. La linea di congiunzione del ramo parte dal post 2, fa un’ampia curva a destra fino a toccare il post 3b e poi scende fino al 6b. Sotto di esso troviamo i post 6c e 7c, con la linea di congiunzione che a partire dal post 5b fa una curva a destra fino a toccare il post 6c e poi scende fino al post 7c."></p>
+<p>Adesso si faccia attenzione: se si seleziona il toot numero 2 quelli successivi continueranno a esser mostrati nello stesso ordine appena descritto, ma non verranno mostrati quelli delle ramificazioni sviluppate dai toot antecedenti (in questo caso non vengono mostrati i toot 2a e 3a).</p>
+<p><img src="<?php echo($prepath); ?>imgs/thread_03.svg" class="image" alt="Rispetto all’immagine precedente, adesso a essere evidenziato è il post 2. Sotto di esso i post restano disposti così come appena descritto con la differenza che la ramificazione “a”, quella che iniziando dal post 1 si sviluppava a sinistra nei post 2a e 3a, non è più presente nella linea verticale dei post ed è rappresentata in disparte per rappresentarne l’estromissione. La linea verticale dunque è composta dai post 1, 2, 3, 4, poi 3b, 4b, 5b, 6b, e per finire 6c e 7c."></p>
+<p>Se invece si seleziona l’ultimo toot di una certa ramificazione (in questo caso il toot 7c) verranno mostrati tutti i post antecedenti in ordine cronologico che a partire dal primo toot han portato al 7c, ma non verrà mostrata nessuna delle altre ramificazioni.</p>
+<p><img src="<?php echo($prepath); ?>imgs/thread_04.svg" class="image" alt="Adesso il post evidenziato è il 7c e la linea verticale riporta solo i post che a partire da quello iniziale hanno portato al 7c, ossia, nell’ordine: 1, 2, 3b, 4b, 5b, 6c, 7c. Tutte le ramificazioni sviluppate a partire da post precedenti al 7c sono estromesse e rappresentate in disparte."></p>
+</section>
+
+<section>
+<h3><a name="MovingToAnotherInstance" id="MovingToAnotherInstance" class="anchor"></a>Spostarsi su un’altra Istanza</h3>
+<p>Se si vuole cambiare Istanza è possibile trasferire tutti i propri post, follower, utenti seguiti e lista di utenti e Istanze che hai silenziato sull’account aperto sulla nuova Istanza. Per farlo è necessario esportare questi dati dal menù Impostazioni e poi importarli dal nuovo account.</p>
+<p><img src="<?php echo($prepath); ?>imgs/MovingToAnotherInstance.png" class="image" alt="Schermata delle voci “importa” ed “esporta” del menù impostazioni."></p>
+<p>Attenzione! Se una delle due Istanze utilizza una versione modificata o non aggiornata del software Mastodon, questa operazione potrebbe funzionare solo in parte.<br>
+Gli sviluppatori di Mastodon hanno in mente di cambiare il modo in cui avviene il cambio di Istanza e pertanto, a breve, questa operazione potrebbe svolgersi in tutt’altro modo.</p>
+</section>
+
+<section class="lev1sect">
+<h2><a name="Moderation" id="Moderation" class="anchor"></a>Moderazione</h2>
+</section>
+
+<section>
+<h3><a name="HarassmentAndModeration" id="HarassmentAndModeration" class="anchor"></a>Molestie e moderazione</h3>
+<p>Mastodon è noto per essere una piattaforma dove non c’è spazio per molestie online e trollaggio, non perché non ve ne siano (è impossibile) ma perché la sua struttura e gli strumenti che mette a disposizione permettono una moderazione estremamente efficiente e interventi rapidi nei confronti di utenti o Istanze malevoli. Ma oltre agli strumenti tecnici sono le stesse comunità che frequentano le Istanze a collaborare attivamente nel mantenere il proprio network un ambiente vivibile e tollerante! Diverse comunità si aiutano a vicenda avvertendo e informando le altre quando rilevano il comportamento malevolo di un utente, identificano le Istanze gestite da gruppi che diffondono contenuti d’odio e intolleranza o quelle che non hanno una moderazione abbastanza efficiente. Poiché ogni Istanza ha degli amministratori e moderatori propri, il rapporto tra utenti e moderatori è molto più elevato e ravvicinato rispetto a quanto avviene nei grandi social commerciali. È importante ricordarsi che ogni Istanza è una realtà a sé stante, con proprie policy specifiche basate sulla cultura, etica e posizione politica della comunità che ospita, e che la moderazione è sempre un’azione politica, anche quando si segue una politica di fredda imparzialità, perché in quest’ultimo caso si tratta di una politica a difesa dello status quo.</p>
+</section>
+
+<section>
+<h3><a name="BlockingAndSilencing" id="BlockingAndSilencing" class="anchor"></a>Sospensione e silenziamento</h3>
+<p>Se l’amministratore dell’Istanza1 <em>sospende</em> l’Istanza2, gli utenti che stanno sull’Istanza1 non potranno più interagire con quelli dell’Istanza2 e viceversa.</p>
+<p>Se invece l’amministratore dell’Istanza1 <em>silenzia</em> l’Istanza2, gli utenti dell’Istanza1 possono continuare a interagire con quelli dell’Istanza2 ma queste interazioni (per esempio i boost) non verranno mostrate sulla Timeline federata dell’Istanza1.</p>
+<p>In sostanza la <em>sospensione</em> viene applicata a quelle Istanze che son ritenute da bannare in toto, per esempio perché diffondono contenuti razzisti, mentre il <em>silenziamento</em> viene usato per quelle Istanze che non sono proprio da bannare ma magari sono malviste o discutibili, per esempio perché sono piene di bot o perché diffondono contenuti al limite di quanto consentito dalla propria policy.</p>
+<p>Amministratori e moderatori ovviamente possono pure <em>sospendere</em> o silenziare un singolo utente.</p>
+<p>A sua volta, ogni utente può <em>sospenderne</em> un altro o <em>silenziare</em> intere Istanze. In questo caso però sospensione e silenziamento varranno solo agli occhi dell’utente stesso.</p>
+<p>Bisogna però ricordare che anche se si blocca l’Istanza2, è comunque possibile che i suoi utenti entrino in contatto con alcuni contenuti dell’Istanza1. È tuttavia in fase di sviluppo un sistema di blocco più efficiente.</p>
+</section>
+
+<section class="lev1sect">
+<h2><a name="MastodonAndTwitter" id="MastodonAndTwitter" class="anchor"></a>Mastodon e Twitter</h2>
+</section>
+
+<section>
+<h3><a name="MastodonIsNotTwitter" id="MastodonIsNotTwitter" class="anchor"></a>Mastodon non è Twitter...</h3>
+<p>Su Mastodon non riceverai notifiche automatiche come “A 40 persone è piaciuto il post che hai boostato” o “Mario ha fatto un post su questo argomento” o “Laura e Michele hanno iniziato a seguire Anna”.</p>
+<p>Nessuno ti dirà cosa “devi” leggere o chi “devi” seguire.</p>
+<p>A nessuno interesserà granché il “successo” di un tuo post.</p>
+<p>Non ci sono bollini blu per utenti verificati.</p>
+<p>Vieni informato delle stelline e dei boost ricevuti dai tuoi post, ma niente più.</p>
+<p>Puoi sapere quante volte un certo post è stato boostato o “stellinato” cliccandoci sopra e sapere se alcune di queste azioni sono state fatte da utenti che già conosci ma ciò non conferisce al post elementi di “successo” o riconoscimento evidenti.</p>
+<p>Quel che importa, qui, è l’interazione tra utenti e la conversazione reale. E chissenefrega dei “punti” che ti vengono dati da utenti coi quali non scambi mai due parole!</p>
+</section>
+
+<section>
+<h3><a name="TwitterMindset" id="TwitterMindset" class="anchor"></a>...ma sei ancora intrappolato in una “mentalità da Twitter”?</h3>
+<p>Stai ancora cercando i Trending Topics per sapere qual è l’argomento obbligatorio del giorno imposto dagli algoritmi?</p>
+<p>Stai cercando “utenti da seguire” anziché persone con cui portar avanti un dialogo?</p>
+<p>Stai ancora ragionando in termini di “azioni virtuali” tipo battaglie a colpi di #hashtag o robe simili?</p>
+<p>Stai cercando gratificazione sociale ed emotiva dal numero di stelline e retweet che ricevi?</p>
+<p>Valuti i post in base al numero di like che hanno ricevuto?</p>
+<p>Quando pubblichi i tuoi post li concepisci appositamente per ricevere like anziché scrivere delle cose capaci di portare avanti dei discorsi stimolanti fosse anche solo con due persone?</p>
+<p>Se le cose stanno così fai attenzione: c’è ancora molto Twitter <em>dentro</em> di te! E sappi che ci vorrà del tempo per liberartene... 😉</p>
+</section>
+
+<section>
+<h3><a name="BridgingMastodonAndTwitter" id="BridgingMastodonAndTwitter" class="anchor"></a>Connettere Mastodon e Twitter</h3>
+<p>Usare Mastodon non implica necessariamente dover abbandonare Twitter ed è pure possibile collegarli assieme!</p>
+<p>Ci sono servizi come <a href="https://ifttt.com">ifttt.com</a> e <a href="https://crossposter.masto.donte.com.br">masto.donte</a> che effettuano il “crossposting” tra le due piattaforme. Ti permettono in pratica di postare su Mastodon i tuoi tweet e di twittare ciò che posti su Mastodon.</p>
+<p>Tuttavia suggeriamo <em>caldamente</em> di usare solo la seconda opzione (da Mastodon a Twitter). Questo perchè essendo Mastodon particolarmente focalizzato sulle interazioni reali, se il tuo account Mastodon fosse usato solo come un bot di Twitter con cui non è possibile dialogare è estremamente probabile che verresti bloccato o silenziato da molti.</p>
+<p>Molte Istanze infatti hanno regole ferree sull’uso dei crossposter proprio perché sono uno strumento che spersonalizza e agisce come un bot e anche i bot sono spesso malvisti o regolamentati. Quindi, prima di utilizzare un crossposter verifica le policy della tua Istanza al riguardo o scambia due parole con gli admin.</p>
+<p>Se in un post Mastodon che verrà crosspostato su Twitter vuoi menzionare un utente Twitter in modo che cliccando sul suo nome sia gli utenti di Mastodon che quelli di Twitter possano vedere il suo profilo, devi scriverlo riportando l’URL e non il suo solo nome utente. Così:</p>
+<p><em>https://twitter.com/username</em></p>
+<p><img src="<?php echo($prepath); ?>imgs/BridgingMastodonAndTwitter.png" class="image" alt="Un disegno in cui da un lato c’è la mascotte di Mastodon e dall’altro il logo di Twitter. Tra i due vi sono delle frecce puntate una verso il primo e l’altra verso il secondo."></p>
+</section>
+
+<section class="lev1sect">
+<h2><a name="Federation" id="Federation" class="anchor"></a>Federazione</h2>
+</section>
+
+<section>
+<h3><a name="TheFediverse" id="TheFediverse" class="anchor"></a>Il Fediverso</h3>
+<p>La totalità delle Istanze Mastodon che, insieme, formano l’intera “Galassia Mastodon” è al tempo stesso parte di qualcosa di molto più grande chiamato Fediverso.</p>
+<p>Oltre a Mastodon infatti ci sono molte altre piattaforme libere e decentralizzate. Alcune, come <a href="https://www.pleroma.com">Pleroma</a> o <a href="https://misskey.com">Misskey</a> sono simili a Twitter, mentre altre sono completamente diverse:</p>
+<ul>
+<li><a href="https://pixelfed.org/join">PixelFed</a> è simile a Instagram;</li>
+<li><a href="https://joinpeertube.org">PeerTube</a> è simile a Youtube;</li>
+<li><a href="https://friendi.ca">Friendica</a> è simile a Facebook;</li>
+<li><a href="https://funkwhale.audio">FunkWhale</a> è simile a to Soundcloud;</li>
+<li><a href="https://writefreely.org/instances">Write.as</a> e <a href="https://joinplu.me">Plume</a> sono piattaforme di blogging;</li>
+<li><a href="https://hubzilla.eu">Hubzilla</a> è una potente piattaforma multi-funzionale.</li>
+</ul>
+<p>E ce ne sono altre...</p>
+<p>Come Mastodon, anche queste piattaforme non dipendono da un unico server o autorità centrale ma sono delle “Galassie” di Istanze indipendenti: non c’è alcuna Istanza “ufficiale” di PixelFed né esiste una “Istanza principale” di Friendica e così via...</p>
+<p>Nota bene: ciò che su Mastodon viene chiamato “Istanza” su altre piattaforme può avere un nome differente (su Hubzilla per esempio sono chiamate “Hub”). Tuttavia il concetto rimane lo stesso.</p>
+<p><em>Tutte</em> queste piattaforme (“Galassie”) interagiscono fra loro formando il Fediverso.</p>
+<p>Cosa significa? Immagina di poter ricevere i tweet di Twitter su Facebook o poter commentare e mettere “mi piace” su un video di YouTube direttamente da Tumblr.</p>
+<p>Questo è ciò che avviene nel Fediverso! Hai un account PixelFed? Ok, io non uso PixelFed ma posso seguirti da Mastodon! C’è un tuo amico che non usa Mastodon ma preferisce Friendica perché assomigliando a Facebook ci si trova meglio? Nessun problema: ti potrà seguire da Friendica e potrete chattare e interagire tra di voi rimanendo ognuno sulla piattaforma che preferisce!</p>
+<p>Ricorda però che il Fediverso è in continuo divenire e dunque non tutto funziona già a dovere. Certe cose potrebbero funzionare in modo diverso da come vorresti e gli sviluppatori potrebbero non essere in grado di sistemarle al volo o di aggiungere funzionalità che tu ritieni prioritarie rispetto ad altre. I lavori sono in corso, insomma, e dunque non c’è da stupirsi se sarà necessario accettare qualche compromesso.</p>
+<p><img src="<?php echo($prepath); ?>imgs/Fediverse-Galaxy.jpg" class="image" alt="I loghi di numerose piattaforme che fanno parte del Fediverso disposti su uno sfondo che rappresenta l’universo."></p>
+</section>
+
+<section>
+<h3><a name="DecentralizedAndFederated" id="DecentralizedAndFederated" class="anchor"></a>Decentralizzato e federato</h3>
+<p>Le piattaforme social commerciali sono perlopiù centralizzate. Questo vuol dire che per ognuna di esse c’è un’autorità centrale unica che gestisce e controlla ogni cosa a livello tecnico, legale e commerciale e con una policy unica per tutti.</p>
+<p>Se vuoi interagire con un utente Twitter, per esempio, non c’è altro modo che aprire un account su Twitter.com e accettarne termini e condizioni.</p>
+<p><img src="<?php echo($prepath); ?>imgs/network-centralized.svg" class="image" alt="Rappresentazione grafica di un network centralizzato: al centro il logo di Twitter e attorno a esso dei puntini, rappresentanti gli utenti, collegati a esso da delle linee."></p>
+<p>Mastodon invece è una galassia di network indipendenti e decentralizzati chiamati Istanze, ognuna con il proprio server, sito, comunità e termini di servizio.</p>
+<p><img src="<?php echo($prepath); ?>imgs/network-decentralized.svg" class="image" alt="Rappresentazione grafica di network decentralizzati: quattro loghi di Mastodon separati, ognuno dei quali è circondato da alcuni puntini rappresentanti gli utenti e collegati al logo che circondano da delle linee."></p>
+<p>Ma Mastodon è federato! Ciò significa che tutti questi network possono interagire tra di loro (pur non essendo obbligati a farlo).</p>
+<p><img src="<?php echo($prepath); ?>imgs/network-federated.svg" class="image" alt="Rappresentazione grafica di un network federato. Mostra l’immagine precedente con la differenza che adesso anche i loghi di Mastodon sono connessi tra loro da delle linee."></p>
+</section>
+
+<section>
+<h3><a name="HowFederationWorksTheory" id="HowFederationWorksTheory" class="anchor"></a>Come funziona la federazione (teoria)</h3>
+<p>Un’Istanza appena nata è aperta alle connessioni con le altre Istanze ma non è immediatamente collegata (“federata”) con nessuna e quindi inizialmente i suoi utenti potranno interagire solamente tra loro.</p>
+<p><img src="<?php echo($prepath); ?>imgs/federation-01.svg" class="image" alt="Rappresentazione grafica della Galassia Mastodon. Diversi loghi Mastodon rappresentanti le singole Istanze. Sono in posizioni sparse e di dimensioni diverse. Alcuni sono connessi con altri (le connessioni sono rappresentate da linee) andando a formare tre network separati. In un angolo c’è un’Istanza separata da tutte le altre e denominata “La mia Istanza”."></p>
+<p>Nel momento in cui un utente della tua Istanza crea una connessione con un utente che sta su un’altra Istanza o viceversa (più avanti vedremo come questo avviene), tutti gli utenti della tua Istanza potranno interagire con questo utente che sta sull’altra Istanza.</p>
+<p><img src="<?php echo($prepath); ?>imgs/federation-02.svg" class="image" alt="Stessa rappresentazione grafica dell’immagine precedente. Adesso però da “La mia Istanza” parte una linea, prima assente, che la collega a una delle Istanze facente parte di uno dei tre network visti in precedenza."></p>
+<p>L’utente che sta sull’altra Istanza boosta e interagisce coi post degli altri utenti che si trovano sulla sua stessa Istanza o su altre Istanze con cui è già in contatto. Tutte queste interazioni sono visibili anche agli utenti della tua Istanza che a loro volta possono prendere parte a queste interazioni e crearne a loro volta di nuove. Così facendo il numero di connessioni tra utenti e Istanze inizia a crescere (questo è ciò che significa federarsi).</p>
+<p><img src="<?php echo($prepath); ?>imgs/federation-03.svg" class="image" alt="Sempre la stessa rappresentazione grafica di cui sopra. Adesso da “La mia Istanza” partono molte linee di congiunzione con diverse Istanze del network di cui fa parte la prima Istanza con cui è avvenuto il collegamento. Gli altri due network restano separati."></p>
+<p>Qualsiasi utente può creare un nuovo collegamento con nuove Istanze.</p>
+<p><img src="<?php echo($prepath); ?>imgs/federation-04.svg" class="image" alt="Sempre la stessa rappresentazione grafica. Adesso “La mia Istanza” è parte integrante del network con cui aveva iniziato a federarsi e un numero ancora maggiore di linee la collegano alle altre Istanze dei quel network. Ai margini dello stesso, però, una linea (rappresentante una connessione) collega una piccola Istanza del network di cui ora facciamo parte con un’Istanza facente parte di uno dei due network isolati."></p>
+<p>In sostanza più si interagisce con persone che stanno su altre Istanze e più grande diventa il network della propria Istanza, fino al punto da formare un gigantesco network federato composto da un numero enorme di Istanze indipendenti. Il network federato della tua Istanza probabilmente non coprirà mai l’intera Galassia Mastodon ma solo una sua parte. Quanto si estenderà dipende dai membri della comunità della tua Istanza: più connessioni creerete con Istanze diverse e lontane e più grande sarà il vostro network.</p>
+<p><img src="<?php echo($prepath); ?>imgs/federation-05.svg" class="image" alt="Adesso il network di cui ormai facciamo parte si è fuso con quello con cui nell’immagine precedente era stata creata una prima connessione, e di fatto due dei tre network iniziali sono diventati un gigantesco tutt’uno in cui anche “La mia Istanza” è inserita. Resta sempre isolato il terzo network."></p>
+<p>Se la tua Istanza sospende una delle Istanze con cui è venuta in contatto, le altre connessioni comunque restano e le altre Istanze saranno libere di continuare a interagire con quella che la tua Istanza ha bloccato.</p>
+<p><img src="<?php echo($prepath); ?>imgs/federation-06.svg" class="image" alt="All’interno del grande network che si è formato e di cui “La mia Istanza” è ormai parte integrante, una delle linee che collega “La mia Istanza” a una delle altre Istanze cambia d’aspetto ed ha sovraimposta una “X” a rappresentare l’interruzione del collegamento. Tutte le altre linee che rappresentano i collegamenti tra le altre Istanze restano invariate. Resta sempre isolato il terzo network."></p>
+<p>Osserviamo che alcune Istanze possono andare a formare dei network completamente separati e “paralleli”. Ciò può accadere perché tali Istanze sono state bloccate da un gran numero di altre Istanze o perché non è stato ancora creato alcun collegamento. Anche queste Istanze fanno parte della Galassia Mastodon ma ne occupano una parte diversa e a noi lontana. Non fanno parte del “nostro” network federato, ma di un network separato, diverso, autonomo e indipendente.</p>
+<p>Ma non finisce qui! Gli stessi concetti che abbiamo appena visto si applicano a tutte le piattaforme del Fediverso! La tua Istanza Mastodon può connettersi non solo con utenti di altre Istanze Mastodon ma anche con utenti che usano Pleroma, Friendica, PixelFed, PeerTube e così via. Riesci a immaginare quanto ampia e variegata può essere la rete federata con cui si connette una singola Istanza Mastodon? 😉</p>
+</section>
+
+<section style="margin-bottom: 0;">
+<h3><a name="HowFederationWorksPractice" id="HowFederationWorksPractice" class="anchor"></a>Come funziona la federazione (pratica)</h3>
+<p>Se dalla tua Istanza puoi trovare e connetterti solo con utenti che fanno già parte del tuo network, in che modo si trovano e connettono utenti sconosciuti e che stanno su Istanze sconosciute al tuo network?</p>
+<p>Questo passaggio non è così scontato e funziona esattamente come nella vita reale: le persone nuove si incontrano esplorando, andando in posti nuovi e cercando in luoghi diversi!</p>
+<p>Sui social commerciali centralizzati tutto avviene restando al loro interno e ogni cosa viene fatta senza mai uscire dai cancelli della piattaforma stessa.</p>
+<p>Qui le cose funzionano diversamente: la tua rete federata non crescerà molto se i suoi utenti rimangono chiusi all’interno dei suoi confini. Bisogna quindi uscire da Mastodon, leggere blog, riviste, creare nuovi account su altre Istanze, navigare i network di altre piattaforme, avere interazioni nella vita reale se si vogliono trovare Istanze nuove e sconosciute da aggiungere al proprio network! Per esempio, online ci sono pagine dedicate solo alla scoperta di nuove Istanze e contenuti federati. Sono gli esploratori coloro che allargano i confini! Bisogna sempre ricordarsi che ogni struttura chiusa è un male anche per la mente e Mastodon non è una gabbia dorata separata da ciò che esiste all’esterno di Mastodon stesso!</p>
+<p>Capito questo va comunque detto che l’altissimo numero di connessioni che si creano all’interno del Fediverso fa sì che, per quanto possa essere grande, un’Istanza non sarà mai davvero isolata se è abitata da persone che hanno voglia di interagire con altre.</p>
+<p>Se nelle tue esplorazioni esterne a Mastodon trovi un post o l’account di un utente di una piattaforma federabile (ossia una piattaforma che utilizza ActivityPub, il protocollo di comunicazione condiviso da tutte le piattaforme che formano il Fediverso), per creare un collegamento è sufficiente copiare e incollare l’account o l’URL del post all’interno della casella di ricerca della tua Istanza e premere invio. Si creerà così una connessione e da Mastodon potrai scegliere se boostare e commentare il post o se seguire l’account. Niente di più facile!</p>
+<p>A seconda che tu stia accedendo da browser o da una App, questa operazione potrebbe cambiare leggermente. Può variare un po’ anche a seconda di quali piattaforme sono coinvolte.<br>
+Alcune hanno predisposto dei pulsanti appositi per aiutarti nell’operazione. Una di queste, per esempio, è PeerTube.</p>
+<p>Se da browser vuoi condividere su Mastodon un video di un’Istanza PeerTube prima sconosciuta puoi farlo da PeerTube stesso premendo sul pulsante “Share” (condividi):</p>
+<p><img src="<?php echo($prepath); ?>imgs/Peer1.png" class="image" alt="Schermata di PeerTube con il pulsante “Share” evidenziato da una freccia."></p>
+<p>Questo farà apparire un popup con il quale potrai facilmente copiare l’URL del video cliccando sul pulsante “Copia”.</p>
+<p><img src="<?php echo($prepath); ?>imgs/Peer2.png" class="image" alt="Schermata del popup con il pulsante “Copia” evidenziato da una freccia."></p>
+<p>A questo punto puoi andare sulla pagina della tua Istanza Mastodon, incollare l’URL copiato nella casella di ricerca e premere invio. Così facendo il video apparirà dentro Mastodon e da qui potrai stellinarlo, commentarlo e boostarlo. Puoi anche decidere di seguire l’utente PeerTube che ha postato il video, esattamente come se fosse un utente Mastodon.</p>
+<p><img src="<?php echo($prepath); ?>imgs/Peer3.png" class="image" alt="Schermata di Mastodon in cui l’URL del video è inserito nella casella di ricerca (evidenziata da una freccia) e tra i risultati della ricerca compare in bella mostra il video."></p>
+<p>Oppure, se volessi solo seguire l’utente che ha postato il video, su PeerTube basta cliccare sul pulsante “Subscribe” (sottoscrivi):</p>
+<p><img src="<?php echo($prepath); ?>imgs/Peer4.png" class="image" alt="Schermata di PeerTube con il pulsante “Subscribe” evidenziato da una freccia."></p>
+<p>Questo farà apparire una pagina da cui potrai accedere alla tua Istanza Mastodon oppure semplicemente confermare il tuo account:</p>
+<p><img src="<?php echo($prepath); ?>imgs/Peer5.png" class="image" alt="Schermata della pagina di accesso a Mastodon."></p>
+<p>Una volta confermato appare il pulsante “follow”. Premendolo, l’utente sarà aggiunto tra quelli che segui su Mastodon:</p>
+<p><img src="<?php echo($prepath); ?>imgs/Peer6.png" class="image" alt="Schermata di Mastodon con il pulsante “follow” in evidenza."></p>
+<p>Questo è tutto! Adesso puoi andare sulla tua pagina Mastodon oppure chiudere la finestra e ritornare a PeerTube:</p>
+<p><img src="<?php echo($prepath); ?>imgs/Peer7.png" class="image" alt="Schermata di Mastodon in cui un messaggio in inglese conferma che adesso stai seguendo l’utente."></p>
+</section>
+
+<!--
+<section class="lev1sect">
+<h2><a name="OurListOfInstances" id="OurListOfInstances" class="anchor"></a>Our list of Instances</h2>
+</section>
+
+<section style="margin-bottom: 0;">
+<h3><a name="OurListOfInstances" id="OurListOfInstances" class="anchor"></a>Our list of Instances</h3>
+<p>Here you can browse through our list of Instances, a selection we have made including only those which have between a minimum of 11 and a maximum of 30,000 users and, as far as we currently know, do not spread hate content.</p>
+<p>[WORK IN PROGRESS]</p>
+</section>
+-->
 </div>
+</article>
 </body>

BIN
web/imgs/ClosedPadlock.png


BIN
web/imgs/Earth.png


BIN
web/imgs/Mail.png


BIN
web/imgs/OpenPadlock.png


BIN
web/imgs/TrendingHashtags.png


BIN
web/imgs/TrendingTopics.png


+ 3 - 2
web/index.php

@@ -26,7 +26,7 @@ function tradmenu($lang) {
 		case 'it':
 		$menu['guide']['title']='Guida';
 		$menu['guide']['href'].='/it';
-		$menu['instances']['title']='Istanza';
+		$menu['instances']['title']='Istanze';
 		$menu['instances']['href'].='/it';
 		$menu['about']['title']='Info';
 		$menu['about']['href'].='/it';
@@ -44,7 +44,7 @@ switch($path) {
 		'atit'=>' - Guide',
 		'js'=>array('shsum','guideanchors','scrolltrack')
 	);
-	$menu['guide']['liadd']='onclick="shsum()" onmouseover="this.style.cursor=\'pointer\'"';
+	$menu['guide']['liadd']='onclick="shsum()" onmouseover="this.style.cursor=\'pointer\'; this.style.textDecoration=\'underline\'" onmouseout="this.style.textDecoration=\'none\'"';
 	$menu['guide']['href']=null;
 	$menu['guide']['selected']=true;
 	$menu['language']['submenu']['inglese']['liadd']=null;
@@ -157,6 +157,7 @@ function buildmenu($menu) {
 		else
 			$menuout.=$arr['title'];
 		if (!is_null($arr['submenu'])) {
+// qui bisognerebbe aggiungere che a seconda del "livello" imposta class giusta: ula, oppure ulb per livello > 1
 			$menuout.=N.'<ul class="ula" onmouseover="ulsh(this,true)" onmouseout="ulsh(this,false)">'.N;
 			buildmenu($arr['submenu']);
 			$menuout.='</ul>'.N;

+ 2 - 2
web/instances_en.php

@@ -10,8 +10,8 @@
 <div class="scrwidein">
 <section class="sectcont">
 <h3>Instances</h3>
-<p>Here you can browse through our list of Instances, a selection we have made including only those which have between a minimum of 11 and a maximum of 30,000 users and, as far as we currently know, do not spread hate content.</p>
-<p>[WORK IN PROGRESS]</p>
+<p>Here you will be able to browse through our list of Instances, a selection including only those which have between a minimum of 11 and a maximum of 30,000 users and, as far as we currently know, do not spread hate content.</p>
+<p>In the meantime, have a look at this <a href="https://gitlab.com/distributopia/masto-world-overview/blob/master/README.MD">good thematic selection</a> made by others.</p>
 </section>
 </div>
 </div>

+ 1 - 1
web/instances_it.php

@@ -10,7 +10,7 @@
 <div class="scrwidein">
 <section class="sectcont">
 <h3>Istanze</h3>
-<p>Qui puoi sfogliare la nostra lista di Istanze, una selezione in cui abbiamo incluso solo quelle che hanno tra un minimo di 11 e un massimo di 30.000 utenti e che, per quanto ne sappiamo attualmente, non diffondono contenuti di odio.</p>
+<p>Qui potrai sfogliare la nostra lista di Istanze, una selezione in cui includeremo solo quelle che hanno tra un minimo di 11 e un massimo di 30.000 utenti e che, per quanto ne sappiamo attualmente, non diffondono contenuti di odio.</p>
 <p>[LAVORI IN CORSO]</p>
 </section>
 </div>

+ 38 - 12
web/theme.css

@@ -87,10 +87,6 @@ section, #header {
 	padding: 1px;
 	border-radius: 9pt;
 }
-.lev1summ {
-	font-variant: small-caps;
-	font-weight: bold;
-}
 ul {
 	padding-left: 15pt;
 }
@@ -152,14 +148,10 @@ a:active {
 	background-color: rgba(255,255,255,0.10);
 	cursor: default;
 }
-#hmenu .hil {
-	background-color: rgba(255,255,255,0.10);
-	color: #97C3E9;
-}
-#hmenu .hil:hover {
-	cursor: default;
-}
 #hmenu ul li a {
+	width: 80pt;
+	line-height: 40px;
+	display: block;
 	color: #3088D4;
 }
 #hmenu .ula {
@@ -177,13 +169,27 @@ a:active {
 }
 #hmenu .ula li, .ulb li {
 	width: 80pt;
+	height: 40px;
 	display: block;
 	float: none;
 	text-align: center;
-	height: 40px;
 	line-height: 40px;
 	vertical-align: middle;
 }
+#hmenu .ula li:hover, .ulb li:hover {
+	text-decoration: underline;
+}
+#hmenu .hil {
+	background-color: rgba(255,255,255,0.10);
+	color: #97C3E9;
+}
+#hmenu .hil:hover {
+	cursor: default;
+	text-decoration: none;
+}
+#hmenu .ula li.hil:hover, .ulb li.hil:hover {
+	text-decoration: none;
+}
 #summicon {
 	position: fixed;
 	top: 0;
@@ -242,6 +248,17 @@ a:active {
 	margin-right: 100%;
 	right: 5px; /* space between number and text */
 }
+.lev1summ, .prili {
+	margin-top: 10pt;
+}
+.lev1summ a {
+	font-variant: small-caps;
+	font-weight: bold;
+}
+.lev2summ a {
+	font-variant: normal;
+	font-weight: normal;
+}
 .image {
 	display: block;
 	margin-left: auto;
@@ -250,6 +267,15 @@ a:active {
 /*	box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.2), 0 3px 10px 0 rgba(0, 0, 0, 0.19);*/
 	border-radius: 9pt;
 }
+.imager {
+	display: block;
+	float: right;
+	margin: 0;
+	margin-left: 10pt;
+	margin-top: 5pt;
+/*	box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.2), 0 3px 10px 0 rgba(0, 0, 0, 0.19);*/
+/*	border-radius: 9pt;*/
+}
 .anchor {
 	position: relative;
 	top: -80px;