NEWS

Tuesday, September 4, 2012

Calling an exe from Windows Service


Some times we may need to call an exe from our windows service program. The following code can be used to call an exe from an appication. The sample code is for VB.NET applications. Here the calculator (calc.exe) is called.

Dim startInfo As System.Diagnostics.ProcessStartInfo

Dim pStart As New System.Diagnostics.Process
'Start the process
startInfo = New System.Diagnostics.ProcessStartInfo("calc.exe")
pStart.StartInfo = startInfo
pStart.Start()
pStart.WaitForExit()
pStart.Close()
Here
pStart.WaitForExit() makes your application wait till the called exe is closed.
pStart.Close() will free all the resources that are associated with this component.
This will work if you are using a windows Application. But in a windows service this will not work straight, you need to change some setting for the windows service. A service won't be able to show the GUI of an application, so if the application you are calling has any GUI you won't be able to see it. But the process will get kicked off and you can see the evidence in TaskManager. But we can enable the service to popup the UI by enabling this settings.
Allow Services to interact with desktop
  1. Start -> Run -> Services.msc
  2. Locate the services which you have created
  3. Right click and select properties.
  4. Select "Log On" tab on the top of the screen
  5. Select "Allow Services to interact with desktop" check box.
  6. Click on "Apply" and start the services.
If you want to kill an application during Windows Service Stop, try the following code
Dim myProcess As Process
Dim myProcesses As Process() = Process.GetProcessesByName("calc")
For Each myProcess In myProcesses
myProcess.Kill()
Next

Monday, August 13, 2012

Windows 7 trick: unlock the secret God Mode folder

So, what exactly is God Mode in Windows 7? 

Well, for starters, it's not really a mode. And it's nothing you need to be a deity to pull off, either.

Rather, it's a folder packed with shortcuts to just about every settings change and administrative function in Windows 7. Everything you'll find in the Action Center, Backup and Restore, Autorun, Desktop Gadgets, Devices and Printers -- it's all there. All dumped in one central location for easy access.

No, this trick doesn't involve entering IDDQD in the run box - but it's just about that simple. Here's the magic, as provided by the guys at Windows 7 Themes:
  • Create a new folder anywhere (I set mine up in d:\)
  • Rename the folder and paste in the following text: GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}
That's it! You've now got your new, somewhat handy folder. Why somewhat handy? Well, because you can already access everything in there by typing a few letters into the search box on your start menu. 

Friday, July 20, 2012

Free E-book: Time-Saving VS11 and ASP.NET 4.5 Features You Shouldn’t Miss

Thursday, July 19, 2012

SQL Server: Easily detect if a table or other object exists


Generally people write as below to check whether table or object exists:


IF  EXISTS (SELECT * FROM sys.objects
WHERE object_id = OBJECT_ID(N'[dbo].[TableName]')
AND type in (N'U'))
  DROP TABLE [dbo].[TableName];

However, this is more complicated than needed. You can just do this:

IF Object_ID('dbo.TableName', 'U') IS NOT NULL DROP TABLE dbo.TableName;

The second parameter of Object_ID accepts any value from the xtype column of the sysobjects table. U is for user table.

To check for temp tables and temp stored procedures, do this:

IF Object_ID('tempdb.dbo.#TableName', 'U') IS NOT NULL DROP TABLE #TableName;

Wednesday, July 18, 2012

How to Set Auto file transfers between Dropbox and Android devices?


Transfer files between Dropbox and Android devices using Cloudpipes
Cloud storage has provided a new direction in terms of file sharing and saving, initially it was really hard job to carry along important files but now with cloud storage you can access your files any where irrespective of the devices. Moreover you can easily share your media files and other documents as well. Dropbox is an effective tool to store and share different types of files. Cloudpipes is an application which provides auto-file transfer between Dropbox andAndroid devices. Let’s see how can we do it?


  • Install Cloudpipes here
  • Run the application and sign in using Dropbox user-name and password.
  • Tap the menu and choose Add Pipe.
  • Give a name to your pipe, choose Download to transfer files from Dropbox to your Android device or select Upload to do the reverse.
  • Choose your Source and Destination folder.
  • Choose from the options, whether to Copy Files or to Move them from the source to the destination folder.
  • You can also Filter your files and organize them in terms of file type.
  • Schedule your file transfers. (If you set it to run more often, your battery will run out quickly as well)
  • Hit Save and your new Pipe has been created, you can change its settings whenever you want.
  • Get back to Main Screen, Choose Menu button and hit Settings. You can save your battery and data usage by choosing options such as “Connect only on Wi-Fi” or “Connect only when plugged in”. Furthermore you can change your default download directory and Notification settings here as well.

