Tuesday 29 November 2011

iCan't Internet

iCan't Internet


5 iPhone Apps to Keep You Fit – iphone fitness apps

Posted: 28 Nov 2011 11:39 PM PST

5 interesting apps that may be useful to keep you fit The galloping trends in technology have brought in its wake, highly advanced mobile phones as the iPhone, that have taken the market by storm....

[[ This is a content summary only. Visit my website for full links, other content, and more! ]]


Hitchhiker’s Guide to Siri (Speech Recognition Technology)

Posted: 28 Nov 2011 11:31 PM PST

Just recently, Apple has released the latest version of its popular smartphone line, the iPhone. The new iPhone 4S offers faster processing power, a better camera and now supports global roaming....

[[ This is a content summary only. Visit my website for full links, other content, and more! ]]


Monday 28 November 2011

How To Make Forms More Usable With HTML5 | Van SEO Design

How To Make Forms More Usable With HTML5 | Van SEO Design


How To Make Forms More Usable With HTML5

Posted: 28 Nov 2011 05:30 AM PST

Forms are how we interact with websites. We use forms to contact site owners, login to applications, reply to comments and so much more. Forms generally don’t inspire love. We don’t like filling them out or creating them. html5 forms want to help change that.

html5 is introducing some enhancements to forms. There are new form elements, new input types, and new attributes to make all our lives a little easier.

There’s a caveat. Currently browser support for many of the new html5 form features isn’t there. Opera is actually leading the way and should support everything mentioned below.

With other browsers support is mixed. However there’s good news. The fallback for much of what I’ll talk about here is an ordinary text input so you can safely use everything now.

I’ve created a demo to show off some of what’s new with html5 forms. Check the demo in the latest version of Opera if you really want to see what these new features look like.

Also there are 3 form images (like the one directly below) that link to tutorials that will look much nicer than my demo.

An html5 form by Legend Themes

New Form Elements

In addition to the usual inputs and text areas, html5 forms provide several new elements briefly described below.

  • progress — represents task completion. For example with image uploading
  • meter — represents a scalar measurement within a range
  • keygen — provides control for a key-gen pair. The- private key is stored locally and public key is sent to the server during form submission
  • output — displays the results of a calculation
  • data list — is like a combination text input and select box

The first two I previously talked about when discussing html5 semantic elements. I mention them again because they make sense to use in combination with forms.

Of these elements meter has the least support, being available only in Opera and Chrome, while output is supported across the board. The one I want to cover in more detail here is datalist.

A datalist appears to be an ordinary text box, but when it has focus a list of options will be shown below. You can choose one of the options or type a new one.

To create a data list you begin with a simple text input and then you add the list attribute and specify the name of your list.

 <input type="text" list="list-name"> 

The value of list then becomes the id of your datalist.

 <datalist id="list-name">   <option value="value1">   <option value="value2">   <option value="value3"> </datalist> 

As you can see it’s pretty easy to set up and it has the advantage or eliminating all those “if other” options you often find in forms.

The fallback is an ordinary text input.

Power and input buttons on an iPod dock

New Input Types

The input element is what will see the most change with html5 forms. There are a variety of new input types to go along with text, radio, checkbox, etc.

Again browser support isn’t all that good with these new inputs, however in most cases the fallback is a text box. Because of that there really isn’t any harm in using many of these as long as you don’t rely on them.

Search

The new search type will behave like a text box, but will give browsers the ability to style the input to better match the default styling of search boxes.

 <input type="search"> 

Perhaps not significant in terms of functionality, but the styling cues can communicate quite a bit.

Contact

Several of the input types relate to contact information. Again these will behave like an ordinary text box for browsers that don’t support them, but they will in the future allow browsers to react differently based on the expected data.

  • email
  • tel
  • url

Each should be self-explanatory and each naturally expects a different formatted response.

In the future a browser might indicate that an email was missing the @ symbol or perhaps add the http:// to a url where it’s missing. They might also require a correct number of digits in a phone number.

 <input type="email"> <input type="tel"> <input type="url"> 

Mobile Safari currently shows different keyboards based on these input types. For example it shows a number keypad for an input asking for a phone number.

html5 slider and spinner

Sliders and Spinners

