<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8202698650965571666</id><updated>2024-11-08T06:57:54.369-08:00</updated><category term="iphone"/><category term="apple"/><category term="ipad"/><category term="ipod"/><category term="CSS"/><category term="iCloud"/><category term="itunes"/><category term="apple id"/><category term="HTML"/><category term="Windows"/><category term="developer"/><category term="iOS 9"/><category term="javascript"/><category term="metro"/><category term="preview"/><category term="update"/><category term="8"/><category term="Apple Pay"/><category term="Mac"/><category term="Microsoft"/><category term="backup"/><category term="clear"/><category term="columns"/><category term="download"/><category term="eight"/><category term="float"/><category term="iOS"/><category term="layout"/><category term="restore"/><category term="review"/><category term="tutorial"/><category term="web development"/><category term=". iOS 9"/><category term="1970"/><category term="256GB"/><category term="9 inch"/><category term="9.2"/><category term="Activation Lock"/><category term="Ajax"/><category term="Android"/><category term="CarPlay"/><category term="CareKit"/><category term="Credit Card"/><category term="DFU"/><category term="DSL"/><category term="FBI"/><category term="HealthKit"/><category term="March"/><category term="Match"/><category term="Modern"/><category term="Music"/><category term="Osx"/><category term="PHP"/><category term="POST"/><category term="Pure"/><category term="SDK"/><category term="Special Event"/><category term="Speeds"/><category term="Steve Jobs"/><category term="Store"/><category term="Tim Cook"/><category term="Upgrade Program"/><category term="Wallet"/><category term="Windows 8"/><category term="XP"/><category term="additions"/><category term="app store"/><category term="apple id."/><category term="applications"/><category term="attempts"/><category term="attribute"/><category term="basics"/><category term="better"/><category term="bits"/><category term="bugs"/><category term="buying"/><category term="bypass"/><category term="bytes"/><category term="cloud"/><category term="contacts gone"/><category term="content."/><category term="cost"/><category term="database"/><category term="date"/><category term="desktop tile missing"/><category term="development"/><category term="diary"/><category term="differences"/><category term="disabled"/><category term="div"/><category term="doctypes"/><category term="does not allow"/><category term="drop down"/><category term="ebay"/><category term="element"/><category term="end"/><category term="endanger"/><category term="error"/><category term="errors"/><category term="expand"/><category term="explained"/><category term="features"/><category term="files"/><category term="fixes"/><category term="floating"/><category term="forzen"/><category term="good use"/><category term="hang"/><category term="help"/><category term="here"/><category term="hide"/><category term="hover"/><category term="html5"/><category term="iMac"/><category term="iMac."/><category term="iOS 7"/><category term="iOS 8"/><category term="iOS 9.2"/><category term="iOS 9.3"/><category term="iPad 3"/><category term="iPad 4"/><category term="iPad Pro"/><category term="iPhone 6"/><category term="iPhone 7"/><category term="iPhone Se"/><category term="idevices"/><category term="images"/><category term="imessages"/><category term="intro"/><category term="ios6"/><category term="issue"/><category term="issues"/><category term="january"/><category term="keynote"/><category term="kilobytes"/><category term="left"/><category term="library"/><category term="locked"/><category term="mac."/><category term="makepri"/><category term="manage"/><category term="may"/><category term="megabits"/><category term="menu"/><category term="mini"/><category term="missing"/><category term="movies"/><category term="navbar"/><category term="new"/><category term="new iPhone"/><category term="non-functional"/><category term="omitted"/><category term="onmouseover"/><category term="overview"/><category term="panel"/><category term="passcodes"/><category term="problems"/><category term="process"/><category term="releases"/><category term="san bernardino"/><category term="security"/><category term="selling"/><category term="server side"/><category term="services"/><category term="shared"/><category term="shooters"/><category term="start screen"/><category term="style"/><category term="stylesheets"/><category term="tables"/><category term="tablet"/><category term="tag"/><category term="tech"/><category term="thoughts"/><category term="thumbnail"/><category term="unlock"/><category term="upgrade"/><category term="validation"/><category term="visual stuidio 11"/><category term="website"/><category term="width"/><title type='text'>&amp;lt;Web-Tech&amp;gt;</title><subtitle type='html'>Tech Expertise for Everyone </subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-1098663472833046189</id><published>2016-03-21T15:33:00.001-07:00</published><updated>2016-03-21T18:21:38.894-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="256GB"/><category scheme="http://www.blogger.com/atom/ns#" term="9 inch"/><category scheme="http://www.blogger.com/atom/ns#" term="apple"/><category scheme="http://www.blogger.com/atom/ns#" term="CareKit"/><category scheme="http://www.blogger.com/atom/ns#" term="CarPlay"/><category scheme="http://www.blogger.com/atom/ns#" term="HealthKit"/><category scheme="http://www.blogger.com/atom/ns#" term="iOS 9.3"/><category scheme="http://www.blogger.com/atom/ns#" term="iPad Pro"/><category scheme="http://www.blogger.com/atom/ns#" term="iPhone Se"/><category scheme="http://www.blogger.com/atom/ns#" term="March"/><category scheme="http://www.blogger.com/atom/ns#" term="Special Event"/><title type='text'>Apple&#39;s Special Event March 21, 2016 Overview</title><content type='html'>&lt;div class=&quot;wrapper&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsfgrGjwhFwCokaL9i0v4tGnimS85gss-4_GNiyMsIb7YhJY6CIN1-R2mr7LwToywXRseGCHW9qBvPQWD5b-2O_jasGJFnA7gNMRxXsMvCweFtb4PZGClQLU_pWKGrU4NmRTcPah5HXDs/s1600/specialevent.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsfgrGjwhFwCokaL9i0v4tGnimS85gss-4_GNiyMsIb7YhJY6CIN1-R2mr7LwToywXRseGCHW9qBvPQWD5b-2O_jasGJFnA7gNMRxXsMvCweFtb4PZGClQLU_pWKGrU4NmRTcPah5HXDs/s640/specialevent.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;Apple revealed 4 things in their Special Event today March 21 2016.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The new 4&quot; iPhone.&lt;/li&gt;

&lt;li&gt;The new 9 inch iPad Pro&lt;/li&gt;

&lt;li&gt;The iOS 9.3 update&lt;/li&gt;

&lt;li&gt;Research Kit &amp; CareKit&lt;/li&gt;

&lt;/ul&gt;


&lt;h2&gt;The 4&quot; iPhone SE&lt;/h2&gt;
&lt;p&gt;Sporting the same outer casing and design as its predecessors, the iPhone 5 and 5s, the iPhone SE not only drops the &quot;5&quot; numeral it also brings iPhone 6s and 6s Plus  features to the 4&quot; screen size. &lt;/p&gt;

&lt;p&gt;Updated with the new A9 chip from its older siblings, the now simply titled iPhone SE gets the processing power to run the updated iSight Camera, and video processing required with it. It basically brings the power and features of the larger iPhones to the smaller screen size.&lt;/p&gt;
iOS 
&lt;p&gt;All in all a welcome update, and expected one, since Apple has been touting a 5 iPhone lineup since the release of the iPhone 6s and 6S plus last September. If you were put off by the larger screen, this is your chance to get the smaller version, with the smaller price tag, but with the same power and features as the larger offerings&lt;/p&gt;


&lt;h2&gt;The 9&quot; iPad Pro&lt;/h2&gt;

&lt;p&gt;Since the iPad Air 2 did not get an update last September in favor of the iPad Pro release, it was pretty much called at that time that it would see an update mid cycle. The 9&quot; iPad Pro as its being called, is now the 7th generation iPad released by Apple in the 9&quot; format.&lt;/p&gt;

&lt;p&gt;It features the same Apple Pencil supporting screen technology as its larger sibling, and gets some extra updates. Mainly the new 12MP iSight Camera available on the iPhone 6s and 6s Plus along with a 5MP front facing Facetime camera. It also gets True Tone Flash and Live Picture support which its larger sibling lacks.  &lt;/p&gt;

&lt;p&gt;The 9&quot; iPad Pro also debuts a new storage size offering with its 256GB version.  The 256GB option will also be available in future 12&quot; iPad Pros&lt;/p&gt;

&lt;p&gt;Overall an expected update to the 9&quot; lineup. However it leaves some iPad Pro adopters a little miffed, by the extra features not available in the larger more expensive version that now seems slightly outdated with only 6 months in its life span. &lt;/p&gt;


&lt;h2&gt;iOS 9.3 &amp; CareKIt&lt;/h2&gt;

&lt;p&gt;iOS 9.3 brings a few new features, and updates to existing ones. Things like Health, and CarPlay get your standard updates. While Notes receives a new security feature which lets you password / Touch ID protect your Notes. &lt;/p&gt;

&lt;p&gt;The new update also brings with it Night Shift, which makes the screen light warmer instead of the colder blue light it normally has, for night usage that may help you sleep better. &lt;/p&gt; 

&lt;p&gt;The update also brings with it new tools to manage iPads in classrooms, and new ways for Teachers and students to interact through their iPads.&lt;/p&gt;

&lt;p&gt;iOS 9.3 also brings with it CareKit and ResearchKit, two new frameworks for App developers to help Doctors and care givers more easily track their patients care and status. Along with HealthKit they provide a wealth of information on the patient&#39;s health.  &lt;/p&gt;

&lt;p&gt;Overall a couple of key updates, but nothing really earth shattering in terms of new features. It was not as exciting as there usual September Keynotes, and the reveals were pretty much called since last year, so nothing that we did not expect already&lt;/p&gt;

&lt;h1&gt;Links&lt;/h1&gt;
&lt;h2&gt;9&quot; iPad Pro&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;http://www.apple.com/ipad-pro/&quot;&gt;http://www.apple.com/ipad-pro/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;iPhone SE&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;http://www.apple.com/iphone-se/&quot;&gt;http://www.apple.com/iphone-se/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;iOS 9.3&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;http://www.apple.com/ios/updates/&quot;&gt;http://www.apple.com/ios/updates/&lt;/a&gt;&lt;/p&gt;

&lt;/div&gt;





 </content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/1098663472833046189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2016/03/apples-special-event-march-21-2016.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/1098663472833046189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/1098663472833046189'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2016/03/apples-special-event-march-21-2016.html' title='Apple&#39;s Special Event March 21, 2016 Overview'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsfgrGjwhFwCokaL9i0v4tGnimS85gss-4_GNiyMsIb7YhJY6CIN1-R2mr7LwToywXRseGCHW9qBvPQWD5b-2O_jasGJFnA7gNMRxXsMvCweFtb4PZGClQLU_pWKGrU4NmRTcPah5HXDs/s72-c/specialevent.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-6551395760273632014</id><published>2016-02-17T13:50:00.002-08:00</published><updated>2016-02-17T13:59:33.618-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="attempts"/><category scheme="http://www.blogger.com/atom/ns#" term="bypass"/><category scheme="http://www.blogger.com/atom/ns#" term="endanger"/><category scheme="http://www.blogger.com/atom/ns#" term="FBI"/><category scheme="http://www.blogger.com/atom/ns#" term="iOS"/><category scheme="http://www.blogger.com/atom/ns#" term="ipad"/><category scheme="http://www.blogger.com/atom/ns#" term="iphone"/><category scheme="http://www.blogger.com/atom/ns#" term="passcodes"/><category scheme="http://www.blogger.com/atom/ns#" term="san bernardino"/><category scheme="http://www.blogger.com/atom/ns#" term="security"/><category scheme="http://www.blogger.com/atom/ns#" term="shooters"/><category scheme="http://www.blogger.com/atom/ns#" term="Tim Cook"/><category scheme="http://www.blogger.com/atom/ns#" term="unlock"/><title type='text'>FBI Requests Apple bypass the security of iOS to unlock iPhone used by San Bernardino shooters. </title><content type='html'>
&lt;div class=&quot;wrapper&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp2yey8FLJruCxIqAvcKCFQEmS3Ix5dySKmvki7xU4gf5vy1kK2DynKebXcDRWlqKVJK1eB1aZf8t4HHY1cocuIb-ExulDC4cRFqPq0kp_Z9yLaKPp7I-jAM6nakxWecgR8OghNtFKGNs/s1600/applevfbi.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp2yey8FLJruCxIqAvcKCFQEmS3Ix5dySKmvki7xU4gf5vy1kK2DynKebXcDRWlqKVJK1eB1aZf8t4HHY1cocuIb-ExulDC4cRFqPq0kp_Z9yLaKPp7I-jAM6nakxWecgR8OghNtFKGNs/s640/applevfbi.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- in_post_ad --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:block&quot;
     data-ad-client=&quot;ca-pub-8160876530150180&quot;
     data-ad-slot=&quot;1900320374&quot;
     data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;

&lt;p&gt;Apple is currently in a standoff with the FBI regarding an iPhone that was used by one of the perpetrators of the San Bernardino shootings last year. &lt;/p&gt;

&lt;p&gt;The FBI is requesting Apple create a version of iOS, the operating system that runs on iPhones and iPads, that would allow them to unlock the iPhone recovered during the course of the investigation to gain access to the data, photos and files within it. &lt;/p&gt;
 
&lt;p&gt;Tim Cook has been adamant that doing this would undermine the security that Apple has been striving for in their operating system for the last 9 years. The FBI is requesting that Apple endanger the privacy of every iPhone user in the world. &lt;/p&gt;

&lt;p&gt;iOS by its very nature and design is a highly secure operating system that makes it virtually impossible to access the information on an iPhone or iPad without the passcode. iOS encrypts the data on the iPhone so that it cannot be recovered by normal means without introducing the passcode.&lt;/p&gt;

&lt;p&gt;More so, introducing wrong passcodes will disable the iPhone after several attempts for a period of time. After which you can then attempt to enter a passcode again. Subsequent failed attempts increase the amount of time one needs to wait between attempts.&lt;/p&gt;

&lt;p&gt;The FBI is requesting Apple create a version of iOS where this would not happen and they can brute force (try passcodes continuously, without stopping) the passcode entry until they find the correct one.&lt;/p&gt;

&lt;p&gt;This event will undoubtedly set a precedent for IT legislature in the future. &lt;/p&gt; 

&lt;p&gt; Tim Cooks letter to Apple Customers:  &lt;a href=&quot;http://www.apple.com/customer-letter/&quot;&gt;http://www.apple.com/customer-letter/&lt;/a&gt;&lt;/p&gt;

&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/6551395760273632014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2016/02/fbi-requests-apple-bypass-security-ios.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/6551395760273632014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/6551395760273632014'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2016/02/fbi-requests-apple-bypass-security-ios.html' title='FBI Requests Apple bypass the security of iOS to unlock iPhone used by San Bernardino shooters. '/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp2yey8FLJruCxIqAvcKCFQEmS3Ix5dySKmvki7xU4gf5vy1kK2DynKebXcDRWlqKVJK1eB1aZf8t4HHY1cocuIb-ExulDC4cRFqPq0kp_Z9yLaKPp7I-jAM6nakxWecgR8OghNtFKGNs/s72-c/applevfbi.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-3606464896374471462</id><published>2016-02-17T11:01:00.001-08:00</published><updated>2016-02-18T08:38:42.773-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="1970"/><category scheme="http://www.blogger.com/atom/ns#" term="date"/><category scheme="http://www.blogger.com/atom/ns#" term="DFU"/><category scheme="http://www.blogger.com/atom/ns#" term="disabled"/><category scheme="http://www.blogger.com/atom/ns#" term="forzen"/><category scheme="http://www.blogger.com/atom/ns#" term="hang"/><category scheme="http://www.blogger.com/atom/ns#" term="iOS"/><category scheme="http://www.blogger.com/atom/ns#" term="ipad"/><category scheme="http://www.blogger.com/atom/ns#" term="iphone"/><category scheme="http://www.blogger.com/atom/ns#" term="ipod"/><category scheme="http://www.blogger.com/atom/ns#" term="issue"/><category scheme="http://www.blogger.com/atom/ns#" term="january"/><category scheme="http://www.blogger.com/atom/ns#" term="locked"/><category scheme="http://www.blogger.com/atom/ns#" term="may"/><category scheme="http://www.blogger.com/atom/ns#" term="non-functional"/><category scheme="http://www.blogger.com/atom/ns#" term="restore"/><title type='text'>iOS May 1970 Date Issue.</title><content type='html'>&lt;div class=&quot;wrapper&quot;&gt;

&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- in_post_ad --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:block&quot;
     data-ad-client=&quot;ca-pub-8160876530150180&quot;
     data-ad-slot=&quot;1900320374&quot;
     data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;

&lt;h1 style=&quot;font-weight:100; font-family:Gruppo,sans-serif; background-color:#f2f2f2;&quot;&gt;Public Service Announcement&lt;/h1&gt;
&lt;p&gt;It seems recently, a practical joke or attempt at humor has been circulating in social media where by an unsuspecting user is asked to set the date on their iPhone or iPad or iPod Touch back to May 1970 and in so doing the iPhone will obtain a general look and feel of the iOS 6 and below. A retro look if you will. This unfortunately is not the case, and many users have been left with non functional iPhones. &lt;/p&gt;  

&lt;p&gt;The iPhone will not respond to touch or any of the customary steps including resetting or restoring the i Device to factory condition. &lt;/p&gt;

&lt;p&gt;Why this happens is still a bit of a mystery. January 1st 1970, is the moment in time where the Unix Epoch begins.  The Unix Epoch is a mechanism that all computers and devices in the world use to handle time and dates. There is no clear reason yet why setting the iPhone, iPad, or iPod touch to this particular date causes them to stop working. &lt;/p&gt;

&lt;p&gt;Apple has now made a statement acknowledging this issue, and has stated that it will release an update in the future that will stop the issue from occurring. However it will not fix iPhones already having the problem since while they are in this unresponsive state, there is nothing that can be done to them, so no way to actually apply any update that Apple may release.  &lt;/p&gt;
&lt;div style=&quot;background-color:#d6d6d6; padding:10px;&quot;&gt;
&lt;h3 style=&quot;font-weight:100; font-family:Gruppo,sans-serif; border-bottom:2px groove rgba(180,180,180,0.4); padding:4px;&quot;&gt;Solutions&lt;/h3&gt;
&lt;p&gt;For now the only solution seems to put the device in DFU mode and restoring the device to factory condition. This however has been hit and miss. Several people report success while several others report failure. Additional info has come to light with this, and it seems if the Restore appears to be stalled at the apple logo and progress bar screen, that it should be left for one to several hours and it will complete. This allows the internal clock to move to a date past January 1st 1970 that the iPhone can work with and completes the restore. &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://support.apple.com/en-us/HT201263&quot;&gt;Apple Support  - Put Your Device in Recovery Mode.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can restore it yourself using Apple&#39;s instructions in the link provided below, or take it to an Apple Store and have them do it. They will likely do so for free, but make sure to make an appointment before heading out, as Apple Stores are bound to be a little crowded. &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.apple.com/retail/geniusbar/&quot;&gt;Genius Bar Appointment&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Restoring the iPhone of course means it will be completely wiped, so if you do not have a backup to restore from, be prepared to loose your info. &lt;/p&gt;

&lt;/div&gt;
&lt;p&gt;Here is Apple&#39;s support document acknowledging the issue, and stating an update is in the works:  &lt;a href=&quot;https://support.apple.com/en-us/HT205248&quot; title=&quot;https://support.apple.com/en-us/HT205248&quot;&gt;If you changed the date to May 1970 or earlier and can&amp;rsquo;t restart your iPhone, iPad, or iPod touch - Apple Support&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; This blog post will be updated when such an update is made available, so stay tuned.&lt;/p&gt;
&lt;/div&gt;

 