Thursday, June 28, 2012

Page Processing and events in asp.net


Processing Page Requests
When an initial request for a page (a Web Form) is received by ASP.NET, it locates and loads the requested Web Form (and if necessary compiles the code). It is important to understand the sequence of events that occurs when a Web Forms page is processed. This knowledge will help you program your Web Forms pages and Web applications more effectively.
As described before, initial page requests are relatively simple. The real work gets done when a page is submitted to itself - and a postback request is generated. Here are a few notes on postback requests:
  • The current value of every control on a Web Form is contained in the postback request. This is referred to as the Post Data
  • The content of the ViewState is also contained in the Post Data. ViewState holds theoriginal property values of every control on a Web Form - before the user made any changes
  • If a postback was caused, for example, by a button click, Post Data is used to identify the button that caused the postback
Postback Event Processing Sequence
Here are the events (and the order) that are raised when a Button is clicked and a postback occurs:
  1. Page.Init + Control.Init for every control on the Web Form
    The first stage in the page life cycle is initialization. After the page's control tree is populated with all the statically declared controls in the .aspx source the Init event is fired. First, the Init event for the Page object occurs, then Init event occurs for each control on the Page. Viewstate information is not available at this stage.
  2. Page.LoadViewState
    After initialization, ASP.NET loads the view state for the page. ViewState contains the state of the controls the last time the page was processed on the server.
  3. Page.ProcessPostData
    Post Data gets read from the request and control values are applied to control initalized in stage 1.
  4. Page.Load + Control.Load for each control on the Page
    If this is the first time the page is being processed (Page.IsPostback property), initial data binding is performed here.
  5. "Change" events are fired for controls (TextChanged, SelectedIndexChanged, and similar)
    The current value (from Post Data) is compared to the original value located in the ViewState. If there is a difference "Changed" events are raised.
  6. Server-side events are fired for any validation controls
  7. Button.Click + Button.Command
    The Click and Command events are fired for the button that caused the postback
  8. Page.PreRender + Control.PreRender
  9. Page.SaveViewState
    New values for all the controls are saved to the view state for another round-trip to the server.
  10. Page.Render
A more detailed explanation of the postback processing can be found in the "The ASP.NET Page Object Model - One Day in the Life of an ASP.NET Web Page" article.
"Learn about the eventing model built around ASP.NET Web pages and the various stages that a Web page experiences on its way to HTML. The ASP.NET HTTP run time governs the pipeline of objects that transform the requested URL into a living instance of a page class first, and into plain HTML text next. Discover the events that characterize the lifecycle of a page and how control and page authors can intervene to alter the standard behavior"
ViewState - the all mighty!
As you can see from the postback steps, the ViewState has a major role in ASP.NET. Viewstate is a collection of name/value pairs, where control's and page itself store information that is persistent among web requests.
"Understanding ASP.NET View State" looks at how an ASP.NET page maintains its state changes across postbacks, examining:
  • The ASP.NET Page Life Cycle
  • The Role of View State
  • The Cost of View State
  • How View State is Serialized/Deserialized
  • Specifying Where to Store the View State Information (see how to store it in a file on the Web server rather than as a bloated hidden form field)
  • Programmatically Parsing the View State
  • View State and Security Implications
Note: if you need to examine the ViewState while debugging, try the Page ViewState Parsers

Show Page Load Time in Web Pages

