Aggiorno stand alone?

We have heard you!  The Beta program for Aggiorno is very successfull and we have received lots of feedback on different aspects of the product.

Something that has come up over and over again has been a request to also make Aggiorno available as a stand alone tool and not only as a Visual Studio add in.

Well... we've heard you.  We are already at work in preparing a stand alone version.  This version will be released on the Visual Studio Shell and will be available shortly after Aggiorno for Visual Studio 1.0 releases (by the way... this will happen soon, very soon!).

For all of you who are interested in how Aggiorno can help you simplify your daily work as web developers but who do not use Visual Studio, please stay tuned as we will be making announcements soon!

 

Get a Chance at Google with Aggiorno

As web users and web developers we are constantly attributing human qualities to the different actors of the Internet.  In my mind Google has always been the sexy, out of reach girl that we're constantly trying to impress.  When courting a girl there is a well defined protocol that needs to be respected.  You have to be polite, tactful, respectful (... it seems I am listening to my mom...), in any case there are rules that need be followed when your are trying to impress a girl and these rules go well beyond appearances.

As web developers we tend to forget some of the rules that need to be followed to make our sites more findable, more accessible, more secure, more maintainable... we typically only care about how do our pages look like in the common browsers without paying to much attention to the inner details.  You can have great content but if your markup sucks you will have issues when trying to conquer important actors like Google.

Last week I wrote a post on how the lack of use of web standards can affect your SEO efforts.  Lot's of small details that can really turn Google off.

At Aggiorno, the team is on a death march towards the release of V1.0 (soon... very soon...) and we need to relief some stress and at the same time try to educate more about the importance of good markup, the importance of following web standards on our daily work.  We came up with a video called "Get a Chance at Google" that enacts an encounter between a very content intensive web site with ... some issues...

Take a look at the video and share it if you like it.  Also, let us know what you think and if you have more ideas so this can become its own series!

Enjoy!

Web Standards and Search Engine Optimization (SEO) -- Does Google care about the quality of your markup?

There are many discussions on the web regarding the merits of using web standards. 

The argument against using web standards can be summarized as: "who cares?!"  If the browsers render my code correctly then I am accomplishing my goal.

The arguments in favor of using web standards can be summarized as providing improved cross browser compatibility and  improved maintenance cost from using cleaner code.

I believe there is an important point that is only tangentially discussed and that should be addressed much more emphatically.  What does Google do when it encounters non standard compliant HTML?  Does it affect your search results?  We need to constantly remember that search engine bots are "users" of our sites and they are not necessarily as tolerant with our markup as normal browsers.  A SEO expert gave me the best trick to understand what Google sees and what it doesn't see while going through a page.  It goes like this:

  • Open the page you want to evaluate in your favorite browser
  • Click Select All
  • Click Copy
  • Open NotePad
  • Click Paste

Whatever gets printed in NotePad is what Google is indexing.

But lets go into some examples of how the wrong HTML can affect the results of your search.

Missing alternate descriptions

First example of how following standards can improve your interaction with Google.  Google is "blind".  Google only sees the text that is embedded in your page; no images, no java script, no animations... One of the rules that are required by standards is to provide an alternate description for non textual information (alt attribute in XHTML).  If you do not include an alternate description you are missing an opportunity to provide information to Google.  The use of ALT descriptions is a best practice enforced by using web standards that affect search results!

Wrong / Missing DOCTYPE

