10/22/07

XHTML and best practice coding for skins and modules in DotNetNuke(R)

ref: http://www.dnncreative.com/Articles/WebDesign/CodingBestPractices/tabid/228/Default.aspx

What is XHTML?

XHTML, is a markup language that has the same possibilities as HTML, but it uses a stricter syntax.

The changes from HTML to XHTML are minor and basically raise the HTML coding to the XML standards.

The main areas that this covers are:

  • The document must be well formed, all elements must have closing Tags
  • XML tags are case sensitive, therefore within XHTML all tag names must be in lowercase
  • All attribute values must be in quotes
Examples below: The HTML version demonstrates how you may have coded in the past, the XHTML version demonstrates the coding standards that you need to adapt to create XHTML compliant code.

 Examples  HTML 
 XHTML
 Lowercase <TABLE>
<P>
<table>
<p>
 Well formed tags <br>
<hr>
<img … >
<p>text here<p>more text 
<br />
<hr />
<img … />
<p>text here</p><p>more text</p>
 Quote attributes  Height=10px
 Height="10px"


Further examples can be read in the Styleguide

And Wikipedia

Why bother with XHTML compliant code? What's it all about?

The main reason for creating XHTML compliant code is that XHTML will help your website display more reliably in browsers and devices such as PDAs, mobiles etc.

To quote the W3C (World Wide Web Consortium):

The motivation for XHTML Basic is to provide an XHTML document type that can be shared across communities (e.g. desktop, TV, and mobile phones), and that is rich enough to be used for simple content authoring.


The web is moving towards XML, so it's worth learning the correct coding techniques before learning any bad habits.

How does this affect DotNetNuke?

Using the standard settings of DotNetNuke and a table based skin while also ensuring you have XHTML compliant code will not make any difference.

If however you wish to improve the performance, accessibility, search engine results and reduce the bandwidth of your DotNetNuke skins, you can create CSS layout skins which do not use any tables.

Once you begin using CSS with DotNetNuke, you need to ensure that your code is following the XHTML standards. You may find that if you miss a closing tag for instance that it will completely ruin the display of your CSS skin.

The XHTML standards also need to be adhered to by module developers. Why?

Well, if you install a module into your pure css skin that contains missing closing tags such as <br> rather than <br /> or other non-compliant code, this may corrupt the layout of your skin, meaning that you will not be able to use the module with your skin until you can fix all of the non-compliant code.

Conclusion:

Study how to create XHTML compliant code and learn good habits. Even if you currently only create table based skins, you may wish to adventure into pure CSS skin design in the future. Applying this knowledge now will help you make the change to a pure CSS environment at a later date a much easier transition.

Regarding module developers, I would recommend that you implement XHTML compliant code to future proof your modules so that your modules can be used in as many various configurations as possible.

References and further recommended reading:

Styleguide XHTML Guidelines
XHTML Wikipedia definition
Semantics Wikipedia definition
XHTML Benefits
This HTML Kills: Thoughts on Web Accessibility
Better Living Through XHTML
Modifying Dreamweaver to Produce Valid XHTML
HTML versus XHTML
What is HTML / XHTML?
XHTML - Marking of a new dawn

Validation:
Validate your HTML code at W3C
WDG HTML validator
Validate your CSS code at W3C

--
Happy day, happy life!

Google Adsense

ref:http://www.dnncreative.com/Articles/Google/GoogleAdsense/tabid/273/Default.aspx

In this article we are going to give you an introduction to Google Adsense and provide some tips for getting the most from Adsense on your websites. Following this we have also created a video tutorial which walks you through how to incorporate Adsense with DotNetNuke.

Google Adsense Introduction

Google Adsense is a quick and easy way to monetize your website. With Adsense you can display text and image ads that are targeted to match the subject matter of a website page.

This means that if you create an article covering 'DotNetNuke Skins' the ads from Google Adsense will display DotNetNuke related advertisements.

You earn money from the advertisements on a cost-per-click basis. The amount that you earn per click varies dependant on the keyword and the number of advertisers bidding for that keyword.

The Advertisements

The adverts displayed by Google come from the Google Adwords service: Bring targeted traffic to your site with Google AdWords

This is where advertisers can bid to display their advert whenever a user searches on Google for a certain keyword. An advertiser also has the option to display their advertisements on the publishing network (websites that display Google Adsense).

Displaying Google Adsense

You can choose from a variety of advertisement banner sizes to display on your website along with options for customizing the colour of the text adverts. This allows you to easily format the advertisements to match the design style of your website.

