KeyLimeTie Blog

Some Design Principles To Consider

By Brian Pautsch – 7/24/2007. Posted to Thoughts.

I came across an interesting set of principles that you might want to keep in mind the next time you set out to design an application, a website, or even improve your daily life. They are The Laws of Simplicity and were conceived by John Maeda, an artist and noted computer scientist from the MIT Media Lab. He compiled them in a short, 100-page book (and posted them on his website as well). I found them in a back issue of Wired magazine, in an article that applied them in a critique some new gadget. I have since found that they increasingly influence my own analysis of UIs and websites, and occassionally use them as the basis for discussions with clients to keep a design session on track.

The Laws are:

 1. Reduce - The simplest way to achieve simplicity is through thoughtful reduction of functionality.

 2. Organize - Organization makes a system of many appear fewer.

 3. Time - Savings in time feel like simplicity.

 4. Learn - Knowledge makes everything simpler.

 5. Differences - Simplicity and complexity need each other.

 6. Context - What lies in the periphery of simplicity is de?nitely not peripheral.

 7. Emotion - More emotions are better than less.

 8. Trust - In simplicity we trust.

 9. Failure - Some things can never be made simple.

10. The One - Simplicity is about subtracting the obvious, and adding the meaningful.

You can find a more detailed explanation of each law on his site

 

www.petermorano.com

 

 

Build an iPhone friendly webpage

By Brian Pautsch – 7/14/2007. Posted to Applications.

I just got the new iPhone and it's amazing. What you see it doing in the commercials is accurate...and it does a lot more! So right away, I want to know how to implement my own software. Maybe start developing some 3rd party applications. I researched a little and found out no iPhone Software Development Kit (SDK) is available. It seems like Apple is instead telling people to develop applications as webpages. But then you cannot actually interact with the iPhone...and you cannot access the iPhone database (Contacts, Favorites, etc.).

I searched a bit more and found the following sample webpage released by Apple:
http://developer.apple.com/samplecode/Puzzler/

View webpage with your iPhone:
http://www.iarchitect.net/Uploads/126/index.html

Note: When trying to view the webpage in a standard browser (IE, Firefox), it doesn't display much. The weird thing is that if you click "Print Preview", you'll see the game.

Description
"Puzzler" is a fun and interactive game that illustrates the use of web standards and JavaScript for the iPhone. This application makes advanced usage of mouse-handlers for user-input.

To play the game simply double-click or double-tap on any set of 2 or more balls of the same color that are touching. The balls will disappear and any balls above or to the left of the balls you just eliminated will shift into new positions. The goal is to clear all the balls from the screen.

Screenshots
Click any image to see a larger version

 
Navigate to iArchitect.net
 
Click into this Blog
 
Start Game
 
 
Tap circles with finger
 
All cleared. You win!

I Forgot The sa Account Password!

By Brian Pautsch – 7/12/2007. Posted to Applications.

At one time or another, we will all find ourselves trying to remember the sa password. Now, thanks to Rodney Landrum's article and the sp_help_revlogin stored procedure, there is an easy way to deal with this.

You can find his article here

 

www.petermorano.com

Use Dynamic Connection Strings MDAAB

By Brian Pautsch – 7/4/2007. Posted to Code Snippets.

I recently came across a situation where I needed to pass the Microsoft Data Access Application Blocks a dynamic connection string. Out of the box, the DAAB does not support this.

Solution: Create a simple method that accepts a connection string and return a Database object.

Code Before:
Database db = DatabaseFactory.CreateDatabase();

Code After:
Database db = CustomDatabaseFactory.CreateDatabase(connstring);


Class Code:
1using System;
2using System.Collections.Generic;
3using System.Data.Common;
4using System.Text;
5using Microsoft.Practices.EnterpriseLibrary.Data;
6namespace Satisfyd.DataAccessLayer
7{
8//This class is used to dynamically set the connection string
9//while using the Microsoft Data Application Blocks
10publicstaticclass CustomDatabaseFactory 11 { 12staticreadonly DbProviderFactory dbProviderFactory = 13 DbProviderFactories.GetFactory("System.Data.SqlClient"); 1415publicstatic Database CreateDatabase(string connectionString) 16 { 17returnnew GenericDatabase(connectionString, dbProviderFactory); 18 } 19 } 20}

Photos on Flickr

More Photos »

Search Blog


Archives