The second example relates to the use of DOCTYPE.  The DOCTYPE is used to specify to the browser what kind of markup to expect.  Is it HTML?  Is it XHTML? No DOCTYPE? (Google replies: well... let's guess).   And the last thing you need is for Google (or any browser for that matter) to guess how to interpret your source code.  Chris Maunder from The Code Project has an excellent example of how Google can get confused if you specify a certain DOCTYPE and then you write code following a different standard.  In certain cases Google simply stops indexing the page and it assumes it was a 404 Page Not Found error.  The example that Chris shows reflects how a simple miss-closed tag (ultimately a missing "/") can avoid the indexing of a page.    Syntax correctness, which is enforced by using web standards, is important when you try to have Google index your page! UPDATE: In general this is an example of the Tag Soup problem.  The right thing to do is to make sure your web site validates according to a standard like XHTML transitional.

Lack of / Incorrect use of Entities

Ahh... entities...  Isn't it painful having to follow the rule set by web standards and escape every special character?  Well, it might be painful but Google reacts to non escaped characters in very peculiars ways.  Let's first look into the most obvious one.  If you write in a foreign language that requires characters with an accent like for example Spanish, French or Italian depending on how you code your information with entities the search results may vary

Second, there are issues with escaped vs unescaped characters in URLs.  This webmasterworld article is an example of how wrong usage of entities can cause confusion.

Third, when you use scripting to generate markup, the way in which you write your script can also confuse Google as Chris Maunder also explains in his article.  If you try to generate code without escaping the right characters you can get in trouble.  Web Standards enforce the proper use of entities, another reason to follow them to avoid search engine confusion.

Missing required page elements

There are a number of attributes in a page that are either required or recommended by web standards that can definitely increase or decrease your page rank.  One of the suggestions that many SEO experts have is to make sure a page contains at least the following attributes:

h1: Every page should have one and only one h1.   This tag should be used to express the main idea described in the page.  In general heading tags should not be used only for styling but to semantically mark the content in the page.  Google pays special attention to h1 content when indexing.

title: Every page should have one and only one title.  The title should be related to h1.  Google looks at the relationship between h1 and title when indexing.

meta tags: Every page should have a number of meta attributes (description, keywords, etc.).  These keywords are taken into account by Google while indexing and they also provide semantic information about the page that when properly used can improve the user experience while surfing the web.

Again, web standards remind you of the proper usage of these attributes and therefore can help you improve your search results.

Separation between Content and Style

Web standards teach you about separation between content and style which is an incredibly useful practice per se with regards to improving maintainability.  It also clearly has some advantages with respect to Google behavior.  The first one is bandwidth savings.  If your styling information is in a separate css file, since Google does not care about style, then it will now crawl it and therefore you will not be spending bandwidth in this manner.  But in addition to bandwidth savings (which can be major for high trafficked sites), there is a limit to the size of a page that is indexed by search engines.  So, if your page is not "polluted" by styling then it can have more content!   Additionally, if your style contains syntax errors it can confuse Google and this is a way to avoid it.   UPDATE: A very good practice is to avoid HTML tables as a mechanism to layout the information on a table.  This should be done using style markup (CSS).

Web standards practices help you direct your efforts with respect to this separation.

Unmarked text: no semantics

Many times web developers simply compy and paste text into a web page.  The resulting markup is basically just text separated with BRs.  As of today I do not believe search engines penalize this behavior, but moving forward it will be more and more important to make sure every piece of text contains as much semantic as pssible.  For now, the minimum semantic that a piece of text should contain is basic HTML markup like P, UL, Hx, etc.  This information can help search engines understand the priority and context of the content.  Additionally, unmarked txt is very hard to style and maintain therefore it is a good practice anyways.  UPDATE: There are some newer standards like microformats that can add semantic information to a page without affecting the rendering of the information.  Even if at this moment it is not clear how microformats will affect search results presumably they will be important in the near future.

Conclusions

It is clear from the examples above that not following web standards can have a huge impact on your search results!  From not providing the best information to index a page to Google not indexing a page at all because of syntax errors in the markup, even if the page looks good in the browsers!  UPDATE: Aarron Walter just published a very good findability strategy checklist that has a complete section on markup and additional sections on server and client side code.

It is true that you can avoid most of the mistakes shown here without the need to completely follow web standards, but they are super useful as a guideline and as best practices to follow when programming web pages.  Next time you look at your page  you can have Aggiorno by your side helping you with all the time-consuming tasks necessary to make a page XHTML compliant.

With Aggiorno we are promoting web standards by eliminating a lot of the tedious work that is required to make a page validate.  By doing so we are helping pages improve their stance towards search engines.  In particular:

Aggiorno can help you find missing alternate descriptions  

Aggiorno can help you make your code structure XHTML compliant

Aggiorno can help you convert special characters into appropriate entities

Aggiorno can help you with content-style separation

Aggiorno can help you with text semantication

 

Aggiorno Release Candidate 0 (RC0) is now available

We just uploaded Aggiorno RC0 to our site. 

We are getting closer every day to a final polished release that will make us proud.

This version fixes a number of small imperfections.  You feedback is invaluable, please give Aggiorno a try and let us know what you think.

 

 

Tags:

Final thoughts on XHTML and HTML

This is our seventh and last post on XHTML/HTML.  With this post we want to draw some conclusions with regards to all the information that was provided.

HTML and XHTML offer very similar functionality in terms of describing and marking up documents for the web.  XHTML has a number of advantages in terms of its interoperability with other markup documents, and its consistent syntax.

A few years ago, it seemed clear that XHTML would be the “future of the web”, but more recently, HTML has grown in popularity, as browser support for XHTML has often not kept pace with developments. The competition on who is going to be more popular is still open. even if we believe XHTML has some definite advantages.

But if you’re ready to make the transition from HTML to XHTML, you’ll want to check out Aggiorno – a plug-in for Microsoft Visual Studio that has embedded knowledge about the differences between HTML and XHTML – to make your transition easier.  It automatically targets XHTML 1.0 Transitional documents and makes sure your pages are error-free and up-to-date before going on to offer additional improvements, such as improving accessibility, automatically upgrading table layouts to use CSS and extracting master pages from sites with similar formatting.

Common Objections to Refactoring (they're wrong - of course!)

"We don’t have the time to waste on cleaning up the code. We have to get this feature implemented now!"  Have you ever heard such a comment?  Have you ever made such a comment?  Chances are that you probably have both heard and made the comment!  Well this is probably one of the most common objections to Refactoring as it is explained in the book Refactoring HTML by Elliotte Rusty Harold and summarized in the following series of posts: The Cafes » Objections to Refactoring.

But let's start from the beginning.  What is a Refactor?  As stated on Wikipedia, in software engineering, "refactoring" a source code module often means modifying without changing its external behavior, and is sometimes informally referred to as "cleaning it up".  A refactor is a source code transformation that does not alter the behavior of the program.  Historically refactorings have been applied to make the code more maintainable and have been almost within the exclusive realm of sophisticated programmers.  In recent years IDEs like Visual Studio.NET have started to support refactoring and the term is starting to become part of the standard programmers language.  However, the concept of a refactoring has only been applied to small localized changes in the source code.  Changes that somewhat improve code  maintainability or that perform some modification in an automated manner that help the programmer increase its productivity while editing code.  Of course refactorings are a good thing, and in general if you can improve the maintainability of your code you should, specially when you know that your code has to continue to evolve.

When we were designing Aggiorno the first way of referring to what Aggiorno would do was: "Refactoring for the Web".  However, we soon realized that even if Aggiornings are similar to refectorings in the sense that they perform transformations on code they are different in their purpose and this is why we coined the name.

Aggiornings are a form of encapsulated knowledge aimed at providing business value as directly as possible.  For instance, an aggiorning will help you make your page XHTML compliant (web standards).  And we already know from previous posts that making a page standard helps you with SEO, accessibility, maintainability, etc.  Another scenario where aggiornings help is when you want to separate content from style.  The immediate business benefit is that maintainability costs go down, but also, it is much easier to port the code to mobile browsers and it is also easier for google to index your page and not get confused by cluttered markup.  Aggiornings might or might not preserve equivalence in the code they transform (refactorings always do) and even if we preserve equivalence when it makes sense to do so, we also make other changes that produce a big return on investment even if they do not preserve equivalence.  Another big difference about aggiornings is that the user can always request an explanation and aggiorno will show exactly where the changes happened so the user can ultimately decide if he wants to go trough with them or not.

Going back to the title of this post, source code improvements that are aimed at improving maintainability are in general a very good thing to do.  If you look at refactorings from the perspective of aggiornings the code improvements are even more important.  We are talking about improvements whose ROI can immediately be measured from the business perspective.  There really should be no objections to using refactoring techniques or aggiornings on your code.  If you have an objection, let me know!

ahh... and let me encourage you to download aggiorno Beta and explore aggiornings for yourself.

Accessibility Checklist and Web Standards

NorthTemple.com recently published a very comprehensive Accessibility Checklist that you need to follow for your web site.  The original post can be found here: NorthTemple.com : The Accessibility Checklist I V... .

The 30 items on the list (excluding the ones related to testing) can be classified in two different categories:

1) Considerations that require visual appreciation or understanding of the content to be enforced (19 items).

2) Considerations that are a property of the source code and do not require understanding of the subject matter (11 items).