When testing performance for an individual ASP.NET page, it's often useful to be able to see how long the page took to render.  The bar-none easiest way to achieve this is to simply add Trace="true" to the <%@ Page %> directive, which will yield results like this:
However, often times this won't play nicely with CSS on the page, so you can achieve similar results on a separate URL by adding to your web.config's section.  Then, simply navigate to your web application folder path and add /trace.axd to the request and you'll be able to choose from a list of requests.
In addition to the timings, the trace output also shows a ton of other stuff, which sometimes is more than you need and can be distracting if all you really care about is how fast the page loaded.  To achieve something "good enough" for most purposes, you can add something like the following to your base page class or master page:
DateTime startTime = DateTime.Now;
protected override void OnPreRender(EventArgs e)
{
    base.OnPreRender(e);
    this.LoadTime.Text = (DateTime.Now - startTime).TotalMilliseconds.ToString();
    this.ServerTime.Text = DateTime.Now.ToString();
}

This example is from a master page that includes the following in its markup:
<div id="footer">Load Time: <asp:Literal runat="server" ID="LoadTime" /> ms<br />
Server Time:  <asp:Literal runat="server" ID="ServerTime" /><br />

This approach doesn't include some of the time spent on rendering logic, but does include everything else the page is doing, such as expensive calls to web services, the file system, or the database, and so it does a good job of showing whether or not changes to such access are improving the overall page load time (or not).
Phil Haack has an alternative approach that uses an HttpModule to insert the page load time into the page's HTML.  The code as written can have some issues with JSON callbacks from UpdatePanels, but some of the comments on the post describe techniques to avoid this.  The nice thing about an HttpModule is that you don't need to duplicate the code in other projects or pages.  Once you have your own HttpModule for doing page timing, you can add it to any projects you like, and it's easily included in developer builds and not in production builds through the use of separate web.config files in each environment (which in all likelihood is already in place).
It's also worth noting that Phil's example uses the System.Diagnostics.Stopwatch class, which provides greater accuracy than simply comparing DateTimes directly.  For something like this, where we're looking at full page load times, the extra accuracy is typically not needed, but it's an important class to know about for when you're timing small bits of code to try and determine which is faster down to a few milliseconds (or less).  On some systems the Stopwatch may not be any faster - you can check if the currently running environment supports higher resolution timing by using the IsHighResolution property.


Friday, June 15, 2012

Simulating ItemCommand Event


Simulating ListView’s ItemCommand Event

Data controls in asp.net like GridView, DataList, Repeater, ListView,… are having an event called ItemCommand.
This event will raise whenever any button, linkbutton,… are clicked.
But my requirement is to call the ItemCommand event whenever the ListView.Databind() is done.
Below is the procedure I followed for that.
System.Web.UI.WebControls.LinkButton lnkbtn = (System.Web.UI.WebControls.LinkButton)lvMyAlbums.Items[0].FindControl("lnkAlbum");
            ListViewCommandEventArgs ev = newListViewCommandEventArgs(lvMyAlbums.Items[0], lnkbtn, newCommandEventArgs(lnkbtn.CommandName, lnkbtn.CommandArgument));
            // Call ItemCommand handler
            lvMyAlbums_OnItemCommand(lvMyAlbums, ev);

Similary we can simulate grid ItemCommand as shown below:

LinkButton lnk = (LinkButton)RadGridPeople.Items[0].FindControl("lnkPeopleName");
                     GridCommandEventArgs ev = new GridCommandEventArgs(RadGridPeople.Items[0], lnk, new CommandEventArgs(lnk.CommandName, lnk.CommandArgument));
                     RadGridPeople_ItemCommand(RadGridPeople, ev);

Tuesday, June 5, 2012

Xbox SmartGlass


What Is Xbox SmartGlass?

As expected, Microsoft just announced something called SmartGlass at E3. Less expected? Just how awesome SmartGlass turned out to be. What could have been just an Apple AirPlay imitation, is something more ambitious. Something that could change television forever. But what is it, exactly?
It's the lifeline that'll make your dumb TV smart.

SmartGlass is an app...

SmartGlass is a new app that turns your phone or tablet into another screen for your TV, another controller for a game, a companion feature for a show, a remote control for the Internet and more. More importantly, it'll work with iOS, Android and Windows, so you won't need to buy new hardware to fit into its ecosystem.