Once you sign up for a Google Adsense account you can configure the banner style and colours that you wish to use. Google will supply you with the JavaScript code that you need, all you have to do is paste the JavaScript into the source code of your website.

How Much Can You Earn?

There are several factors that affect how much you can earn from Google Adsense. Some Adsense publishers earn a five figure income each month whereas others earn a few dollars per month. Your income from Adsense depends on:
  • The cost per click for each advertisement
  • The number of visitors / page views your site receives
  • CTR - Click Through Rate for the ads
You have to earn $100 or more before Google will issue a payment to you. The total is rolled over each month until you exceed $100.

Adsense Tips

If you view the resources at the end of this article there are several links to articles already created that outline tips for increasing Adsense revenue. Here I will outline the main tips:
Ad Placement
The position of the Adsense advertisements is very important for increasing click through rates. Google have created a heatmap to help you decide the best placement for your ads.
Number of Ads
You are allowed to display up to 3 ad units on a page and a single link unit. If you can, make the most of this and display all of these ads using different combinations of banner sizes and locations across your page.
Colour of Ads and Blending
Research has found that the best CTRs are achieved by blending the advertisements to match the style of your website design. For instance, remove all of the borders from the ads and change the colour of the text links to match the colour of the links within your own website. This helps to create the perception that the links are part of the page and not advertisements.

Other techniques are to place images alongside the advertisements in order to grab the attention of the visitors' eye. Be careful with these techniques though as Google is known for banning publishers who try to trick visitors to click on the adverts.

For further tips visit the resources below.

Useful Adsense Resources

Incorporating Google Adsense into DotNetNuke Skins - Video Tutorial

Sign up for Google Adsense: Get targeted ads on your site with Google AdSense

Digital Point Adsense forum for sharing Adsense tips

Useful article which outlines the Google Adsense programme: How to boost your adsense revenue

Advertising placement on web pages

Google Adsense Tour

Google Adsense Policies


--
Happy day, happy life!

Software Piracy – A Small Business Epidemic

ref: http://www.dnncreative.com/SoftwarePiracyASmallBusinessEpidemic/tabid/318/Default.aspx

This email arrives in my inbox almost everyday:

pirate software email

No wonder at least one half of potential software revenue is lost due to piracy, a total of $11-$12 billion lost worldwide (1). These people know how to market! Our company currently has a need for some licenses of Photoshop, and at a startup every penny counts. So it was tempting, but knowing as much as I do about the blood, sweat, and tears that go into making good software, it is not going to happen.

Unfortunately not everyone understands and appreciates the value of your hard work. Believe it or not most piracy occurs not by these mass blackmarket software vendors, but by people for personal or business use with far less malicious intent. For instance, it is quite common for a company or individual to buy a single license for a DNN module or skin, and then re-use that on a virtually unlimited number of DNN hosts or sites.

DotNetNuke module and skin developers, and smaller businesses in general, are usually unaware or have little control of the fact that they are using pirated software. So much so that Microsoft has implemented a "self-audit" type of valid license checker (2). This helps Microsoft, but unfortunately it does not help protect your intellectual property.

Internet auction sites like eBay make it easy for software piraters to distribute illegal, downloadable software to unwitting buyers. According to Keith Kupferschmid, an executive with the Software & Information Industry Association, the industry believes 90 percent of all software sold on Internet auctions violates copyrights or licensing agreements (3). Furthermore, even when a module or skin is purchased via a valid distribution channel such as Snowcovered, there is nothing stopping someone from purchasing a single copy and re-using that copy illegally over and over again.

But can you blame these small business owners for being duped into using software illegally? For the non-savvy software user, terms of use agreements and software copy protection rights are just plain confusing! They are usually pages and pages long with a lot of lawyer-talk nonsense. Even worse, many DotNetNuke developers do not even specify a license agreement, which essentially means that no-ones rights are protected because those rights were never defined.

To cloud matters even further, there are several "urban legends" perpetuating software copyright abuse.

The 24-hour rule

According to this rule, under the copyright law a user may download a program and use it for 24 hours to determine if they want to continue using it - and then after the 24-hour period they have to delete it or buy it. This is illegal.

Copying software for Evaluation

This premise gives the okay to people copying paid-for licensed software from someone else. The idea is to install and use the software under the guise of evaluation purposes. This is illegal.

All DotNetNuke modules grant a Host-wide license

