We All Have Design Needs

by Michael Khalili on December 15, 2009

People are always asking me if I know of a good graphic designer, and I do. I’ve worked with Gloria of Gray Tartlet on a variety of projects, from print to web. She’s responsible for the design of the Yappler.com Sync identity and application interface along with other parts of Yappler.com.

Over the past year Gray Tartlet designed several of my websites including MyContestSite.com, company business cards and elements of my personal identity like my @MichaelApproved Twitter background. These designs aren’t just prettier versions of my sketches. Gloria thinks through each project in order to present my ideas in the clearest, most usable way. Her designs truly complement my code.

See these projects and others at GrayTartlet.com and contact Gloria about your design needs.

GrayTartlet

{ 0 comments }

How I built MyContestSite.com

by Michael Khalili on November 22, 2009

I recently launched a new website called MyContestSite.com, a sweepstakes site that offers prizes to users who enter using their Twitter.com accounts. Sweepstakes will last anywhere from a few hours to a few days. The second $100 sweepstakes has just started and so far I have a few hundred entries (across both the first and second). Future prizes will include larger cash amounts, gift certificates or trendy items like an iTouch. Users have an option to send out a tweet announcing their entry but it’s not required.

[click to continue…]

{ 4 comments }

I have a long history of using Microsoft products. Back before Classic ASP was even a language, I used Visual Basic executables and CGI as a web backend. At the time Perl was the dominate language and writing code in the VB IDE vs Perl/Notepad was a no brainer. Then, with the release of ASP and ASP.NET, Microsoft started to dominate the web programming languages.

But over the past few years things have changed. PHP has exploded with developers picking it over ASP.NET. To a developer just starting out, PHP seems like the obvious choice at first glance. With cheap hosting and only a simple text editor, the time to write a Hello World page is almost nothing at all. Major open source projects like Wordpress make it fun to create plug-ins and websites like Facebook have an officially supported PHP library. When you compare that to the open source projects written in ASP.NET you find many just don’t compare and even, until recently, an abandoned .NET Facebook library (something I’ve been vocal about in the past).

Microsoft was focusing on enterprise and ignoring the enthusiast web developer

[click to continue…]

{ 12 comments }

Apple Changes App Store Links to be SEO Friendly

by Michael Khalili on November 15, 2009

I run Yappler.com, an iPhone App Directory. To build the website I had to create program which spiders iTunes data nightly. Digging through that data gives me a unique insight into what Apple does. I can compile stats on how app growth is doing and keep tabs on what their internal markup looks like (I get alerted quickly because any change affects my spider). [click to continue…]

{ 5 comments }

Incremental Count Using Alphanumeric Values

by Michael Khalili on October 14, 2009

I’m currently working on a website that needs a URL shortener. In order to have a good shortened URL I must make the most of the path after the domain. The common way to do this, as Bit.ly and others already do, is to have a mix of alphanumeric characters that increment each time a new URL has been created. I’m using Asp.Net and since there’s no built in function or an already published one, I created my own.

This function works by accepting a list of characters to use in the counting process. Each time a new value is needed the function increments the count by going to the next character in the array. I hope to have a lot of traffic so it’s important to be efficient and fast. The resulting code can run thousands of times in just a fraction of a second.
[click to continue…]

{ 0 comments }

Use Bit.ly to Expose Click Traffic of Tweets

by Michael Khalili on September 28, 2009

Bit.ly has become the de facto standard for URL shortening and I couldn’t be happier. It’s got a great API, simple web interface and a dashboard that keeps track of my shortened links. What I truly love about bit.ly is that it allows me to see how many clicks each shortened link generates. Not just the ones I shorten but any link created by anyone else. [click to continue…]

{ 3 comments }

Remove White Space in HTML Output

by Michael Khalili on September 28, 2009

If you’ve looked at the HTML source of an ASP.NET page you know there’s a ton of extra white space that isn’t necessary. If you’re concerned about page load speed and bandwidth you’ll want to remove all that extra space. Here’s some code you can use to reduce page size by an average of over 10%. I put this in my MasterPage file. [click to continue…]

{ 0 comments }

Textbox and Dropdown combined

by Michael Khalili on September 27, 2009

While creating a form for a project I wanted to give the user the option of either creating a new entry or selecting from an existing one. The standard way to do it is to give the user a textbox on one line and a dropdown on another. As with most forms, I wanted to limit the space used so the user wont get overwhelmed by the amount of data he needs to enter. My solution was to join the two objects as you can see in the following screen shot.

Working Demo / Example

Textbox-Dropdown-Combination-Screenshot [click to continue…]

{ 9 comments }

Scroll to Object Without Leaving Page

by Michael Khalili on September 27, 2009

The most common way to scroll a page is to link the user to a URL with #AnchorId at the end. This method allows the browser to handle everything and there is no code needed. For times when you need a solution using code I’m going to demonstrate two other methods with Javascript. [click to continue…]

{ 0 comments }

Object Position (Top and Left Offset) on a Page

by Michael Khalili on September 27, 2009

Retrieves the left and top offset of an object using Javascript. I got this from Peter-Paul Koch. His description is more extensive. [click to continue…]

{ 1 comment }