The first category can be summarized as to make sure we write good content, that we have good description for things that are audiovisual and that we do not use any non accessible resource to guide the user through the navigation of the site.  In general just keep in mind who your intended audience is.

On the other hand, the second category of consideration revolves completely around what I call properties of the source code, things that are coded in a way that can or cannot be accessible.  For instance, make sure that all pages have a title, that all images have an alternate description, that form fields are ordered in the right way (tab index), that content and style are separated, etc.  All of these considerations are automatically found AND fixed by Aggiorno, and believe me, finding and fixing these things manually IS a drag and this is the reason why many web developers don't do it.

It is also quite interesting to see how one of the 4 testing considerations to certify that a page is accessible is to make sure that the page is web standards compliant.  Aha!  WEB STANDARDS!

Once again, it is clear that following web standards certainly helps in making a page accessible.  I would venture to say that making a page web standards compliant is the FIRST step that needs to be done, in fact, if you do nothing else I strongly suggest you make the page standards compliant and that you allow Aggiorno to help you in the process, you'll save tons of time.  Download Aggiorno Beta now!

Aggiorno Beta 2 officially released at TechEd

ArtinSoft launched this morning the Beta 2 version of Aggiorno during TechEd.  The full press release can be viewed at: http://www.microsoft.com/presspass/events/teched/docs/artinsoft2.doc