...that connects your phone, tablet or computer with your Xbox 360...

SmartGlass does more than just push video and audio around. It turns the Xbox 360 into the beating heart of a multi-screen media experience in your living room. A tablet, phone or computer running SmartGlass essentially becomes a second and third screen for your TV.
A concrete example: As Game of Thrones was being shown on the TV via Xbox 360, a SmartGlass-enabled tablet displayed a map of Westeros and other relevant information about the show. Content can either be pushed from the tablet/phone/computer to the 360, or from the 360 directly to the TV. SmartGlass connects all of those devices to make content engrossing on multiple levels. Your individual devices don't have to ignore each other, they'll work together to entertain you more.

...and works with games, movies, TV shows and the Internet..

But SmartGlass can be used with more than just movies and TV shows. Microsoft also showed how a gamer could use a tablet as a separate playbook while playing Madden on the Xbox. Even further, Microsoft will finally bring Internet Explorer to the Xbox, with SmartGlass turning your phone into mouse. Sure, it's silly to surf the web on your television with an old and gray keyboard and mouse setup—unless the keyboard and mouse are your phone and tablet.

...to make your living room a lot smarter...

Microsoft very clearly wants to make the Xbox 360 the center of your living room transformation. It's the hub that powers everything. But if the Xbox 360 is the heart and the brain, SmartGlass gives users the limbs needed for a full functional, self-sufficient media beast. Combined with the Xbox's growing dominance as a top-flight streaming box, and you've got yourself a potentially very powerful monster.

...and it's all because of the Xbox.

If you think about it, Microsoft's vision of the living room of the future is a throwback to what the company has already known and mastered: the PC. It's smartening up the living room by using the Xbox as the PC, the TV as the monitor, the phone and tablet as the keyboard and mouse, Kinect as its futureproof wild card technology. SmartGlass, then, plays the role of Windows, seamlessly connecting everything.
But the real key to SmartGlass is its openness. Bring your own tools, Microsoft is saying. It doesn't matter. Because however you control it, all that really matters is the Xbox. And that's all Microsoft.

Thursday, April 19, 2012

how to clear/manage remembered passwords on windows


How to Manage Stored User Names and Passwords

NOTE If you use an administrative account to log on the computer, follow these steps:
  1. Click Start, and then click Control Panel.
  2. In Control Panel, click User Accounts under Pick a category to open the User Accounts dialog box appears.
  3. On the Users tab, click the user that you want, and then click the Advanced tab.
  4. Click the Manage Passwords button to open the Stored User Names and Passwords dialog box. A list of stored user names and passwords similar to the following may appear:
    *.Microsoft.com
    Passport.Net\*(Passport)
If you use a restricted user account to log on the computer, follow these steps:
  1. Click Start, click Run, type Control Userpasswords2, and then press ENTER.

    Note The following message may occur:
    You must be a member of the Administrators group on this computer to open User Accounts. You are logged on as user name, and this account is not a member of the Administrators group.
    In this condition, you are required to type the user name and password when the system prompts the dialog box to type the user name and password of the administrator of the computer.
  2. Click the Advanced tab, and then click Manage Passwords.

To Add an Entry

  1. In the Stored User Names and Passwords dialog box, click Add to open the Logon Information Properties dialog box.
  2. In the Server box, type the name of the server or share that you want. You can use an asterisk as a "wildcard" character. The following example entries are valid server names:
    *.Microsoft.com
    \\Server\Share
  3. In the User name box, type the name of the user account that has permission to access the resource. Type the user name in the Server\User or User@domain.com name format. The following are examples of valid user name entries:
    Microsoft\User
    User@microsoft.com
  4. In the Password box, type the password for the user that you entered in step 3, and then click OK.
  5. In the Stored User Names and Passwords dialog box, click Close.

To Remove an Entry

  1. In the Stored User Names and Passwords dialog box, click the credential that you want, and then click Remove. The following message is displayed:
    The selected logon information will be deleted.
  2. Click OK.
  3. In the Stored User Names and Passwords dialog box, click Close.

