Friday, June 24, 2011

Coding Guidelines part2

Code Naming Basics

* It's include the naming of classes, methods,functions and other elements of a programmatic interfaces.

General Principles

Clarity

* Its is good to be both clear and brief as possible.

 * Clarity shouldn't suffer became of brevity  



* In general, don’t abbreviate names of things. Spell them out, even if they’re long:










Coding Guidelines part1

Coding Guidelines

Coding Guidelines 

* It will help you to make your interfaces constant and clear.
* It is also important with frameworks such as version, binary comparability, error handling and memory management.
This topic include information on both naming convention and recommended programming practices.

This article include the naming convention in two group.

Ist Group 

* Code naming Basics.
* Naming Methods.
* Naming  Functions.
* Acceptable Abbreviation and Acronyms.
*  Naming of Instance Variables and Data Types.

2nd Group 

* Tips and Tricks for developers.

read More about the Coding Guidelines 

Coding Guidelines part2

Friday, June 3, 2011

CGRectMake


Function name:- CGRectMake
===========
Declaration
===========
CGRectMake ( CGFloat x, CGFloat y, CGFloat width, CGFloat height );
===========
iOS (2.0 and later)
============
Returns a rectangle with the specified coordinate and size values.
x: The x-coordinate of the rectangle’s origin point.
y: The y-coordinate of the rectangle’s origin point.

width: The width of the rectangle.

height:The height of the rectangle.
Return Value

A rectangle with the specified location and dimensions.
Declaration:- CGGeometry.h
Reference :- CGGeometry Reference
Related API:- CGPointMake , CGSize
Related Documents:- MakeQuartz 2D ProgrammingGuide
Sample Code:-

Monday, May 16, 2011

Apple Push Notification Service

Apple Push Notification Service is available for applications on the following devices:

iPhone
iPad
iPod touch



Push Notification Service requires iOS 3.0 or later.
it requires  a  internet connection.

at least one application which supports the push notification service.


To Verify the Device supports push notifications

check

  Settings > Notifications.  menu


If this menu is not present the device is not support the apple push notification support. For get the Push notification service we need to update the ios version to 3.0 or later.

To receive  the  push notification from the server you need to open the application at least once.
If you want to disable the Push notification service you can disable the service. just go to    
Settings > Notifications. . 

The Apple push notification service also supports the following Features
 
 Sounds :- Alert sound or a music 
Alerts :- can display alert on the screen
Badges:- Display an image/number on the application screen.


Next:- Configure the Push notification Service.


Windows Phone 7 Development : Push Notifications - Understanding Push Notifications

Windows Phone 7 Development : Push Notifications - Understanding Push Notifications


The Windows Phone 7 platform provides developers with three types of push notifications: toast notifications, tile notifications, and raw notifications. All three types follow the same basic principles of operation and processing, yet differ in the way they display notifications. Toast and tile notification types are used only when the application is not running; raw notifications are used to continuously receive messages while the application is running in the foreground. Let's discuss each notification type in detail.


1. Toast Notifications

Toast notifications are displayed as overlays at the top of a phone's screen. Only a message title and a line of text can be controlled by the service or an application sending ("pushing") a toast notification; the icon that appears on the left side of a toast notification is the default icon for the application deployed on the Windows Phone 7 device. You can display toast notifications only when an application is not running; if an application is running when a toast notification is sent, it is not displayed on the phone screen.

Toast notifications are used to display information that is timely and urgent. An example of toast notification is shown in Figure 1, where it appears as "Time to buy..." text at the top of the phone screen. Here, a notification has been received about Microsoft stock becoming an attractive buy. If the user chooses to tap (or click) the toast notification, an application opens up, allowing users to take additional actions within the application.



2. Tile Notifications