While this is the most common license for a DotNetNuke module or skin, there are many modules and skins that only grant a license for use on a specific DotNetNuke site or portal. Many users install their module on their host, and use it over and over again for many sites. Some users are further under the misconception that they also have the right to install a DotNetNuke module or skin on several hosts or servers. Both of these scenarios are illegal.

Redistribution of Free Modules or Skins

Free does not mean there is not a license associated with it, and most free or open source licenses have restrictions around modification and / or distribution. If I got it for free, then I can also redistribute this software because it is free. This is illegal.

Free use of Abandonware

Abandonware is software that a copyright holder has ceased distributing or supporting for more then five years. Abandonware is another urban legend created and circulated to justify violations of copyright law on the Internet. This is illegal.

Summary

To assist these honest businesses with software license compliance, it benefits all parties involved to take the guesswork out of copy protection. There are many technology-based techniques for protecting code and allowing legitimate customers to activate their licenses. Some are much better than others. For those whom are malicious at heart, they will always try to find a way to "crack" the code. But for the group of "accidental" copyright abusers aforementioned, they will more than likely pay for the digitally protected software rather than attempt to find a way of cracking it.

For developers concerned that protecting their DNN code and skins will dissuade potential customers from buying their software, this is the last great falsehood. In next month's article, we'll discuss the trials and tribulations of distributing evaluation software. Protecting your IP is the key to helping you sustain your business, potentially developers may no longer be able to afford the continued development and creation of modules if this is left unchecked.

If you would like to protect your code and protect your revenue starting today, visit http://my.flatburger.com.

Kim Lloyd has been in the software industry for over 17 years and has worked with both small and large software companies like MapInfo Corporation, Microsoft, MatrixOne, Monster, Oracle, and GlobalSpec.

She currently works for FlatBurger, a code protection and ecommerce-enablement software services vendor located in Troy, NY. http://www.flatburger.com.

(1) Every two dollars' worth of PC software purchased legitimately, one dollar's worth was obtained illegally according to the Third Annual Business Software Alliance (BSA) and IDC Global Software Piracy Study, May 2006

(2) "How to Ensure Your Software Isn't Pirated?". Hattie Bryant of Small Business School interview.

(3) "Software Makers Crack Down on Net Piracy". 2007. ABC News. Michael Liedtke.


--
Happy day, happy life!

How to make money from your DotNetNuke website

ref: http://www.dnncreative.com/Articles/Business/Howtomakemoneyfromyourwebsite/tabid/297/Default.aspx

There are several ways in which you can monetize your DotNetNuke website. In this article we are going to discuss the methods that are available with the default modules in DotNetNuke.

These methods can be used with any type of website from a static to a dynamic website. The advantage of using DNN is the flexibility and ease of use for configuring and tracking.

Advertising

The first and easiest method for a web master to implement on their website is to enable advertising.

There are several advertising methods that you can implement and we will discuss each of them in turn.

DNN Creative Magazine

DotNetNuke provides an easy solution for combining all of the various advertising methods through the use of the Banners module . The Banners module allows you to rotate advertisements on each page load, while also allowing you to track the number of click-throughs for each advertisement.

The banners module can display all of the advertising types that are mentioned below; it is not just limited to displaying banner image advertisements.

You can learn how to use and configure the banners module in this tutorial.

Payment Schemes

Before we discuss the various advertising methods, we need to explain the payment schemes that the advertising methods tend to use.

Pay-Per-Impression

Your payments are based on how many impressions you display an advertisers' banner for. An impression is a page view of the banner by a visitor to your website. Typically payments are calculated on a Cost-Per-Thousand impressions (CPM) basis ie. $5 CPM refers to $5 for 1000 displays of the banner. The higher the traffic on your website the more impressions you can generate and therefore the more advertisers you can display and create more income.

On very high traffic websites some webmasters use a pay per month method where you pay a set amount to advertise on the website for the month with a guaranteed minimum number of impressions.
Pay-Per-Click
You receive a payment each time an advertisement is clicked on. Payments for this can vary from a few cents to several dollars per click. The payment level depends on the niche and the consumer demand for the niche. Other factors that you need to take into consideration are your conversion level ie. How many times is an advertisement displayed before it receives a click? If you can generate a high CTR (Click-Through-Rate) and a high level of traffic you can generate a good source of income even from low paying pay-per-click advertisements.
Pay-Per-Lead
Here you receive a payment for any leads you send to the advertiser. The visitor to the advertisers' website may have to supply their email address and sign up to an email newsletter before you receive a payment.

You need to bear in mind that this may involve two steps. The first is the conversion of the visitor clicking on the advertisement on your website and the second is the conversion of the visitor on the advertisers' website signing up to the newsletter.

This type of income may receive fewer conversions than pay per click, but the payments per lead tend to be higher, so you can potentially earn a higher income than Pay-Per-Click.
Pay-Per-Sale
Potentially this method has the lowest conversion rate, but if the advertisers are carefully targeted to the niche topic of your website you could receive a large income. An example of this is the affiliate marketers that earn millions each year from selling other peoples products. In this method you only receive a payment when a visitor to your website purchases a product from your advertiser.

Payments

If you are implementing Pay-Per-Impressions advertising you can request payment for the advertisement up front before you allow the advertisement to be displayed on your website. For all of the other methods, payment tends to be held back until you have accumulated on average $100 in clicks / leads / sales. Also make sure that you double check how soon they make a payment after you reach the minimum payment level. Some programmes may wait 30 days until they pay you. This is important to check for the cashflow of your business.

Tip

If there is one tip I can pass on it is this. Test the advertisement method for a month and if it is not making enough money, analyze why:
  • Do you need to increase the conversion rate?
  • Do you need to increase the traffic?
  • Is the advertisement suitable for your niche market?
Several years ago, I learnt a lesson the hard way. In the first year of creating a website directory, all of the advertising was based on the pay per sale method. The traffic on the website was high, the click through rate on the banner ads was good, but the sale conversion was very low (the products were not close enough to my niche). I made less than $100 in a year which I never received because the minimum payment was $100. I then switched to pay-per-click and pay-per-impression and made several hundred dollars in the first month! I realised I had literally lost thousands of dollars over that year from not testing and analyzing the advertising methods.

The DotNetNuke banners module allows you to rotate between ads that use the various payment methods, so you can easily setup and analyse the conversion rate of several advertising methods at once and avoid the mistakes I made.

As a starting point I would suggest that you try each of the payment methods and analyze which ones provide you with the most income for your website.

Note: I have had successes with Pay-Per-Sale; you just need to ensure that the advertisements are very close to your website market niche and that the visitors to your website are willing to buy products.

Advertisement Methods

You have several options available for advertising within your DotNetNuke portal. They can be split into two groups, image based advertisements and text based advertisements.
Image based advertisements
The banners module in DotNetNuke allows you to upload the following banner image types to your portal:
  • Banner
  • MicroButton
  • Button
  • Block
  • Skyscraper
banner types

Here is an example of the typical sizes for these banner ads:

Banner sizes
Text / Script based advertisements
Using the banners module you can display text ads or you can enter a script to display an advertisement from a programme such as Google Adsense, examples below:

text link

The DotNetNuke Banners module advantage
The DotNetNuke banners module can display a combination of these different advertisement methods at the same time and rotate between the various advertisements.

For instance if you have an advertising space available on the right hand column of your pages, you could display within the same column, a text ad, a Google Adsense ad and another text ad. With the next refresh of the page this could switch to a skyscraper ad and two text ads. You can learn these advanced configuration techniques in this tutorial.

This has the advantage that the position of the advertisements and the type of advertisement is always changing, which should help to grab the attention of a visitor and avoid 'ad blindness.'

Email Newsletter advertisements
If you send a regular newsletter, you could include advertisements within the email. But, make sure that your recipients have opted-in to the email as they could become very annoyed if you send emails trying to sell them products. Here you can learn about the Email Newsletters module.

Programmes

We have covered the various payment methods and advertising methods, the next step is to find advertisers for your website and this is actually not as hard as it may sound.
DIY - Do It Yourself
Probably the first advertising method to appear on the internet and the hardest if you are just launching your website. This involves approaching companies that provide products or services that complement the niche of your website. In most cases you will need to provide a PDF document outlining the cost structure for advertising, the niche market, and the number of visitors / page views you receive on average each month for your website.

Make sure you include a 'Terms of Use' document in-case any problems occur with the advertiser and also create a page within your website informing visitors that you offer advertising. (You could combine this with a banner advertisement that states 'Would you like to advertise here?').

If your website is already established with a high amount of traffic, you may find that advertisers contact you to advertise on your website.

Payment method: Pay-Per-Impression and Pay-Per-Month are typical for this type of advertising.

Advertising method: All banner types, text advertisements and even email newsletter advertisements are suitable for the DIY approach. You can charge varying amounts for the banner types and position of the banner on the page.
Advertisements for content
This is one of the popular and easiest methods for creating an income from your website. It also requires no maintenance as everything is automated.