To Edit an Entry

    1. In the Stored User Names and Passwords dialog box, click the credential that you want, and then click Properties. The Logon Information Properties dialog box is displayed.
    2. Change the items that you want, and then click OK.

      If you want to change the domain password for the user account that is specified in the User namebox, click Change. Type the old password and new password into the corresponding boxes, type the new password into the Confirm new password box, and then click OK. The domain password is changed.
    3. In the Stored User Names and Passwords dialog box, click Close.
reference: http://support.microsoft.com/kb/306992

Thursday, March 8, 2012

Unable to update the EntitySet ... because it has a DefiningQuery and no element exists


This is the case for me. Simply removing resulted in another error.  I followed the steps of this post except the last one. For your convenience, I copied the 4 steps from the post   that I followed to solve the problem as following:

Right click on the edmx file, select Open with, XML editor
Locate the entity in the edmx:StorageModels element
Remove the DefiningQuery entirely
Rename the store:Schema="dbo" to Schema="dbo" (otherwise, the code will generate an error saying the name is invalid)

http://social.msdn.microsoft.com/Forums/en/adodotnetentityframework/thread/220262bd-85d4-4f29-96a8-4a7d1d2c8293

Monday, February 27, 2012

Flash Memory (NAND, NOR) overview


Flash memory has become a powerful and cost-effective solid-state storage technology widely
used in mobile electronics devices and other consumer applications. Two major forms of Flash
memory, NAND Flash and NOR Flash, have emerged as the dominant varieties of non-volatile
semiconductor memories utilized in portable electronics devices. NAND Flash, which was
designed with a very small cell size to enable a low cost-per-bit of stored data, has been used
primarily as a high-density data storage medium for consumer devices such as digital still
cameras and USB solid-state disk drives.  NOR Flash has typically been used for code storage
and direct execution in portable electronics devices, such as cellular phones and PDAs.

http://download.micron.com/pdf/datasheets/flash/nand/2gb_nand_m29b.pdf
http://umcs.maine.edu/~cmeadow/courses/cos335/Toshiba%20NAND_vs_NOR_Flash_Memory_Technology_Overviewt.pdf
http://media.kingston.com/pdfs/FlashMemGuide.pdf

30 Popular Free Android Games

Must Have Best Free Android Games :

1) Paradise Island : This is really fun oriented free stimulation game for the people who love sea, sun and beaches. You can build your own sunny island of your wish. The game allows you to run your own business and attract rich tourists. In this game you can create your own empire. You can build Casino’s, Hotel’s, Entertainment center’s, Restaurant’s and Disco’s to entertain tourists. You can create your own resort and manage it accordingly. The rich graphics are very beautiful and be careful since its a extremely addictive game. I bet you will love this game and its gameplay. Click here to download the App from android market : Download

2) Angry Bird Rio : This is a very popular game loved by millions of users world wide. In this game you can destroy the greedy pigs fortresses! Angry Bird Rio is a extension of its original game Angry bird. Here in this story mode, the other angry birds are caged and are shipped to Rio.They get very angry with this and want to take revenge on the pigs. You can find two friends Blu and Jewel fighting for there friends to set them free.The excellent game play will give a real film experience to the user.There are a total of 60 levels with hidden fruits and exciting gifts. You will love the game when you find the smugglers and take them out. You can download the app from android market : Download

3) Yoo Ninja! FREE : Be careful while playing this game in you android. Because this is very addictive game which never ends. This fast paced gravity game is very famous and liked by many gamers. The game must be playing by jumping up and down to avoid obstacles. Maintain constant speed and accuracy. This one touch arcade games is very simple.You can find a story mode with 34 different levels. You can also find the endless mode, where you can play for days. There are 4 different worlds and the ending of the story mode is excellent. You can download the app from android market : Download