Tile notifications can alter the contents of any application tile that is pinned to the Quick Launch area of the phone initial screen (also referred to as Start Experience/Start Screen in Microsoft documentation). Tile notifications are used to communicate information visually, by displaying, say, dark clouds with rain to represent a rapidly approaching storm. Generally, an application tile is a visual representation of an application and its contents or functionality. An application tile typically contains an icon and two strings, and tile notifications can change any of these elements, as well as the background of each tile. To change a tile's background image, a tile notification must include a URI that points to the new image, a URI that can be either local or cloud-based. The string at the bottom of an application tile is referred to as the tile title. The string in the middle and slightly to the right is referred to as the tile counter.

3. Raw Notifications

The third and final type of push notification is the raw notification, which can be used to continuously send messages or updates to a Windows Phone 7 application that is running in the foreground. Contrast this with toast and tile notifications, which are used to send updates to an application when it is not running front and center on the Windows Phone 7 device. Unlike toast and tile notifications, all raw notifications are dropped once an application is no longer running in the foreground on the Windows Phone 7 device. Raw notifications are an energy-friendly alternative to constantly polling web services for data; this type of push notification also eliminates the need to keep connections to web services open for prolonged periods of time.

Each notification type has its "niche," so to speak, or the specific application development scenarios it shines with more than the others. For instance, if an application receives updates only when it's actively used, such as a chat application, then a raw notification is the most appropriate mechanism for transmitting these updates. If an application is ideally suited to communicate updates via the use of visual elements on an ongoing basis, such as weather updates, sports events scores, or stock prices, tile applications are a more appropriate choice. Finally, if text-based messages are the most appropriate form of communication on an around-the-clock basis, such as e-mail receipts, Facebook friend requests, or news alerts, toast notifications would be most suitable.

Having taken a look at three available push notification types, let's turn our attention to the architecture of notification services, since knowing the architecture will help you better understand how to program and troubleshoot push notification services.

Table 1. Characteristics of Windows Phone Push Notification Types

PN Type Must Application Be Running in Foreground? Must Application Tile be Pinned to Start Screen? Use
Toast No No Urgent and time-sensitive data (e.g., storm warning)
Tile No Yes Updates (e.g., count of new messages)
Raw Yes No Continuous data (e.g., Twitter client, stock ticker)


Original Source

Tuesday, April 19, 2011

Oops concepts

1. Data Abstraction


It can be defined as "presenting the functionality to the USER without presenting the
COMPLEXITY of creation..."
For example, a class Car would be made up of an Engine, Gearbox, Steering objects, and many more components. To build the Car class, one does not need to know how the different components work internally, but only how to interface with them, i.e., send messages to them, receive messages from them, and perhaps make the different objects
composing the class interact with each other.

2. Encapsulation


Encapsulation is a process of binding or wrapping the data and the codes that operates on the data into a single entity. This keeps the data safe from outside interface and misuse. This is implemented using classes.

3. Data Hiding
Data Hiding is implemented with the help of access specifiers.
The data defined by the class are referred to as member variables or instance variables. The code that operates on that data is referred to as member methods or just methods, which define the use of the member variables. Each method or variable in a class may be marked public or private. The private methods and data can only be accessed by the code, that is a member of the class. The public method has all details essential for external users.

3. Polymorphism


To be simple it is " One thing in many different forms”. It comes in two flavors.
Static Polymorphism - compile time polymorphism.
Dynamic Polymorphism - Runtime polymorphism.

Compile Time Polymorphism includes Operator and Function overloading. Run Time Polymorphism includes the Virtual Functions.

Function Overloading
Polymorphism means that functions assume different forms at different times. In case of compile time it is called function overloading. Two or more functions can have same name but their parameter list should be different either in terms of parameters or their data types. The functions, which differ only in their return types, cannot be overloaded. The compiler will select the right function depending on the type of parameters passed.

Operator Overloading
In polymorphism operators can also be overloaded (Compile time polymorphism). Operator Overloading means giving different meaning to the operators. With the help of operator overloading standard operations such as + , - , * , etc can be applied on the objects of the class.

Virtual Functions
A virtual function is a member function of the base class and which is redefined by the derived class. When a derived class inherits the class containing the virtual function, it has ability to redefine the virtual functions.