</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/3606464896374471462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2016/02/ios-may-1970-date-issue.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/3606464896374471462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/3606464896374471462'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2016/02/ios-may-1970-date-issue.html' title='iOS May 1970 Date Issue.'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-4862266719929675149</id><published>2015-12-10T08:54:00.000-08:00</published><updated>2016-01-22T09:57:04.000-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=". iOS 9"/><category scheme="http://www.blogger.com/atom/ns#" term="apple"/><category scheme="http://www.blogger.com/atom/ns#" term="apple id."/><category scheme="http://www.blogger.com/atom/ns#" term="Apple Pay"/><category scheme="http://www.blogger.com/atom/ns#" term="Credit Card"/><category scheme="http://www.blogger.com/atom/ns#" term="iphone"/><category scheme="http://www.blogger.com/atom/ns#" term="Wallet"/><title type='text'>Apple Pay: How does it work?</title><content type='html'>&lt;div class=&quot;wrapper&quot;&gt;
&lt;div class=&quot;titleimg&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgQgdfaVnzx_MLwy2kaMUMwInKjJHuOTn-wfiEfS-LHstEj5_PvscnP78m0qxCIMvknOcb3ohOWO8fgYeHOB3LGQ_2VLYynavRbBPWltIar7jUeU_dXRIdKrp9voVrSaqIIlApkXpo1UQ/s1600/ApplePayTitle.jpg&quot; imageanchor=&quot;1&quot; &gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgQgdfaVnzx_MLwy2kaMUMwInKjJHuOTn-wfiEfS-LHstEj5_PvscnP78m0qxCIMvknOcb3ohOWO8fgYeHOB3LGQ_2VLYynavRbBPWltIar7jUeU_dXRIdKrp9voVrSaqIIlApkXpo1UQ/s640/ApplePayTitle.jpg&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: #f2f2f2; border-radius: 8px 8px; margin: 4px; padding: 8px;&quot;&gt;
&lt;span style=&quot;color: #575757; font-family: Gruppo,sans-serif;&quot;&gt;&lt;b&gt;What is Apple Pay?&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
Apple Pay is Apple&#39;s foray into the contact-less transaction environment. It uses a special hardware chip most often referred to as an NFC chip, or Near Field Communication chip to effect the transaction.&amp;nbsp; The main draw of Apple Pay, is that you do not need to give your Bank details, credit card numbers, or any personal info to anyone to make a payment.&lt;br /&gt;
&lt;div style=&quot;height: 8pt; min-height: 8pt; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Stores that support Apple pay must have an NFC terminal at their checkouts to receive Apple Pay payments.&lt;br /&gt;
&lt;div style=&quot;height: 8pt; min-height: 8pt; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: #f2f2f2; border-radius: 8px 8px; margin: 4px; padding: 8px; font-family: Gruppo,sans-serif;&quot;&gt;
&lt;b&gt;Setting Up Apple Pay&lt;/b&gt;&lt;/div&gt;
When you set Apple Pay up, Apple sends, in an encrypted transaction, your Credit Card information to your Bank or Card Issuer and a unique device code it generates from your Device and credit card info for your Bank or Credit card issuer to use.&amp;nbsp; The Bank or Issuer network then creates a device account number and other payment data, encrypts it so only they can de-crypt it later,&amp;nbsp; and sends it back to Apple and then your device. Apple cannot decrypt this package, it merely stores it on your device, but nowhere else.&lt;br /&gt;
&lt;div style=&quot;height: 8pt; min-height: 8pt; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Apple Pay does not store your Credit Card information on your device either, only a portion of your Number is kept so you can identify your card on screen.&lt;br /&gt;
&lt;div style=&quot;height: 8pt; min-height: 8pt; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
You do not need to give your Credit Card information to anyone after this step.&amp;nbsp;&amp;nbsp; Once your credit card has been set up in Apple Pay and all required information entered into it, it is no longer necessary to give out credit card details or make bank transactions to make purchases through Apple Pay.&lt;br /&gt;
&lt;div style=&quot;height: 8pt; min-height: 8pt; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: #f2f2f2; border-radius: 8px 8px; margin: 4px; padding: 8px; font-family: Gruppo,sans-serif;&quot;&gt;
&lt;b&gt;Paying with Apple Pay&lt;/b&gt;&lt;/div&gt;
When you initiate a payment with Apple pay in a store or within an App, Apple Pay will transfer the encrypted package it stored, which &lt;b&gt;does not&lt;/b&gt; contain your credit card information, and is encrypted by your Bank or Issuer network, in a transaction with the terminals in stores to confirm payment.&amp;nbsp;&amp;nbsp; Your Credit Card info is never given out; and best of all cannot be read by any NFC terminal or reader because its not there.&lt;br /&gt;
&lt;div style=&quot;height: 8pt; min-height: 8pt; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
You can also use Apple Pay to pay within Mobile Apps that support it.&amp;nbsp; These Apps are only running on your device, and again will only send this encrypted package to the merchant and then to your Bank or Issuer network, they do not transfer your credit card or banking details.&lt;br /&gt;
&lt;div style=&quot;height: 8pt; min-height: 8pt; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
After the package has been sent to the terminal or App, the process moves forward like a normal credit card operation would. The bank or issuer is contacted and a request for payment authorization is made. The issuer or Bank de-crypts the data it receives, matches data with their records to find the card being used and okays or denies the purchase.&lt;br /&gt;
&lt;div style=&quot;height: 8pt; min-height: 8pt; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Your Card details remain with you and your Bank or Credit card issuer.&lt;br /&gt;
&lt;div style=&quot;height: 8pt; min-height: 8pt; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Payment transactions at stores and within Apps must be authorized by you when requested using your Touch ID, or passcode before the payment package is sent for confirmation. So unless you o.k the operation &lt;span style=&quot;font-size: 13.3333330154419px;&quot;&gt;with your thumb print or passcode&lt;/span&gt; nothing is sent from your device.&lt;br /&gt;
&lt;div style=&quot;height: 8pt; min-height: 8pt; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: #f2f2f2; border-radius: 8px 8px; margin: 4px; padding: 8px; font-family: Gruppo,sans-serif;&quot;&gt;
&lt;b&gt;Availability of Apple Pay&lt;/b&gt;&lt;/div&gt;
Apple Pay is currently available in the U.S, U.K, and Australia . &lt;br/&gt;
&lt;b&gt;UPDATE: It is also available in Canada, but only with direct American Express Cards.  Bank issued Amex based cards are not supported yet. &lt;/b&gt;
&lt;br/&gt;
This will be updated when other countries make this process available.&lt;br /&gt;
&lt;div style=&quot;height: 8pt; min-height: 8pt; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Another thing to keep in mind, is that there is no Website or Transaction Portal for Apple Pay.&amp;nbsp; All operations happen on your device. That is you cannot go to a Website to use Apple Pay. You need to own a supported device (iPhone 6, 6 Plus, 6s, 6s Plus or iPhones 5, 5s, 5c with an Apple Watch) .&lt;br /&gt;
&lt;div style=&quot;height: 8pt; min-height: 8pt; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: 12pt; font-weight: 100;&quot;&gt;&lt;b&gt;Nobody can request you enter Credit Card details in a website to confirm a payment, and no one can sell you anything through Apple Pay if its not done through your Apple Device.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;height: 8pt; min-height: 8pt; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Stores may request you verify your purchase by signature or other means at time of Purchase.&lt;br /&gt;
&lt;div style=&quot;height: 8pt; min-height: 8pt; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: #f2f2f2; border-radius: 8px 8px; margin: 4px; padding: 8px; font-family: Gruppo,sans-serif;&quot;&gt;
&lt;b&gt;More information on Apple Pay&lt;/b&gt;&lt;/div&gt;
You can view stores, and Apps that support Apple Pay, as well as compatible devices on Apple&#39;s own Apple Pay page:&lt;br /&gt;
&lt;a class=&quot;jive-link-external-small&quot; href=&quot;https://www.apple.com/apple-pay/&quot; rel=&quot;nofollow&quot;&gt;https://www.apple.com/apple-pay/&lt;/a&gt;&lt;br /&gt;
&lt;div style=&quot;height: 8pt; min-height: 8pt; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
More specifics about Apple Pay security and Privacy of data and personal informaton.&lt;br /&gt;
&lt;a class=&quot;jive-link-external-small&quot; href=&quot;http://support.apple.com/en-us/HT203027&quot; rel=&quot;nofollow&quot;&gt;Apple Pay security and privacy overview - Apple Support&lt;/a&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/4862266719929675149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2015/11/apple-pay-how-does-it-work.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/4862266719929675149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/4862266719929675149'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2015/11/apple-pay-how-does-it-work.html' title='Apple Pay: How does it work?'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgQgdfaVnzx_MLwy2kaMUMwInKjJHuOTn-wfiEfS-LHstEj5_PvscnP78m0qxCIMvknOcb3ohOWO8fgYeHOB3LGQ_2VLYynavRbBPWltIar7jUeU_dXRIdKrp9voVrSaqIIlApkXpo1UQ/s72-c/ApplePayTitle.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-3807901075615905502</id><published>2015-12-08T15:24:00.000-08:00</published><updated>2015-12-08T15:25:19.973-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="9.2"/><category scheme="http://www.blogger.com/atom/ns#" term="Activation Lock"/><category scheme="http://www.blogger.com/atom/ns#" term="additions"/><category scheme="http://www.blogger.com/atom/ns#" term="apple"/><category scheme="http://www.blogger.com/atom/ns#" term="apple id"/><category scheme="http://www.blogger.com/atom/ns#" term="bugs"/><category scheme="http://www.blogger.com/atom/ns#" term="features"/><category scheme="http://www.blogger.com/atom/ns#" term="fixes"/><category scheme="http://www.blogger.com/atom/ns#" term="iCloud"/><category scheme="http://www.blogger.com/atom/ns#" term="iMac."/><category scheme="http://www.blogger.com/atom/ns#" term="iOS 9"/><category scheme="http://www.blogger.com/atom/ns#" term="iOS 9.2"/><category scheme="http://www.blogger.com/atom/ns#" term="ipad"/><category scheme="http://www.blogger.com/atom/ns#" term="iphone"/><category scheme="http://www.blogger.com/atom/ns#" term="ipod"/><category scheme="http://www.blogger.com/atom/ns#" term="Mac"/><category scheme="http://www.blogger.com/atom/ns#" term="new"/><category scheme="http://www.blogger.com/atom/ns#" term="Osx"/><category scheme="http://www.blogger.com/atom/ns#" term="update"/><title type='text'>Top 5 additions in the recently released iOS 9.2 Update for iPhone, iPad and iPod Touch.</title><content type='html'>&lt;div class=&quot;wrapper&quot;&gt;
&lt;div class=&quot;titleimage&quot;&gt;
&lt;img style=&quot;max-width:100%;&quot; src=&quot;http://d2webstudio.mx/images/blog/ios9.2logo.jpg&quot; alt=&quot;iOS 9.2&quot;&gt;
&lt;/div&gt;

&lt;p class=&quot;myp&quot;&gt;At the time of writing this, Apple has released the iOS 9.2 Update for all iOS devices that support it. And it comes with a slew of fixes, improvements, and new additions to iOS 9.  Here&#39;s the Top Five most interesting ones. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;h2 style=&quot;color:#868686; font-family:Gruppo, sans-serif;&quot;&gt;New Top Stories section in News&lt;/h2&gt;&lt;p&gt;Available to English speaking countries, the News App features the most relevant stories for your neck of the woods. Now in iOS 9.2 you get a section entirely devoted to the Top News items, whatever those may be. 10 to 1, Donald Trump is there in some form or another. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;h2 style=&quot;color:#868686; font-family:Gruppo, sans-serif;&quot;&gt;3D Touch for iBooks.&lt;/h2&gt; &lt;p&gt;For iBooks users on iPhones 6s and 6s Plus, you can now peek and pop the book&#39;s table of contents for a quick preview of the relevant section. As well as your Notes, Bookmarks, and search results. This sounds useful in principle, but lets see how useful it really is in practice to get quick glances at these things. &lt;/li&gt;
&lt;li&gt;&lt;h2 style=&quot;color:#868686; font-family:Gruppo, sans-serif;&quot;&gt;Apple Music Improvements&lt;/h2&gt;&lt;p&gt;Apple Music has received a ton of criticism over its lacking set of features. Specially when it came to playlists. With iOS 9.2 You can now more easily manage your playlists. Apple has added the ability to create a Playlist directly on your iOS device from a single song via the Add Song to Playlist option.  Previously you were limited to existing Playlists, and would have to go out to the Playlist section of the music App to create one before adding songs to it. Apple also added the ability to download an entire playlist for offline listening with single tap, instead having to download each song individually.&lt;/p&gt;&lt;p&gt;Apple has also added a new indicator for downloaded songs in My Music and Playlists so you know which ones are on your device and which ones are not.&lt;/p&gt;&lt;p&gt;Apple added a few other less relevant features to the Music App, but by far Apple Music got the most attention this time around.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;h2 style=&quot;color:#868686; font-family:Gruppo, sans-serif;&quot;&gt;Mail Drop in Mail&lt;/h2&gt;&lt;p&gt;Previously limited to Mac and PC, Mail Drop has now been made available on iOS devices. Basically it lets you upload larger attachments, that would otherwise go over normal E-Mail server attachment limits, to iCloud, and share them with your email recipients instead.  This is specially handy when trying to send things like videos taken directly on the iPhone. &lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;h2 style=&quot;color:#868686; font-family:Gruppo, sans-serif;&quot;&gt;Camera USB Adapter support for iPhones&lt;/h2&gt;&lt;p&gt;Probably the most requested feature ever, since it was only available for iPad. With iOS 9.2 Apple has now made it possible to connect your camera to your iPhone using the USB camera adapter, and  transfer photos onto the iPhone directly.&lt;/p&gt;&lt;p&gt;This is probably the most useful new feature since many people now rely solely on their iPhones and being able to transfer photos to the iPhone from a digital camera has always been a necessity for many. &lt;/p&gt;&lt;/li&gt; 

&lt;/ol&gt;

&lt;div style=&quot;background-color:#f2f2f2; border-radius:8px; padding:10px;&quot;&gt;
&lt;h2 style=&quot;color:#868686; font-family:Gruppo, sans-serif;&quot;&gt;Useful Links&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;http://www.apple.com/shop/product/MD821AM/A/lightning-to-usb-camera-adapter&quot;&gt;Lightning to USB Camera Adapter&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://support.apple.com/en-us/HT203093&quot;&gt;About Mail Drop&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.apple.com/iphone-6s/3d-touch/&quot;&gt;About 3D Touch on iPhone 6s and 6s Plus&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/3807901075615905502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2015/12/top-5-additions-in-iOS9.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/3807901075615905502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/3807901075615905502'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2015/12/top-5-additions-in-iOS9.html' title='Top 5 additions in the recently released iOS 9.2 Update for iPhone, iPad and iPod Touch.'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-42270788922196275</id><published>2015-11-30T09:36:00.001-08:00</published><updated>2015-12-19T15:20:56.744-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="apple"/><category scheme="http://www.blogger.com/atom/ns#" term="better"/><category scheme="http://www.blogger.com/atom/ns#" term="cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="cost"/><category scheme="http://www.blogger.com/atom/ns#" term="differences"/><category scheme="http://www.blogger.com/atom/ns#" term="iCloud"/><category scheme="http://www.blogger.com/atom/ns#" term="iphone"/><category scheme="http://www.blogger.com/atom/ns#" term="ipod"/><category scheme="http://www.blogger.com/atom/ns#" term="itunes"/><category scheme="http://www.blogger.com/atom/ns#" term="Mac"/><category scheme="http://www.blogger.com/atom/ns#" term="Match"/><category scheme="http://www.blogger.com/atom/ns#" term="Music"/><category scheme="http://www.blogger.com/atom/ns#" term="services"/><category scheme="http://www.blogger.com/atom/ns#" term="Store"/><title type='text'>Apple Music vs iTunes Match</title><content type='html'>&lt;div class=&quot;wrapper&quot;&gt;
&lt;div class=&quot;titleimg&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtzspC83FrebrEHexG42SivHYNtRG03VHPbgcAddk9GAxhEs1iWocYbaCFO0eFgsY7Ppi0LPehbczMiZTjmy8QoyWbORzJF7_0GOgoR2X0jBuQ1U1xSWAo7wyJH3AgqLNUiPRmCGLFWBw/s1600/itunesvsmusic.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtzspC83FrebrEHexG42SivHYNtRG03VHPbgcAddk9GAxhEs1iWocYbaCFO0eFgsY7Ppi0LPehbczMiZTjmy8QoyWbORzJF7_0GOgoR2X0jBuQ1U1xSWAo7wyJH3AgqLNUiPRmCGLFWBw/s400/itunesvsmusic.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Let&#39;s get ready to ruuuumble!!!!. &lt;/h2&gt;


&lt;p class=&quot;mine&quot;&gt;With Apple&#39;s new music service now available on all promised platforms, including Andriod Devices, lets take a quick look at what it does and compare it to iTunes Match.&lt;/p&gt;

&lt;h3 style=&quot;background-color: #f2f2f2; border-radius: 8px 8px; margin: 4px; padding: 8px;&quot;&gt;iTunes Match&lt;/h3&gt;

&lt;p class=&quot;mine&quot;&gt;iTunes Match is a $24.99 per year service that will upload your music library to Apple&#39;s servers, and make it available to all your devices directly. &lt;span style=&quot;text-decoration:line-through;&quot;&gt;It will take a max of 25,000 songs, that&#39;s twenty five thousand songs.&lt;/span&gt; Its been recently updated to take up to 100,000 songs. &lt;/p&gt;

&lt;p class=&quot;mine&quot;&gt;The service will attempt to match any song in your computer&#39;s iTunes library to a song in the iTunes Store catalog. It if finds a match that song can then be played on any device you own that is using the same Apple ID. Your matched songs will be replaced with the high quality versions of the songs in the iTunes Store catalog. Any song it cannot match will be uploaded to Apple&#39;s servers as is, and will be offered to your devices for streaming and download as they were originally in your library. &lt;/p&gt; 

&lt;p class=&quot;mine&quot;&gt;The Central storage option in Apple&#39;s servers allows instant access to stream and download form any Apple device using the same Apple ID for iCloud, and the iTunes Store. This can come in handy, if you have several devices, and do not want to spend a lot of time syncing your library to each of them.&lt;/p&gt;

&lt;p class=&quot;mine&quot;&gt;Matched songs are DRM free. Which means you can download the higher quality versions and burn them to CD, or copy them to another computer / device without any problems.&lt;/p&gt;

&lt;hr&gt;

&lt;h3 style=&quot;background-color: #f2f2f2; border-radius: 8px 8px; margin: 4px; padding: 8px;&quot;&gt;Apple Music&lt;/h3&gt;

&lt;p class=&quot;mine&quot;&gt;On the surface the service may seem very much the same as iTunes Match,  but there are some key differences to be aware of. &lt;/p&gt;

&lt;p class=&quot;mine&quot;&gt;Apple Music costs $9.99 a month for single user. or $14.99 a month for Family Membership. This means any member of a Family Sharing group can have access to it, unlike iTunes Match which is a single user service, and cannot be shared.&lt;/p&gt;

&lt;p&gt;Like iTunes Match Apple Music will match any song in your library to a song in the iTunes Store Catalog, and will upload as is whatever it cannot match. It will make all your songs available to all your devices using the same Apple ID for streaming and download in as high quality as it can just like iTunes Match would. Up to here, Apple Music appears to be just a more expensive option to iTunes Match. &lt;/p&gt; 

&lt;p&gt;But Apple Music does a bit more than that.  With the $9.99 monthly fee comes access to the entirety of the iTunes Store music Catalog for streaming and offline play back. That is you can play anything in the store for free in its entirety while you remain subscribed to the service. That is literally access to millions of songs and albums. &lt;/p&gt;

&lt;p class=&quot;mine&quot;&gt;You also get specially curated lists of songs tailored to your tastes, as well as access to artists and albums features not available otherwise. &lt;/p&gt;

&lt;hr&gt;
&lt;h3 style=&quot;background-color: #f2f2f2; border-radius: 8px 8px; margin: 4px; padding: 8px;&quot;&gt;Differences&lt;/h3&gt;

&lt;p class=&quot;mine&quot;&gt;While iTunes Match lacks access to the entire iTunes Store Catalog, its also noticeably cheaper. $7.91 cheaper to be precise, per month. But as said you don&#39;t get access to the iTunes store catalog. This may or may not be important to you. But it needs to pointed out. &lt;/p&gt;

&lt;p&gt;The other major difference is iTunes Match offers DRM free versions of your matched tracks. Which means you can use these anywhere you want to. Burn to a CD, copy to a USB drive sync to non Wi-Fi iPods etc..  Apple Music on the other hand will offer DRM protected tracks, which means they will only work with authorized devices, and ones that can support the Apple ID authentication. So no copying to USB device or burning to a CD, and no syncing directly form a computer to anything. All music syncing must be done over the internet to validate the subscription to the service. This Applies to all your tracks: matched and uploaded. They all become DRM protected. 
&lt;/p&gt;

&lt;p class=&quot;mine&quot;&gt;
This makes Apple Music simultaneously more restricted, but with much more content to offer than iTunes Match. &lt;/p&gt;


&lt;hr&gt;

&lt;h3 style=&quot;background-color: #f2f2f2; border-radius: 8px 8px; margin: 4px; padding: 8px;&quot;&gt;Cancellation&lt;/h3&gt;
&lt;p class=&quot;mine&quot;&gt;
So what happens when you cancel either of these?
&lt;/p&gt;

&lt;p&gt;When you cancel iTunes Match, any downloaded songs, to your devices remain functional and playable on the device they are on. You simply loose the central cloud access on Apple&#39;s servers. So anything not on a device would need to be synced from your computer normally.&lt;/p&gt;

&lt;p&gt;When your Apple Music subscription expires however, any song whether it was matched from your library, or made available offline from the iTunes Store catalog will stop working.  You will not be able to play it, or move it, or do really anything with it. Since Apple Music songs are DRM protected, they require the subscription be active for the DRM to validate and let you play them. &lt;/p&gt;

&lt;h3 style=&quot;background-color: #f2f2f2; border-radius: 8px 8px; margin: 4px; padding: 8px;&quot;&gt;Judges&#39; Ruling&lt;/h3&gt;

&lt;p class=&quot;mine&quot;&gt;At the end of the day, if you can do without access to the iTunes Music catalog, iTunes Match is the better service in most respects. If you do need or just really really want the access to the iTunes catalog then choose Apple Music, but be aware of the DRM limitations.  &lt;/p&gt;


&lt;h3 style=&quot;style=&quot;background-color: #f2f2f2; border-radius: 8px 8px; margin: 4px; padding: 8px;&quot;&gt;Useful Links&lt;/h3&gt;
&lt;p class=&quot;mine&quot;&gt;&lt;a href=&quot;&quot;&gt; Apple&#39;s Apple Music Website&lt;/a&gt;&lt;/p&gt;
&lt;p class=&quot;mine&quot;&gt;&lt;a href=&quot;&quot;&gt; Apple&#39;s iTunes Match Website&lt;/a&gt;&lt;/p&gt;




&lt;/div&gt;


</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/42270788922196275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2015/11/apple-music-vs-itunes-match.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/42270788922196275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/42270788922196275'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2015/11/apple-music-vs-itunes-match.html' title='Apple Music vs iTunes Match'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtzspC83FrebrEHexG42SivHYNtRG03VHPbgcAddk9GAxhEs1iWocYbaCFO0eFgsY7Ppi0LPehbczMiZTjmy8QoyWbORzJF7_0GOgoR2X0jBuQ1U1xSWAo7wyJH3AgqLNUiPRmCGLFWBw/s72-c/itunesvsmusic.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-286008987483399270</id><published>2015-11-19T12:16:00.001-08:00</published><updated>2015-11-19T12:16:23.462-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apple"/><category scheme="http://www.blogger.com/atom/ns#" term="apple id"/><category scheme="http://www.blogger.com/atom/ns#" term="Apple Pay"/><category scheme="http://www.blogger.com/atom/ns#" term="iOS 9"/><category scheme="http://www.blogger.com/atom/ns#" term="iphone"/><category scheme="http://www.blogger.com/atom/ns#" term="iPhone 6"/><category scheme="http://www.blogger.com/atom/ns#" term="iPhone 7"/><category scheme="http://www.blogger.com/atom/ns#" term="new iPhone"/><category scheme="http://www.blogger.com/atom/ns#" term="Upgrade Program"/><title type='text'>How does Apple&#39;s IPhone Upgrade Program Work?</title><content type='html'>&lt;div class=&quot;wrapper&quot;&gt;
&lt;div class=&quot;titleimg&quot;&gt;
&lt;img src=&quot;http://d2webstudio.mx/images/iphone-plan-box-201509.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;In their now customary September Keynote, Apple announced that this year (2015), would see a new way to get iPhones. No more being locked for 24 months to a carrier. No more waiting to upgrade to the newest iPhone until your plan is up.  Now you take control, by being locked into a 12/24 month payment plan with Apple, oh.. wait..&lt;br /&gt;
But I&#39;m kidding of course. Its actually a decent deal. Its very close to what Car Dealerships do with their Leasing options.  You get a new vehicle every few years when you turn in yours, or keep paying until you&#39;ve paid off the car you currently have.&lt;br /&gt;
Same deal with Apple&#39;s iPhones.&lt;/p&gt;

&lt;p&gt;The way it works is simple really, its a low payment plan for an iPhone, that lets you get a brand new model every year, or keep the one you have by making a total of 24 payments.&lt;/p&gt;

&lt;div style=&quot;background-color:#f2f2f2; padding:20px; border-radius:8px;&quot;&gt;
&lt;h4&gt;
So how does it work:&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;You start the plan this year, and you can choose between an iPhone 6s or a 6sPlus. Lets go all out and pick a fully decked, 128GB Rose Gold 6sPlus. According to Apple&#39;s website, that phone, will cost you a flat $44.91 a month. 
&lt;/li&gt;
&lt;li&gt; After 12 months of paying $44.91,  you get an option. Trade up to the new model, or keep your current one. If you Choose to trade up to the new model, you simply return your current one, and you get a new one. No extra payments, or anything. Just like that.  Except, your plan, resets, to month 0, so you start again making payments on whatever new iPhone you got for 12 months, and the cycle repeats again. 
&lt;/li&gt;
&lt;li&gt;If you chose to keep your current model, no trade up, then you can keep making payments for another 12 months on it, and at that point, the iPhone is yours. No more payments need to be made after 24 months. 
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;

&lt;p&gt;Now, lets do some math:&lt;/p&gt;
&lt;p&gt;A 128GB Rose Gold iPhone 6sPlus would cost you outright (in the U.S.A): $949.00 dollars.&lt;/p&gt;
&lt;p&gt;If you go for the Plan, and choose the upgrade at the 12 month mark: You will pay $44.91 * 12 =  $538.92. That&#39;s a little over 56% of the iPhone&#39;s full retail price. At that point you can get a new one. &lt;/p&gt;
&lt;p&gt;But say you choose to not upgrade, then you keep paying the $44.91 for another 12 months. In that case the total cost of the iPhone comes to: $1077.84. So about $128.00 more than retail. Not such a good deal then right?.&lt;/p&gt;

&lt;p&gt;No, the Upgrade Plan includes Apple Care +. A $129.00 value. Which ends up making the 24 month deal $1 dollar less, then if you buy it outright.&lt;/p&gt;
&lt;p&gt;All in all, the 12 month upgrade option is a pretty good one, if you don&#39;t mind paying for your iPhone every month for as long as you keep upgrading. &lt;/p&gt;
&lt;p&gt;To get out, you need to complete a 24 month cycle without upgrading. Which overall is not too bad&lt;/p&gt;
&lt;p&gt;The added benefit, of Apple&#39;s payment plan, is that you can change carriers whenever you want.&lt;/p&gt;
&lt;p&gt;If you take this plan, instead of your carriers upgrade option, then, you are no longer tied to your carrier.  You should be able to cancel your service with them at any time, and port your number to a different carrier. &lt;/p&gt;

&lt;div style=&quot;background-color:#f2f2f2; padding:20px; border-radius:8px;&quot;&gt;
&lt;h4&gt;
Frequently Asked Questions&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;&lt;h4&gt;
Do I need to turn in my current iPhone to start the Upgrade Program?&lt;/h4&gt;
No, you can start an upgrade program even if you do not own a cell phone at all. You just sign up for the plan, and you get an iPhone.&lt;br /&gt;
 &lt;/li&gt;
&lt;li&gt;&lt;h4&gt;
Does my Cell Service contract have to be up, or do I have to be eligible for an upgrade with my carrier to start the upgrade program with Apple?&lt;/h4&gt;
No. The upgrade program is completely independent of you carrier. Whether your still in contract with them or not, you can start the program with Apple.&lt;/li&gt;
&lt;li&gt;&lt;h4&gt;
Do I need to make a down payment to start the Upgrade Plan?&lt;/h4&gt;
No, not at all. There are no down payments, or signup fees.&lt;/li&gt;
&lt;li&gt;&lt;h4&gt;
Do I need to own an iPhone to start the Upgrade Plan&lt;/h4&gt;
No. You don&#39;t even need to own a cell phone at all to start the Upgrade plan.&lt;/li&gt;
&lt;li&gt;&lt;h4&gt;
Are the iPhone&#39;s you get on the upgrade plan unlocked?&lt;/h4&gt;
Yes. Apple will give you an unlocked iPhone of your choice, when you start a plan, so you can use it with any carrier.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;h4&gt;
Apple&#39;s Upgrade Program Website&lt;/h4&gt;
&lt;a href=&quot;http://www.apple.com/shop/iphone/iphone-upgrade-program&quot;&gt;http://www.apple.com/shop/iphone/iphone-upgrade-program&lt;/a&gt;