Two new input types expect a range as a value, one being the appropriately named range type and the other being the number type. Both are supported in Opera, Safari, and Chrome.

Again a regular text input is the fallback.

 <input type="range"> <input type="number"> 

Range will present a slider that looks like the left side of the image above. By default it will accept values between 0 and 100, but those can be changed with new min and max attributes, which we’ll cover in a bit.

The range input shows a sliding scale, but it doesn’t show the actual values along that scale. You can easily show the min and max value on either side of the input, but range is more for choosing a relative amount than an exact number.

The number input type creates a spinner (right side of image above) that shows the exact values and lets you increase or decrease those values via the up/down arrows on the side or the up/down arrows on your keyboard.

Color Picker and Date Picker

Usually when we want to add a color or date picker in a form we turn to Javascript. If you’ve ever added one you know it’s not always the easiest or most elegant solution.

 <input type="color"> <input type="date"> 

The color input type aims to add a native browser color picker. It’s only supported in Opera at the moment, but it works as advertised.

Clicking brings up a small palette of colors along with an option that opens the default color picker of your operating system.

Several date related input types are available. Descriptions below are how they currently work in Opera.

  • date — brings up a calendar and allows you to choose any date as well as move between different months.
  • month — shows the same calendar, but any selection grabs the entire month instead of a single day
  • week — similar, but shows which week number (1-52) for the year on the left and any selection in the calendar choose a full week
  • time — shows a 24 hour spinner that can be increased or decreased with the up/down arrows
  • datetime — combines date and time. On the left is the date picker and to its right the time spinner. It also adds time zone information
  • datetime-local — same as datetime, but without the time zone information

Opera supports these fully and Safari and Chrome are showing a time spinner for all the above.

These pickers aren’t very well supported, but again in browsers that don’t yet support them at all they appear as a simple text box.

Opera's date and calendar pickers

New Input Attributes

In addition to the new elements and input types we’ll have some new attributes we can use. I’ll detail some below..

Placeholder — allows you to insert placeholder text in an input, which you might use for additional cues as to the type of data expected.

 placeholder="insert placeholder text here" 

The placeholder text will appear as light gray and typically disappears once you start typing or immediately upon the input gaining focus. It should return if the user leaves the input without having typed anything inside.

While it might be tempting to forgo labels and use placeholder instead, remember that not all browsers support it yet, and the text may disappear as soon the input receives focus.

Autofocus — can be a nice way to get people into a form on loading the page. You use it simply by adding the autofocus keyword inside the input.

 <input type="email" autofocus /> 

You can use autofocus on any form element (text, textarea, select, email, color, etc), but it can only be used once on the page.

It may or may not make sense to use depending on the page. It works for Google since nearly everyone is looking to type something into the lone text box upon loading the search page.

On other pages where the user might want to do something other than start your form it could be annoying to automatically be inside a form input as keys for scrolling won’t work as expected.

Autocomplete — is another attribute you may or may not choose to use depending on your particular form. Autocomplete takes the boolean on and off, with on being the default.

 <input type="email" autocomplete="off" /> 

Most browsers today have autocomplete features, which are generally something we want. However with some information such as credit card numbers or login information we may not want the browser completing all that information.

It’s unlikely you’ll explicitly turn autocomplete on, but where sensitive data is collected setting it to off is probably appropriate.

Firefox's required field message after incomplete form submission

Required — How many of you would like to never have to add Javascript validation to a form again? I’m raising my hand.

 <input type="email" required /> 

The required attribute will leave validation up to browsers. When trying to submit a form without filling out a required field, both Opera and Firefox reload the page with the first required field at the top with a clear popup letting you know the field is required.

Firefox then shows additional incomplete required fields with a red border, while Opera gives no indication of these additional fields.

All inputs should still be checked on the server side, but this will offer a nice convenience to your visitors.

While not all browsers currently support it, we can take a step toward the day when they will and use the required attribute as described above.

We can then treat required like we would class=”required” in our Javascript validation. Instead of matching the class though, we’ll match the attribute.

Pattern — In the future a browser might require an email input to contain an @ symbol or a tel input to use a specific format of numbers. Until then we can use the pattern attribute to do that without their support (assuming they support the pattern attribute)

 <input type="tel" pattern="regular expression" /> 