4. Inheritance

Inheritance is the process by which one object acquires the property of another object.
For instance, a "fruit" is a generalization of "apple", "orange", "mango" and
many others. One can consider fruit to be an abstraction of apple, orange, etc. Conversely, since apples are fruit (i.e., an apple is-a fruit), apples may
naturally inherit all the properties common to all fruit, such as being a fleshy
container for the seed of a plant.
In object oriented programming, inheritance is a way to form new classes using classes that have already been defined. The new classes, known as derived classes, take over (or inherit) attributes and behavior of the pre-existing classes, which are referred to as base classes (or ancestor classes). It is intended to help reuse existing code with little or no modification.
5. Abstract Classes
Abstract classes are one of the essential behaviors provided by .NET. Commonly, you would like to make classes that only represent base classes, and don’t want anyone to create objects of these class types. You can make use of abstract classes to implement such functionality in C# using the modifier abstract. An abstract class means that, no object of this class can be instantiated, but can make derivations of this.
An example of an abstract class declaration is:
abstract class AbsClass
{
}
An abstract class can contain either abstract methods or non abstract methods. Abstract members do not have any implementation in the abstract class, but the same has to be provided in its derived class.
An example of an abstract method:
abstract class AbsClass
{
public abstract void abstractMethod();
}
Also, note that an abstract class does not mean that it should contain abstract members. Even we can have an abstract class only with non-abstract members.
For example:
abstract class AbsClass
{
public void NonAbstractMethod()
{
Console.WriteLine("NonAbstract Method");
}
}
Important rules applied to abstract classes:
An abstract class cannot be a sealed class.
Declaration of abstract methods is only allowed in abstract classes.
An abstract method cannot be private.
The access modifier of the abstract method should be same in both the abstract class and its derived class. If you declare an abstract method as protected, it should be protected in its derived class. Otherwise, the compiler will raise an error.
An abstract method cannot have the modifier virtual. Because an abstract method is implicitly virtual.
An abstract member cannot be static.


6. Interfaces
An interface defines a contract. A class or struct that implements an interface must adhere to its contract. An interface may inherit from multiple base interfaces, and a class or struct may implement multiple interfaces.

An Interface is a reference type and it contains only abstract members. Interface's members can be Events, Methods, Properties and Indexers. But the interface contains only declaration for its members. Any implementation must be placed in class that realizes them. The interface can't contain constants, data fields, constructors, destructors and static members.*All the member declarations inside interface are implicitly public.*If*some interface is inherited, the program must implement all its declared members.
The interface doesn't actually do anything but only has a signature for interaction with other classes or interfaces. A good analogy for an interface is a pencil and a pencil sharpener. When we talk of a pencil and a pencil sharpener we generally know what they do and how they interact. We don't have to know the inner workings of a particular sharpener or pencil, only how to use them through their interface.
*
public interface IPencil
{
void Write();
bool IsSharp { get; }
}
*
public interface IPencilSharpener
{
void Sharpen(IPencil pencil);
}
*
* While the compiler does not enforce it, for consistency with the .NET framework it's a good idea to name interfaces starting with a capital 'I'.*
An interface may be considered as abstract base class containing only the function signatures whose implementation is provided by the child class. In C#, you define such classes as interfaces using the interface keyword. .NET is based on such interfaces. In C#, where you can't use multiple class inheritance, which was previously allowed in C++, the essence of multiple inheritance is achieved through interfaces. That's how your child class may implement multiple interfaces.



An interface has the following properties:
An interface is similar to a pure abstract base class: any non-abstract type inheriting the interface must implement all its members.
An interface cannot be instantiated directly.
Interfaces can contain events, indexers, methods and properties.
Interfaces contain no implementation of methods.
Classes and structs can inherit from more than one interface.
An interface can itself inherit from multiple interfaces
Eg:
using System;
interface myDrawing
{
int originx
{
get;
set;
}
int originy
{
get;
set;
}
void Draw(object shape);
}