Here's an excerpt: "

ORLANDO, Fla. – June 3 2008 – Today Artinsoft Corp. announced the release of the second public beta of Aggiorno (www.aggiorno.com ), an extension to both Microsoft Visual Studio 2005 and 2008, through the Visual Studio Integration Program (VSIP), that brings expert knowledge and productivity to web developers.  With Aggiorno, web developers easily make their ASP.NET or HTML sites compliant with the latest web standards using the latest technology trends suggested by industry experts and immediately incorporating business value. "

We are getting closer and closer to a final release and everyday we are more excited about the functionality of the product and its value for web developers.

 

Aggiorno Beta 1.2 (Beta 1 Refresh) now available!

A Beta 1 refresh has been uploaded.  The major fixes that have been incorporated are:

1) VS Integration problems: Some of you have reported an issue while invoking Aggiorno.  A DTE error that produced an exception.  This should now be fixed.

2) The error: “File was not properly opened. Please open it as part of a Web Site or Web Application” should no longer appear.  We have generalized quite a bit the invocation method of Aggiorno and you should be able to use it on any HTML or ASP.NET file or section of a file.

3) Windows Vista Privileges: Aggiorno no longer tries to write to system protected directories.  You should no longer require Administrator privileges while running Aggiorno on Vista.

4) Many other smaller bug fixes were applied.  For a complete list, please look at the release notes after installing.

As with the first beta we want YOU to squeeze it, bend it, criticize, suggest, laugh, and cry.  PLEASE, let us know of any issue you encounter and we will work with you to solve it and to consider it as part of a future release.

Write to support@aggiorno.com, or, browse to http://aggiorno.com/forums and post your question.

To download please go to: http://www.aggiorno.com/download.aspx

Thank you so much for willing to help us rock the world of Web standards!

Aggiorno Beta1 Available!

The Aggiorno Team is very happy to announce that Beta1 of our product is available as an add-in for Visual Studio 2005/2008.

The first beta version of Aggiorno is ready, and we want you to try it out. Squeeze it, bend it, criticize, suggest, laugh, and cry. The more you smash it against your daily sites, the more thankful we will be. Whenever you feel a button should be red, tell us. Whenever intuition whispers you in the ear that our UI is not intuitive, please please please tell us.

Write to support@aggiorno.com, or, browse to http://aggiorno.com/forums and post your question.

To download please go to: http://www.aggiorno.com/download.aspx

Thank you so much for willing to help us shake the world of Web standards!



download aggiorno

About Aggiorno

Aggiorno - a plugin for Visual Studio - is your instant ticket to SEO friendly, XHTML compliant, CSS styled HTML and ASP.NET! Read more on What is Aggiorno?

Recent comments

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2008

Sign in

Subscribe to Rss Feed