The pattern attribute requires a regular expression as its value and the input will reject data that doesn’t conform to the regular expression.

Ideally browsers will implement the more common expected data values, but it’s good to know we can use our own as well.

Newspapers only read The Washington Post

Readonly — is an attribute that does what you would expect. It removes the ability to edit a form field. You might choose to use it on forms that otherwise allow editing of profile data. Perhaps everything other than the existing username can be changed.

 <input type="text" readonly /> 

Min/Max — I mentioned these above when talking about the range and number input types. They do what you expect.

 <input type="number" min="1" max="10" /> 

The above would set a number spinner with accepted values of 1–10. Values outside the range should not be allowed and won’t be included in the spinner.

Step — is another attribute that will work best with the above min and max attributes. By default we’d move from min to max in integer steps, but you can control the steps by setting the attribute.

 <input type="number" min="2" max="10" step="2" /> 

The above now only allows the selection of even numbers in the range of 2–10

These aren’t the only possible attributes we may see in html5 forms, but I’ll leave the discussion there. You can check this post at HTML5 Rocks for a few more.

An html5 form by design woop

Styling HTML5 Forms

You’ve probably been frustrated at one time or another trying to style forms without success. As much as I’d like to tell you otherwise these new elements, input types, and attributes won’t change that.

For now you won’t be able to style your own calendars or color pickers or some of the other things mentioned here. Hopefully in time we’ll have that ability, but there could be some reason for not allowing it.

For example it makes sense for a search input to look like other search inputs in the browser. They may not be styled exactly how we’d like on our pages, but for the user it’s probably more helpful if they look like the other search fields they see to match the schema of the browser.

The same reasoning could be applied to a color picker or date picker.

I'm not even the fallback

Javascript Fallback

With some of the above you may only want to use a new attribute if the browser supports it and use the same old Javascript solution you’re currently using. In his book HTML5 for Web Designers, Jeremy Keith offers a simple Javascript function to serve as a generic tester.

Here’s Jeremy’s function.

 function elementSupportsAttribute(element,attribute) {   var test = document.createElement(element);   if (attribute in test) {     return true;   } else {     return false;   } } 