class Shape: myDrawing
{
int OriX;
int OriY;

public int originx
{
get{
return OriX;
}
set{
OriX = value;
}
}
public int originy
{
get{
return OriY;
}
set{
OriY = value;
}
}
public void Draw(object shape)
{
... // do something
}

// class's own method
public void MoveShape(int newX, int newY)
{
.....
}
}

7. Virtual Functions
A virtual function is a member function that you expect to be redefined in derived classes. When you refer to a derived class object using a pointer or a reference to the base class, you can call a virtual function for that object and execute the derived class's version of the function. Virtual functions ensure that the correct function is called for an object, regardless of the expression used to make the function call.
Suppose a base class contains a function declared as virtual and a derived class defines the same function. The function from the derived class is invoked for objects of the derived class, even if it is called using a pointer or reference to the base class.
Eg:
class Shape
{
public virtual void Draw()
{
Console.WriteLine("Shape.Draw") ;
}
}

class Rectangle : Shape

{
public override void Draw()
{
Console.WriteLine("Rectangle.Draw");
}
}

class Square : Rectangle
{
public override void Draw()
{
Console.WriteLine("Square.Draw");
}
}
class MainClass
{
static void Main(string[] args)
{
Shape[] shp = new Shape[3];
Rectangle rect = new Rectangle();

shp[0] = new Shape();
shp[1] = rect;
shp[2] = new Square();

shp[0].Draw();
shp[1].Draw();
shp[2].Draw();
}
}
Output:
Shape.Draw
Rectangle.Draw
Square.Draw

Objects










An identifiable entity which has its own properties and behaviors.
Everything we see around us are objects. 
eg:- BOOK




Book has Properties
  1. width
  2. height
  3. no. of pages
  4. title

behaviors
  1. turn pages


Mobile-phone has
Properties
  1. display-screen
  2. resolution
  3. keypad
  4. price
  5. ring-tone

behaviors
  1. receive call
  2. make call
  3. ring
  4. switch on/switch off

The properties makes it appear as a mobile-phone. (Determines its state)
The behaviors makes it behave like mobile-phone. (Makes state-change)


all ring switch on/switch off

The properties makes it appear as a mobile-phone. (Determines its state)
The behaviors makes it behave like mobile-phone. (Makes state-change)








Object-Oriented Programming

lesson 3


A computer-programming methodology that focuses on data items rather than processes. 

The object-oriented approach focuses first on the data items (entities, objects) that are being manipulated. 

The emphasis is on characterizing the data items as active entities which can perform operations on and for themselves. 

It then describes how system behavior is implemented through the interaction of the data items.

Procedural Programming

Lesson 2

Procedural Programming
Procedural programming is a programming paradigm based upon the concept of the modularity and scope of program code.

A main procedural program is composed of one or more modules either written by the same programmer or provided in a code library by another programmer.

Each module is composed of one or more subprograms (functions).

Procedural programming offers many benefits over simple sequential programming since procedural code:
is easier to read and more maintainable 
is more flexible 
facilitates the practice of good program design 




Introduction to OOP


Lesson 1
Object Oriented Programming

Paradigm
The way of approaching a problem. 

A programming paradigm means a style of programming. A programming paradigm provides (and determines) the view that the programmer has of the execution of the program.

A programming paradigm is a style or model of programming that affects the way programmers can design, organize and write programs. 

Tuesday, December 28, 2010

Become a Windows Keyboard Shortcut Ninja! Learn and show off.

Become a Windows Keyboard Shortcut Ninja! Learn and show off.
http://bit.ly/9Vfg8z

Windows system key combinations

  • F1: Help
  • CTRL+ESC: Open Start menu
  • ALT+TAB: Switch between open programs
  • ALT+F4: Quit program
  • SHIFT+DELETE: Delete item permanently
  • Windows Logo+L: Lock the computer (without using CTRL+ALT+DELETE)

Windows program key combinations

  • CTRL+C: Copy
  • CTRL+X: Cut
  • CTRL+V: Paste
  • CTRL+Z: Undo
  • CTRL+B: Bold
  • CTRL+U: Underline
  • CTRL+I: Italic

Mouse click/keyboard modifier combinations for shell objects

  • SHIFT+right click: Displays a shortcut menu containing alternative commands
  • SHIFT+double click: Runs the alternate default command (the second item on the menu)
  • ALT+double click: Displays properties
  • SHIFT+DELETE: Deletes an item immediately without placing it in the Recycle Bin

General keyboard-only commands

  • F1: Starts Windows Help
  • F10: Activates menu bar options
  • SHIFT+F10 Opens a shortcut menu for the selected item (this is the same as right-clicking an object
  • CTRL+ESC: Opens the Start menu (use the ARROW keys to select an item)
  • CTRL+ESC or ESC: Selects the Start button (press TAB to select the taskbar, or press SHIFT+F10 for a context menu)
  • CTRL+SHIFT+ESC: Opens Windows Task Manager
  • ALT+DOWN ARROW: Opens a drop-down list box
  • ALT+TAB: Switch to another running program (hold down the ALT key and then press the TAB key to view the task-switching window)
  • SHIFT: Press and hold down the SHIFT key while you insert a CD-ROM to bypass the automatic-run feature
  • ALT+SPACE: Displays the main window's System menu (from the System menu, you can restore, move, resize, minimize, maximize, or close the window)
  • ALT+- (ALT+hyphen): Displays the Multiple Document Interface (MDI) child window's System menu (from the MDI child window's System menu, you can restore, move, resize, minimize, maximize, or close the child window)
  • CTRL+TAB: Switch to the next child window of a Multiple Document Interface (MDI) program
  • ALT+underlined letter in menu: Opens the menu
  • ALT+F4: Closes the current window
  • CTRL+F4: Closes the current Multiple Document Interface (MDI) window
  • ALT+F6: Switch between multiple windows in the same program (for example, when the Notepad Find dialog box is displayed, ALT+F6 switches between the Find dialog box and the main Notepad window)

Shell objects and general folder/Windows Explorer shortcuts

For a selected object:
  • F2: Rename object
  • F3: Find all files
  • CTRL+X: Cut
  • CTRL+C: Copy
  • CTRL+V: Paste
  • SHIFT+DELETE: Delete selection immediately, without moving the item to the Recycle Bin
  • ALT+ENTER: Open the properties for the selected object

To copy a file

Press and hold down the CTRL key while you drag the file to another folder.

To create a shortcut

Press and hold down CTRL+SHIFT while you drag a file to the desktop or a folder.

General folder/shortcut control

  • F4: Selects the Go To A Different Folder box and moves down the entries in the box (if the toolbar is active in Windows Explorer)
  • F5: Refreshes the current window.
  • F6: Moves among panes in Windows Explorer
  • CTRL+G: Opens the Go To Folder tool (in Windows 95 Windows Explorer only)
  • CTRL+Z: Undo the last command
  • CTRL+A: Select all the items in the current window
  • BACKSPACE: Switch to the parent folder
  • SHIFT+click+Close button: For folders, close the current folder plus all parent folders

Windows Explorer tree control

  • Numeric Keypad *: Expands everything under the current selection
  • Numeric Keypad +: Expands the current selection
  • Numeric Keypad -: Collapses the current selection.
  • RIGHT ARROW: Expands the current selection if it is not expanded, otherwise goes to the first child
  • LEFT ARROW: Collapses the current selection if it is expanded, otherwise goes to the parent

Properties control

  • CTRL+TAB/CTRL+SHIFT+TAB: Move through the property tabs

Accessibility shortcuts

  • Press SHIFT five times: Toggles StickyKeys on and off
  • Press down and hold the right SHIFT key for eight seconds: Toggles FilterKeys on and off
  • Press down and hold the NUM LOCK key for five seconds: Toggles ToggleKeys on and off
  • Left ALT+left SHIFT+NUM LOCK: Toggles MouseKeys on and off
  • Left ALT+left SHIFT+PRINT SCREEN: Toggles high contrast on and off