&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/286008987483399270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2015/11/how-does-apples-iphone-upgrade-program_19.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/286008987483399270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/286008987483399270'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2015/11/how-does-apples-iphone-upgrade-program_19.html' title='How does Apple&#39;s IPhone Upgrade Program Work?'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-5337266570183093931</id><published>2014-07-26T11:07:00.002-07:00</published><updated>2017-02-12T11:02:11.784-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apple"/><category scheme="http://www.blogger.com/atom/ns#" term="backup"/><category scheme="http://www.blogger.com/atom/ns#" term="buying"/><category scheme="http://www.blogger.com/atom/ns#" term="ebay"/><category scheme="http://www.blogger.com/atom/ns#" term="iCloud"/><category scheme="http://www.blogger.com/atom/ns#" term="iOS 7"/><category scheme="http://www.blogger.com/atom/ns#" term="iOS 8"/><category scheme="http://www.blogger.com/atom/ns#" term="iOS 9"/><category scheme="http://www.blogger.com/atom/ns#" term="ipad"/><category scheme="http://www.blogger.com/atom/ns#" term="iphone"/><category scheme="http://www.blogger.com/atom/ns#" term="ipod"/><category scheme="http://www.blogger.com/atom/ns#" term="selling"/><title type='text'>What to do, when buying a second hand iPad, iPhone, or iPod Touch that supports iOS 7 or above.</title><content type='html'>&lt;!-- What to do before buying a second hand iPad, iPhone or iPod Touch --&gt;
&lt;style type=&quot;text/css&quot;&gt;
*{
 margin:0;
 padding:0;

 color:#464646;
}
div.wrapper
{
 padding:10px;
 max-width:600px;
}
div.wrapper div.indent
{
 margin-left:10px;
 background-color:rgba(200,200,200,0.2);
 overflow:hidden;
 
}
div.wrapper h1
{
 font-size: 14px;
 font-weight:100;
 border-bottom:1px solid rgba(180,180,180,0.4);
 margin-bottom:8px; 
 font-weight: bold;
 padding-bottom:8px;
}

div.wrapper p
{
 padding:10px;
 text-align: justify;
 margin:4px 2px;
 font-size:12px;
 color:#646464;
 line-height:20px;
}

div.wrapper p img
{
 float:left;
 vertical-align: middle;
 margin:10px;
 width:250px;
 clear:both;
}

div.wrapper p a:link
{
 padding:2px;
 background-color:#ffffff;
 border:1px solid rgba(120,120,120,0.2);
 font-size:10px;
 color:#3378f9;
 border-radius:4px;
 text-decoration: none;
 font-weight: bold;
}

div.wrapper p a:visited
{
 color:#3378f9;
}

div.wrapper p a:hover
{
 color:#3378f9;
 text-decoration: underline;
}
div.wrapper p a:active
{
 color:#559af9;
}



div.wrapper hr
{
 border-color: rgba(200,200,200,0.6);
 clear:both;
}

&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class=&quot;wrapper&quot;&gt;
&lt;h1&gt;What to do, when buying a second hand iPad, iPhone, or iPod Touch that supports iOS 7 or above.&lt;/h1&gt;
&lt;script async src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;!-- in_post_ad --&gt;
&lt;ins class=&quot;adsbygoogle&quot;
     style=&quot;display:block&quot;
     data-ad-client=&quot;ca-pub-8160876530150180&quot;
     data-ad-slot=&quot;1900320374&quot;
     data-ad-format=&quot;auto&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
&lt;p&gt;With iOS 7, released on September of 2013 Apple added a new security feature to all its touch enabled devices in an attempt to cut down on device theft. 
&lt;/p&gt;&lt;p&gt;
This feature was called Activation Lock.  &lt;/p&gt;

&lt;p&gt;Before iOS 7 when somebody stole a touch enabled Apple device, all they had to do to make it functional was reset to factory settings either 
via the Erase all Settings and Data option on the device, or through iTunes on a computer.&lt;/p&gt;
&lt;p&gt;This would set the device to an &quot;As New&quot; state allowing the thief to use the device without any issues.  &lt;/p&gt;

&lt;p&gt;iOS 7 changed all that with Activation lock. &lt;/p&gt;
&lt;p&gt;Basically, when a device is registered with iCloud, and Find My iPhone is turned on in iCloud Settings on the device, it becomes locked the Apple ID and Password 
that was used to register it.  It cannot be reset to factory condition without the password, and will be locked if it is attempted to be reset through iTunes on a computer. &lt;/p&gt;

&lt;p&gt;With Find my iPhone (iPad or iPod) active, the owner can track the device&#39;s location through the iCloud.com website or from another device that has the Find my iPhone App installed. &lt;/p&gt;
&lt;p&gt;The owner can then choose to delete all content from the device and lock it. When this happens, a screen requesting the Apple ID and password will appear on the device preventing any 
access to it until the credentials are provided&lt;/p&gt;

&lt;p&gt;Many thieves will attempt to sell off these locked devices to unsuspecting customers through online services such as E-Bay or Craigslist where its impossible to view the device before 
purchase.&lt;/p&gt;

&lt;p&gt;But what can one do to avoid falling victim to these sellers?  Here&#39;s a list of of things you can do to make sure the device is not locked, and properly cleared, or to at least 
avoid losing money on an ill fated transaction?&lt;/p&gt;

&lt;div class=&quot;indent&quot;&gt;


 &lt;h2 style=&quot;font-family:Gruppo, Sans Serif; color:#242424; font-weight:bold; padding:8px;&quot;&gt; Verifying the device is correctly wiped: &lt;/h2&gt;  
 &lt;p&gt;&lt;img src=&#39;http://d2webstudio.mx/images/blog/helloscreen.jpg&#39; alt=&quot;Hello Screen&quot;&gt;When a iDevice is first turned on when it was first bought, it will start up at the Welcome (Hello) screen. When a device
 is reset, it will return to this screen. However, if the owner did not properly remove the device form their Apple ID, the device will show the activation lock screen after selecting a language and connecting to Wifi.&lt;/p&gt;

&lt;p&gt;When buying in person, start the setup process, select a language, and connect to a wifi network. If the device is properly wiped and removed from the Apple ID of the previous owner, the next screen should be the Restore screen, where you can choose to use an iCloud backup to set up the device from, or continue and set up as new. &lt;/p&gt;

&lt;p&gt;If buying sight unseen, its best to have the seller provide contact information, and withhold payment until you are certain the device is not locked.&lt;/p&gt;
&lt;p&gt;You can also request the seller provide a picture of the device at the iCloud settings screen in Settings-&gt;iCloud, and verify that there is no iCloud account signed in, and that Find My iPhone / iPad is turned off there. &lt;/p&gt;

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh2XzdPbLNLaZoVodCiDFkKRyh0sdGI-kbDJL63oSEJZIwXcbqYkurUkP2k4IWnzZR7FcERjYKPPD4ss55KvIpExAkutMxX7mVGAXsJ3giYz3IMsXDmcG-1gA_YhMmNqT4wUXR1WfiyNQ/s1600/iphone6-ios9-settings-icloud-sign-in.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh2XzdPbLNLaZoVodCiDFkKRyh0sdGI-kbDJL63oSEJZIwXcbqYkurUkP2k4IWnzZR7FcERjYKPPD4ss55KvIpExAkutMxX7mVGAXsJ3giYz3IMsXDmcG-1gA_YhMmNqT4wUXR1WfiyNQ/s320/iphone6-ios9-settings-icloud-sign-in.png&quot; width=&quot;157&quot; height=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;Even if it has not been wiped clean, having no iCloud account signed in there, means the device is not locked to an Apple ID, and should not become activation locked to it once restored.&lt;/p&gt;

&lt;p&gt;Apple used to have a service at http://icloud.com/activationlock where you could verify the activation lock status of a device, but has since taken it down, and is no longer available.&lt;/p&gt;

&lt;p&gt;If it ever returns, it is a great tool to use when buying second hand as it could easily tell you if its locked or not. &lt;/p&gt;

 &lt;p&gt;Should the device not be correctly wiped, you can direct the seller to this Apple Article &lt;span&gt;&lt;a href=&quot;http://support.apple.com/kb/HT5661&quot;&gt;What to do before selling or giving away your iPhone, iPad, or iPod touch&lt;/a&gt;&lt;/span&gt;, and request they follow its instructions to wipe the 
 device and remove it from their account &lt;/p&gt;
 &lt;p&gt;This is a basic step, as nobody would want to sell a device that may contain private and sensitive information.  So a wipe must be performed.&lt;/p&gt;
 &lt;p&gt;If the seller is unable or unwilling to do this, then this should raise big red flags, and the device should not be purchased from this seller&lt;/p&gt;

 &lt;p&gt; &lt;img src=&#39;http://d2webstudio.mx/images/blog/activationscreen.png&#39; alt=&quot;Activation Lock Screen&quot;&gt;&lt;h2 style=&quot;font-family:Gruppo, Sans Serif; color:#242424; font-weight:bold; padding:8px;&quot;&gt;If the device appears to be at the Activation Lock screen, then it was most likely locked from iCloud by the original owner. &lt;/h2&gt;&lt;/p&gt;
 &lt;p&gt;Again, requesting the seller to remove it form their account through iCloud.com  should be the first step before any money is exchanged.&lt;/p&gt;
 &lt;p&gt; If the seller is unable or unwilling to do this, again, red flags should be raised, and purchase of this device should not be considered&lt;/p&gt;

 &lt;p&gt;&lt;img src=&#39;http://d2webstudio.mx/images/blog/passcodescreen.jpg&#39; alt=&quot;Passcode Screen&quot;&gt;If the device is at the standard Passcode unlock scree you should again request it be properly cleared before purchase.&lt;/p&gt;


 &lt;h2 style=&quot;font-family:Gruppo, Sans Serif; color:#242424; font-weight:bold; padding:8px;&quot;&gt;If the device is running iOS 6 or an earlier version:&lt;/h2&gt;&lt;p&gt; Request that the previous owner sign out of all services under Settings, and clear the device by going to 
 Settings-&gt;General-&gt;Reset-&gt;Erase all Content and Settings&lt;/p&gt;
 
 &lt;/div&gt;
 &lt;hr&gt; 
 
 &lt;p&gt; &lt;img src=&quot;http://d2webstudio.mx/images/blog/defaultapps.jpg&quot; alt=&quot;Default Apps&quot;&gt;When properly wiped, and released from the previous owner&#39;s Apple ID, the device will have nothing on it except the Default built in Apple Apps. 
 As tempted as you may be to want to keep some of the sellers Apps or other content, this is never a good idea. All Apps, media, books, etc... bought or downloaded 
 from Apple&#39;s stores are forever tied to the Apple ID that was used to buy/download them. As such Apps will always require the Apple ID and password that was used to download them, to update 
 them in the future and media and books will remain tied to the Apple ID used to buy them, and may not be accessible later. 
  &lt;/p&gt;

  


&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/5337266570183093931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2014/07/what-to-do-when-buying-second-hand-ipad.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/5337266570183093931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/5337266570183093931'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2014/07/what-to-do-when-buying-second-hand-ipad.html' title='What to do, when buying a second hand iPad, iPhone, or iPod Touch that supports iOS 7 or above.'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh2XzdPbLNLaZoVodCiDFkKRyh0sdGI-kbDJL63oSEJZIwXcbqYkurUkP2k4IWnzZR7FcERjYKPPD4ss55KvIpExAkutMxX7mVGAXsJ3giYz3IMsXDmcG-1gA_YhMmNqT4wUXR1WfiyNQ/s72-c/iphone6-ios9-settings-icloud-sign-in.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-6929548817189796801</id><published>2013-01-21T08:25:00.000-08:00</published><updated>2015-01-21T19:56:44.135-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="8"/><category scheme="http://www.blogger.com/atom/ns#" term="desktop tile missing"/><category scheme="http://www.blogger.com/atom/ns#" term="metro"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="problems"/><category scheme="http://www.blogger.com/atom/ns#" term="start screen"/><category scheme="http://www.blogger.com/atom/ns#" term="tablet"/><category scheme="http://www.blogger.com/atom/ns#" term="tech"/><category scheme="http://www.blogger.com/atom/ns#" term="update"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><category scheme="http://www.blogger.com/atom/ns#" term="XP"/><title type='text'>Updating Windows XP to Windows 8 Pro</title><content type='html'>&lt;div class=&quot;wrapper&quot;&gt;
&lt;div class=&quot;titleimg&quot;&gt;
&lt;img alt=&quot;Windows 8 Logo&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoDWacPbnm-2J1BNGHotCqI8PmTZpSSzPzWdSqOEbAVQ8B_jDMSnuYz8PbtE7n1tN5zOTQRto1pkkb50vUL1fvYwxRo9j3vlVIEQUaiR1YHN-1-0VWdCmoGCS0wbKluRR7Pl3kk-1fRP0/s560/windows-8-logo.jpg&quot; /&gt;
&lt;/div&gt;

&lt;p&gt;
Just got done updating my old home PC that was running a very trim Windows XP SP3.   The machine worked great. And I was weary of updating because I knew I would not be able to run game like Trackmania on Windows 8 among other things.  But having gone through the numerous Previews of Windows 8 and actually liking the evolution, I decided to finally take the plunge and update the XP side once the installation of the Windows 8 Release Preview expired. &lt;/p&gt;

&lt;p&gt;So I thought I&#39;d give it a shot from a normal user point of view. I put the 32bit DVD of the Windows 8 Pro Update package and waited.  (in retrospect, I should have put the 64 bit version, as this is an AMD64 Semprom. Yes, its a low line Pc, but since I don&#39;t play top of the line games on it (that&#39;s hat the Xbox is for), it works at home fine.)&lt;/p&gt;

&lt;p&gt;Anyway, the preparation stages went smoothly. Even the reboot went down without a hitch, but once the final setup was up, problems started arising. &lt;/p&gt;

&lt;p&gt;The first one, it wanted to connect to MS servers to activate, and log me in to my &quot;Microsoft Account&quot;.  However the installation failed to recognize my wireless card. So it could not do that, I had to skip that part, and setup a local account.  Once Windows started and was usable, I noticed, I was missing a few things from the Start screen.  Namely, the Desktop tile. No biggie, I&#39;ll simply go to search and run Explorer to get at it, see if I can get the tile back later.   I move the mouse to the side to get the charm bar, and nothing happens. &lt;/p&gt;

&lt;p&gt;O.k I&#39;ll reboot, see if that helps things. The Pc rebooted rather quickly, and lo and  behold still no Desktop Tile.  Fortunately the charm bar did come back.  So I was able to get into Desktop mode by running explorer, and into control Panel all was looking good, until I tried clicking on Administrative Tools, I got a message saying the location was unavailable. Fine, I&#39;ll have to install my wireless card from the driver CD and do a bit of Googling to figure out what happened. So I go to install the drivers, and they appear to install o.k. However the card would connect and disconnect from my network every few seconds. Which made browsing, quite difficult to say the least. &lt;/p&gt;

&lt;p&gt;After wrangling for a couple of hours with the network card, I gave in, drove to BestBuy, and bought a cheap USB Wifi card. This one was detected immediately, and required no drivers, Windows picked it up immediately. However, since all my Applications had not been carried over, I had to open IE and get to a suitable browser download. &lt;/p&gt;

&lt;p&gt;So I wandered the forums, looking for solutions to problems I was having, and it all boiled down to either a Refresh, and a Reinstall. I really wasn&#39;t looking forward to a complete reinstall, but after the refresh did nothing to alleviate the issues, I gave in, having backed up before updating, I had everything on my external, so I just rebooted the machine with the DVD inside and proceeded to wipe out the partition. Windows again went through the setup process without a hitch, and when it booted into the final setup, the USB wifi card was picked up, and I was able to setup the Microsoft Account o.k. Once at the Start Screen,the Desktop Tile was back and functional, and yes Administrative tools was working again.&lt;/p&gt;

&lt;p&gt;Hopefully its not something very common among updates. But if it is, I suggest just biting the bullet, and performing a complete clean reinstall. &lt;/p&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/6929548817189796801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2013/01/updating-windows-xp-to-windows-8-pro.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/6929548817189796801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/6929548817189796801'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2013/01/updating-windows-xp-to-windows-8-pro.html' title='Updating Windows XP to Windows 8 Pro'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoDWacPbnm-2J1BNGHotCqI8PmTZpSSzPzWdSqOEbAVQ8B_jDMSnuYz8PbtE7n1tN5zOTQRto1pkkb50vUL1fvYwxRo9j3vlVIEQUaiR1YHN-1-0VWdCmoGCS0wbKluRR7Pl3kk-1fRP0/s72-c/windows-8-logo.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-8818306979960786013</id><published>2012-10-24T10:21:00.000-07:00</published><updated>2012-10-24T10:45:37.848-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apple"/><category scheme="http://www.blogger.com/atom/ns#" term="idevices"/><category scheme="http://www.blogger.com/atom/ns#" term="iMac"/><category scheme="http://www.blogger.com/atom/ns#" term="ipad"/><category scheme="http://www.blogger.com/atom/ns#" term="iPad 3"/><category scheme="http://www.blogger.com/atom/ns#" term="iPad 4"/><category scheme="http://www.blogger.com/atom/ns#" term="iphone"/><category scheme="http://www.blogger.com/atom/ns#" term="ipod"/><category scheme="http://www.blogger.com/atom/ns#" term="itunes"/><category scheme="http://www.blogger.com/atom/ns#" term="keynote"/><category scheme="http://www.blogger.com/atom/ns#" term="mini"/><category scheme="http://www.blogger.com/atom/ns#" term="releases"/><category scheme="http://www.blogger.com/atom/ns#" term="Steve Jobs"/><title type='text'>Overview of iPad Mini and iPad 4 reveals</title><content type='html'>&lt;div class=&quot;titleimg&quot; style=&quot;text-align:center;&quot;&gt;
&lt;img alt=&quot;iPad Mini&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho1RyctYTanJlNWK10pijmR7ladqyiHTCqpWP0pkmxDUBMN2T8KfX-bta7VfUmCgh1jWPokDnpHAUGIYJjnqmxdQrEyrRMB_V9uTLVlWumF1U7_eajLP7sY57jyTt1oowePSUDB10MMpU/s512/ipadmini.jpg&quot; /&gt;
&lt;/div&gt;
&lt;div class=&quot;pdiv&quot; style=&quot;color: #464646; font-family: Verdana; font-size: 12px; text-align: justify;&quot;&gt;
I&#39;m by no means an Apple Fanboy... I like their products, but I can still bash them when required.&lt;br /&gt;
Today I want to write a bit about their keynote this Tuesday and specifically their reveal of the new iPads
&lt;/div&gt;
&lt;div class=&quot;pdiv&quot; style=&quot;color: #464646; font-family: Verdana; font-size: 12px; text-align: justify;&quot;&gt;
Their Tuesday reveal of their new iPads left many to question many decisions on their new products not because they are &amp;nbsp;bad, but because they are at all.&lt;/div&gt;
&lt;div class=&quot;pdiv&quot; style=&quot;color: #464646; font-family: Verdana; font-size: 12px; text-align: justify;&quot;&gt;
&lt;h2&gt;
iPad 4&lt;/h2&gt;
Having released the iPad 3 only 6 months ago, it puzzles me why they would release a new one so soon.  Usually they have a yearly release of products, iPhones for the most part follow the yearly release for major updates, and a 6 month release for and versions such as the 3Gs and the 4s.&lt;/div&gt;
&lt;div class=&quot;pdiv&quot; style=&quot;color: #464646; font-family: Verdana; font-size: 12px; text-align: justify;&quot;&gt;
iPads have been pretty good at keeping a yearly release until now.  but that&#39;s not really the puzzling thing. What is more intriguing is the decision to discontinue the iPad 3 in favor if the iPad 4 but leave the iPad 2. &lt;br /&gt;
Looking at the specs, it seems the iPad 4 is really only a very minor improvement over iPad 3. So it makes sense that they would not need two extremely similar products competing with each other.  However that leaves the question of why release an iPad 3 at all 6 months ago. They could have simply kept the iPad 2 for those 6 months, and release the iPad 4 as the iPad 3 along side the iPhone 5. Then it would have been a major upgrade.
&lt;/div&gt;
&lt;div class=&quot;pdiv&quot; style=&quot;color: #464646; font-family: Verdana; font-size: 12px; text-align: justify;&quot;&gt;
For those fearing the iPad 3 will no longer receive upgrades, I find that extremely hard to believe. Just because they aren&#39;t making the device anymore doesn&#39;t mean they&#39;ll stop supporting it with upgrades. At least one more major update so it gets 2 major updates total like the iPad 2 had. 
&lt;/div&gt;
&lt;div class=&quot;pdiv&quot; style=&quot;color: #464646; font-family: Verdana; font-size: 12px; text-align: justify;&quot;&gt;
&lt;h2&gt;
iPad Mini&lt;/h2&gt;
This release is the one I have to question more. The iPad mini is not only not a real good competitor in terms of specs in the 7 inch market niche, but its  also the more expensive alternative.  
&lt;br /&gt;
Personally I don&#39;t think the 7 inch tablet market is the way to go. Nor do I think a 5 inch iPhone is the way to go either. The intermediate sizes make it too cumbersome for a phone and not large enough for a good tablet experience. If I want to watch movies, look at pictures, read books, I want to do it in a larger screen rather than a smaller screen. The 10 inch screen is a good size for a handheld device without sacrificing detail or size. For this reason the 7 inch tablet market is one I&#39;m not particularly interested in. Nor do I think many people are. Walking around places like Starbucks, Libraries, museums etc... People carry 10 inch tablets with them. Very very few opt for the smaller 7 inch ones. Even then more people are going for the 4.x inch screen phones. Samsung even has a niche all its own with the 5 inch Galaxy Note. How many galaxy notes have you seen around?  Again the size makes it cumbersome for a phone, and limits the features a tablet can provide. 

&lt;br /&gt;
With 7 inch tablets as low as 150 bucks, what are you getting in the mini for the extra 200 dollars that warrant it.  Yes tons of apps and games are available in the store, but the display is a standard display well below other tablets resolutions, the processing power is also not to par with other tablets in the range. 
&lt;br /&gt;
At the time of writing, the Google Nexus 7 beyond its manufacturing issues, still offers the best bang for the buck. 

Its even more surprising when Steve Jobs himself outlined 5 reasons why 7 inch tablets where not viable options. 
&lt;/div&gt;
&lt;div class=&quot;pdiv&quot; style=&quot;color: #464646; font-family: Verdana; font-size: 12px; text-align: justify;&quot;&gt;
Only time will tell if the Mini really is as successful as they hope it is. Personally 7 inches is not enough for me on a tablet and I don&#39;t think the mini will get a version 2. 
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/8818306979960786013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2012/10/overview-of-ipad-mini-and-ipad-4-reveals.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/8818306979960786013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/8818306979960786013'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2012/10/overview-of-ipad-mini-and-ipad-4-reveals.html' title='Overview of iPad Mini and iPad 4 reveals'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho1RyctYTanJlNWK10pijmR7ladqyiHTCqpWP0pkmxDUBMN2T8KfX-bta7VfUmCgh1jWPokDnpHAUGIYJjnqmxdQrEyrRMB_V9uTLVlWumF1U7_eajLP7sY57jyTt1oowePSUDB10MMpU/s72-c/ipadmini.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-5755293498538796809</id><published>2012-10-10T10:18:00.004-07:00</published><updated>2012-10-10T10:18:42.698-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="app store"/><category scheme="http://www.blogger.com/atom/ns#" term="apple id"/><category scheme="http://www.blogger.com/atom/ns#" term="contacts gone"/><category scheme="http://www.blogger.com/atom/ns#" term="iCloud"/><category scheme="http://www.blogger.com/atom/ns#" term="imessages"/><category scheme="http://www.blogger.com/atom/ns#" term="ipad"/><category scheme="http://www.blogger.com/atom/ns#" term="iphone"/><category scheme="http://www.blogger.com/atom/ns#" term="ipod"/><category scheme="http://www.blogger.com/atom/ns#" term="itunes"/><category scheme="http://www.blogger.com/atom/ns#" term="movies"/><category scheme="http://www.blogger.com/atom/ns#" term="shared"/><title type='text'>iTunes Survival Tips Part 2</title><content type='html'>&lt;h2&gt;
Usage of an AppleID&lt;/h2&gt;
&lt;div class=&quot;titleimg&quot;&gt;
&lt;img alt=&quot;Apple ID&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuAjeQMvkIhBFIDDWJRl_MlXOyzGSajU5jUhyfxlEna1sJ7AP3rWpygTMwLVBztm9oaGp64JbZSqwvotIK8fKGx8sdlmvyom8kxNO6BdjPk02IT4zuzvUNLsYUDh_k1pPx8Q_UjFGOrZc/s640/appleid.jpg&quot; /&gt;
&lt;/div&gt;
&lt;div class=&quot;pdiv&quot;&gt;
As I said in part 1:&lt;/div&gt;
&lt;div style=&quot;background-color: #686868; border: 2px solid #113399; color: #d2d2d2; margin-left: 10px; margin-right: 10px; padding: 4px;&quot;&gt;
&lt;h1&gt;
# 3. Keep a single Apple ID.&lt;/h1&gt;
Yes as annoying as it sounds, the best practice is to keep a single Apple ID. Why because you can never merge the extra accounts, and you&#39;ll have content in one you won&#39;t in the other... 
&lt;/div&gt;
&lt;div class=&quot;pdiv&quot;&gt;
However this should only apply to your Apple ID and devices. If your girlfriend or boyfriend also have an iDevice (particularly an iPhone) you really need to have separate ID&#39;s. &lt;/div&gt;
&lt;div class=&quot;pdiv&quot;&gt;
&lt;h2&gt;
Don&#39;t use the same Apple ID in 2 or more iPhones&lt;/h2&gt;
When setting up an iPhone use the apple ID of the person the phone belongs to. Why? Because otherwise both phones are setup as belonging to one Apple ID. What that means is that Apple&#39;s servers then think they are supposed to send all notifications, all messages and all events to both devices. &amp;nbsp;Like if you had a iPhone and an iPad and wanted both to get the iMessage notifications. While it may be interesting to read other people&#39;s messages it can get a annoying, cumbersome, and obtrusive. Each individual iPhone should have its own individual Apple ID.
&lt;/div&gt;
&lt;div class=&quot;pdiv&quot;&gt;
&lt;h2&gt;
Don&#39;t use the same AppleID for iCloud backups of different phones.&lt;/h2&gt;
You should never share an Apple Id for iCloud backup as that can cause issues with the backed up data. This is specially problematic as the backed up contacts of one iPhone can merge with another, or in worst cases overwrite them. So you get either a mess of contacts, or none of your own. I&#39;m sure I don&#39;t have ti explain the problems you get from having merged contact lists, or having yours overwritten by your girlfriend&#39;s. 
&lt;/div&gt;
&lt;div class=&quot;pdiv&quot;&gt;
&lt;h2&gt;
Don&#39;t share an Apple ID for iTunes purchases&lt;/h2&gt;
As much as you&#39;d want to, or think its a good idea, it isn&#39;t.  While having purchased content across the your own devices is good, having purchased content across devices owned by different people is not. Even if its your girlfriend or wife and you want to share the content avoid it. Why because it invariably comes down to having content you don&#39;t want downloading to your device. I for instance don&#39;t need to have the complete set of Sex &amp;amp; the city episodes downloading to my iPhone because my wife decided she wants to watch them. Also I don&#39;t need it using up space in my iPhone or iPad. 
&lt;br /&gt;
&lt;br /&gt;
With that said, I can appreciate the need for a shared AppleID when purchasing content and being able to use it across everybody&#39;s devices, however the iTunes platform is not set up for it, and while you can use say a House Apple ID where you purchase movies and Tv shows to watch at home through an Apple Tv or even an iPad connected through HDMI to the TV it come back to the original issue. The account is independent, and its purchases cannot be merged with Apple ID&#39;s iTunes library. 
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;pdiv&quot;&gt;
All in all, iTunes, and Apple&#39;s platforms were designed for personal Apple ID&#39;s sharing was never intended because they first and foremost wanted to prevent piracy, and content copying. So while you may feel inclined to share an Apple ID, don&#39;t. In the long run it will only cause more issues than it will solve. 
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/5755293498538796809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2012/10/itunes-survival-tips-part-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/5755293498538796809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/5755293498538796809'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2012/10/itunes-survival-tips-part-2.html' title='iTunes Survival Tips Part 2'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuAjeQMvkIhBFIDDWJRl_MlXOyzGSajU5jUhyfxlEna1sJ7AP3rWpygTMwLVBztm9oaGp64JbZSqwvotIK8fKGx8sdlmvyom8kxNO6BdjPk02IT4zuzvUNLsYUDh_k1pPx8Q_UjFGOrZc/s72-c/appleid.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-370409469447405482</id><published>2012-09-23T20:54:00.000-07:00</published><updated>2012-09-23T20:58:32.496-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apple"/><category scheme="http://www.blogger.com/atom/ns#" term="apple id"/><category scheme="http://www.blogger.com/atom/ns#" term="backup"/><category scheme="http://www.blogger.com/atom/ns#" term="content."/><category scheme="http://www.blogger.com/atom/ns#" term="help"/><category scheme="http://www.blogger.com/atom/ns#" term="iCloud"/><category scheme="http://www.blogger.com/atom/ns#" term="ipad"/><category scheme="http://www.blogger.com/atom/ns#" term="iphone"/><category scheme="http://www.blogger.com/atom/ns#" term="ipod"/><category scheme="http://www.blogger.com/atom/ns#" term="itunes"/><category scheme="http://www.blogger.com/atom/ns#" term="library"/><category scheme="http://www.blogger.com/atom/ns#" term="manage"/><category scheme="http://www.blogger.com/atom/ns#" term="restore"/><title type='text'>iTunes survival Tips</title><content type='html'>&lt;div class=&quot;titleimg&quot;&gt;
&lt;img alt=&quot;iTunes icon&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvaCM7s7Dtl6ap-R8Ffj5KUxms-WD1UOFj0M-tQkQG-t5o7n1lI3Dkq8je6jbyhlqFdZTJYgYkWPrK1fmj08YymvXY9QQXreq7x9-DwQU5hgyO8nsWu3gUZfdG_GvZH7LlTDNwVQjZEkQ/s512/itunes.jpg&quot; /&gt;
&lt;/div&gt;
Apple has come a long way since the days of the Macintosh Apple II, but it seems in their effort to keep all store purchases secure and &quot;un-pirateable&quot; they&#39;ve also made their users lives a living nightmare.&lt;br /&gt;
&lt;br /&gt;
iTunes is probably the most hated piece of software out there that isn&#39;t a virus, or malware (Well... technically speaking). It makes seemingly simple tasks incredibly complex. And things like recovering your library after a PC crash become almost impossible.&lt;br /&gt;
&lt;br /&gt;
Its less offensive now, but a few years ago, it would seem iTunes updates would show up every couple of days, but were close to 100MB in size. That&#39;s not an update, that&#39;s the whole damn software to be downloaded every couple of days. Now it seems to have cut back on the frequent updates a little. And also reduced the size a tiny bit too. &amp;nbsp;But still at an average 70 or 80MB a pop it still kind of annoying.&lt;br /&gt;
&lt;br /&gt;
Still since there is no alternative to manage your iDevices, were stuck with it, so&amp;nbsp;here are some tips to keep iTunes under control or at least make it a little less aggravating.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
# 1. Consolidate&lt;/h2&gt;
&lt;br /&gt;
Consolidation is one of the few things that can aid in maintaining &amp;nbsp;control of your library. If you have music strewn about all over your hard drive or in different hard drives, it makes it very hard to manage, and recover should something go wrong. Consolidating makes iTunes copy all music, videos and playlists to a single location for it to manage. &lt;br /&gt;
&lt;br /&gt;
Go to &amp;nbsp;File-&amp;gt;Library-&amp;gt;Organize Library and tick the Consolidate check box to make iTunes put everything inside the iTunes library folder.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
# 2. Weed Out&lt;/h2&gt;
&lt;br /&gt;
We all like to have all our content at our finger tips, but there comes a time when you need to do some spring cleaning, and remove things you no longer need. Clearly 3 moth old Podcasts you downloaded from a website devoted to onion chopping that you&#39;ve been to only once may not be relevant any more. Remove them not only to free up space the limited storage on your device, but also to make maintenance of your library a little easier.&lt;br /&gt;
&lt;br /&gt;
I&#39;ve had to backup iTunes libraries for clients that are in the 100&#39;s of &amp;nbsp;GB but most of the space is taken up by old podcasts or video files they haven&#39;t watched or heard in years. While keeping your video and music library for posterity is always good, there are somethings that are just not worth the space they take up. Things like podcasts and other time relevant content like news casts etc..., can be erased. With iCloud you can still re-download the content should you need to in the future. &lt;br /&gt;
&lt;h2&gt;
# 3. Keep a single Apple ID. &lt;/h2&gt;
Yes as annoying as it sounds, the best practice is to keep a single Apple ID. Why because you can never merge the extra accounts, and you&#39;ll have content in one you won&#39;t in the other. It also makes it hard to keep a functional consolidated library if content is strewn about in several accounts.  I&#39;m a victim of this myself, I have 2 accounts. The problem used to be you could not download content from a country specific store while in another country.  This seems to have changed, as I can now download content from the American store while abroad. So I keep only my american account. But when I used to travel, I had to use a local account to be able to download things. Sadly there&#39;s no way to merge account purchases. So my purchases in the other account have had to remain there. As of this writing there is still no way to merge Apple ID&#39;s from different countries which is very very annoying for many, many people. It becomes more irritating when you realize content in certain country stores is really bad, and you still have to resort to an american  store to download.

I would suggest to keep an american account for pretty much everything. It does not affect your carrier fees, or local country data whatsoever, but does it make it easier to manage content, and get the most up to date content.

&lt;br /&gt;
&lt;h2&gt;
 # 4. Backup. &lt;/h2&gt;
This is the most important point.  Backup your iDevice regularly to your iTunes library, and backup the iTunes library as well. 

Backing up your iDevice also downloads your Camera Roll. Which otherwise does not get synchronized in iTunes. So its important if you wish to have your photos saved. 

Backing up your library is also a must, as it will let you restore to any iDevice should the need arise. Backing up the entirety of the library folder whether on a Mac or PC, will preserve everything stored in your library and synced, as well as your iDevice backups. Which contain other things not synchronized to the Library like the camera roll.

Should your computer hard drive die, having a backup of your library handy, and up to date and a current backup of your iDevice should reduce headaches to a minimum.

And remember, there&#39;s no way to restore your library from your device. Though there are some applications out there that claim to do it, but almost all of them cost, and I don&#39;t know if they are any good. 


&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/370409469447405482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2012/09/itunes-survival-tips.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/370409469447405482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/370409469447405482'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2012/09/itunes-survival-tips.html' title='iTunes survival Tips'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvaCM7s7Dtl6ap-R8Ffj5KUxms-WD1UOFj0M-tQkQG-t5o7n1lI3Dkq8je6jbyhlqFdZTJYgYkWPrK1fmj08YymvXY9QQXreq7x9-DwQU5hgyO8nsWu3gUZfdG_GvZH7LlTDNwVQjZEkQ/s72-c/itunes.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-7786611842130294497</id><published>2012-09-21T18:28:00.000-07:00</published><updated>2012-09-21T18:33:06.404-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apple"/><category scheme="http://www.blogger.com/atom/ns#" term="ios6"/><category scheme="http://www.blogger.com/atom/ns#" term="ipad"/><category scheme="http://www.blogger.com/atom/ns#" term="iphone"/><category scheme="http://www.blogger.com/atom/ns#" term="ipod"/><category scheme="http://www.blogger.com/atom/ns#" term="itunes"/><category scheme="http://www.blogger.com/atom/ns#" term="mac."/><category scheme="http://www.blogger.com/atom/ns#" term="update"/><category scheme="http://www.blogger.com/atom/ns#" term="upgrade"/><title type='text'>iOS 6 Issue List</title><content type='html'>&lt;div class=&quot;titleimg&quot;&gt;
&lt;img alt=&quot;iOS6 Issues&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi64f3B1lhsMve43Sntx_IrsxS5rGqVm3LplypjNF-_NNIgcwBLIKJWa5wFsyFXThpnP9saHzdXQr-mIR-Pyz9nx0jig5Z7-42nCYjKjBbUbHni2FqGSeEf1cJNZK1xNAmj0Zfkkhly44A/s588/ios6iissues.jpg&quot; /&gt;
&lt;/div&gt;
&lt;div class=&quot;pdiv&quot;&gt;
I&#39;m starting a list of issues I&#39;m having with Apple&#39;s latest iOS update.&lt;/div&gt;
&lt;h3&gt;
This is an iPad 2.&lt;/h3&gt;
&lt;h3&gt;
iOS 6 Official download.&lt;/h3&gt;
&lt;div class=&quot;pdiv&quot;&gt;
I want to point out there&#39;s several things I like about the update, and this list will not include the lack of certain features in the release for iPad 2 that exist for the iPhone5 and iPad 3 such as Siri. 
&lt;br /&gt;
This is going to be a list of issues I&#39;m having, with the release as is, and the included features.&lt;/div&gt;
&lt;div class=&quot;pdiv&quot;&gt;
I&#39;ll update the post with more issues as I encounter, and also solutions to the problems also as i find them. &lt;/div&gt;
&lt;div class=&quot;pdiv&quot;&gt;
1. Apple Maps. O.k. I&#39;ll cheat on this one but not really because it really isn;t in any release. &lt;span style=&quot;color: #bb2200; font-style: bold;&quot;&gt;Lack of Street View&lt;/span&gt;:.&lt;br /&gt;
&lt;br /&gt;
As an avid user of Google Maps before, the lack of street view in the new Apple Maps app is quite jarring and sorely missed. This feature really needs to exist very soon. Or hopefully Google will release a new version of Google Maps to the App Store for download. As cool as Fly-through is for the cities that have it, its a gimmick, and not very useful when looking for an address.

&lt;/div&gt;
&lt;div class=&quot;pdiv&quot;&gt;
2. iTunes: It may be just me, but the iTunes store is pathetically slow now, and keeps saying it can&#39;t connect. Loading image tiles in any section takes ages, and search is almost unusable. 

&lt;br /&gt;
&lt;div style=&quot;background-color: #686868; border: 2px solid #113399; color: #d2d2d2; margin-left: 10px; margin-right: 10px; padding: 4px;&quot;&gt;
Apparently there is a strange fix for this that gets rid of the &quot;Cannot connect to iTunes store&quot; popup. But not the slowness. 
&lt;br /&gt;
Go to Settings &amp;gt; General -&amp;gt; Date &amp;amp; Time, and set the date to one year ahead. You&#39;ll get a couple of notices about backups, and the same dreaded popup message. When that happens cancel it, and set the clock back the the correct date. The annoying popup should go away once you log on to the store successfully the next time.


&lt;br /&gt;
Search is still very slow though, and the image loading inside iTunes still has issues. 

Before you comment about my internet connection,I actually downloaded a Movie rental from iTunes and it finished in about 25 minutes. Though it did take a while to get started, and even failed the first time. Though once it started it downloaded really fast, and with no other issues. 

&lt;br /&gt;
&lt;div class=&quot;titleimg&quot;&gt;
&lt;img alt=&quot;iPad iTunes&quot; src=&quot;http://i47.photobucket.com/albums/f196/overcracker/7983ac76a5e52189b8e72f362ea36f50_zps5bcaa181.jpg&quot; /&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;pdiv&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;pdiv&quot;&gt;
3. Internet connectivity issues. Seems the iPad is having some issues accessing the internet. Now my PC has no issues, and connects fine to my router, and the iPad had no issues before the upgrade. So something in iOS 6 is not liking my router or takes a while to negotiate the connection. It happens in quite a few apps. Most notably... Facebook. 
&lt;/div&gt;


&lt;div class=&quot;pdiv&quot;&gt;
Well that&#39;s it for now. I&#39;ll update as i keep using it, and having issues with it of course. 
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/7786611842130294497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2012/09/ios-6-issue-list.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/7786611842130294497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/7786611842130294497'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2012/09/ios-6-issue-list.html' title='iOS 6 Issue List'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi64f3B1lhsMve43Sntx_IrsxS5rGqVm3LplypjNF-_NNIgcwBLIKJWa5wFsyFXThpnP9saHzdXQr-mIR-Pyz9nx0jig5Z7-42nCYjKjBbUbHni2FqGSeEf1cJNZK1xNAmj0Zfkkhly44A/s72-c/ios6iissues.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-5957317540994259163</id><published>2011-09-30T09:55:00.000-07:00</published><updated>2011-09-30T09:55:21.033-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="applications"/><category scheme="http://www.blogger.com/atom/ns#" term="developer"/><category scheme="http://www.blogger.com/atom/ns#" term="development"/><category scheme="http://www.blogger.com/atom/ns#" term="eight"/><category scheme="http://www.blogger.com/atom/ns#" term="html5"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="metro"/><category scheme="http://www.blogger.com/atom/ns#" term="overview"/><category scheme="http://www.blogger.com/atom/ns#" term="preview"/><category scheme="http://www.blogger.com/atom/ns#" term="review"/><category scheme="http://www.blogger.com/atom/ns#" term="style"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><title type='text'>Windows 8 Metro Diary: Day 3</title><content type='html'>&lt;p&gt;The following few posts will chronicle my experience with the newly released Microsoft Windows 8 Developer&#39;s Preview, made available as a free download from Microsoft themselves. 
&lt;/p&gt;

&lt;h1&gt;Monday September 26th  - Friday September 30th 2011 &lt;/h1&gt;

&lt;p&gt;Day 3 is a little different, in fact its a week, since I had less time to play around with it, and less things to talk about, I&#39;ll bundle the week together. &lt;/p&gt;

&lt;p&gt;After several days of digging around, I found a way to get the developer tools for Metro style apps for the other downloads, So I have in fact started to develop one application.  However since Microsoft considers this a breach of EULA I cannot disclose the technique here. Suffice it to say, its simple and straight forward. Which makes it even the more puzzling that Microsoft chose not to include this in all the downloads. &lt;/p&gt;

&lt;p&gt;However that does not end the issues.  After a few days of development Visual Studio 11 crashed on me and has never come back up. It now crashes every time I try to load it. However there is another version that gets installed which is labeled the &lt;b&gt;Experimental Instance&lt;/b&gt; which continues to work correctly. So I&#39;m using that. &lt;/p&gt;

&lt;p&gt;I&#39;ve also had an issue with my DVD-Drive, an LG DVD-RAM drive. Its picked up flawlessly by both my BIOS, and Windows XP in the same machine, but Windows 8 just refuses to see it.  I guess I could chalk it up to a glitch in this pre-release version and expect it to be fixed b y the time the actual full release hits shelves. Though its still a bit of a mystery as to why it won&#39;t see it. More so considering that it was that drive that was used to install Windows 8 from the burnt DVD. &lt;/p&gt;

&lt;p&gt;
In any case moving on to my Metro style application, I have to say development is very natural if you are familiar with the languages involved.  I chose the HTML 5 and Javascript approach, but there is of course the C++, C# or even Visual Basic alternatives if required.  All 4 boil down to a full screen website style interface with the engine behind the app being any of the mentioned languages.  Its an interesting concept, that actually works surprisingly well for consumer applications such as image management, social site interactions, games, and other none productive apps. However I don&#39;t see office based apps as Word, Excel, financial applications, etc.. making the leap to Metro Style.  
&lt;/p&gt;

&lt;p&gt;I do expect however that we&#39;ll see Metro based alternatives, with probably less functionality, but nicer interfaces. A Metro style text editor is inevitable as will be a basic Image editor.  Standard every day tools like a basic email client and instant messenger are also, no doubt, in the horizon. &lt;/p&gt;

&lt;/p&gt;For users with more involved requirements the now called Desktop mode is basically an update to the Desktop  of any Windows version prior to this, and in which users will be able to run non metro style apps as they would in older Windows versions. This is where most corporate environments, and more technically oriented users will spend most of their Windows using time. &lt;/p&gt;

&lt;p&gt;In the end Metro is clearly aimed at final, home or casual users; by offering a nice interface to their most often used apps, without needing to get into the actual system OS. It turns a PC into a tablet which is what most casual users would want for their regular tasks.&lt;/p&gt;

&lt;p&gt;As far as my metro App goes,  I developed a pretty basic unit converter.  From Metric to English units, and so forth. Its not done yet, but here&#39;s a screen shot to tide you over until the next post.&lt;/p&gt;

&lt;div class=&quot;titleimg&quot;&gt;&lt;a href=&quot;http://s47.photobucket.com/albums/f196/overcracker/?action=view&amp;amp;current=convertermetro.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://i47.photobucket.com/albums/f196/overcracker/convertermetro.jpg&quot; border=&quot;0&quot; alt=&quot;Photobucket&quot;&gt;&lt;/a&gt;&lt;/div&gt;











</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/5957317540994259163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2011/09/windows-8-metro-diary-day-3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/5957317540994259163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/5957317540994259163'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2011/09/windows-8-metro-diary-day-3.html' title='Windows 8 Metro Diary: Day 3'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-7147555002048106600</id><published>2011-09-27T09:41:00.000-07:00</published><updated>2011-09-27T09:41:24.122-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="developer"/><category scheme="http://www.blogger.com/atom/ns#" term="download"/><category scheme="http://www.blogger.com/atom/ns#" term="error"/><category scheme="http://www.blogger.com/atom/ns#" term="files"/><category scheme="http://www.blogger.com/atom/ns#" term="makepri"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="missing"/><category scheme="http://www.blogger.com/atom/ns#" term="Modern"/><category scheme="http://www.blogger.com/atom/ns#" term="preview"/><category scheme="http://www.blogger.com/atom/ns#" term="SDK"/><category scheme="http://www.blogger.com/atom/ns#" term="visual stuidio 11"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows 8"/><title type='text'>Windows 8 Metro Diary: Day Two</title><content type='html'>&lt;p&gt;The following few posts will chronicle my experience with the newly released Microsoft Windows 8 Developer&#39;s Preview, made available as a free download from Microsoft themselves. 
&lt;/p&gt;

&lt;h1&gt;Sunday September 25th 2011&lt;/h1&gt;
&lt;p&gt;
Sunday Morning rolls along and I&#39;m thinking great time to see what this puppy can do. I was all set to start delving into the world of Metro Apps when I realized the 32bit version of the Windows Preview I downloaded does not contain the adequate development packages. So off to Microsoft&#39;s site to download the Visual Studio 11 Preview package.    Well The download is a Smart Installer, though there is a 3 part download you can opt for as well. The complete setup is close to 2GB.

So again Another hour or so waiting for it to download.&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;
Once completed it begins to install, it took about another 30 to 40 minutes to finish configuring everything. It was finally done, I could start checking this out, and start getting up to speed in how the Metro Apps work.  So Move out to the Start Screen with all the Metro tiles and *whoah!!* 20 Tiles where added to the screen. I realized then and there that the screen simply takes anything and everything from our old trusty Start Menu location and plops it as 150 by 150 pixel tiles.
&lt;/p&gt;
&lt;p&gt;
Anyway, so I run Visual Studio, and all is o.k. It looks interesting. Lets try creating a new project, something simple, a Hello World tile as is customary to do. 

So I add a single div to the project, (this is a HTML 5 and Javascript Metro App project), configure a few things and try to run and execute to see what it looks like. Well a couple seconds go by, and bam, 2 errors crop up. makepri.exe cannot be found, and the Modern SDK is not there.

Well after a lot of digging it turns up, that Microsoft in all its unparalleled wisdom decided to  issue only one of the Developer Preview downloads with all the files required to develop Metro Style apps. 

&lt;/p&gt;&lt;p&gt; 
The 64bit 4.8GB full download.
&lt;/p&gt;
&lt;p&gt;Now, I know what you are thinking, how is that a problem, just download that.   Well I can&#39;t, and many other people can&#39;t either. Why You ask? Well I don&#39;t have a 64bt computer, so I can&#39;t  run that. Many people don&#39;t have dual layer DVD&#39;s to burn, or their drives can&#39;t actually burn them.  So we choose the alternative: Download the 32bit Windows OS preview, and then install the Visual Studio Preview separately. &lt;/p&gt;

&lt;p&gt;However this method leaves you without the essential Metro App development files which is the entire purpose of these previews. I don&#39;t understand the logic behind only providing the tools in one of the packages? What&#39;s to gain here?  

I really don&#39;t understand. Its like having rollercoaster with a sign that says come all and try it, but once you are inside you can only get the full ride if you have a $20,000 Rolex watch and have been lugging around a very large duffle bag.  Everybody else gets just the shortened route. 
&lt;/p&gt;

&lt;p&gt;So that&#39;s It for day 2, hopefully day 3 will bring some much needed solutions..&lt;/p&gt;

Any comments or questions, feel free to post below.




</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/7147555002048106600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2011/09/windows-8-metro-diary-day-two.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/7147555002048106600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/7147555002048106600'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2011/09/windows-8-metro-diary-day-two.html' title='Windows 8 Metro Diary: Day Two'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-3009151115221369797</id><published>2011-09-25T10:45:00.000-07:00</published><updated>2015-01-22T11:13:24.578-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="8"/><category scheme="http://www.blogger.com/atom/ns#" term="developer"/><category scheme="http://www.blogger.com/atom/ns#" term="diary"/><category scheme="http://www.blogger.com/atom/ns#" term="eight"/><category scheme="http://www.blogger.com/atom/ns#" term="issues"/><category scheme="http://www.blogger.com/atom/ns#" term="metro"/><category scheme="http://www.blogger.com/atom/ns#" term="preview"/><category scheme="http://www.blogger.com/atom/ns#" term="review"/><category scheme="http://www.blogger.com/atom/ns#" term="thoughts"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><title type='text'>Windows 8 Metro Diary: Day One</title><content type='html'>&lt;div class=&quot;wrapper&quot;&gt;
The following few posts will recap my experience with the newly released Microsoft Windows 8 Developer&#39;s Preview, made available as a free download from Microsoft themselves. 
&lt;br /&gt;
&lt;h1&gt;
Saturday September 24th 2011&lt;/h1&gt;
We start off with a hefty 2.8 GB download, that&#39;s 2.8 Gigabytes of data, as in your standard USB pen drive capacity these days. It took a little less than 2 hours to complete. 
&lt;br /&gt;
After that we need to build the customary Installation media from the download.  A simple matter as its an ISO image, a CD/DVD image file which contains all the information needed to burn an installation disc using any number of tools available. I used ISOburner a free safe tool for just such tasks. 
Once the DVD is done its on to installation. I decided to do this as an actual install rather than a virtual one just So I could get the full experience. So I went into my Hard drive drawer and picked an empty one I knew was operational. 80GB of space should suffice I thought, I don&#39;t think I&#39;ll be installing many things onto this, and I it will be basically for testing purposes. 
&lt;br /&gt;
So the Install goes similarly to Windows 7 installation, it lets you pick your destination drive, and ipartition it as you see fit. The installation automatically creates a 300MB  system reserved partition regardless of your partitioning choices. It deducts the space from your main OS partition.  Once complete it proceeds to copy and install files.  It took quite a while to install, about 30 minutes in my not so powerful test PC. 

&lt;br /&gt;
&lt;div class=&quot;titleimg&quot;&gt;

&lt;a href=&quot;http://s47.photobucket.com/albums/f196/overcracker/webtech/?action=view&amp;amp;current=win8preview.jpg&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Windows,8,metro,sidebar,interface,new&quot; border=&quot;0&quot; src=&quot;http://i47.photobucket.com/albums/f196/overcracker/webtech/win8preview.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;When all is said and done, you are treated to the new Metro Start Screen. Instead of your regular start menu, you get a full screen of what Microsoft now calls tiles. Squares or rectangles that serve as shortcuts for applications and other functions.  Several pre-installed apps and games grace the screen, most notably Socialite the Facebook app, and of course IE10 Metro version. (more on this later)&lt;br /&gt;
My first task of course was setting up the Internet connection, as Windows did not automatically detect/install my wireless card.  Of course you can&#39;t really tell what is going on as the interface is aimed at final users, so off the bat we need to dig into the new layout to find the familiar Device Manager. (I wonder If I can add a Device Manager Tile for easy access). Installation of the wireless card was as painless as it has been in previous versions of Windows. 
&lt;br /&gt;
With that done we get a look at the new Wireless network list; a green sidebar, as Microsoft calls it. It offers a very nice, large and crisp font for the network names and the standard bar display for the signal strength.  A nice face-lift to what we had been seeing since Vista. 
&lt;br /&gt;
&lt;div class=&quot;titleimg&quot;&gt;
&lt;a href=&quot;http://s47.photobucket.com/albums/f196/overcracker/webtech/?action=view&amp;amp;current=wifisidebar.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Windows,8,metro,sidebar,interface,new&quot; border=&quot;0&quot; src=&quot;http://i47.photobucket.com/albums/f196/overcracker/webtech/wifisidebar.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
The next test drive was of course IE10.  Now here&#39;s were things get interesting,  Microsoft has divided the applications into 2 categories: Desktop applications and Metro Style applications.   Desktop Applications are your run of the mill apps you&#39;ve been using in other versions of Windows, they open in standard windows, and can be maximized, dragged around, closed etc...  The Metro Style App is the new kind of app that takes advantage of the new Metro Engine and runs full screen, cannot be dragged or moved, or even closed in the regular sense of the word.  Its basically a full screen dynamic Web application that runs outside a browser and covers the screen.  It can be swiped out of the way, or hidden. When hidden or swiped out of the way the app suspends rather than outright closing.  

&lt;br /&gt;
For me this is a slight drawback, as It means you quickly have many many things running in the background you may not want or need, and with no real dedicated closing mechanism, your are left with only the TaskManager route of closing these applications. &lt;br /&gt;
Technically speaking Windows memory manager should close apps you haven&#39;t used when running low on memory, however I&#39;ve never been keen on letting Windows handle the memory usage by itself, I like to be able to close things when I&#39;m done. &lt;br /&gt;
Going back to IE10, it does come in 2 flavors Desktop, and Metro. In  Desktop mode is very similar to other versions of IE, (8 &amp;amp; 9) so nothing much to comment on there. While in Metro Mode its as explained a full screen app, with the address bar now positioned in a smokey dark gray  translucent hideaway bar at the bottom of the screen.  No other visible controls are present. When navigating the website the bar disappears for the full screen experience.  To bring it back you must right click the screen. This brings up the address/tool bar and the tab/page bar at the top.  The Address/tool bar offers your regular forward, back and refresh buttons, along with a search button and a Pin to start button. So you can add your favorite sites to the Metro Start Screen.  &lt;br /&gt;
The Tab/Page bar at the top shows thumbnails of your currently opened tabs, as well as the option to close them or open new ones. Clicking back in the website makes the bars go away and puts you back into browsing mode. &lt;br /&gt;
At the end of day  I can see the interface is very much designed for touch based devices; however the mouse and keyboard experience is pleasant enough to be quite usable and satisfying.  However I can see corporate environments turning it off, in favor the desktop mode. &lt;br /&gt;
Day 2 will see me install a few more applications, and wrangle with a few more pieces of hardware So stay tuned for Day 2 of the Windows 8 Metro Diary. . &lt;br /&gt;
Comment, subscribe,  ask questions...