4) Paper Toss : A very famous game before when its launched in android. This is most awaiting game by android users who wanted to have fun with a office environment. Guess so many people have played this game already in there office. I mean playing with a piece of paper and throwing it here and there to pass time. Most of us target a empty basket or a dustbin to throw a piece of paper made into a ball shaped. This game is some what similar to that kind of stuff. The game is very realistic and fun. The graphics are really awesome and you can play the game in 6 different levels. The most fun part is, you can hear all sounds which are made in a office and also co-workers shouting at you. Don’t miss this game if you really want some office fun. You can download the app from android market : Download

5) Bubble Blast 2 : Bubble blast is a game where there is a start but no end. you can play the games for ages. This game is a puzzle game in which we have to blast bubbles to trigger in a chain reaction to eliminate them. The game offers two modes. One is arcade and another is puzzle mode. There are around 3500 levels where the scores are being provided by Score loop.You can download the app from android market : Download

6) World War™ : This is a massive Multiplayer online game which is played by millions of people everyday. In this game we run with a good story mode of 2012 nuclear war which will create history and 5 countries will merge to become a massive force with superpowers in this war. You can battle with other players live. You can found millions of people playing the game online. Around 2.8millions of player will be active every time when you login.You can download the app from android market : Download

7) Slice It! ® : This award winning game is really awesome to play.This is a silver award winning pocket game. The game is a brain game which have very good levels of puzzles and once you slice it, you cant stop it. We have to slice a piece of area into same dimensions. This puzzle game is very interesting and very addictive. It has over 180 different stages and available in different language. You can download the app from android market : Download

8 ) Live Holdem Poker Pro : If you want to play poker with millions of people online, then this is the best app for you. You can join the android network to play with millions of real people like Pro’s, Semi-Pro’s, and Beginners. You can join the no : 1 Texas Hold’em community on the Android Network and play with millions from Facebook and Google android.You can get 12K free chips and 1000 Diamonds on registration + 5000 chips for free every day.Also you can use personal avatars and there is live chat included. You can enter the shootout tournament mode and have awesome challenges. You can download the app from android market : Download

9) Jewels : How can anyone miss this wonderful game ? Jewels is very simple game, but quite polished and fun match 3 puzzle game.The game is very addictive. I sit hours playing this game. You can complete with players all over the world. Global, cross-platform leader boards and many more. The graphics are really neat and clean, the game is very smooth.The game has four different modes, Normal, Timed, Quick and Infinite and also the game is available for iphone. You can download the app from android market : Download

10) Mouse Trap : This simple puzzle game is very addictive and very interesting. All you have to do is to find the way out of a mouse which is trapped. You can do it by sliding the blocks out of the mouse way and unblock each of the maze. You can unlock bonuses and gain coins as the game progresses. With the gain coins you can unlock various level packs and hidden features in the game bonus store. There are 1200 levels which require excess amount of patience, skill and logic. If you have that then take out the mouse from the maze 1200 times. You can find some challenging puzzles and bonus level which are really lot of fun.You can download the app from android market : Download

12) Alchemy : This game is very famous and loved by million of people today. The game is very simple and straight. You have four basic elements Fire, Water, Earth and Air. All you have do is to combine them and there products to get new elements around 200 and more. You can create many things like Life, Beer, Vampires and etc.There are total 370 elements. So try the game once if you really love to pass your time.You can download the app from android market : Download

13) Tank Hero : Tank hero is a well known game. This game provides a fast paced 3D action on your android. You can battle through different arenas and become a Tank Hero.There are a lot of cunning enemies in you way so take out your enemies with cannons, heat seekers, and howitzers. The OpenGL 3D graphics are really awesome and you have 80 levels with two environments. There are two modes of gameplay, one is campaign and other is survival mode. You can choose 5 types of weapons and AI tanks. You can also find Multi Touch and Trackball control schemes :) You can download the app from android market : Download

14) iMobsters™ : This Massively Mafia Multiplayer game connects you to over two millions of players. You will start you career as a small thief and will grow to a Mafia Don by bringing others into you mob. You can fight with others in the mobsters online with Multiplayer mode. Millions of mafia players are online now. Just go and give it a try. The best part is you can fight them LIVE! You can download the app from android market : Download

15) Robo Defense FREE : In this game you will experience ultimate portable defense system. The graphics are really good and you can find many good maps, achievements and upgrades in the game. You can play with 1 map and eleven different levels. The full game is also available with all maps and upgrades. I would say just give it a try. If you are impressed you can buy a Pro version.You can find the upgrade option in the game itself. Just complete the free version for a basic experience. You can download the app from android market : Download

These are the top 15 popular android games so far. Just download the apps from Android Market and have fun. I will upload 15 more popular games below. Just take a look at it.

Few Other Free Popular Android Games :

  1. Restaurant Story™
  2. Gun Bros
  3. Words With Friends Free
  4. Drag Racing
  5. Fruit Slice
  6. Chess Free
  7. Air Control Lite
  8. Bonsai Blast
  9. NinJump
  10. Mega Jump
  11. Solitaire
  12. X Construction Lite
  13. PapiJump
  14. Mahjong
  15. Labyrinth Lite

So total of 25 top class popular android games which you cant miss. And the best part is all of them are completely free of cost. Just download them and have fun with your android.

Wednesday, February 22, 2012

Wi-Fi Direct: what it is and why you should care ?


Wi-Fi Direct: everything you need to know

The world is falling out of love with cables, but the Wi-Fi we know and love isn't always the best way to connect devices.
Wouldn't it be great if you could effortlessly connect Wi-Fi devices without messing around with access points and lengthy passphrases? That's what Wi-Fi Direct promises.

Wi-Fi Direct is a proper standard

It comes via the Wi-Fi Alliance, the global industry association in charge of certifying Wi-Fi kit.

Wi-Fi Direct is Wi-Fi without the internet bit

The idea behind Wi-Fi direct is that simple tasks need simple connections. For example, you might want to print from your laptop or smartphone to a wireless printer, or to share images with someone else in the same room, or to transmit video from your phone to your TV. None of these things requires an internet connection, but they do need to connect - to the printer, or to the other person's hardware, or to the TV. With Wi-Fi Direct, that bit's easy.

Wi-Fi Direct can have the internet bit too

If you have a Wi-Fi router connected to the internet, you can connect to that too.

Wi-Fi Direct doesn't need a wireless access point

Wi-Fi Direct devices can connect to each other without having to go through an access point: they can establish ad-hoc networks as and when required, letting you see which devices are available and choose which one you want to connect to. If that sounds very like Bluetooth, that's because it is.

Wi-Fi Direct uses Wi-Fi Protected Setup

You don't want any Tom, Dick or Harriet to be able to connect to your stuff - for example, you might not want to see what the neighbours are beaming to their TV on your TV - so Wi-Fi Direct uses Wi-Fi Protected Setup [PDF] and WPA2 to prevent unauthorised connections and keep your communications private. There are two ways to establish a connection: with physical buttons - "press the button on gadget X and then the same one on gadget Y", or with PIN codes.

Wi-Fi Direct knows what's nearby

Wi-Fi Direct includes two potentially useful things: Wi-Fi Direct Device Discovery and Service Discovery. Your device doesn't just know there are devices available; if developers have enabled it, your device will know what kind of devices are nearby and what's on offer - so for example if you're trying to display an image, you'll only see devices that you can beam images to; if you want to print, you'll only see devices that are or that are connected to printers. Crucially this can happen before you connect, so you don't waste any time trying to connect so something that doesn't do what you want it to do.

Wi-Fi Direct uses the same silicon

Manufacturers don't need to add extra radios to their kit: the idea is to have Wi-Fi Direct as part of the standard Wi-Fi radio. It's backwards compatible too, so you don't need to throw out your old Wi-Fi-enabled kit.

Wi-Fi Direct is part of DLNA, and Android too

In November, the Digital Living Network Alliance (DLNA) announced that it was including Wi-Fi Direct in its interoperability guidelines, and Google has added Wi-Fi Direct support to Android 4.0 Ice Cream Sandwich (for example it's in the Samsung Galaxy Nexus's networking options). DLNA says it "expects DLNA Certified and Wi-Fi Certified Wi-Fi Direct smartphones to grow strongly through 2016." That could be an awful lot of smartphones.