Microsoft Natural Keyboard keys

  • Windows Logo: Start menu
  • Windows Logo+R: Run dialog box
  • Windows Logo+M: Minimize all
  • SHIFT+Windows Logo+M: Undo minimize all
  • Windows Logo+F1: Help
  • Windows Logo+E: Windows Explorer
  • Windows Logo+F: Find files or folders
  • Windows Logo+D: Minimizes all open windows and displays the desktop
  • CTRL+Windows Logo+F: Find computer
  • CTRL+Windows Logo+TAB: Moves focus from Start, to the Quick Launch toolbar, to the system tray (use RIGHT ARROW or LEFT ARROW to move focus to items on the Quick Launch toolbar and the system tray)
  • Windows Logo+TAB: Cycle through taskbar buttons
  • Windows Logo+Break: System Properties dialog box
  • Application key: Displays a shortcut menu for the selected item

Microsoft Natural Keyboard with IntelliType software installed

  • Windows Logo+L: Log off Windows
  • Windows Logo+P: Starts Print Manager
  • Windows Logo+C: Opens Control Panel
  • Windows Logo+V: Starts Clipboard
  • Windows Logo+K: Opens Keyboard Properties dialog box
  • Windows Logo+I: Opens Mouse Properties dialog box
  • Windows Logo+A: Starts Accessibility Options (if installed)
  • Windows Logo+SPACEBAR: Displays the list of Microsoft IntelliType shortcut keys
  • Windows Logo+S: Toggles CAPS LOCK on and off

Dialog box keyboard commands

  • TAB: Move to the next control in the dialog box
  • SHIFT+TAB: Move to the previous control in the dialog box
  • SPACEBAR: If the current control is a button, this clicks the button. If the current control is a check box, this toggles the check box. If the current control is an option, this selects the option.
  • ENTER: Equivalent to clicking the selected button (the button with the outline)
  • ESC: Equivalent to clicking the Cancel button
  • ALT+underlined letter in dialog box item: Move to the corresponding item
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use (http://go.microsoft.com/fwlink/?LinkId=151500) for other considerations.

Wednesday, December 15, 2010

User Instructions:

I recently had the privilege of being able to use one the Surface tables in an AT&T store in Washington, DC. The applications were specific to AT&T but I was able to set a cell phone on
he surface and watch as the data appeared on the screen. I could pull opposite corners of a picture to enlarge it. I brought up the service area map and then was able to go to South Carolina and magnify it all the way down until I could see my street. I was able to manipulate the data that was extracted all with the touch of my fingertips. I was able to do this while another customer was standing on the other side processing their own research of the AT&T phones.
With the scenario I would like to see evolve, the instructions would be pretty simple. There would be a central Surface in each classroom operated by the teacher. Each student’s desk top would be replaced by a multi-touch surface which would be linked to the teacher’s Surface. Each student would have a username and password and their data or work would be stored on a central server so that they could access it from any Surface in the school. Once they log in at their desk, they would continue as if it were a regular computer and follow along as the teacher goes through the daily lessons.
Additional Information: Microsoft Surface: http://www.microsoft.com/surface/index.html

Implementation Factors:

Microsoft Surface is a table-like structure with a 30-inch display screen centered on the top or “surface” of the table. The software runs on Windows Vista and has many type of connection capabilities depending on your needs, such as a regular network card (wired Ethernet 10/100), wireless network card (wireless 802.11 b/g), and Bluetooth card connectivity (used for headphone, printer, etc. connections). As far as technology support, each school would need to have a full time network administrator on site along with team of additional IT support. The increase in number of users would need to be addressed prior to implementing these into all classrooms. The ideal situation would be to have “dumb terminals”, i.e. each desk would be a Surface minus the CPU. The information would not be stored locally. The teacher would have the main Surface and the students’ smaller Surfaces would link to the teacher’s. The student’s information and data would be stored on the school’s central server so that as they move from class to class they can still access their information. For additional software capabilities the school would need to purchase a server license so that any computer connected to that server would have access to the software.

Relative NETS Standards:

The following standard is addressed with the use of multi-touch technology: Communication and Collaboration: Students use digital media and environments to communicate and work collaboratively, including at a distance, to support individual learning and contribute to the learning of others. Students:
a.    Interact, collaborate, and publish with peers, experts, or others employing a variety of digital environments and media.
b.    Communicate information and ideas effectively to multiple audiences using a variety of media and formats.
c.    Develop cultural understanding and global awareness by engaging with learners of other cultures.
d.    Contribute to project teams to produce original works or solve problems. The design of the multi-touch technologies promotes group work and team building activities. It allows four students to sit at it comfortably with one on each side and enables the students to work collaboratively on a project or they can work individually each on a different piece of the project while using the same Surface.

Education Implications:

•    Today’s computers allow you to have multiple applications in multiple windows but they probably only have one keyboard and mouse which means only one person can operate at a time. These Surfaces engage the senses, improve collaboration, and empower the students by having everything available to them at their finger tips.
•    Interactive Classrooms: The multi-touch surface computers will encourage the students to interact with content and each other promoting group work and team building skills.
•    Students would have custom built hardware where they can create their assignments and teachers may be able to see it instantly and help the students.
•    Students sitting around the table may open a file, push it across, drag it, modify it, let another student add or delete information and then save the document. •    In a photography class, the students could share their images instantly.
•    In an art class, one student could be painting with a paint brush while another is drawing with her finger. Both the paint brush and the finger would be recognized.
•    In Business classes, specifically accounting, having access to a computer right at your finger tips will help the students learn faster and comprehend on a higher level I believe. It’s a lot easier to follow along on an Excel spreadsheet when you can highlight the cell and see for yourself what the formula is or where that amount came from. Allowing students the ability to actively participate while teaching them about constructing a balance sheet will make it easier for the students to not only comprehend the material but also retain the material in my opinion.
•    In a geography class each student could find a specific location and the maps could be displayed instantly.
•    Teachers would not have to worry about finding space in a computer lab in order for the students to create projects or conduct research.
•    Students could share podcasts or other information related to a certain project that they have saved to their flash drive just by laying the device on the surface.

Technical Aspects/Features:


These all have the same basic framework using cameras to sense objects, hand gestures, and touch. The user input is then processed and displayed on the surface using rear projection. The following is a diagram of the Microsoft Surface (Figure B) and an explanation of the parts.
1) Screen: The Surface has an acrylic tabletop which a diffuser makes capable of processing multiple inputs from multiple users. Objects can also be recognized by their shapes or reading coded tags.
2) Infrared: Infrared light is projected onto the underside of the diffuser. Objects or fingers are visible through the diffuser by series of infrared-sensitive cameras which are positioned underneath the surface of the tabletop.
3) CPU – This is similar to a regular desktop. The underlying operating system is a modified version of Microsoft Vista.
4)    Projector – The Surface uses the same DLP light engine in many rear-projection tvs.

Application:

The following is an example of a possible application using Microsoft Surface:
1)    On the left you have your device which has stored your information. 2)    On the right you have your friend’s
device which has stored his/her
information. 3)    In the center it’s showing how you
can pull the information needed from each device and compile it to complete the final project.

Microsoft Surface