The most popular programme for this is Google Adsense. All you have to do is sign up to Google Adsense and add the short Javascript code to your DotNetNuke Banners module.

This will display advertisements directly related to the content of your page meaning you have very specific advertisements related to the niche topic of your website.

Payment method: Pay-Per-Click

Advertising method: Text ads are mainly used, but banner image ads can also be displayed. You have the option for configuring the layout of the text ads into various banner sizes.

I would recommend you view An Introduction to Google Adsense followed by this video tutorial, which walks you through how to incorporate Adsense with DotNetNuke. This is recommended over just using the Banners module for displaying Google Ads to increase your click-through-rate and profits.

Here is a selection of programmes that are worth experimenting with:

BidVertiser


Yahoo Network
Affiliate advertising
Here you operate as an affiliate to another company. In most cases you register with the company as an affiliate through their website. Some affiliate programmes require that you have a website and sometimes a minimum amount of traffic. The company will decide whether or not to approve or reject your application as an affiliate; generally this is based on the content of your website. Once approved, you will have access to the affiliates section of their website which will provide you with:

Your affiliate id – Place this id in the advertisement URL link. This id is used to track the click-throughs from your website.

Advertisements – Banner ads, Text ads, Email content etc. If it is a good affiliate programme they should supply you with a large selection of advertising content to choose from. You can place these advertisements in the DotNetNuke Banners module along with your affiliate link.

Tracking Reports and Stats – A good affiliate programme will allow you to view the number of click-throughs / conversions / sales / leads that you have made along with the amount of money you have earned.

Extras – Support, tips, help, forum, pricing structure benefits for users that generate a high number of sales etc. All of these help to provide a good affiliate programme.

Payment method: Usually Cost-Per-Sale and Cost-Per-Lead, some programmes will provide Cost-Per-Click.

Advertising method: All methods can be used, image, text and email advertisements. You can also incorporate links to affiliate programmes directly within the content of your website. For instance, if you are writing a book review, you could include an affiliate link to amazon.com for the visitor of your website to buy the book.
Affiliate Programmes
Here is a selection of affiliate programmes to get you started:

CPA Empire

MAXBounty

Azoogle Ads

Modern Click

Commission Junction

Amazon

Click Bank
Affiliate Tools
Pay Per Lead Power Ads - This is a really useful tool that allows you to search through the major affiliate providers from one website. Once you have selected the affiliate programmes suitable to your website niche you can then create text link ads which display in a similar way to Google Adsense. You can even set the tool to create links in your content which link to the affiliate programmes automatically.
Affiliate Information
The affiliate classroom is a useful resource if you are considering using affiliate promotions. Have a look at:
Affiliate Classroom

Affiliate Classroom tour video

Advertising Summary

The DotNetNuke Banners module is ideal for all of the various advertising options that are available. Make sure that you track the impressions, CTR, and earnings to ensure your advertising is profitable.

Further monetization methods

As well as advertising there are also the following methods of making money from your DotNetNuke portal.
Subscriptions
DotNetNuke allows you to easily setup subscription payments on your portal. This allows you to charge a fee for access to content such as articles, downloads, videos, music etc.

You can watch a video tutorial here demonstrating How to set up DotNetNuke to accept subscription payments

You can also purchase a module from Ventrian called Subscription Tools which is a user friendly method for implementing subscriptions on a DotNetNuke portal.

You need to bear in mind that the subscription method is not a passive form of income like the advertising method. It will involve many hours of customer support, creating content and maintaining your website.
Sell Products
The final monetization method that we are going to discuss in this article is the store. In the latest version of DotNetNuke (v4.3.6 at the time of writing) a store module is included in the core modules, however if you are looking for a more sophisticated store module, have a look on snowcovered for the various options available. Catalook is a popular store. Setting up a store is probably the most time-consuming option, but potentially the most profitable.

Customer support, world-wide deliveries, and credit card payments all need to be taken into account.

Conclusion

The default installation of DotNetNuke can be used to make money online without the need of purchasing additional premium modules. You can literally be up and running making money with just the cost of hosting, a domain name and your time to build the website.

The usual piece of advice is 'do not put all of your eggs in one basket.' In other words, do not rely on one advertisement type or programme, use a selection of income streams and if one fails in a particular month you will still be able to pay the bills.

Advertising is the easiest and least time consuming method for generating an income. In some cases, you can literally create a site and forget about it. Whereas subscription and stores require much more hands on time dealing with customers and maintenance of the website.

Please click here to add any questions, comments or further information you have found to be useful.


--
Happy day, happy life!