Scott Dorman

ephemeral segment

  Home  |   Contact  |   Syndication    |   Login
  608 Posts | 11 Stories | 900 Comments | 51 Trackbacks

News


Post Categories

Image Galleries


Microsoft Store


Creative Commons License



Locations of visitors to this page

Subscribers to this feed

TwitterCounter for @sdorman

View blog authority

Add to Technorati Favorites

Windows Live Alerts

AddThis Social Bookmark Button

LinkedIn profile

Community Credit profile

The Code Project

Follow me on Twitter

Get Free Shots from Snap.com

Community Credit Hall of Fame

Get Feedghost

Xobni outlook add-in for your inbox



Support This Site

Tag Cloud


Article Categories

Archives

Post Categories

Image Galleries

Wednesday, February 13, 2013 #

As web developers and consumers, we’re all familiar with the HTML <input> tag. This is the tag that renders on the screen as an input text box. However, as developers you may not be familiar with all of the “new” HTML 5 values for the type attribute. If you’re not, you should be sure to check them out…and start using them in your websites today!

By the way, there is a reason for the word “new” to be in quotations and for the bolded part of that last sentence. The great thing about the way all modern browsers implement the HTML standards is to be fairly tolerant of unknown values and to fall back to a reasonable default. In the case of the <input> tag’s type attribute, the default value is “text”. That means that if someone uses a browser that isn’t HTML 5 compliant, they won’t see anything different than they do now (before you change the input type). However, if someone is using an HTML 5 compliant browser, they will see specific soft keyboards depending on the attribute value.

For reference, here are some of the attribute values and the keyboard that is displayed. (I have only checked this in IE10 on Windows 8 and Windows Phone, other browsers may or may not show all the same keyboard layouts. If you want to test this out in other browsers/platforms and let me know I’ll be happy to update this post if you send me a PNG (no larger than 439x126) file of the soft keyboard.)

Value Description Keyboard (Windows 8)
color Defines a color picker “standard” text keyboardWindows 8 standard keyboard
date Defines a date control (year, month and day (no time)) Windows 8 standard keyboard
datetime Defines a date and time control (year, month, day, hour, minute, second, and fraction of a second, based on UTC time zone) Windows 8 standard keyboard
datetime-local Defines a date and time control (year, month, day, hour, minute, second, and fraction of a second (no time zone) Windows 8 standard keyboard
email Defines a field for an e-mail address “email” keyboardWindows 8 "email" keyboard
month Defines a month and year control (no time zone) image
number Defines a field for entering a number “numeric” keyboardWindows 8 "numeric" keyboard
password Defines a password field (characters are masked) “password” keyboardWindows 8 "password" keyboard
range Defines a control for entering a number whose exact value is not important (like a slider control) none, renders as a slider controlWindows 8 Slider Control
tel Defines a field for entering a telephone number “numeric” keyboardWindows 8 "numeric" keyboard
text Default. Defines a single-line text field (default width is 20 characters) Windows 8 standard keyboard
time Defines a control for entering a time (no time zone) Windows 8 standard keyboard
url Defines a field for entering a URL “url” keyboard Windows 8 "url" keyboard
week Defines a week and year control (no time zone) Windows 8 standard keyboard

Why is this important? For those of you using non-touch based devices (traditional keyboard devices like desktops and laptops), it isn’t really all that important. However, it makes a huge difference when you browse to the site on a touch device and get an appropriate soft keyboard displayed for the type of data you’re trying to enter.

Especially since older browsers that don’t understand these new attribute values will default to text (which is what the user would see anyway) there is absolutely no reason for you not to update your websites to take advantage of these new types. Your fingers and your users will thank you, even if they never say so out loud.


For those of you who may not know, appRequests is the umbrella brand for WP Requests and WinStore Requests. These sites are designed to allow you to add or vote for your favorite non-Microsoft app to come to either the Windows Phone or Windows Store platforms. It’s a great way to show companies that there really is an interest in seeing official apps.

Not seeing the app you want in the Windows or Windows Phone Store? Here is you’re opportunity to request applications on the Windows platform as a Windows Store or Windows Phone app!

Being part of the MVP Showcase is a huge success for these sites. Out of 3,800 MVPs there were only 20 selected to be part of the Showcase. If you’re going to be at Summit, be sure to check out the Showcase on Sunday night (February 17th from 16:00 – 19:00 at the Hyatt Regency Hotel Grand Ballroom in Bellevue)…and be sure to stop by my booth and say hello. I’ll have business cards you can take to hand out to others and stickers for your laptops or tablets.


Friday, January 11, 2013 #

Windows reimagined. Extraordinary apps.

Combining the broad reach of Windows, best-in-class developer tools, a re-imagined user experience, and a built-in store, Windows 8 is the largest developer opportunity — ever.

Are you ready? Then join us for this free, full-day event filled with coding, sharing, plenty of food, and perhaps the occasional Lightning Talk on topics determined by your apps and questions.

 

FAQs 

What is a hackathon?

These hackathons are a really fun way to get “down and dirty” with the technology and experience development along side others in the same room. It's an open Windows 8 code fest, where you’ll put what you know into practice and be eligible to win some great cash prizes! Code to your heart’s content, with Windows 8 experts available to guide you through every step of the process. It’s the perfect opportunity to get your dream application underway, or to finish that app you’ve already started.

What do I need to bring to the event?

You will need to bring a photo ID, your registration, a computer with Windows 8 and Visual Studio Express 2012 for Windows 8 (or any of the commercial editions of Visual Studio 2012), and your Windows 8 app idea (or a partially completed app, if you have one). 

What are the prizes?

We have three cash prizes:

  • First place is $1000.00
  • Second place is $500.00
  • Third place is $250.00

Winners will be responsible for taxes (if any) and you must be present to win.

Who are the judges?

Judging will be performed by a panel of 3 judges (still being determined) and will be based application completeness and how well the application follows the Modern UI principles.

Who are the sponsors?

We wouldn't be able to host this event without our corporate sponsors. They are providing us everything from food to prize money.

 

 

(Please note that there is limited space available for this event, so be sure to register early.)


Sunday, September 30, 2012 #

It seems like there is always some confusion concerning strings in .NET. This is both from developers who are new to the Framework and those that have been working with it for quite some time.

Strings in the .NET Framework are represented by the System.String class, which encapsulates the data manipulation, sorting, and searching methods you most commonly perform on string data.

In the .NET Framework, you can use System.String (which is the actual type name or the language alias (for C#, string). They are equivalent so use whichever naming convention you prefer but be consistent. Common usage (and my preference) is to use the language alias (string) when referring to the data type and String (the actual type name) when accessing the static members of the class.

Many mainstream programming languages (like C and C++) treat strings as a null terminated array of characters. The .NET Framework, however, treats strings as an immutable sequence of Unicode characters which cannot be modified after it has been created. Because strings are immutable, all operations which modify the string contents are actually creating new string instances and returning those. They never modify the original string data.

There is one important word in the preceding paragraph which many people tend to miss: sequence. In .NET, strings are treated as a sequence…in fact, they are treated as an enumerable sequence. This can be verified if you look at the class declaration for System.String, as seen below:

// Summary:
// Represents text as a series of Unicode characters.
public sealed class String : IEnumerable, IComparable, IComparable<string>, IEquatable<string>

The first interface that String implements is IEnumerable, which has the following definition:

// Summary:
// Exposes the enumerator, which supports a simple iteration over a non-generic
// collection.
public interface IEnumerable
{
// Summary:
// Returns an enumerator that iterates through a collection.
//
// Returns:
// An System.Collections.IEnumerator object that can be used to iterate through
// the collection.
IEnumerator GetEnumerator();
}

As a side note, System.Array also implements IEnumerable. Why is that important to know? Simply put, it means that any operation you can perform on an array can also be performed on a string. This allows you to write code such as the following:

string s = "The quick brown fox";

foreach (var c in s)
{
System.Diagnostics.Debug.WriteLine(c);
}

for (int i = 0; i < s.Length; i++)
{
System.Diagnostics.Debug.WriteLine(s[i]);
}

If you executed those lines of code in a running application, you would see the following output in the Visual Studio Output window:

image

In the case of a string, these enumerable or array operations return a char (System.Char) rather than a string. That might lead you to believe that you can get around the string immutability restriction by simply treating strings as an array and assigning a new character to a specific index location inside the string, like this:

string s = "The quick brown fox";
s[2] = 'a';
 
However, if you were to write such code, the compiler will promptly tell you that you can’t do it:
image
This preserves the notion that strings are immutable and cannot be changed once they are created. (Incidentally, there is no built in way to replace a single character like this. It can be done but it would require converting the string to a character array, changing the appropriate indexed location, and then creating a new string.)

Wednesday, June 27, 2012 #

Windows 8 and Windows Metro style apps have a lot of potential, but only if application vendors realize there is a demand to see their app as a Metro style app and not just as a desktop app (or worse, only as an Android or iOS app). As consumers, the only thing we can do is be vocal about our desire to see these apps on Windows 8 as a Metro style app.

In an effort to raise awareness, I just launched WinMetro Requests. This is our opportunity to request Windows Metro style apps  and show those companies just how much interest there is for seeing their app as a Metro style app.

This site is running on UserVoice, so it allows you to easily submit application requests, add comments, and, more importantly, vote for your favorite applications to come to Windows as a Metro style app!

As I find out the status of requested applications, I will update the status of the request. If you know and have official communication from one of the companies indicating they will be or are working on a Windows Metro style app, please let me know and I'll update the status of the request after verifying (or at least trying to verify) the information.