&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/3009151115221369797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2011/09/windows-8-metro-diary-day-one.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/3009151115221369797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/3009151115221369797'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2011/09/windows-8-metro-diary-day-one.html' title='Windows 8 Metro Diary: Day One'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://i47.photobucket.com/albums/f196/overcracker/webtech/th_win8preview.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-1110261993610718992</id><published>2011-05-20T08:53:00.000-07:00</published><updated>2011-08-30T22:05:53.423-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ajax"/><category scheme="http://www.blogger.com/atom/ns#" term="database"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><category scheme="http://www.blogger.com/atom/ns#" term="POST"/><category scheme="http://www.blogger.com/atom/ns#" term="process"/><category scheme="http://www.blogger.com/atom/ns#" term="server side"/><category scheme="http://www.blogger.com/atom/ns#" term="website"/><title type='text'>Ajax 101</title><content type='html'>&lt;b&gt;A&lt;/b&gt;sycnronous &lt;b&gt;J&lt;/b&gt;avascript &lt;b&gt;A&lt;/b&gt;nd &lt;b&gt;X&lt;/b&gt;ML, the mysterious entity known as AJAX.&lt;br /&gt;
&lt;br /&gt;
What is it? What does it do?  In simple terms its a method of connecting a website to a server side script without needing to submit a form, or reload a page.&lt;br /&gt;
&lt;br /&gt;
For years the usual way of getting data from the server was to submit a form with values to be processed by the server which would in turn return the results of its process.  This usually slowed down websites considerably, and there was no real time interaction between the user and the website.&lt;br /&gt;
&lt;br /&gt;
Ajax solves this by opening a direct connection to the server, and requesting the data processing without needing to submit a form. &lt;br /&gt;
&lt;br /&gt;
Ajax is composed of 3 main sections:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;The Javascript that executes the Ajax call&lt;/li&gt;
&lt;li&gt;The Ajax that calls the server side script&lt;/li&gt;
&lt;li&gt;The Server side Script that takes the parameters and produces the data to be returned to the website.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The main component of AJAX is the XMLHttpRequest object.  This thing does it all. It opens the connection, waits for the results, and then makes them available to JS for any further parsing or usage. &lt;br /&gt;
&lt;br /&gt;
But before we can use that we need our Server Side process. This can be pretty much any script that returns data, and it can be done in pretty much any language the server can execute. PHP, ASP, Coldfusion etc... &lt;br /&gt;
&lt;br /&gt;
For our example we&#39;ll be using PHP. &lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;The Server Side Script&lt;/h2&gt;The Server Side Script has one important task to accomplish, and that is to produce the results we need. The script should be designed like any server side script, except we don&#39;t need full html tags as we are going to deliver this to our Javascript layer for usage in an already established page.&lt;br /&gt;
&lt;br /&gt;
So basically all we want is for our script to output our data. We could include a table structure or some other markup if we require, but only if we don&#39;t plan for your JS side to do anything to data, otherwise outputting in usable formats such as comma separated strings, or a JSON object is enough.&lt;br /&gt;
&lt;br /&gt;
For our example script we&#39;ll just have a process that takes a value from the POST array and echoes it out in a string.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;code&quot;&gt;&lt;h4&gt;PHP Script&lt;/h4&gt;&lt;br /&gt;
&lt;p&gt;&amp;lt;?PHP&lt;br /&gt;
&lt;br /&gt;
if(isset($_POST[&#39;id&#39;])){&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;The ID Passed is: $_POST[id]&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Javascript and Ajax&lt;/h2&gt;No we need a way of calling our server side script, and getting back the results.  to do this we will require the XMLHttpRequest object from the JS window object. &lt;br /&gt;
&lt;br /&gt;
We start by defining our request object:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;code&quot;&gt;&lt;h4&gt;Request Object&lt;/h4&gt;&lt;br /&gt;
&lt;p&gt;var requestObj=new XMLHttpRequest();&lt;/p&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
We can now use our new object to initiate the call to our server side script. However before we can do that we&#39;ll need to make a decision. do we want our call to be synchronous or asynchronous. A synchronous call means the Js stops and waits for the server to complete the processing before continuing on, this effectively makes the website hang and be unresponsive until the call is finished. Ultimately we would only use this if don;t have lots of processing to do and the response would be returned rather quickly. &lt;br /&gt;
&lt;br /&gt;
Otherwise we&#39;ll want to use the asynchronous method which as it implies lets the website and all JS functions continue to run while the server process is being executed.  This allows the user to keep doing things while the request is under way.&lt;br /&gt;
&lt;br /&gt;
We are going to go for the asynchronous method, so we need to&lt;br /&gt;
setup a function to handle the data once it returns. For this we use the onreadystatechange event of our ajax object. onreadystatechange triggers every time the the readystate property changes. The readystate property simply holds the status of our request. We want it to be 4 so the Request is complete. The other values are not relevant in the context of a webpage as you can&#39;t actually do anything about them. &lt;br /&gt;
&lt;br /&gt;
We also have to check the status property. The value we want is 200, which stands for &quot;O.K.&quot; that means the call to our server side script executed correctly and data was returned.  Status has many values that you can check; most are the standard HTTP status codes like the classic 500 Internal Server Error, 404 Not found error etc... &lt;br /&gt;
&lt;br /&gt;
We check for both those values, and if they are 4 and 200 we can proceed to use the responseText value to get whatever our script produced as output.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;code&quot;&gt;&lt;h4&gt;Request Object and Properties&lt;/h4&gt;&lt;br /&gt;
&lt;p&gt;requestObj.onreadystatechange=function()&lt;br /&gt;
{&lt;br /&gt;
if (requestObj.readyState==4 &amp;&amp; xmlhttp.status==200)&lt;br /&gt;
{&lt;br /&gt;
var results=requestObj.responseText;    &lt;br /&gt;
document.getElementByID(&#39;myDiv&#39;).innerHTML=results;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
We can then use our results to populate anything we need using regular JS calls. In the example above I simply placed everything into a div. &lt;br /&gt;
&lt;br /&gt;
The next part of our Ajax interaction is to call our actual script. We&#39;ll use the open() method to define our script address, the method we want to use, and the type of call (synch vs asynch) amongst other things. &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;code&quot;&gt;&lt;h4&gt;The Open method&lt;/h4&gt;&lt;br /&gt;
&lt;p&gt;xmlhttp.open(&quot;POST&quot;,&quot;script.php&quot;,true);&lt;/p&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
The Methods are the same ones used in a From, GET or POST. POST is the better alternative if you plan on sending a lot of data to be processed.&lt;br /&gt;
&lt;br /&gt;
The address of our script is the second value we need to set. the request object is limited to reading scripts form the same domain it originates so you can;t go out and read pages from other websites to mash up into your own site. &lt;br /&gt;
&lt;br /&gt;
We then need to set up our headers. Since we are basically recreating the function of a form, we set it up as such.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;code&quot;&gt;&lt;h4&gt;Headers&lt;/h4&gt;&lt;br /&gt;
&lt;p&gt;requestObj.setRequestHeader(&quot;Content-type&quot;,&quot;application/x-www-form-urlencoded&quot;);&lt;/p&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
And finally we need to send our parameters to our server side script.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;code&quot;&gt;&lt;h4&gt;Send Paramters&lt;/h4&gt;&lt;br /&gt;
&lt;p&gt;xmlhttp.send(&quot;id=&quot; + value + &quot;&lt;span style=&quot;color:red;&quot;&gt;&amp;&lt;/span&gt;action=list&quot;);&lt;/p&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
The parameters will appear in our POST array inside our server side script. In the case of PHP the $_POST variable.  &lt;br /&gt;
&lt;br /&gt;
You can set a string, or you can add values from variables or both like above by using concatenation. &quot;value&quot; is a variable that contains the id we wish to pass. We separate each pair with an ampersand &lt;span style=&quot;color:red;&quot;&gt;&amp;amp; &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
With that we are done, we can setup our ajax call to be executed when a button is pressed. &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;code&quot;&gt;&lt;h4&gt;Button Call&lt;/h4&gt;&lt;br /&gt;
&lt;p&gt;Enter ID: &amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;idbox&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; onclick=&amp;quot;runAjax();&amp;quot;&amp;gt;&lt;/p&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
With that done, inputing an ID and pressing the bun will run our Ajax function and in turn execute our PHP script without needing to reload the page.&lt;br /&gt;
&lt;br /&gt;
In our next installment we&#39;ll be looking at a slightly more complex example, by getting data from a database on the fly.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Working Example&lt;/h2&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;iframe src=&quot;http://web101.netau.net/ajax101.html&quot; border=&quot;0&quot; width=&quot;90%&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
Download the example: &lt;a href=&quot;http://web101.site90.com/blog/ajax101.zip&quot;&gt;&lt;img src=&quot;http://web101.site90.com/blog/zipicon.png&quot; style=&quot;border:none; width:64px; vertical-align:middle;&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Questions? Comments? Use the comment form.</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/1110261993610718992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2011/05/ajax-101.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/1110261993610718992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/1110261993610718992'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2011/05/ajax-101.html' title='Ajax 101'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-956380204818813669</id><published>2011-05-18T13:30:00.000-07:00</published><updated>2011-05-18T15:30:33.989-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="attribute"/><category scheme="http://www.blogger.com/atom/ns#" term="CSS"/><category scheme="http://www.blogger.com/atom/ns#" term="doctypes"/><category scheme="http://www.blogger.com/atom/ns#" term="does not allow"/><category scheme="http://www.blogger.com/atom/ns#" term="element"/><category scheme="http://www.blogger.com/atom/ns#" term="end"/><category scheme="http://www.blogger.com/atom/ns#" term="errors"/><category scheme="http://www.blogger.com/atom/ns#" term="here"/><category scheme="http://www.blogger.com/atom/ns#" term="omitted"/><category scheme="http://www.blogger.com/atom/ns#" term="tag"/><category scheme="http://www.blogger.com/atom/ns#" term="validation"/><title type='text'>Common Validation Errors</title><content type='html'>In a previous &lt;a href=&quot;http://behindtheweb.blogspot.com/2010/05/tables-and-validation.html&quot;&gt;post&lt;/a&gt; i talked about the importance of validation, but I never delved into what types of errors you would commonly encounter. Today we are going to take a look at 3 common errors you encounter when validating. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;There is no attribute &quot;xxxx&quot;&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;Html elements or tags have attributes one can assign to them. things like a name, and ID, a class but sometimes we may try to use an attribute that an element doesn&#39;t have. Or an attribute it may have in one particular doctype but not in another.  &lt;br /&gt;&lt;br /&gt;For instance lets say we are building a form to get user input:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;h4&gt;From Code&lt;/h4&gt;&lt;p&gt;&amp;lt;form name=&amp;quot;MyForm&amp;quot; action=&amp;quot;mypage.php&amp;quot; method=&amp;quot;POST&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;p&amp;gt;User:&amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;p&amp;gt;Password:&amp;lt;input type=&amp;quot;password&amp;quot; name=&amp;quot;user&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt;If I were using an XHTML strict doctype in the website that contained this, the error would be something like:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;quote&quot;&gt;&lt;br /&gt;Line 7, Column 12: there is no attribute &quot;name&quot;&lt;br /&gt;&amp;lt;form name=&amp;quot;MyForm&amp;quot; action=&amp;quot;mypage.php&amp;quot; method=&amp;quot;POST&amp;quot;&amp;gt;&lt;br /&gt;You have used the attribute named above in your document, but the document type you are using does not support that attribute for this element.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;In &amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Strict//EN&amp;quot;&lt;br /&gt;&lt;br /&gt;   &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&amp;quot;&amp;gt; only input elements can have a name. Divs,paragraphs, links etc.. cannot have a name attribute. &lt;br /&gt;&lt;br /&gt;Most would think a name is vital to be able to access form elements if you are using JS to validate the form. For XHTML Strict, you only need an ID for the element you wish to access through Javascript. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;End tag for &quot;xxxx&quot; omitted, but OMITTAG NO was specified&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;This one of the more common mistakes simply because its the easiest to over look.&lt;br /&gt;&lt;br /&gt;It happens on certain tags such as image, break and any other tag that doesn&#39;t require a closing tag to accompany it unlike other tags like divs, links, spans etc...&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;h4&gt;Closing Tags&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;a&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;----&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;h4&gt;Self Closing&lt;/h4&gt;&lt;p&gt;&lt;br /&gt;&amp;lt;img src=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;br&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;input type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Self closing tags  like above require an extra special character to properly close them. the forward slash.  In XHTML strict these tags need to be terminated as .../&gt; to be properly closed, otherwise they generate errors. Since Transitional doctypes don&#39;t require this, its easy to forget to add them at the end. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;document type does not allow element &quot;xxx&quot; here; missing one of a, b, c,d,e,...&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;This error is more of a nitpicky error, Basically what is says is that whatever xxx is, it cannot be placed wherever it is you have it because it requires something else to contain it.  The most common example of this are label tags.  Most would assume you can simply add them in front of an input to add a text label to it.  XHTML Strict doctypes will barf at it as they require the label to be inside a block level element such as a div or a paragraph.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;h4&gt;Wrong&lt;/h4&gt;&lt;p&gt;&lt;br /&gt;&amp;lt;form ...&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;label&amp;gt;My Label&amp;lt;/label&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;h4&gt;Right&lt;/h4&gt;&lt;br /&gt;&amp;lt;form ...&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:red;&quot;&gt;&amp;lt;p&amp;gt;&lt;/span&gt;&amp;lt;label&amp;gt;My Label&amp;lt;/label&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot;&amp;gt;&amp;lt;&lt;span style=&quot;color:red;&quot;&gt;/p&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There are many more errors, some harder to understand than others, however its important to read the provided reasons for the error, as more often than not they contain vital clues to what may be wrong with that particular line.</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/956380204818813669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2011/05/common-validation-errors.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/956380204818813669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/956380204818813669'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2011/05/common-validation-errors.html' title='Common Validation Errors'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-1437791046902377701</id><published>2011-04-26T13:08:00.000-07:00</published><updated>2011-04-27T11:10:21.539-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="clear"/><category scheme="http://www.blogger.com/atom/ns#" term="columns"/><category scheme="http://www.blogger.com/atom/ns#" term="CSS"/><category scheme="http://www.blogger.com/atom/ns#" term="float"/><category scheme="http://www.blogger.com/atom/ns#" term="floating"/><category scheme="http://www.blogger.com/atom/ns#" term="images"/><category scheme="http://www.blogger.com/atom/ns#" term="layout"/><category scheme="http://www.blogger.com/atom/ns#" term="stylesheets"/><title type='text'>Floating 102</title><content type='html'>Sop what interesting things can we do with float?&lt;br /&gt;&lt;br /&gt;Lets look at a few examples:&lt;br /&gt;&lt;h2&gt;Images in Text&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;When you have a section with text, and you want to have an image in it, you may need to have the text wrap around it so as to not break up the text. By default images will simply break up the text if placed inside, or just sit on top of it if placed before it.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;border:0px solid gray; text-align:center;&quot;&gt;&lt;img src=&quot;http://web101.site90.com/blog/image.jpg&quot; alt=&quot;cover&quot; style=&quot;padding:6px; border:1px solid gray; width:250px; &quot;&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;If we want to have the text wrap around the image we need to float it to one side. &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;h4&gt;CSS&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;img{&lt;br /&gt;float:left;&lt;br /&gt;}&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Here it is in action:&lt;br /&gt;&lt;br /&gt;&lt;iframe src=&quot;http://web101.site90.com/blog/imagefloat.html&quot; width=&quot;450px&quot; height=&quot;650px&quot; border=&quot;none&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;What happens when we have several images to float.&lt;br /&gt;&lt;br /&gt;If the are side by side in the html, they&#39;ll continue to float left like below:&lt;br /&gt;&lt;br /&gt;&lt;iframe src=&quot;http://web101.site90.com/blog/multiimagefloat.html&quot; width=&quot;450px&quot; height=&quot;650px&quot; border=&quot;none&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;If would like the to simply drop below eahc other and have the text wrap around them where they end, we simply need to add a clear:float property to out image CSS.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;h4&gt;CSS&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;img{&lt;br /&gt;float:left;&lt;br /&gt;&lt;span style=&quot;color:red;&quot;&gt;clear:both;&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;It will look like this:&lt;br /&gt;&lt;br /&gt;&lt;iframe src=&quot;http://web101.site90.com/blog/multiimagefloatdown.html&quot; width=&quot;450px&quot; height=&quot;650px&quot; border=&quot;none&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So floats give us nice layout options with images, but what else can it do for us?&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Columns&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;Usually floating is used to create columns in a layout, as you can place divs side by side and fill them with content.  Lets say we want a 3 column layout like a newspaper.&lt;br /&gt;Unlike tables, there is no way yet to make floated divs be as high as each other, they&#39;ll be as high as the need to be to accommodate their content.  As we&#39;ve seen in previous entries if there&#39;s anything floated inside them extra steps need to be taken to make the div correctly wrap around its contents, however in all cases once its wrapped around, it will only be as high as the content requires.&lt;br /&gt;&lt;br /&gt;To create the column layout we need to fake the height of the divs, to the observer it will look like they extend down, but in reality the stop where their content ends. &lt;br /&gt;&lt;br /&gt;For our 3 column layout here&#39;s our basic HTML.&lt;br /&gt;&lt;br /&gt;&lt;div class=&#39;code&#39;&gt;&lt;h4&gt;HTML&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;div id=&amp;quot;wrapper&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;div id=&amp;quot;column1&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;h4&amp;gt;Column1&amp;lt;/h4&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;p&amp;gt;Content&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;div id=&amp;quot;column2&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;h4&amp;gt;Column2&amp;lt;/h4&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;p&amp;gt;Content&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;div id=&amp;quot;column3&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;h4&amp;gt;Column3&amp;lt;/h4&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;p&amp;gt;Content&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Here&#39;s our CSS:&lt;br /&gt;&lt;br /&gt;&lt;div class=&#39;code&#39;&gt;&lt;h4&gt;CSS&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;#wrapper{&lt;br /&gt;width:402px;&lt;br /&gt;background-color:#686868;&lt;br /&gt;color:#DEDEDE;&lt;br /&gt;overflow:hidden;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;p{&lt;br /&gt;margin:4px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;h4{&lt;br /&gt;text-align:center;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#column1{&lt;br /&gt;float:left;&lt;br /&gt;width:120px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#column2{&lt;br /&gt;float:left;&lt;br /&gt;background-color:#dedefe;&lt;br /&gt;width:160px;&lt;br /&gt;color:#686868;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#column3{&lt;br /&gt;float:left;&lt;br /&gt;width:120px;&lt;br /&gt;}&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt;See it in action:&lt;br /&gt;&lt;br /&gt;&lt;iframe src=&quot;http://web101.site90.com/blog/columns.html&quot; width=&quot;450px&quot; height=&quot;650px&quot; border=&quot;none&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;As you can see the columns appear to match heights, however, if we add a border to the columns on the outside (column 1 and 3) you&#39;ll notice they end where their content ends, the rest is an optical illusion caused by the wrapper&#39;s background which is gray.  &lt;br /&gt;&lt;br /&gt;This works for 2 or 3 columns in much the same way, if you need to have more columns then it gets much more complex.  We&#39;ll talk about multi column layouts in a future article. For now know you can do this for up to 3 columns.</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/1437791046902377701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2011/04/floating-102.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/1437791046902377701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/1437791046902377701'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2011/04/floating-102.html' title='Floating 102'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-8078289771938170479</id><published>2011-04-17T10:09:00.000-07:00</published><updated>2011-04-27T11:11:52.910-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="clear"/><category scheme="http://www.blogger.com/atom/ns#" term="columns"/><category scheme="http://www.blogger.com/atom/ns#" term="CSS"/><category scheme="http://www.blogger.com/atom/ns#" term="float"/><category scheme="http://www.blogger.com/atom/ns#" term="left"/><category scheme="http://www.blogger.com/atom/ns#" term="width"/><title type='text'>Floating</title><content type='html'>The ever present, and most often misused property in CSS after of course position. &lt;br /&gt;&lt;br /&gt;Floating takes an element, and pushes it to one side of its container or parent element. It takes the element out of the document flow, so it no longer affects its parent&#39;s dimensions directly.&lt;br /&gt;&lt;br /&gt;What this means is the floated element while still under its parent&#39;s general jurisdiction, no longer has any effect on it. If the parent has no height defined then the it will simply collapse, and the floated element will just float above it. &lt;br /&gt;&lt;br /&gt;example:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;h4&gt;HTML&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&amp;lt;div style=&amp;quot;width:300px; border: 2px solid red; background-color:#dedede;&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;div style=&amp;quot;float:left; background-color:#464688; width:160px; height:200px; color:#dedede;&amp;quot;&amp;gt;This Div is floated left&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe src=&quot;http://temphotel.webege.com/floating2.html&quot; width=&quot;400px&quot; height=&quot;250px&quot; border=&quot;none&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;See that red line? That&#39;s the parent div that collapsed when I floated the inner div.&lt;br /&gt;As said before, floated elements do not contribute to their parent&#39;s dimensions.  &lt;br /&gt;&lt;br /&gt;To resolve this you can do 1 of two things that will be cross browser compliant. &lt;br /&gt;&lt;br /&gt;Add an overflow property to the style of the parent div, or add an extra clearing element to clear the float from the inner div. &lt;br /&gt;&lt;br /&gt;&lt;h5&gt;Adding overflow:&lt;/h5&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;h4&gt;HTML&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&amp;lt;div style=&amp;quot; &lt;span style=&quot;color:red; font-weight:bold;&quot;&gt;overflow:hidden;&lt;/span&gt; width:300px; border: 2px solid red; background-color:#dedede;&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;div style=&amp;quot;float:left; background-color:#464688; width:160px; height:200px; color:#dedede;&amp;quot;&amp;gt;This Div is floated left&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe src=&quot;http://temphotel.webege.com/floating3.html&quot; width=&quot;400px&quot; height=&quot;250px&quot; border=&quot;none&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Any type of overflow will accomplish the same result, however :hidden is better if you don&#39;t want to have disabled scrollbars, or just a tiny amount of useless scrolling in some browsers.&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;Adding a Clearing Element&lt;/h5&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;h4&gt;HTML&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&amp;lt;div style=&amp;quot;width:300px; border: 2px solid red; background-color:#dedede;&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div style=&amp;quot;float:left; background-color:#464688; width:160px; height:200px; color:#dedede;&amp;quot;&amp;gt;This Div is floated left&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:red; font-weight:bold;&quot;&gt;&amp;lt;p style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe src=&quot;http://temphotel.webege.com/floating8.html&quot; width=&quot;400px&quot; height=&quot;250px&quot; border=&quot;none&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Adding an empty element in this case a paragraph element with a style consisting only of clear:both will clear, or reset the floating, and make the container wrap around the floated elements. It looks the same as the overflow method, but has a small caveat. It may cause an extra space to be present, if you have margin or padding applied to the element that is clearing the float.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is all fine and dandy when there&#39;s only one floated element, what happens when you have 2 or 3 or more floated elements. Here&#39;s where CSS gets interesting. &lt;br /&gt;&lt;br /&gt;Think of a cardboard box for a moment, and imagine you want to place place X amount of objects side by side on one side of the box. You can keep placing them as long as you have room inside the box. Once you exceed the boxes width, you have to move the object &quot;under&quot; the other objects and start a new row. &lt;br /&gt;&lt;br /&gt;The same happens in a div with floated elements. When the total width of the objects inside exceeds the the parent&#39;s width they drop down. The direction they drop is based on the direction they are floated. If they are floated left, they drop down and move all the way to the left, if they are floated right they&#39;ll move to the right.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;h4&gt;HTML&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;div style=&amp;quot;width:300px; border: 2px solid red; background-color:#dedede;&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div style=&amp;quot;float:left; background-color:red; width:70px; height:200px; color:#dedede;&amp;quot;&amp;gt;This Div is floated left&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div style=&amp;quot;float:left; background-color:green; width:90px; height:200px; color:#dedede;&amp;quot;&amp;gt;This Div is floated left&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div style=&amp;quot;float:left; background-color:blue; width:60px; height:200px; color:#dedede;&amp;quot;&amp;gt;This Div is floated left&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div style=&amp;quot;float:left; background-color:yellow; width:120px; height:200px; color:#dedede;&amp;quot;&amp;gt;This Div is floated left&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;p style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;hr&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div style=&amp;quot;width:300px; border: 2px solid red; background-color:#dedede;&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div style=&amp;quot;float:right; background-color:red; width:70px; height:200px; color:#dedede;&amp;quot;&amp;gt;This Div is floated left&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div style=&amp;quot;float:right; background-color:green; width:90px; height:200px; color:#dedede;&amp;quot;&amp;gt;This Div is floated left&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div style=&amp;quot;float:right; background-color:blue; width:60px; height:200px; color:#dedede;&amp;quot;&amp;gt;This Div is floated left&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div style=&amp;quot;float:right; background-color:yellow; width:120px; height:200px; color:#dedede;&amp;quot;&amp;gt;This Div is floated left&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;p style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe src=&quot;http://temphotel.webege.com/floating5.html&quot; width=&quot;400px&quot; height=&quot;900px&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;The width of the parent doesn&#39;t need to be explicitly set, it can be inherited from the parent&#39;s parent. Or even as far as the browser window dimensions.&lt;br /&gt;&lt;br /&gt;What happens when the dimensions are based on the browser window, is the floated elements will drop down or move back up as the window is resized.&lt;br /&gt;&lt;br /&gt;An important thing to keep in mind when working with floats is that an element&#39;s dimensions aren&#39;t only its width and height. Border, padding and margins also contribute to its dimensions. &lt;br /&gt;&lt;br /&gt;If you have a parent element with a width of 600px but it has 3 floated elements inside with a width of 200px each then they should float on the same line right?&lt;br /&gt;&lt;br /&gt;As long as they have 0 border, margin and padding they will sit side by side. When you start adding padding and border things change a bit. &lt;br /&gt;&lt;br /&gt;If you have a container that is 600px wide, and 3 floated elements inside each 200px but each has 2px padding and maybe 2px of border, plus say 4px of margin, then one of them will drop down.&lt;br /&gt;&lt;br /&gt;100px width + 2px (padding left), + 2px (padding right) + 2px (border left) + 2px (border right) + 4px (margin left) + 4px (margin right) = 116px total * 3 elements is then 648px in a 600px wide element.  &lt;br /&gt;&lt;br /&gt;Its all in the math.&lt;br /&gt;&lt;br /&gt;Next time will look at how to achieve some more interesting layouts using floated elements.</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/8078289771938170479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2011/04/floating.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/8078289771938170479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/8078289771938170479'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2011/04/floating.html' title='Floating'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-5473386982145312495</id><published>2010-08-30T10:56:00.000-07:00</published><updated>2010-11-30T12:08:46.852-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="basics"/><category scheme="http://www.blogger.com/atom/ns#" term="intro"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial"/><title type='text'>Javascript 101: The Basics</title><content type='html'>Today we&#39;ll start our Journey down the wondrous world of client side scripting.&lt;br /&gt;Javascript is an object oriented interpreted language used to give websites a bit more dynamism in the form of user interactions and interface usefulness that gives the website more ease of use. &lt;br /&gt;&lt;br /&gt;However Javascript can and frequently is overused, or misused. We&#39;ll look at how a little further into this post. &lt;br /&gt;&lt;br /&gt;First of all what does Javascript being object oriented and interpreted mean to the web site developer. &lt;br /&gt;&lt;br /&gt;Its interpreted, which means you don&#39;t need to compile it, as most browsers automatically understand it and interpret it on the fly.&lt;br /&gt;&lt;br /&gt;Its also Object Oriented which means its designed to work off of little black boxes called objects that have properties and methods. That is they have traits to them and can do things. &lt;br /&gt;&lt;br /&gt;Everything in JS is an object From the browser window, to the HTML button tag they are all objects which have properties that define them like height, width and a name, and methods; things they can do, like the click() method of a button which clicks the button and executes any associated actions.&lt;br /&gt;&lt;br /&gt;For the Browser to understand that Javascript is present in a page it can be in 1 of 3 locations.&lt;br /&gt;&lt;br /&gt;Between script tags &lt;script type=&quot;text/javascript&quot;&gt;...&lt;/script&gt;&lt;br /&gt;In an event of an element in the page such as onClick.&lt;br /&gt;Or preceded by the javascript protocol in a link reference or address section &lt; a href=&quot;javascript:someFunction();&quot;&gt; &lt;br /&gt;&lt;br /&gt;When writing Js code, you will be using objects to access and manipulate things on your page, the principal object you will be dealing with the most is the document object.&lt;br /&gt;&lt;br /&gt;This object contains most of the other elements and functions you may want or need to access. From page elements to action events.&lt;br /&gt;&lt;br /&gt;Its most useful functions are the getElementBy functions. These functions allow you to find an element in a web page and be able top manipulate its properties and methods.   &lt;br /&gt;&lt;br /&gt;These are getElementById, getElementsbyName , and getElementsByTagName&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;getElementById allows you to find any element by its ID. It returns a single element you can use, and if erroneously there is more than one element with the same ID it will only return the first element it finds. &lt;br /&gt;&lt;br /&gt;getElementsByName returns an array of all elements that have a matching name.&lt;br /&gt;&lt;br /&gt;getElementsByTagName returns an array of all the element of a specific type. Say all Divs all inputs, all images etc..&lt;br /&gt;&lt;br /&gt;For instance:&lt;br /&gt;&lt;br /&gt;var myElement=document.getElementById(&#39;theID&#39;);&lt;br /&gt;This returns a reference or pointer if you will to the object or element with an id of &#39;theID&#39;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To exemplify lets say you have a textbox in your page you want to manipulate when a button is pressed:&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;br /&gt;&amp;lt;input type=text id=&amp;quot;myTextBox&amp;quot; value=&amp;quot;Sample&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;input type=button name=&amp;quot;manipulate&amp;quot; value=&amp;quot;Manipulate Text Box&amp;quot;&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;First we need to determine when the button is pressed for that we use one of the buttons events. Events are actions that occur to the object. An action such as when the button itself is clicked would trigger the onClick event of the object. So we want to have something happen at that time. &lt;br /&gt;&lt;br /&gt;Lets say we want to alter the contents of the text box when the button is clicked. so we use the onClick event of the button to have it execute our JS function to change the value of the text box:&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;br /&gt;&amp;lt;input type=button name=&amp;quot;manipulate&amp;quot; id=&amp;quot;MyTxtBox&amp;quot; value=&amp;quot;Manipulate Text Box&amp;quot;&lt;br /&gt;&lt;span style=&quot;color:#FF0000;&quot;&gt;onClick=&amp;quot;changeTxtBox();&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;So know we&#39;ve set our button to execute a function when its pressed, but what would our function look like and where should it go:&lt;br /&gt;&lt;br /&gt;Usually our Javascript code should reside in the script section of our page, which goes in between the &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt; tags. &lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;function changeTxtBox(){&lt;br /&gt;...&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Notice how the name of your function matches exactly what we placed in the onClick event of our button.  Javascript is case sensitive which means uppercase letters are treated differently to lower case letters. so &lt;span style=&quot;color:#FF0000; weight:bold;&quot;&gt;F&lt;/span&gt;unction&lt;span style=&quot;color:#FF0000; weight:bold;&quot;&gt;N&lt;/span&gt;ame would be different to &lt;span style=&quot;color:#FF0000; weight:bold;&quot;&gt;f&lt;/span&gt;unction&lt;span style=&quot;color:#FF0000; weight:bold;&quot;&gt;n&lt;/span&gt;ame.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So now that we have our function we need to access our textbox and modify its contents. We&#39;ll want to access our element using the getElementById method of the document object and passing the ID we gave to our text box  &quot;MyTxtBox&quot;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;br /&gt;var OurTextBox=document.getElementById(&#39;MyTxtBox&#39;);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;So we now have a reference to our text box in OurTextBox variable.  From here we can manipulate the text box as require. Since we want to change the contents of th textbox which currently says &quot;Example&quot; we&#39;ll use its value property:&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;br /&gt;OurTextBox.value=&quot;This is the replaced value&quot;;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So at the end our function look like:&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code&quot;&gt;&lt;br /&gt;function changeTxtBox(){&lt;br /&gt;var OurTextBox=document.getElementById(&#39;MyTxtBox&#39;);&lt;br /&gt;OurTextBox.value=&quot;This is the replaced value&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And that&#39;s it. Our Button will now alter the contents every time it is clicked.&lt;br /&gt;&lt;br /&gt;Try it out here, write something into the textbox and press the button. &lt;br /&gt;&lt;iframe src=&quot;http://web101.site90.com/js101a.html&quot; style=&quot;border:none;&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;By the same toke we can access many other properties of the object such as width, height, name etc...&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;h1&gt;Javascript 102: Reinventing the Wheel&lt;/h1&gt;&lt;br /&gt;&lt;br /&gt;There are many things that can be done with JS, but as I&#39;ve said before just because you can do something doesn&#39;t mean you should.&lt;br /&gt;&lt;br /&gt;JS is supposed help you provide a more pleasant experience to the user, but not at the cost of bugs, and strange issues because your code is so complex you have a hard time maintaining it.  &lt;br /&gt;&lt;br /&gt;If there&#39;s already an HTML element for what you want to do its always a good idea to use it rather that to try to reinvent the wheel.&lt;br /&gt;&lt;br /&gt;The most common &quot;Wheel Reinvention&quot; I&#39;ve encountered is of course the lowly link.&lt;br /&gt;Using a button, or some other html element to simulate a link by using JS.&lt;br /&gt;&lt;br /&gt;A few examples follow. A Div, a button, an img, and last one is an actual link.&lt;br /&gt;Notice how all of them look pretty much the same, even the picture-less image.  There is no point in using JS to make those things act like a link when there&#39;s already a link element.&lt;br /&gt;&lt;br /&gt;&lt;iframe src=&quot;http://web101.site90.com/js101b.html&quot; style=&quot;border:none;&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;This is a simple example which only required a single line of JS, but you may encounter other times when you want to do something when there&#39;s already something there that does it. &lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1&gt; Javascript 103: Error Checking&lt;/h1&gt;&lt;br /&gt;&lt;br /&gt;When coding in Javascript its important to check for errors, as you&#39;ll find that for the most part a website will lad without complaining about Javascript issues, but your actions may not function properly.&lt;br /&gt;&lt;br /&gt;But how does one check for error when none are shown? Simple you request them.  Most Browsers offer some type of debugger to let you know that something went wrong with your client side code. &lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Internet Explorer shows its very conspicuous Gold shield on the bottom left corner of its window. Double clicking there will bring up the debugger window when there are errors.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Firefox has its Error Console which can be accessed from the Tools menu&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Safari has an Error Console under its Develop menu which needs to be activated from its Advanced Tab in the Preferences Dialog. &lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;From there you can see any and all errors you may have listed, and attempt to correct them.</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/5473386982145312495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2010/08/javascript-friend-or-foe.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/5473386982145312495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/5473386982145312495'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2010/08/javascript-friend-or-foe.html' title='Javascript 101: The Basics'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-4450685217373800844</id><published>2010-08-16T12:01:00.000-07:00</published><updated>2010-08-16T18:04:29.366-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bits"/><category scheme="http://www.blogger.com/atom/ns#" term="bytes"/><category scheme="http://www.blogger.com/atom/ns#" term="download"/><category scheme="http://www.blogger.com/atom/ns#" term="DSL"/><category scheme="http://www.blogger.com/atom/ns#" term="explained"/><category scheme="http://www.blogger.com/atom/ns#" term="kilobytes"/><category scheme="http://www.blogger.com/atom/ns#" term="megabits"/><category scheme="http://www.blogger.com/atom/ns#" term="Speeds"/><title type='text'>DSL Speed and Downloads</title><content type='html'>This is slightly tangential to the Web development side of things but its interesting to note none the less since it affects how fast the website will have downloaded to the client machine, and be ready for our users to ... well.. use.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I was going to download a Mandriva Linux ISO image to install, and I noticed by download speed was only around 30KBps (Kilobytes per second) which considering my Internet connection is clocked at 4Mb (4 Megabits) by my ISP was rather strange. I figured out I was downloading from a far away mirror server, once I changed to a closer one, the download speed multiplied to around 350KBps. So I went from a download that was going to take 16 hours, to one that took only 30 minutes to complete. &lt;br /&gt;&lt;br /&gt;But how can you tell your speed is not right, well that&#39;s what we will be talking about today. &lt;br /&gt;&lt;br /&gt;When the internet first became publicly accessible, we had modems with blazing speeds of 9600 Kb/s, then 14400 Kb/s until they reached the modem cap of 56Kbps. Websites were pretty much text based up until the latter days of 36K modems when we started to get more and heavier graphics, flash animations made their debut, and videos and audios starting to trickle into the web consciousness.&lt;br /&gt;&lt;br /&gt;But alas, the modems were sadly outclassed because they just weren&#39;t fast enough to keep up with the demands of the content. At this point Web developers had to keep a careful eye on how big the site would end up being, how many images were going to have to be downloaded, and how big these files were because the speed of the modems was limited, and you wouldn&#39;t want to have your users waiting for the page to load.&lt;br /&gt;&lt;br /&gt;Today speeds have multiplied at least 10 times what they were then, but they still cause the same amount of confusion.&lt;br /&gt;&lt;br /&gt;ISP&#39;s will tell you you have xMb (Megabits) of blazing speed but how does that actually translate into how fast your downloads will be, or how quickly your Youtube videos will start playing. In practice downloads are measured in bytes, while ISP&#39;s will use bits to promote their blazing bandwidths.&lt;br /&gt;&lt;br /&gt;Lets take a regular 56k modem. That&#39;s 56000 bits per second of data transfer. &lt;br /&gt;Since 1 byte equals 8 bits that modem was transferring at a &quot;blazing&quot; speed of 7000 bytes per second or about 7 kilobytes per second.  For a reference, a regular text file is about 1 or 2KB. Low res images range in 30 to 50 KB range while mid range images have file sizes in the hundreds of kilobytes, and hi res images move into the thousands of kilobytes or what we know as Megabytes.  So a website, with pictures, audio and text quickly starts to add up the download time. A single 200KB image which by today&#39;s standards is pretty small, would take about 30 seconds to download through our 56K modem. So for half a minute you&#39;d sit there waiting for the picture to come up. Granted back then 200KB files were considered somewhat large so most WB developers had smaller images sacrificing quality, but imagine a website with more pictures, and code etc... you&#39;d be waiting for a while before you had a fully downloaded website.&lt;br /&gt;&lt;br /&gt;Fast forward a few yeas and we get MegaBit speed plans. These DSL plans basically tell you your plan will have a download speed of up to the specified number. That is X will be the maximum speed yo can expect from the connection. However, due to the way DSL works, the speed can&#39;t be guaranteed so you&#39;ll have a variance of speed. Still there should be an operational margin where you can feel you are getting what you are paying for. &lt;br /&gt;&lt;br /&gt;Say your DSL is offering you a 4Mb Plan at $19.99. That&#39;s 4,000,000 (Four million) &lt;br /&gt;bits per second maximum data transfer or 488 KiloBytes per second.  You should be expecting a bit less than that, somewhere between 250 to 400 KBps; depending on where you are downloading from, is acceptable.  Anything less and you can argue you are in the next lowest price package at 2Mb. It may vary from time to time, but as long as it stays more consistently in that range your o.k.&lt;br /&gt;&lt;br /&gt;Online DSL speed tests calculate this by measuring how long it takes for you to download a specifically sized file. &lt;br /&gt;&lt;br /&gt;If you want to try out your speed, here are a few sites that offer speed tests. &lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;border:0px solid #DDDDDD;&quot;&gt;&lt;a href=&quot;http://www.dslreports.com/stest&quot;&gt;&lt;img src=&quot;http://web101.site90.com/linkglobe.png&quot; alt=&quot;webico&quot; style=&quot;width:64px; vertical-align:middle;&quot;&gt;DslReports&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;border:0px solid #DDDDDD;&quot;&gt;&lt;a href=&quot;http://www.speedtest.net/&quot;&gt;&lt;img src=&quot;http://web101.site90.com/linkglobe.png&quot; alt=&quot;webico&quot; style=&quot;width:64px; vertical-align:middle;&quot;&gt;SpeedTest&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;border:0px solid #DDDDDD;&quot;&gt;&lt;a href=&quot;http://speakeasy.net/speedtest/&quot;&gt;&lt;img src=&quot;http://web101.site90.com/linkglobe.png&quot; alt=&quot;webico&quot; style=&quot;width:64px; vertical-align:middle;&quot;&gt;Speakeasy&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/4450685217373800844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2010/08/dsl-speed-and-downloads.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/4450685217373800844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/4450685217373800844'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2010/08/dsl-speed-and-downloads.html' title='DSL Speed and Downloads'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-8660066578881444767</id><published>2010-06-14T10:52:00.000-07:00</published><updated>2010-10-23T12:23:35.040-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CSS"/><category scheme="http://www.blogger.com/atom/ns#" term="div"/><category scheme="http://www.blogger.com/atom/ns#" term="drop down"/><category scheme="http://www.blogger.com/atom/ns#" term="expand"/><category scheme="http://www.blogger.com/atom/ns#" term="hide"/><category scheme="http://www.blogger.com/atom/ns#" term="hover"/><category scheme="http://www.blogger.com/atom/ns#" term="menu"/><category scheme="http://www.blogger.com/atom/ns#" term="navbar"/><category scheme="http://www.blogger.com/atom/ns#" term="onmouseover"/><category scheme="http://www.blogger.com/atom/ns#" term="panel"/><category scheme="http://www.blogger.com/atom/ns#" term="Pure"/><category scheme="http://www.blogger.com/atom/ns#" term="thumbnail"/><category scheme="http://www.blogger.com/atom/ns#" term="web development"/><title type='text'>The :hover Pseudo class</title><content type='html'>Lets get into something a bit more interesting now.  You build your website, and you find you need some way to say hide parts of your navigation, you need to hide info until requested, heck you may even just want to keep say a small picture of an item hidden until your mouseover a little camera icon.&lt;br /&gt;&lt;br /&gt;This can be accomplished with CSS alone. &lt;br /&gt;&lt;br /&gt;We will need to use the :hover CSS pseudo class. A pseudo class is a special type of CSS definition, if you will, that allows you to give an object certain effects when the mouse interacts with it in some way. For instance have an area show up when the mouse is hovered over an element. &lt;br /&gt;&lt;br /&gt;To get the effect we want, we&#39;ll apply the hover pseudo class to our div or section that we wish to hide or show when the mouse hovers over it.   &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lets look at a basic example:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;br /&gt;&lt;h2&gt;CSS&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;#basic{&lt;br /&gt;border:1px solid #DDDDDD;&lt;br /&gt;background-color:#CADBED;&lt;br /&gt;width:300px;&lt;br /&gt;height:23px;&lt;br /&gt;overflow:hidden;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#basic:hover{&lt;br /&gt;height:auto;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;h2&gt;Html&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div id=&#39;basic&#39;&amp;gt;&lt;br /&gt;Hover Here &amp;lt;br&amp;gt;&lt;br /&gt;This content will be seen when hovering over the &lt;br /&gt;titlebar. you could not see it before.&lt;br /&gt;This content will be seen when hovering over the &lt;br /&gt;titlebar. you could not see it before.&lt;br /&gt;This content will be seen when hovering over the &lt;br /&gt;titlebar. you could not see it before.&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id=&#39;basic&#39; style=&quot;margin:0; padding:0;&quot;&gt;&lt;br /&gt;Hover Here&lt;br /&gt;&lt;br&gt;&lt;br /&gt;This content will be seen when hovering over the &lt;br /&gt;titlebar. you could not see it before.&lt;br /&gt;This content will be seen when hovering over the &lt;br /&gt;titlebar. you could not see it before.&lt;br /&gt;This content will be seen when hovering over the &lt;br /&gt;titlebar. you could not see it before.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Move your mouse over the &quot;Hover Here&quot; text to see it in action. This is a very basic collapsible panel.  It uses the hover Pseudo Class and changes only the height definition of the div from the set 30px; to auto so it automatically grows to fit its content.&lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;br /&gt;Of course you can get a bit fancier if you need to, and give the panel a nicer header so you clearly separate the title from the contents. &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;CSS&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;#hideaway{&lt;br /&gt;border:1px solid #DDDDDD;&lt;br /&gt;background-color:#CADBED;&lt;br /&gt;width:300px;&lt;br /&gt;height:23px;&lt;br /&gt;overflow:hidden;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#hideaway h3{&lt;br /&gt;margin:0px;&lt;br /&gt;padding:0px;&lt;br /&gt;font-family:Verdana;&lt;br /&gt;background-color:#E6DFC8;&lt;br /&gt;border-bottom:1px solid #CCCCCC;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#hideaway:hover{&lt;br /&gt;height:auto;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Html&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div id=&#39;hideaway&#39;&amp;gt;&lt;br /&gt;&amp;lt;h3&amp;gt;Hover Mouse over this Area&amp;lt;/h3&amp;gt;&lt;br /&gt;This content will be seen when hovering over the &lt;br /&gt;titlebar. you could not see it before.&lt;br /&gt;This content will be seen when hovering over the &lt;br /&gt;titlebar. you could not see it before.&lt;br /&gt;This content will be seen when hovering over the &lt;br /&gt;titlebar. you could not see it before.&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id=&#39;hideaway&#39;&gt;&lt;br /&gt;&lt;h3&gt;Hover Mouse over this Area&lt;/h3&gt;&lt;br /&gt;This content will be seen when hovering over the &lt;br /&gt;titlebar. you could not see it before.&lt;br /&gt;This content will be seen when hovering over the &lt;br /&gt;titlebar. you could not see it before.&lt;br /&gt;This content will be seen when hovering over the &lt;br /&gt;titlebar. you could not see it before.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This one now has a header to hover over, and a defined content section.&lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;br /&gt;There are many things to be done with the Hover pseudo class.&lt;br /&gt;&lt;br /&gt;Say you have a list of Products in a table and you wish to add a popup thumbnail of the product image to for instance:&lt;br /&gt;&lt;br /&gt;Hover over the camera icon to see a pic pop up.&lt;br /&gt;&lt;table border=0 style=&quot;border:1px solid #DDDDDD;&quot;&gt;&lt;tr&gt;&lt;td&gt;Product&lt;/td&gt;&lt;td&gt;Description&lt;/td&gt;&lt;td&gt;Price&lt;/td&gt;&lt;td&gt;Picture&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Product 1&lt;/td&gt;&lt;td&gt;This is an average Product&lt;/td&gt;&lt;td&gt;$29.99&lt;/td&gt;&lt;td&gt;&lt;div class=&quot;thumb&quot;&gt;&lt;img src=&quot;http://i47.photobucket.com/albums/f196/overcracker/Blog/picicon-1.png&quot; alt=&quot;thumbnail&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Product 2&lt;/td&gt;&lt;td&gt;This is a great Product&lt;/td&gt;&lt;td&gt;$9.99&lt;/td&gt;&lt;td&gt;&lt;div class=&quot;thumb&quot;&gt;&lt;img src=&quot;http://i47.photobucket.com/albums/f196/overcracker/Blog/picicon-1.png&quot; alt=&quot;thumbnail&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Product 3&lt;/td&gt;&lt;td&gt;This is an expenive Product&lt;/td&gt;&lt;td&gt;$99.99&lt;/td&gt;&lt;td&gt;&lt;div class=&quot;thumb&quot;&gt;&lt;img src=&quot;http://i47.photobucket.com/albums/f196/overcracker/Blog/picicon-1.png&quot; alt=&quot;thumbnail&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;br /&gt;&lt;h2&gt;CSS&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;.thumb{&lt;br /&gt;background:url(&#39;/images/cameraico48.png&#39;);&lt;br /&gt;width:48px;&lt;br /&gt;height:48px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.thumb img{&lt;br /&gt;width:128px;&lt;br /&gt;height:128px;&lt;br /&gt;display:none;&lt;br /&gt;}&lt;br /&gt;.thumb:hover{&lt;br /&gt;background:url(&#39;none&#39;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.thumb:hover img{&lt;br /&gt;position:absolute;&lt;br /&gt;display:block;&lt;br /&gt;}&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;table border=0 style=&amp;quot;border:1px solid #DDDDDD;&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Product&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Price&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Picture&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Product 1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;This is an average Product&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$29.99&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;div class=&amp;quot;thumb&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;/images/picicon.png&amp;quot; alt=&amp;quot;thumbnail&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Product 2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;This is a great Product&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$9.99&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;div class=&amp;quot;thumb&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;/images/picicon.png&amp;quot; alt=&amp;quot;thumbnail&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Product 3&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;This is an expenive Product&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$99.99&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;div class=&amp;quot;thumb&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;/images/picicon.png&amp;quot; alt=&amp;quot;thumbnail&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;br /&gt;Lets move onto Navigation. When you are creating menus, you may have options in the menu, and maybe some sub options you wish to group together under an option, but you do;t necessarily need to have them displayed all he time. You can use the hover pseudo class to make your menu a bit more dynamic.&lt;br /&gt;&lt;br /&gt;For example, if you hover over options 2 and 4 you&#39;ll get extra options displayed:&lt;br /&gt;&lt;br /&gt;&lt;div id=&quot;nav&quot;&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Option 1&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Option 2&lt;/a&gt;&lt;br /&gt;    &lt;ul&gt;&lt;br /&gt;      &lt;li&gt;&lt;a href=&quot;#&quot;&gt;sub Option 1&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;&lt;a href=&quot;#&quot;&gt;sub Option 2&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;&lt;a href=&quot;#&quot;&gt;sub Option 3&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;    &lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Option 3&lt;/a&gt;&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Option 4&lt;/a&gt;&lt;br /&gt;    &lt;ul&gt;&lt;br /&gt;      &lt;li&gt;&lt;a href=&quot;#&quot;&gt;sub Option 1&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;&lt;a href=&quot;#&quot;&gt;sub Option 2&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;&lt;a href=&quot;#&quot;&gt;sub Option 3&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;    &lt;/ul&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Now the Code and CSS at work:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;br /&gt;&lt;h2&gt;CSS&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;#nav{&lt;br /&gt;border:2px solid #DDDDDD;&lt;br /&gt;background-color:#C3D6CB;&lt;br /&gt;width:180px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#nav li{&lt;br /&gt;height:20px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#nav li ul{&lt;br /&gt;display:none;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#nav li:hover{&lt;br /&gt;color:#FFFFFF;&lt;br /&gt;height:auto;&lt;br /&gt;border:1px solid #AAAAAA;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#nav li:hover ul{&lt;br /&gt;display:block;&lt;br /&gt;background-color:#108541;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#nav li li:hover{&lt;br /&gt;background-color:#14E36A;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Html&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div id=&amp;quot;nav&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;ul&amp;gt;&lt;br /&gt; &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Option 1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt; &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Option 2&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;ul&amp;gt;&lt;br /&gt;      &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;sub Option 1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;      &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;sub Option 2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;sub Option 3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;    &amp;lt;/ul&amp;gt;&lt;br /&gt;&amp;lt;/li&amp;gt;&lt;br /&gt; &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Option 3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Option 4&amp;lt;/a&amp;gt;&lt;br /&gt;    &amp;lt;ul&amp;gt;&lt;br /&gt;      &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;sub Option 1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;sub Option 2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;      &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;sub Option 3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;    &amp;lt;/ul&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;This is getting quite complex, s lets take a closer look at what the CSS is doing:&lt;br /&gt;&lt;br /&gt;First I have the main navigation container, that will hold my options. Then I simply specify a starting width for my nav options using the list tag.&lt;br /&gt;&lt;br /&gt;This is where it gets interesting: &lt;br /&gt;&lt;br /&gt;#nav li ul{&lt;br /&gt;display:none;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Here I specify that any ul tags inside a list tag that is inside an element with an ID of nav should not be displayed to begin with. &lt;br /&gt;&lt;br /&gt;#nav li:hover{&lt;br /&gt;color:#FFFFFF;&lt;br /&gt;height:auto;&lt;br /&gt;border:1px solid #AAAAAA;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#nav li:hover ul{&lt;br /&gt;display:block;&lt;br /&gt;background-color:#108541;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Now the hover pseudo class comes into play.  First I just use it to change the color of the hovered option so we know its being hovered. &lt;br /&gt;&lt;br /&gt;The second line, specifies what to do with the originally hidden ul that holds the sub option, when the list item they are inside of is hovered. That is they become visible.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now you can of course style the items as you see fit, removing the bullet, changing fonts etc.. to suit your needs but this is the basic functionality. &lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;br /&gt;For our final example lets suppose we have a horizontal menu, and we need to give it drop down menus, that don&#39;t actually push the content under them down as the appear.&lt;br /&gt;&lt;br /&gt;For this we will need to actually use the position attribute. I&#39;ll go into more depth about this attribute in a later post, but for now, you should now, that unless it is absolutely necessary to be used, the position attribute should not be used. This is because it changes how elements are treated and can cause lots of confusion with its results. Once you know what it does and how to work with it it can be useful, but again its not something you&#39;ll want to use all over the page. &lt;br /&gt;&lt;br /&gt;Lets look at our drop down example now:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id=&quot;mynav2&quot;&gt; &lt;div class=&quot;mydropdown&quot;&gt; &lt;h3&gt;File&lt;/h3&gt; &lt;ul&gt;  &lt;li&gt;Option 1&lt;/li&gt;  &lt;li&gt;Option 2&lt;/li&gt;  &lt;li&gt;Option 3&lt;/li&gt;  &lt;li&gt;Option 4&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;div class=&quot;dropdown&quot;&gt; &lt;h3&gt;Edit&lt;/h3&gt; &lt;ul&gt;  &lt;li&gt;Option 1&lt;/li&gt;  &lt;li&gt;Option 2&lt;/li&gt;  &lt;li&gt;Option 3&lt;/li&gt;  &lt;li&gt;Option 4&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;div class=&quot;dropdown&quot;&gt; &lt;h3&gt;View&lt;/h3&gt; &lt;ul&gt;  &lt;li&gt;Option 1&lt;/li&gt;  &lt;li&gt;Option 2&lt;/li&gt;  &lt;li&gt;Option 3&lt;/li&gt;  &lt;li&gt;Option 4&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;p&gt;&amp;nbsp&lt;/p&gt; &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;br /&gt;&lt;h2&gt;CSS&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;#nav2{&lt;br /&gt;height:30px;&lt;br /&gt;width:350px;&lt;br /&gt;border:1px solid #AAAAAA;&lt;br /&gt;background-color:#777777;&lt;br /&gt;position:absolute;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#nav2 div{&lt;br /&gt;float:left;&lt;br /&gt;background-color:#777777;&lt;br /&gt;height:28px;&lt;br /&gt;overflow:hidden;&lt;br /&gt;width:116px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#nav2 div:hover{&lt;br /&gt;background-color:#000000;&lt;br /&gt;color:#FFFFFF;&lt;br /&gt;height:auto;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#nav2 p{&lt;br /&gt;clear:both;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#nav2 div h3{&lt;br /&gt;margin:0;&lt;br /&gt;padding:0;&lt;br /&gt;text-align:center;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#nav2 div.dropdown li:hover{&lt;br /&gt;background-color:#FFFFFF;&lt;br /&gt;color:#000000;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;h2&gt;Html&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div id=&amp;quot;nav2&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;div class=&amp;quot;dropdown&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;h3&amp;gt;File&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;lt;ul&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;Option 1&amp;lt;/li&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;li&amp;gt;Option 2&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;Option 3&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;Option 4&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div class=&amp;quot;dropdown&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;h3&amp;gt;Edit&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;lt;ul&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;Option 1&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;Option 2&amp;lt;/li&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;li&amp;gt;Option 3&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;Option 4&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div class=&amp;quot;dropdown&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;h3&amp;gt;View&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;lt;ul&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;Option 1&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;Option 2&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;Option 3&amp;lt;/li&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;li&amp;gt;Option 4&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;p&amp;gt;&amp;amp;nbsp&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;br&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;br&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This as you can see takes quite a bit more CSS to get it to function. &lt;br /&gt;Notice the single use of the position:absolute; attribute for the nav2 container which will hold our menus. This prevents the drop downs from pushing on the content below them, and instead just open up above it as one would expect. &lt;br /&gt;&lt;br /&gt;Basically all I do is float our menu divs, and have them change heights when hovered over so they can show the sub options with in them. &lt;br /&gt;&lt;br /&gt;This are just a few examples of how useful the hover pseudo class is in modern browsers.&lt;br /&gt;&lt;br /&gt;Now there is a caveat here.  IE6, and you know it had to be that particular browser, does not support the hover pseudo class in anything but link tags. &lt;br /&gt;&lt;br /&gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Option 4&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;br /&gt;So all these techniques fail miserably. Thankfully, users are moving away from IE6, and as I mentioned in a previous post the percentage of users still working on IE6 is so small its almost not worth going out of your way to code something that will work on it.&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;If for some reason the examples don&#39;t work correctly here you can click &lt;a href=&quot;http://web101.site90.com/hover.php&quot;&gt;here&lt;/a&gt; to see all the examples in action.&lt;br /&gt;&lt;/h1&gt;</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/8660066578881444767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2010/06/hover-pseudo-class.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/8660066578881444767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/8660066578881444767'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2010/06/hover-pseudo-class.html' title='The :hover Pseudo class'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://i47.photobucket.com/albums/f196/overcracker/Blog/th_picicon-1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-2572253964014183460</id><published>2010-05-30T16:28:00.000-07:00</published><updated>2010-06-14T11:09:50.338-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CSS"/><category scheme="http://www.blogger.com/atom/ns#" term="good use"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML"/><category scheme="http://www.blogger.com/atom/ns#" term="tables"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial"/><title type='text'>Tables and Validation</title><content type='html'>&lt;h3&gt;Evil Markup? Maybe not&lt;/h3&gt;&lt;br /&gt;Tables... The very word sends shivers down any self proclaimed CSS master. Tables are evil, tables should never be used. Tables should be cast into oblivion from this day forth.  Baloney!!&lt;br /&gt;&lt;br /&gt;Tables like every other tag in HTML have its uses.  However like anything in this world it can be misused.  Most Web Designers use applications such as Photoshop, or what have you, to design the look of their site, and then have this same application transform it into HTML.  Yes it may be HTML it may even look nice in some cases, but is it correct? Is it Valid? Probably not. &lt;br /&gt;&lt;br /&gt;Most applications use tables to transform the image rendition of a layout created by a designer into HTML, however these applications will normally use obsolete, difficult and hard to maintain ways of building a website.  Like I mentioned in my previous POST, A simple layout is easier to maintain. Most of the time they&#39;ll rely on tables to create the layout because that was the technique used years ago. however as the Web has progressed so have the techniques to design and build websites.  &lt;br /&gt;A simple 3 column layout like we saw before ends up a mis-mash of cells and columns instead of a nice fluid understandable piece of code. &lt;br /&gt;&lt;br /&gt;Tables&lt;br /&gt;&lt;pre style=&quot;border:1px solid #EEEEEE; font-size:12px; overflow:auto;&quot;&gt;&lt;br /&gt;&amp;lt;table&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=3&amp;gt;Header area&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; Left Column&amp;lt;/td&amp;gt;&lt;br /&gt;     &amp;lt;td&amp;gt;Center Column with lots of content...&amp;lt;/td&amp;gt;&lt;br /&gt;     &amp;lt;td&amp;gt;Right Column&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Vs DIV&#39;s&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;border:1px solid #EEEEEE; font-size:12px; overflow:auto;&quot;&gt;&lt;br /&gt;&amp;lt;div id=&amp;quot;header&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div id=&amp;quot;leftcol&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div id=&amp;quot;contentcol&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div id=&amp;quot;rightcol&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;7 Lines of code vs 4. And this is just a basic skeleton. Now suppose you want to change the look, like we did in the previous post. Move Navigation to be horizontal, you&#39;d need to go in and alter the entire markup. Now its seems reasonably simple without any content, but imagine tons of content in the middle column, and trying to find where the right column begins after all that content with more tags and text etc...    &lt;br /&gt;&lt;br /&gt;With the proper use of CSS you couldn&#39;t care less what the content of the DIV is where it starts or where it ends.  You look at your CSS and you modify that.&lt;br /&gt;&lt;br /&gt;Now I must make a confession, calling your columns left, right and center is not a good idea, because like with tables you give them a predetermined location or layout position, and as I showed with CSS, they really don&#39;t need nor should they have one.&lt;br /&gt;&lt;br /&gt;So for an accurate representation, you could call them navigation, content, and maybe &quot;adbar&quot; or extra_content pane ro something that is descriptive of its contents, but not of its position in the page. &lt;br /&gt;&lt;br /&gt;If you need to change its location, style, dimensions etc.. it you can look for their style definitions in the style sheet and change those. So Navigation moves to the top horizontally, &quot;adbar&quot; may end up at the bottom heck you could even set it as the left column instead. All without altering the markup.&lt;br /&gt;&lt;br /&gt;You don&#39;t have a left column, you have a navigation &quot;pane&quot; for lack of a better word, and you can place it anywhere you want to. &lt;br /&gt;&lt;br /&gt;All this without altering your base markup. Do it with tables, and you&#39;ll be starting from scratch every time. &lt;br /&gt;&lt;br /&gt;This does not immediately mean tables no longer have a place in the world of Web development and should never again be used or heard of. Tables play an important role if used properly.&lt;br /&gt;&lt;br /&gt;But how do you use tables properly?  You use them to display tabular data. &lt;br /&gt;But now, what is tabular data? Well, it can be many things. It can be a directory, it can be a product listing, it can be a roster sheet for a baseball league etc... All that can be considered tabular data. The common factor?  Its data, its listings, its information that has that particular display need and structure, and will not change.  In this context tables become a tag to markup how data is to be structured, not where its going to be on the page, or what its going to look like.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://s47.photobucket.com/albums/f196/overcracker/Blog/?action=view&amp;current=table.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://i47.photobucket.com/albums/f196/overcracker/Blog/table.jpg&quot; border=&quot;0&quot; alt=&quot;htm,example,table&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;border:1px solid #EEEEEE; font-size:12px; overflow:auto;&quot;&gt;&lt;br /&gt;&amp;lt;table border=0 cellspacing=0 cellpadding=0 style=&amp;quot;border:1px solid #999999;&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan=3&amp;gt;Players&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; Name&amp;lt;/td&amp;gt;&lt;br /&gt;     &amp;lt;td&amp;gt;Position&amp;lt;/td&amp;gt;&lt;br /&gt;     &amp;lt;td&amp;gt;Email&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Peter&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Midfielder&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;pete@baseballnuts.com&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;John&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Rightfielder&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;john@baseballnuts.com&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Frank&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Pitcher&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;frank@baseballnuts.com&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Jason&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;First Baseman&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;jason@baseballnuts.com&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Validation&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;Validation is simply the product of adhering to the rules and norms set by the W3C for design.&lt;br /&gt;&lt;br /&gt;As long as your coding follows those rules it can be considered valid, and stands a good chance of looking the same across all the different platforms.&lt;br /&gt;But hey!, we all make mistakes, and we make even more when we are coding a website. So to help us out the W3C offers a service to check your web pages and make sure it conforms to the set of rules you&#39;ve specified in your webpage as your Doctype.  If you made a mistake and missed something it will tell you and often offer an explanation of the errors.&lt;br /&gt;&lt;br /&gt;The W3C&#39;s validator is located here: &lt;br /&gt;http://validator.w3.org/&lt;br /&gt;&lt;br /&gt;You can use it to run your pages through and make sure there are no errors.&lt;br /&gt;&lt;a href=&quot;http://s47.photobucket.com/albums/f196/overcracker/Blog/?action=view&amp;current=exweb0.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://i47.photobucket.com/albums/f196/overcracker/Blog/wrcvalid.jpg&quot; border=&quot;0&quot; alt=&quot;web,markup,css,html&quot; style=&quot;width:600px;&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It has 3 ways of checking your website:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;By URL&lt;/li&gt;&lt;br /&gt;&lt;li&gt;By File Upload&lt;/li&gt;&lt;br /&gt;&lt;li&gt;By Direct Input&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;By Url is the most direct, you give it a URL or address where it can access your website online, and it verifies it. &lt;br /&gt;&lt;br /&gt;By File Upload: Takes your base file directly. Reads it and returns its result.&lt;br /&gt;&lt;br /&gt;By Direct Input,: By far the easiest option, just copy and paste your entire code, and press the button. &lt;br /&gt;&lt;br /&gt;Options 2 and 3 are only useful if your file is 100% pure HTML. If you are working with a server side language like PHP, ASP or Cold Fusion, then its often better to offer the URL. Otherwise the server side code is not processed, and may cause issues that aren&#39;t really there in the final page.  &lt;br /&gt;&lt;br /&gt;Lets take our example website we used in the last post and give it a whirl:&lt;br /&gt;&lt;pre style=&quot;border:1px solid #EEEEEE; font-size:12px; overflow:auto;&quot;&gt;&lt;br /&gt;&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD HTML 4.01 Transitional//EN&amp;quot;&lt;br /&gt;&amp;quot;http://www.w3.org/TR/html4/loose.dtd&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;  &amp;lt;title&amp;gt;Structure Vs Presentation&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;div id=&amp;quot;header&amp;quot;&amp;gt;&lt;br /&gt;  &amp;lt;h1&amp;gt;This is the Main Website Title&amp;lt;/h1&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;div id=&amp;quot;navigation&amp;quot;&amp;gt;&lt;br /&gt; &amp;lt;ul&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link 1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link 2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link 3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link 4&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt; &amp;lt;/ul&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;div id=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;  &amp;lt;h3&amp;gt;This is Content Title&amp;lt;/h3&amp;gt;&lt;br /&gt; &amp;lt;p&amp;gt;&lt;br /&gt; Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin odio turpis, hendrerit bibendum fringilla sit amet, lacinia sit amet lacus. Quisque varius tellus vel libero tempor laoreet. Suspendisse vel dignissim tellus. Etiam fringilla consequat eros, in volutpat lectus molestie at. Vivamus vitae mi justo, quis gravida nisi. Tristique senectus et netus et malesuada fames ac turpis egestas...&lt;br /&gt; &amp;lt;/p&amp;gt;&lt;br /&gt; &amp;lt;div id=&#39;subcontent&#39;&amp;gt;&lt;br /&gt;  &amp;lt;p&amp;gt;&lt;br /&gt;Suspendisse potenti. Duis pellentesque, sem varius facilisis vehicula, lectus purus semper mauris, quis laoreet metus sem vel diam. Ut non tellus nulla. Sed egestas dui ac nulla eleifend vulputate. Sed blandit lacus eu arcu luctus et condimentum erat scelerisque...&lt;br /&gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;  &amp;lt;p&amp;gt;&lt;br /&gt;Pellentesque mauris assa, aliquet vel volutpat sed, facilisis vitae urna. Vestibulum consequat metus id magna mollis auctor. Nunc id tellus nec sem auctor convallis ut a quam. Suspendisse vel urna velit, feugiat ultrices leo. Vestibulum orci ipsum, venenatis quis ultrices at, varius sed sem. Nulla facilisi. In porta, nunc vel rutrum adipiscing, dui lectus accumsan... &amp;lt;/p&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;p&amp;gt;&lt;br /&gt;Quisque sit amet dui libero, at pharetra erat. Nullam ante mauris, hendrerit vel accumsan sed, porttitor et purus. Fusce interdum sodales justo, a pretium velit porta eu. In hac habitasse platea dictumst. Etiam semper laoreet dolor quis pharetra. Integer id est vel tortor iaculis laoreet congue non nibh. Cras non dui massa. Sed nulla tortor, volutpat vitae accumsan eget, imperdiet quis nibh. In accums...&lt;br /&gt; &amp;lt;/p&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;We&#39;ll use the Direct Input option, and just copy and paste our website inot the text area as seen in the pic above.  Press the button and the Validator Returns 2 Warnings, (about the same thing actually).  Our Example Markup is considered valid. &lt;br /&gt;&lt;a href=&quot;http://s47.photobucket.com/albums/f196/overcracker/Blog/?action=view&amp;current=validpage.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://i47.photobucket.com/albums/f196/overcracker/Blog/validpage.jpg&quot; border=&quot;0&quot; alt=&quot;valid,html,wrc,result&quot; style=&quot;width:600px;&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The 2 warnings refer to the lack of character encoding. Its an additional line that tells the browser what encoding to use when displaying the page. Most servers send a predefined header for this, and unless you need a specific encoding you can get by with the standard encoding. &lt;br /&gt;&lt;pre style=&quot;border:1px solid #EEEEEE; font-size:12px; overflow:auto;&quot;&gt;&lt;br /&gt;&amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot;&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I&#39;ll get into it more in a future post. For now its just a lesser warning we may safely ignore. &lt;br /&gt;&lt;br /&gt;Let&#39;s introduce a real error shall we:&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;border:1px solid #EEEEEE; font-size:12px; overflow:auto;&quot;&gt;&lt;br /&gt;&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD HTML 4.01 Transitional//EN&amp;quot;&lt;br /&gt;&amp;quot;http://www.w3.org/TR/html4/loose.dtd&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;  &amp;lt;title&amp;gt;Structure Vs Presentation&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;div id=&amp;quot;header&amp;quot;&amp;gt;&lt;br /&gt;  &amp;lt;h1&amp;gt;This is the Main Website Title&amp;lt;/h1&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;div id=&amp;quot;navigation&amp;quot;&amp;gt;&lt;br /&gt; &amp;lt;ul&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link 1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link 2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link 3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link 4&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt; &amp;lt;/ul&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;div id=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;  &amp;lt;h3&amp;gt;This is Content Title&amp;lt;/h3&amp;gt;&lt;br /&gt; &amp;lt;p&amp;gt;&lt;br /&gt; Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin odio turpis, hendrerit bibendum fringilla sit amet, lacinia sit amet lacus. Quisque varius tellus vel libero tempor laoreet. Suspendisse vel dignissim tellus. Etiam fringilla consequat eros, in volutpat lectus molestie at. Vivamus vitae mi justo, quis gravida nisi. Tristique senectus et netus et malesuada fames ac turpis egestas...&lt;br /&gt; &amp;lt;/p&amp;gt;&lt;br /&gt; &amp;lt;div id=&#39;subcontent&#39;&amp;gt;&lt;br /&gt;  &amp;lt;p&amp;gt;&lt;br /&gt;Suspendisse potenti. Duis pellentesque, sem varius facilisis vehicula, lectus purus semper mauris, quis laoreet metus sem vel diam. Ut non tellus nulla. Sed egestas dui ac nulla eleifend vulputate. Sed blandit lacus eu arcu luctus et condimentum erat scelerisque...&lt;br /&gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;  &amp;lt;p&amp;gt;&lt;br /&gt;Pellentesque mauris assa, aliquet vel volutpat sed, facilisis vitae urna. Vestibulum consequat metus id magna mollis auctor. Nunc id tellus nec sem auctor convallis ut a quam. Suspendisse vel urna velit, feugiat ultrices leo. Vestibulum orci ipsum, venenatis quis ultrices at, varius sed sem. Nulla facilisi. In porta, nunc vel rutrum adipiscing, dui lectus accumsan... &amp;lt;/p&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;p&amp;gt;&lt;br /&gt;Quisque sit amet dui libero, at pharetra erat. Nullam ante mauris, hendrerit vel accumsan sed, porttitor et purus. Fusce interdum sodales justo, a pretium velit porta eu. In hac habitasse platea dictumst. Etiam semper laoreet dolor quis pharetra. Integer id est vel tortor iaculis laoreet congue non nibh. Cras non dui massa. Sed nulla tortor, volutpat vitae accumsan eget, imperdiet quis nibh. In accums...&lt;br /&gt; &amp;lt;/p&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;span style=&quot;color:#FF0000;&quot;&gt;&amp;lt;img src=&quot;myimage.jpg&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I&#39;ve added an image. But I neglected to include one of the properties that it requires. &lt;br /&gt;&lt;br /&gt;When we run it through the Validator, it spits out a big nasty red error:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://s47.photobucket.com/albums/f196/overcracker/Blog/?action=view&amp;current=validerror.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://i47.photobucket.com/albums/f196/overcracker/Blog/validerror.jpg&quot; border=&quot;0&quot; alt=&quot;validator,w3c,error,alt&quot; style=&quot;width:600px;&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And here we have its explanation:&lt;br /&gt;&lt;a href=&quot;http://s47.photobucket.com/albums/f196/overcracker/Blog/?action=view&amp;current=validerrornotes.png&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://i47.photobucket.com/albums/f196/overcracker/Blog/validerrornotes.png&quot; border=&quot;0&quot; alt=&quot;validator,error,wrc,img,alt&quot; style=&quot;width:600px;&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id=&quot;quote&quot; style=&quot;border:1px solid #EEEEEE; font-family:Arial; font-size:12px;&quot;&gt;&lt;br /&gt;Line 38, Column 21: required attribute &quot;ALT&quot; not specified&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;myimg.jpg&quot;&gt;&lt;br /&gt;&lt;br /&gt;✉&lt;br /&gt;&lt;br /&gt;The attribute given above is required for an element that you&#39;ve used, but you have omitted it. For instance, in most HTML and XHTML document types the &quot;type&quot; attribute is required on the &quot;script&quot; element and the &quot;alt&quot; attribute is required for the &quot;img&quot; element. &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;It tells me the line number, the code around the error, and why it may be wrong. &lt;br /&gt;Now I can go back to my code and fix it:&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;border:1px solid #EEEEEE; font-size:12px; overflow:auto;&quot;&gt;&lt;br /&gt;&amp;lt;img src=&quot;myimage.jpg&quot; &lt;span style=&quot;color:#FF0000;&quot;&gt;alt=&quot;This is an Image&quot;&lt;/span&gt; &amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Should we run it again, it will validate. &lt;br /&gt;&lt;br /&gt;At the end and like with many other things, correct usage of tags for their intended purposes will help produce a nicer looking website that is easier to maintain.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Well that&#39;s it for my second entry into this Blog. Hope you enjoyed it.</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/2572253964014183460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2010/05/tables-and-validation.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/2572253964014183460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/2572253964014183460'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2010/05/tables-and-validation.html' title='Tables and Validation'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://i47.photobucket.com/albums/f196/overcracker/Blog/th_table.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8202698650965571666.post-2923111659994892621</id><published>2010-05-15T11:41:00.001-07:00</published><updated>2010-05-31T09:48:28.215-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CSS"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML"/><category scheme="http://www.blogger.com/atom/ns#" term="layout"/><category scheme="http://www.blogger.com/atom/ns#" term="web development"/><title type='text'>Welcome to Web 101</title><content type='html'>Welcome to Behind the Web or as I like to call it Web 101.  My name is Phil B, I&#39;m a IT consultant and specialize in Web development. Specifically applications involving HTML PHP, and Javascript.&lt;br /&gt;&lt;br /&gt;I&#39;ve created this Blog as away of opening up the web development world to people who want to lear about having a website that is easy to maintain and attractive and comfortable to browse.&lt;br /&gt;&lt;br /&gt;I&#39;ve seen through my years many websites that use overly complex markup to present the simplest of designs.  When  simpler, easier to understand  markups can do the same in less time, and consume less resources for the visitor.&lt;br /&gt;&lt;br /&gt;In today&#39;s World Wide Web we have to cater to a variety of people, Operating systems, and web browsers.  This can make it difficult to create a website that looks the same across all these different platforms.  The more complex the markup is, the more likely something is going to break, or fail to look the same for everybody.&lt;br /&gt;&lt;br /&gt;I&#39;m also of the idea that a simpler site is a better site. I find sites that have all these transitions and effects and things that change and animate around to be kind of annoying.  I also completely despise sites that abuse Flash animations.&lt;br /&gt;Flash can be used as an intro movie to the site if required, but basing the entire site around Flash is just overkill.&lt;br /&gt;&lt;br /&gt;Additionally Flash based websites alienate an important part of the browsing population: The mobile population.&lt;br /&gt;&lt;br /&gt;The Mobile Population are those people that use their phones, PDA&#39;s or other mobile devices to access websites. Well if you are one of the many users (like me) of iPhones, or iPod Touches, and now iPads then you know Flash based sites are a big no no because these devices have no Flash support.  At least &lt;span style=&quot;&quot;&gt;&lt;a href=&quot;http://gs.statcounter.com/#mobile_browser-ww-monthly-200904-201005&quot;&gt;30%&lt;/a&gt;&lt;/span&gt; of the mobile users use one of these devices. That means a Flash based site just turned down 30 out of every 100 users.  That&#39;s a lot of people that can&#39;t see the site at all.  Add to that the devices that have limited Flash support and there&#39;s no guarantee all the features in your Flash site will work.   I&#39;ve tried to navigate through different flash based sites with mobile devices such as Nokia phones, and there&#39;s always some type of issue preventing the full functionality of the site. You might be losing 50% of your target audience because of Flash.&lt;br /&gt;&lt;br /&gt;Simpler, easier cleaner sites, have a better chance of looking right in mobile browsers.  This also has the benefit of allowing you to design a single site instead of 2 or 3 versions for different devices.&lt;br /&gt;&lt;br /&gt;The first thing to know when developing a website is that Internet Explorer is almost always wrong in how it renders elements.  Sadly Microsoft&#39;s own browser still doesn&#39;t know how to properly render websites even in their current version 8 browser.  Fortunately the &lt;span&gt;&lt;a href=&quot;http://www.w3schools.com/browsers/browsers_stats.asp&quot;&gt;statistics&lt;/a&gt;&lt;/span&gt; show that the usage of IE is declining rapidly.   From 2006 where IE6 garnered about 60% of all browser users to a mere 19% now for IE8.&lt;br /&gt;&lt;br /&gt;IE&#39;s disability can be overcome with properly coded websites.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;The first step to a site that works across most platforms is creating &lt;b&gt;Valid&lt;/b&gt; HTML, CSS, JS etc..  What is valid code? Valid code is code that adheres to certain standards established by a group called the &lt;span&gt;&lt;a href=&quot;http://www.w3.org/&quot;&gt;World Wide Web Consortium&lt;/a&gt;&lt;/span&gt; or W3C for short. They determine the set of rules and norms that are to be followed to create a site. Valid code follows these rules and guarantees a consistent look across the different platforms.&lt;br /&gt;&lt;br /&gt;One must also let the browser know what these rules are so it can render the content appropriately.  These rules are contained in files called Doctypes. Short for Document Types these files basically list the rules the browser should follow to render  or display the page. Setting this at the top of your page means that any browser loading your page will know how its supposed to render it. This keeps things consistent.  Even IE follows these rules when properly set.&lt;br /&gt;&lt;br /&gt;The most common  Doctype is the Transitional Doctype.&lt;br /&gt;&lt;textarea cols=&quot;50&quot; rows=&quot;3&quot; disabled=&quot;disabled&quot;&gt;&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot; &quot;http://www.w3.org/TR/html4/loose.dtd&quot;&gt;&lt;/textarea&gt;&lt;br /&gt;This gives you the most leeway in coding, by giving you access to presentational and stylistic elements within the markup like font tags and other deprecated tags. Other doctypes like the Strict doctype disallow such tags, and demand all presentational and stylistic coding to be done through CSS.&lt;br /&gt;&lt;textarea cols=&quot;50&quot; rows=&quot;3&quot; disabled=&quot;disabled&quot;&gt;&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;There are other doctypes that can be used in other specific &lt;span&gt;&lt;a href=&quot;http://www.w3schools.com/tags/tag_doctype.asp&quot;&gt;circumstances&lt;/a&gt;&lt;/span&gt; but for our purposes will stick mostly with Transitional, and Strict.&lt;br /&gt;&lt;br /&gt;What this approach wants to achieve is to separate the presentation from the structure of the document.   The structure refers to how the information is organized. You have paragraphs, lists, sections etc..  The Presentation is how those structure elements look. Do they have a border? A background? Are they 10 or 50 pixels tall? etc...&lt;br /&gt;&lt;br /&gt;Though as mentioned before, the Transitional doctype lets you have the presentational elements within markup, its always a good idea to avoid their placement there as much as possible.&lt;br /&gt;&lt;br /&gt;Here&#39;s an example of how a full separation of presentation and structure can make having completely different looking websites with the same base markup a simple task.&lt;br /&gt;&lt;br /&gt;Base Markup:&lt;br /&gt;&lt;pre style=&quot;overflow: auto; height: 500px; border: 1px solid rgb(170, 170, 170); font-size: 12px; white-space: pre-line;&quot;&gt;&lt;br /&gt;&amp;lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&lt;br /&gt;&quot;http://www.w3.org/TR/html4/loose.dtd&quot;&amp;gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;  &amp;lt;title&amp;gt;Structure Vs Presentation&amp;lt;/title&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;div id=&quot;header&quot;&amp;gt;&lt;br /&gt;  &amp;lt;h1&amp;gt;This is the Main Website Title&amp;lt;/h1&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;div id=&quot;navigation&quot;&amp;gt;&lt;br /&gt; &amp;lt;ul&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a href=&quot;#&quot;&amp;gt;Link 1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a href=&quot;#&quot;&amp;gt;Link 2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a href=&quot;#&quot;&amp;gt;Link 3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li&amp;gt;&amp;lt;a href=&quot;#&quot;&amp;gt;Link 4&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt; &amp;lt;/ul&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;div id=&quot;content&quot;&amp;gt;&lt;br /&gt;  &amp;lt;h3&amp;gt;This is Content Title&amp;lt;/h3&amp;gt;&lt;br /&gt; &amp;lt;p&amp;gt;&lt;br /&gt; Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin odio turpis, hendrerit bibendum fringilla sit amet, lacinia sit amet lacus. Quisque varius tellus vel libero tempor laoreet. Suspendisse vel dignissim tellus. Etiam fringilla consequat eros, in volutpat lectus molestie at. Vivamus vitae mi justo, quis gravida nisi. Tristique senectus et netus et malesuada fames ac turpis egestas...&lt;br /&gt; &amp;lt;/p&amp;gt;&lt;br /&gt; &amp;lt;div id=&#39;subcontent&#39;&amp;gt;&lt;br /&gt;  &amp;lt;p&amp;gt;&lt;br /&gt;Suspendisse potenti. Duis pellentesque, sem varius facilisis vehicula, lectus purus semper mauris, quis laoreet metus sem vel diam. Ut non tellus nulla. Sed egestas dui ac nulla eleifend vulputate. Sed blandit lacus eu arcu luctus et condimentum erat scelerisque...&lt;br /&gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;  &amp;lt;p&amp;gt;&lt;br /&gt;Pellentesque mauris assa, aliquet vel volutpat sed, facilisis vitae urna. Vestibulum consequat metus id magna mollis auctor. Nunc id tellus nec sem auctor convallis ut a quam. Suspendisse vel urna velit, feugiat ultrices leo. Vestibulum orci ipsum, venenatis quis ultrices at, varius sed sem. Nulla facilisi. In porta, nunc vel rutrum adipiscing, dui lectus accumsan... &amp;lt;/p&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;p&amp;gt;&lt;br /&gt;Quisque sit amet dui libero, at pharetra erat. Nullam ante mauris, hendrerit vel accumsan sed, porttitor et purus. Fusce interdum sodales justo, a pretium velit porta eu. In hac habitasse platea dictumst. Etiam semper laoreet dolor quis pharetra. Integer id est vel tortor iaculis laoreet congue non nibh. Cras non dui massa. Sed nulla tortor, volutpat vitae accumsan eget, imperdiet quis nibh. In accums...&lt;br /&gt; &amp;lt;/p&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;Our base markup consists of a header bar, a navigation section, a content section, and a sub content section inside the larger content area.&lt;br /&gt;&lt;br /&gt;Without any CSS applied to it it looks like this:&lt;br /&gt;&lt;a href=&quot;http://s47.photobucket.com/albums/f196/overcracker/Blog/?action=view&amp;amp;current=exweb0.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://i47.photobucket.com/albums/f196/overcracker/Blog/exweb0.jpg&quot; alt=&quot;web,markup,css,html&quot; style=&quot;width: 400px; height: 400px;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;That&#39;s a very plain website, but as you can see its completely usable. Everything  works, and can be used. But suppose we want to give it a little flair. We want the links to be on the left side as a column, and the content in the middle, and maybe even a narrower column on the right.   Well CSS can do all that, without touching the basic markup.&lt;br /&gt;&lt;br /&gt;Lets add a Stylesheet to our markup, basically a set of instructions of how the markup is supposed to be presented to the user.&lt;br /&gt;&lt;br /&gt;This is the stylesheet:&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;overflow: auto; height: 500px; border: 1px solid rgb(170, 170, 170); font-size: 12px; white-space: pre-line;&quot;&gt;&lt;br /&gt;*{&lt;br /&gt;margin:0px;&lt;br /&gt;padding:0px;&lt;br /&gt;border:0px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;body{&lt;br /&gt;width:100%;&lt;br /&gt;height:100%;&lt;br /&gt;background-color:#DDDDAA;&lt;br /&gt;}&lt;br /&gt;#header{&lt;br /&gt;width:100%;&lt;br /&gt;height:120px;&lt;br /&gt;background-color:#DDDDFF;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#navigation{&lt;br /&gt;float:left;&lt;br /&gt;width:15%;&lt;br /&gt;background-color:#DDDDAA;&lt;br /&gt;text-align:center;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#content{&lt;br /&gt;width:78%;&lt;br /&gt;float:left;&lt;br /&gt;text-align:justify;&lt;br /&gt;background-color:#FFFFFF;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#content p{&lt;br /&gt;width:80%;&lt;br /&gt;margin-left:auto;&lt;br /&gt;margin-right:auto;&lt;br /&gt;margin-bottom:5px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#content #subcontent{&lt;br /&gt;&lt;br /&gt;border:2px inset gray;&lt;br /&gt;background-color:#666666;&lt;br /&gt;color:#FFFFFF;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;But how do we link it to our markup?  There are 3 ways to accomplish this:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Stylesheet Reference&lt;/li&gt;&lt;li&gt;In file Style Section&lt;/li&gt;&lt;li&gt;Inline Styles&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Number 1, the one we&#39;ll use for this example, is basically a secondary file that is linked to our base HTML file.&lt;br /&gt;&lt;br /&gt;We link the stylesheet to our HTML markup file with a LINK tag:&lt;br /&gt;&lt;textarea cols=&quot;40;&quot; rows=&quot;3&quot; disabled=&quot;disabled&quot;&gt;&amp;lt;LINK REL=StyleSheet HREF=&quot;style.css&quot; TYPE=&quot;text/css&quot; MEDIA=screen&amp;gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We place this link in our html file, between the head tags of our markup.&lt;br /&gt;&lt;pre style=&quot;background-color: #EEEEEE; color: rgb(136, 136, 136); border: 1px solid gray; overflow: auto;&quot;&gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;  &amp;lt;title&amp;gt;Structure Vs Presentation&amp;lt;/title&amp;gt;&lt;br /&gt;&lt;span style=&quot;color:red;&quot;&gt;&amp;lt;LINK REL=StyleSheet HREF=&quot;style.css&quot; TYPE=&quot;text/css&quot; MEDIA=screen&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lets see how our page looks now:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://s47.photobucket.com/albums/f196/overcracker/Blog/?action=view&amp;amp;current=exweb15.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://i47.photobucket.com/albums/f196/overcracker/Blog/exweb15.jpg&quot; alt=&quot;websitem,CSS,HTML,markup&quot; style=&quot;width: 400px; height: 400px;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Look at that, we now have a navigation bar  on the left, a colored header bar, and our content section with a defined subsection in dark gray, and the markup is still the same.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lets try a slightly different stylesheet:&lt;br /&gt;&lt;pre style=&quot;overflow: auto; height: 500px; border: 1px solid rgb(170, 170, 170); font-size: 12px; white-space: pre-line;&quot;&gt;&lt;br /&gt;*{&lt;br /&gt;margin:0px;&lt;br /&gt;padding:0px;&lt;br /&gt;border:0px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;body{&lt;br /&gt;width:100%;&lt;br /&gt;height:100%;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;#header{&lt;br /&gt;width:100%;&lt;br /&gt;height:120px;&lt;br /&gt;background-color:#DDDDFF;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#navigation{&lt;br /&gt;width:100%;&lt;br /&gt;height:20px;&lt;br /&gt;background-color:#DDDDAA;&lt;br /&gt;text-align:center;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#navigation li{&lt;br /&gt;float:left;&lt;br /&gt;width:80px;&lt;br /&gt;height:100%;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#content{&lt;br /&gt;text-align:justify;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#content p{&lt;br /&gt;width:80%;&lt;br /&gt;margin-left:auto;&lt;br /&gt;margin-right:auto;&lt;br /&gt;margin-bottom:5px;&lt;br /&gt;clear:both;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#content #subcontent{&lt;br /&gt;margin-left:auto;&lt;br /&gt;margin-right:auto;&lt;br /&gt;width:40%;&lt;br /&gt;height:200px;&lt;br /&gt;overflow:auto;&lt;br /&gt;border:2px inset gray;&lt;br /&gt;background-color:#666666;&lt;br /&gt;color:#FFFFFF;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://s47.photobucket.com/albums/f196/overcracker/Blog/?action=view&amp;amp;current=exweb2.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://i47.photobucket.com/albums/f196/overcracker/Blog/exweb2.jpg&quot; alt=&quot;web,markup,css,html&quot; style=&quot;width: 400px; height: 400px;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now we have a horizontal navigation bar between the header and the content, and we have a scrollable sub section inside our main content area.  But the main HTML markup remains the same.&lt;br /&gt;&lt;br /&gt;That&#39;s the beauty, anyone can look at the code, and immediately understand what each section is, and then just apply their own CSS to make it look however they want to.&lt;br /&gt;&lt;br /&gt;This is of course a very basic example, but it shows the power of CSS. And how a simple structure can have different layout designs.&lt;br /&gt;&lt;br /&gt;Well that&#39;s it for my very first Web development post.&lt;br /&gt;&lt;br /&gt;I hope you enjoyed this as much as I enjoyed writing it. I&#39;ll be going into some much cooler CSS techniques in up coming blog posts, before moving on to Javascript and finally PHP.&lt;br /&gt;&lt;br /&gt;Don&#39;t forget to comment.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Appendix&lt;/h3&gt;&lt;br /&gt;For basic coding, any text editor will suffice.  My personal favorites are Notepad for Windows, and &lt;span&gt;&lt;a href=&quot;http://www.apple.com/downloads/macosx/productivity_tools/textwrangler.html&quot;&gt;TextWrangler&lt;/a&gt;&lt;/span&gt; for Mac.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://behindtheweb.blogspot.com/feeds/2923111659994892621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://behindtheweb.blogspot.com/2010/05/welcome-to-web-101.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/2923111659994892621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8202698650965571666/posts/default/2923111659994892621'/><link rel='alternate' type='text/html' href='http://behindtheweb.blogspot.com/2010/05/welcome-to-web-101.html' title='Welcome to Web 101'/><author><name>Phil the Web</name><uri>http://www.blogger.com/profile/17195234267528064665</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjPn4zTBrN9RgnWSNoqZQjzveESEGsGoSb2IGKIubqmzdgs9CkuZRsgrlN-mOUrpRK1hAjnaEuSbXXR4UE9YLNmsWidh-o464PzXy0S3zGy8XUszg0trJv9Pf4tua6A/s220/icon.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://i47.photobucket.com/albums/f196/overcracker/Blog/th_exweb0.jpg" height="72" width="72"/><thr:total>0</thr:total></entry></feed>