and here’s how you would use it to test for the placeholder attribute.

 if (!elementSupportsAttribute('input','placeholder')) {   // JavaScript fallback goes here. } 

Similar is the following function and test for one of the new input types.

 function inputSupportsType(test) {   var input = document.createElement('input');   input.setAttribute('type',test);    if (input.type == 'text') {     return false;   } else {     return true;   } } if (!inputSupportsType('range')) {   // JavaScript fallback goes here. } 

An html5 form by Tangled in design

Summary

I think you’ll agree that many of these new additions to forms will be very useful. I’m particularly excited for the date picker and color picker, which are always something of a pain for me to add.

Unfortunately we need a lot more browser support before we can rely on new elements, input types, and attributes. They work great in Opera and to a limited degree in other browsers not named Internet Explorer.

Fortunately we can still use them as the fallback for most of the new is what we commonly use today. Go ahead and add a placeholder for those browsers that support it. Those that don’t simply won’t see it, much like they don’t see it right now.

Where critical you’ll need to rely on something other than these new html5 form features, but for non-critical information you can safely use them now and begin preparing for the eventual browser support.


Friday 25 November 2011

iCan't Internet

iCan't Internet


5 Things People Don’t Like about the iPhone 4S

Posted: 24 Nov 2011 03:30 AM PST

The iPhone 4S wasn’t quite as popular as predicted. Here are some reasons why. If you were eagerly awaiting Apple’s iPhone 5 announcement, which never took place this fall, you might be...

[[ This is a content summary only. Visit my website for full links, other content, and more! ]]


Thursday 24 November 2011

30 iPhone Images of New York: Happy Thanksgiving | Van SEO Design

30 iPhone Images of New York: Happy Thanksgiving | Van SEO Design


30 iPhone Images of New York: Happy Thanksgiving

Posted: 24 Nov 2011 11:15 AM PST

Happy Thanksgiving to all in the U.S. today and happy Thursday to everyone else.

If you’ve been reading here for a few years you know that every year at this time I take a week or so vacation and visit family in New York. You might also remember that we typically take a trip into Manhattan and I take some pictures that I share here.

One difference this year is I decided to leave my usual camera at home and exclusively shoot with the camera on my new iPhone 4s. I took some similar shots to previous years and you can compare how the iPhone camera holds up to my Canon Power Shot.

Sand’s Point

First up is Sand’s Point on Long Island. It was an overcast day, but some of the images turned out pretty good.

Long Island Sound at Sand's Point

The water in the 1st three images is Long Island Sound.

Long Island Sound at Sand's Point

I have a thing for old broken down fences.

Long Island Sound at Sand's Point

And piers that have been washed away.

Shed on path at Sands point

The shack above is along the path the took us to the water.

New York on a Cloudy Day

It was another cloudy day in Manhattan as you can see in the images below. We had been worried it would rain, but most of the rain fell overnight before our day started.

Empire State Building in the fog

So cloudy the top of the Empire State Building was obscured.

Chrysler Building

All of the Chrysler building was visible, though.

Lion guarding New York Public Library

One of the lions guarding the New York Public Library.

Metropolitan Museum of Art

The Metropolitan Museum of Art.

Lego skating rink

We didn’t stop long enough for me to get an image of the skating rink at Rockefeller Center, but I did manage to grab the lego version inside the lego store.

Christmas Windows

One of the fun things do see in the city this time of year are the store window displays at some of the department stores. We walked past 3 of the biggies.

Macy's Christmas window

Above and below are from the display at Macy’s

Macy's Christmas window

The next 2 are from the display at Lord and Taylor’s

Lord and Taylor's Christmas window

Lord and Taylor's Christmas window

This last image is from the window display at Sak’s 5th Avenue.

Sak's 5th Avenue Christmas window

Apple Stores

Most everyone in my family owns Apple products and so we naturally visit some of the Apple stores around the city. We had been hoping the new Grand Central store would be open, but it was only the coming soon sign that was visible.

Apple store coming to Grand Central Station

Below is the glass cube entrance to the Apple store on 5th Avenue.

Apple store on 5th Avenue

We caught the Apple store on Columbus after dark.

Apple store on Columbus

St. Patrick’s Cathedral

Our walk up 5th Avenue takes us by St Patrick’s Cathedral and as luck would have it, the one time it did rain during the day was as we approached St. Patrick’s so we went in.

St. Patrick's Cathedral

It’s a beautiful building, though images don’t do it justice. If you ever find yourself in New York a visit is a must.

St. Patrick's Cathedral

The stained glass windows are amazing, though again the images don’t do them justice.

St. Patrick's Cathedral

Central Park

We always cut through Central Park on our way to the parade floats. We didn’t meander through the park like usual this year, but I did manage to capture a few images.

Central Park

Above is the fort/castle we usually pass. Our normal route through the park has us walking on the other side. Below is a typical look at the park this time of year.

Central Park

Parade Floats

We arrived later than usual to the floats being blown up and foot traffic was crazy. We only took in one of the 2 streets of floats this year.

Macy's float Thanksgiving Day Parade

Sonic the Hedgehog was at the front of the street and one of the easier floats to capture.

Sonic the Hedgehog float

The Cool Aid guy was waving to the crowd.

Hawaiian Punch float

The Aflac duck made his very first appearance in this year’s parade.

Aflac float

New York at Night

After seeing the floats we stopped for a bite and by the time we were done eating the sun had set on the city.

Lincoln Center

Here’s Lincoln Center with the lights on. The Opera House is above and below is Kotch Theater, home to the NYC ballet and opera.

Lincoln Center

We continued toward Times Square and walked out of the Nestle store with more chocolate than we really needed.

Times Square

Even in the dark Time’s Square finds a way to shine. The neon lights really are bright on Broadway.

Times Square

I hope you enjoyed some of the images I’ve taken while on vacation. We didn’t have the nicest weather this year, though it never got too bad.

The iPhone 4s camera held up well. I have a feeling my year old Canon won’t be getting used all that much in the future. If the iPhone had a zoom lens it would be all I’d need for most picture taking excursions. Even without it’s a pretty good camera.

Happy Thanksgiving everyone. Time here to get the last few things done before our guests arrive.