http://www.microsoft.com/surface/index.html
Defined:
Microsoft Surface is an interactive table top that can do everything a network computer can do plus more without using a keyboard or a mouse. There are four key features: direct interaction, multi-touch ability, multi-user ability, and object recognition. Direct interaction allows you to touch or grab digital information with your hands and use natural gestures to open, grasp, and command virtual objects, pages and images. The multi-touch feature enables the Surface to recognize many points of contact simultaneously so you can enlarge an image by touching the opposite corners and dragging them outwards. Along with the multi-touch feature, the shape and design of the Surface allows for multi-users at once, therefore, the user sitting across from you can be doing something completely different or independent of you. The last key feature, object recognition, enables the system to identify physical objects just by setting them on the Surface and to respond by displaying the appropriate software related to that item. Currently, Microsoft Surface is being marketed and sold directly to large scale leisure, entertainment and retail companies, such as AT&T in various cities, Rio in Las Vegas, and Sheraton Hotels in various cities. The image below of a part of the order form shows the pricing information (Figure A).
Other multi-touch technologies exist such as Jeff Han’s multi-touch wall which has demonstrated similar abilities as the Surface but is larger in size and costs around $100,000 and the SMART multi-touch tables, which have been referred to as “Surface Jr,” coming available next year for somewhere between $7,000 and $8,000. Even though the SMART multi-touch tables are very similar to the Microsoft Surface, two differences are that they are not quite as responsive and have a kid-proof plastic screen.

What are multi-touch surfaces?

Multi-touch surfaces allow for a device to recognize two or more simultaneous touches by more than one user. Some have the ability to recognize objects by distinguishing between the differences in pressure and temperature of what is placed on the surface. Depending on the size and applications installed in the surface, two or more people can be doing different or independent applications on the device. Multi-touch computing is the direct manipulation of virtual objects, pages, and images allowing you to swipe, pinch, grab, rotate, type, and command them eliminating the need for a keyboard and a mouse. Everything can be done with our finger tips.

Monday, December 6, 2010

How to Make Your PC as Fast as the Day you Bought It

How to Make Your PC as Fast as the Day you Bought It


One of the most frustrating things in life is a slow computer.
Every few years, we buy an expensive new PC and love how fast it starts up, runs programs, and loads web sites.  Inevitably, though it starts to slow down, until eventually we are pulling our hair out waiting for it to do routine tasks.
Why is this? It turns out the answer is actually quite simple and you don't even need to be "technical" to understand the causes and solutions.
The good news, it's not the computer hardware that's the problem.  In most cases the hardware you have is perfectly capable of being restored to its original glory and kept in fast running condition with minimal effort.
Rather, the problem lies with changes that occur to the PC's software. The 2 most common causes of slowdown (along with easy solutions) are:
Registry errors  -  the most common problem
Every time you (or your kids) load a program, game or file, your PC's software registery is updated with new instructions needed to operate that item.  However, when the item is removed, these instructions usually remain on your PC.  Every time you run your computer it tries to execute these instructions but, because the related program can't be found, it causes a registry error.  Your PC is doing a lot more work than it should be and the result is a significantly slower computer.
One of the best ways to manage this is with a neat little tool from a Seattle based company called the Advanced Registry Optimizer 2010 (ARO for short).  This program scans, identifies and fixes registry errors - resulting in a computer that's a lot more like it was when you first bought it.  On top of the amazing results it offers, it's so easy to install and use that it was recently awarded a coveted 4.5 star rating (out of 5) by CNET's editorial staff.
You can now get a free working version of the software which will quickly scan your entire PC and identify all of the registry errors that may be bogging it down.  The free version eliminates the first 100 errors and if you have more errors that you want to clean-up or want to set the program to run on a regular basis (recommended) you can easily upgrade to the full version for just $29.95.  After that registry errors will no longer be a problem.
To get the free version simply click here.
Spyware and viruses
Spyware and viruses are software programs that are loaded on your computer without your knowledge or permission.  They have various purposes, including:
  • Changing the default search engine in your browser
  • Tracking your web surfing habits and showing you targeted advertising
  • Using your email program to send out spam to other email addresses
  • Stealing your personal information
Most spyware and viruses get onto our computers through files that we download from the internet or as attachments to emails.  They tend to take up a lot of computing power and as a result will significantly slow down the computer.
The simple rule of thumb to follow is to never download any free software programs from companies you do not know and trust, especially screensavers, emoticons and the like.  In addition, you should never open any attachment to an email unless you are 100% certain you know and trust the sender. In addition, make sure you have a good anti-virus / spyware removal software running at all times.
Follow the above advice and your PC should stay fast and safe.