Click here to Skip to main content
Click here to Skip to main content


, 12 Aug 2013 CPOL
Rate this:
Please Sign up or sign in to vote.
An idiot proof guided approach to doing diagrams of home networking or home theatre connections with the ability to generate diagrams / maps or printouts of configs.

Please note

This article is an entry in our AppInnovation Contest. Articles in this sub-section are not required to be full articles so care should be taken when voting.


The idea behind the app is to provide an idiot proof guided approach to doing diagrams of home networking or home theatre connections with the ability to generate diagrams / maps or printouts of configs.


Think of an automated network scanning tool which detects devices and draws them Visio Style on a surface.  I'd like to have a similar thing, but including which ports are being used.  For example, DSL modem connects to PC on ethernet 1 (DSL) to PC.  DSL Connects to USB Printer via DSL USB Port.  

Code / Idea 

There is no code.  I understand that this is an idea submission and if successful, my development could be funded by the prize?

Basic idea behind the app is that there is little or no "drawing" by the user.  The user starts at a point and creates a node.  The node could be a device of some kind.   2 simple examples follow:

Example 1: Home Theatre Layout. 

Add Node (Home Theatre Receiver). 

Select Node (Home Theatre).  Add Node. Port HDMI Output. New Node Name (Samsung TV).  New Node Port HDMI-In 1 

Select Node Home Theatre. Add Node. Port HDMI In 1. New Node Name (Satellite Receiver). New Node Port HDMI Out 

At this point a diagram is created with the cabling layout of this 3 device home theatre.  As you add extra devices you can make complex diagrams using the same easy steps.  

I have simulated my entire house's IP-Multimedia layout including wireless using a simple scripting language which describes very complex layouts in an easy to understand manner. 

Example 2: PC Layout

Add Node PC 

Add Node PS3 

Add Node XBOX 

Add Node 24" Monitor 

Add Node HDMI Switcher 

Connect PC HDMI Out -> HDMI Switcher Input 1 

Connect PS3 HDMI Out -> HDMI Switcher Input 2

Connect XBOX HDMI Out -> HDMI Switcher Input 3 

Connect HDMI Switcher Output -> 24" Monitor HDMI Input

You can do Networking / Audio / Video as different layers perhaps, but I have already simulated this using a single diagram representing all of this information. 

Points of Interest

The fundamental code is simple and could be elegantly coded with relatively few screens.  Only issue which is an unknown at this point is the layout algorithm for the drawing. I would like each node to have optional attributes such as IP Address, Manufacturer, Warranty, etc, which can be toggled on and off as applicable. I believe that by keeping the node + connector logic generic, this app can be used to diagram or layout other types of data.  Anything in a hierarchy probably. I imagine that while developing it, more uses will come to mind.  The key for me is to be flexible so that users can find niches where the app will be useful. I have not seen a similar app that meets my requirements so I hope it has a cool factor which helps the app succeed in a market of many apps. 





This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Engineer Personal
South Africa South Africa
No Biography provided

Comments and Discussions

AdminThanks for entering the Intel AIC 2013! PinstaffKevin Priddle16-Aug-13 8:32 
GeneralMy vote of 5 Pinmemberuser998763513-Aug-13 6:23 
GeneralMy vote of 5 Pinprofessionalketan italiya13-Aug-13 0:25 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web02 | 2.8.141015.1 | Last Updated 12 Aug 2013
Article Copyright 2013 by istoff
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid