<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>flamelab.de &#187;  | flamelab.de</title> <atom:link href="http://www.flamelab.de/feed/" rel="self" type="application/rss+xml" /><link>http://www.flamelab.de</link> <description>Just another WordPress weblog</description> <lastBuildDate>Thu, 16 Feb 2012 08:05:58 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.1.3</generator> <item><title>Michael Freeman &#8211; The Photographer&#8217;s Eye</title><link>http://www.flamelab.de/article/michael-freeman-the-photographers-eye/</link> <comments>http://www.flamelab.de/article/michael-freeman-the-photographers-eye/#comments</comments> <pubDate>Thu, 16 Feb 2012 07:59:49 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Books & Music]]></category> <category><![CDATA[photography]]></category> <guid
isPermaLink="false">http://www.flamelab.de/?p=458</guid> <description><![CDATA[This book by the British photographer and journalist Michael Freeman is about the composition and design of a successful photograph. Throughout his book he outlines how to recognize and organize all the graphic elements in a picture. It&#8217;s neither about your camera&#8217;s technolgy nor about the physics of light or lenses &#8211; it&#8217;s simply about [...]]]></description> <content:encoded><![CDATA[<p> This book by the British photographer and journalist <a
href="http://www.michaelfreemanphoto.com/">Michael Freeman</a> is about the composition and design of a successful photograph. Throughout his book he outlines how to recognize and organize all the graphic elements in a picture. It&#8217;s neither about your camera&#8217;s technolgy nor about the physics of light or lenses &#8211; it&#8217;s simply about reading a situation and create powerful images.<span
id="more-458"></span></p><blockquote><p>&#8220;&#8230; how you build a picture, what a picture consists of, how shapes are relates to each other, how spaces are filled, how the whole thing must have a kind of unity.&#8221;</p></blockquote><p> Chapter one covers the <strong>image frame</strong> and how the rectangular area influences a photography. Every time you take a picture, you make a decision whether you should use landscape or portrait format &#8211; the first basic composition attribute. You decide which elements to place in this area, where to align them or if you should show a close-up or show some surroundings. Virtual lines like the horizon divide the frame and enforce the viewer&#8217;s first responses.</p><p> The general <strong>design basics</strong> are taught in the second chapter. Contrast, balance, patterns, perspective and dynamic tension are just a few to mention here. Each of this topics is explained in detail with several images that show the effects they have and how they are used best.</p><p> <strong>Graphic and photographic elements</strong> follow in chapter three. Like in classical painting and illustration, an image is created by an alignment of points, lines and shapes. They help to compose and order an image and make the eye read what it sees. But a photo (as a result of the technical photographic process) adds several visual qualities, as Freeman names it. Light, exposure time and shutter speed can also be used as creative element and be seen as &#8220;part of the syntax of photography&#8221;.</p><p> Chapter four is about <strong>composing with light and color</strong> &#8211; the basic elements of photography. The effects, color and its combinations have on the atmosphere of an image or of course black and white are described. Contrasts and colors emphasize the graphic elements described in the preceding chapters. So the thoughtful reception and usage are the subtle foundations of a brilliant composition.</p><p> The <strong>intend</strong> a photographer wants to express with his work is the topic of chapter five. Reactive or planned, documentary or expressive, simple or complex, clear or ambiguous. Freeman outlines the basic attempts someone has in his mind when identifying a scenery worth capturing. For him, the key is to &#8220;remain aware of what you are setting out to do&#8221;. It&#8217;s about &#8220;overcoming the mindless ease of taking a picture&#8221;.</p><p> The last chapter of this fabulous, inspiring book is about the <strong>process</strong> of designing a picture. Freeman examines the question of how to work with the things he explained. &#8220;Hunting for a scene&#8221; to find situations for a meaningful image. The act of anticipation or reaction to the surroundings and context. And even post-production as an act of finishing a digital photography.</p><p> <em>Michael Freeman, The Photographer&#8217;s Eye &#8211; Composition and Design for Better Digital Photos, The Ilex Press Limited, 2007, ISBN 1905814046</em></p> ]]></content:encoded> <wfw:commentRss>http://www.flamelab.de/article/michael-freeman-the-photographers-eye/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Testing Life Cycle &#8211; Part 1</title><link>http://www.flamelab.de/article/testing-life-cycle-part-1/</link> <comments>http://www.flamelab.de/article/testing-life-cycle-part-1/#comments</comments> <pubDate>Thu, 20 Oct 2011 16:26:45 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[E-Business]]></category> <category><![CDATA[application]]></category> <category><![CDATA[software engineering]]></category> <guid
isPermaLink="false">http://www.flamelab.de/?p=435</guid> <description><![CDATA[Testing should be considered as equal the development process. Each step during an engineers programming activity has a corresponding testing activity. While each logical module adds to the growth of the software, these parts and integrations must be tested in different ways, following different approaches. The first part of the &#8220;Testing Life Cycle&#8221; series covers [...]]]></description> <content:encoded><![CDATA[<p> Testing should be considered as equal the development process. Each step during an engineers programming activity has a corresponding <a
href="/article/7-principles-of-software-testing/">testing activity</a>. While each logical module adds to the growth of the software, these parts and integrations must be tested in different ways, following different approaches. The first part of the &#8220;Testing Life Cycle&#8221; series covers component and integration tests.<span
id="more-435"></span></p><h3>Component test</h3><p> A component test generally tests each software module against its specification. This happens isolated form other modules to prevent external influences. It should not be mixed up with debugging as it&#8217;s not about eliminating bugs but about a structured way of identifying errors.</p><p> Component tests follow several goals:</p><ul><li><strong>Test for functionality</strong>: Ensures, that the module fulfills the specifications functional requirements. A modules functionality is defined by its input and output parameters.</li><li><strong>Test for robustness</strong>: So called negative tests, which care about an appropriate exception handling. Therefore, the component is triggered with special cases and irregular input parameters.</li><li><strong>Test for efficiency</strong>: Efficiency of a component is defined by its use of ressources like memory or computing time.</li><li><strong>Test for maintainability</strong>: Maintainability includes those qualitites which influence how easy the component can be extended. Code structure, modularity, comments or documentation are the criteria.</li></ul><p> Component tests are usually performed as whitebox tests on code level. The tester (or more common the developer) can simulate the flow of the program or the used parameters by manipulating the code itself. Modern component test follow the <a
href="/article/test-driven-development/">test first</a> principle which means that all tests are considered before implementation starts. In this iterative process, the code is improved as long as all tests pass successfully.</p><h3>Integration test</h3><p> An integration test builds up on previous component tests of each single module. Groups of those components are assembled or integrated to a larger element or system. Tests in this step consider the interaction of the single parts with each other. So the goal is in finding error within the interfaces or the interaction with other components or external systems.</p><p> The main goal of the test is identifying faulty interface specifications or error in data exchange. The following error conditions are typical:</p><ul><li><strong>Interface error</strong>: A sending component transmits none or false data so the receiving component can not work properly.</li><li><strong>Functional error</strong>: Communication works, but the involved components interpret the data different.</li><li><strong>Performance error</strong>: Data is transmitted correctly, but at a wrong moment or to slowly.</li></ul><p> The chosen integration strategy is critical. Based on on the project plan and the system architecture, not all components are finished at the same time. The following  strategies can be a help for planing:</p><ul><li><strong>Top-down integration</strong>: The test starts which a component which is called once and calls several other components. The minor modules can be replaced by stubs which are replaced step by step by their real ones as they are finished.</li><li><strong>Bottom-up integration</strong>: The test starts with those components that do not call any further ones. The complete system is integrated step by step by high level modules.</li><li><strong>Ad-hoc integration</strong>: The components are integrated and tested as they ared finshed with development and component tests.</li><li><strong>Backbone integration</strong>: A program and process skeletton is set up which is filled stap by step with finished components.</li></ul><p> What should be avoided is a so called big bang. This means that testing is not done before all components are finished and integration is tested all at once. With this situation it&#8217;s complex and time-consuming identifying the faulty components and get the whole system running at all.</p><p> The next part of the series will cover system and acceptance tests.</p> ]]></content:encoded> <wfw:commentRss>http://www.flamelab.de/article/testing-life-cycle-part-1/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>7 Principles of Software Testing</title><link>http://www.flamelab.de/article/7-principles-of-software-testing/</link> <comments>http://www.flamelab.de/article/7-principles-of-software-testing/#comments</comments> <pubDate>Sat, 26 Mar 2011 21:21:11 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[E-Business]]></category> <category><![CDATA[application]]></category> <category><![CDATA[software engineering]]></category> <guid
isPermaLink="false">http://www.flamelab.de/?p=422</guid> <description><![CDATA[As software development techniques have advanced during the last decades, some basic principles of testing have also been established. Describing theoretical ideas and practical hints, these principles can be seen as a basic guideline for both, testing and coding. Testing shows presence of errors In general, testing proves the presence of errors. Sufficient testing reduces [...]]]></description> <content:encoded><![CDATA[<p> As software development techniques have advanced during the last decades, some basic principles of testing have also been established. Describing theoretical ideas and practical hints, these principles can be seen as a basic guideline for both, testing and coding. <span
id="more-422"></span></p><h3>Testing shows presence of errors</h3><p> In general, testing proves the presence of errors. Sufficient testing reduces the likelihood of existing, not discovered error conditions within the test object. It does not verify that no more bugs exist, even if no more errors can be found. Testing is not a prove that the system is free of errors.</p><h3>Exhaustive testing is not possible</h3><p> An exhaustive test which considers all possible input parameters, their combinations and different pre-conditions can not be accomplished (except for trivial test objects). Test are always spot tests. Therefore, the effort must be managed by risk, priorities and thoughtful selection.</p><h3>Test early and regularly</h3><p> Testing activities should begin as early as possible within the software life cycle. They should be repeated regularly and have its&#8217; own agenda. Early testing helps detecting errors at an early stage of the development process which simplifies error correction (and reduces the costs for this work).</p><h3>Accumulation of errors</h3><p> There is no equal distribution of errors within one test object. The place where one error occurs, it&#8217;s likely to find some more. The testing process must be flexible and respond to this behavior.</p><h3>Fading effectiveness</h3><p> The effectiveness of tests fades over time. If test-cases are only repeated, they do not expose new errors. Errors, remaining within untested functions may not be discovered. In order to prevent this effect, test-cases must be altered and reworked time by time.</p><h3>Testing depends on context</h3><p> No two systems are the same and therefore can not be tested the same way. Testing intensity, the definition of end criteria etc. must be defined individually for each system depending on its testing context. E-commerce websites require a different approach than online-banking applications.</p><h3>False conclusion: no errors equals usable system</h3><p> Error detection and error fixing does not guarantee a usable system matching the users expectations. Early integration of users and rapid prototyping prevents unhappy clients and discussions.</p> ]]></content:encoded> <wfw:commentRss>http://www.flamelab.de/article/7-principles-of-software-testing/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>6 Major Characteristics of Mobile Apps</title><link>http://www.flamelab.de/article/6-major-characteristics-of-mobile-apps/</link> <comments>http://www.flamelab.de/article/6-major-characteristics-of-mobile-apps/#comments</comments> <pubDate>Sun, 09 Jan 2011 11:36:37 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Mobile]]></category> <category><![CDATA[application]]></category> <category><![CDATA[service]]></category> <guid
isPermaLink="false">http://www.flamelab.de/?p=392</guid> <description><![CDATA[The iPhone and Android OS have created a huge market for mobile applications and services through the last two years. If you take a closer look at the most successful Apps (games not counting) you can see that there are six major characteristics they have in common. These attributes are based on a service design [...]]]></description> <content:encoded><![CDATA[<p> The iPhone and Android OS have created a huge market for mobile applications and services through the last two years. If you take a closer look at the most successful Apps (games not counting) you can see that there are six major characteristics they have in common. These attributes are based on a service design level and, if used with thought, make the difference between some playful stuff and a real useful App covering the users needs.<span
id="more-392"></span></p><h3>Connectivity</h3><p> Apps are always online as the device is constantly logged in to the mobile network. This allows user specific information or notifications being pushed to the App as they are available. In combination with the ubiquity of mobile applications, this is the most important characteristic. A service, that must be called actively to get a reaction is useless in a mobile environment. And with the growing number of Apps on each smartphone, this push-functionality becomes critical to keep an App in the users mind.</p><h3>Convenience</h3><p> An emotional design and a simple (one-handed) handling guarantees a high acceptance. A good App can do its job in different contexts and fast varying situations (changing environmental light and noise, unsteady movement of the device, etc.). So the information architecture and the overall usability must be planed with care to create a fitting and joyful interaction flow. Of course good content also counts to convenience.  Analysing the users&#8217; needs and creating a useful idea out of it is still essential.</p><h3>Localization</h3><p> Localization and the possibility to offer location-based information is a key feature that makes mobility vivid and practical. It separates the wheat from the chaff as it embeds the App to the users&#8217; context. Sure, this feature might not make sense for every App but localization must not always be thought of as the big thing. Just think of  automatically associate the location with a note or photo or by just limiting possible options or by sorting places. It can be useful in little, just creating a good experience for the user.</p><h3>Reachability</h3><p> Reachability covers a more social attribut given by the nature of mobile applications itself. A good App can really be used &#8211; and more important makes sense &#8211; anywhere at any time. The core of mobile devices is to be used anywhere at anytime. The same is true for Apps where reachability has become availability. Not in sense of usage, but in sense of updated information and perpetual usefulness. To much academic? Think of actual content round the clock, time-aware options or (again) context sensitivity.</p><h3>Security</h3><p> Security has several facets. The data transferred over the network must be encrypted through the carrier network. As some Apps sync data with online, web-based applications, the storage of this data on the server must also be secured. Another aspect concerns the data on the device itself. I don&#8217;t want anybody playing arround with my mobile phone getting access to my bank account data. Mobility is delicate, an so is the date aggregated and generated in this context.</p><h3>Personalization</h3><p> Creating personalized content based on individual usage or context is another characteristic. It builds on all previous characteristics as it is a kind of melting down of all of them. I want my App fitting my needs and I want my App behaving like I want it to do. This need covers not only personalized content but also control over data stored, shared or used for further actions. The option of turning localization on or off is true personalization. An individual background or personal categories are convenience.</p> ]]></content:encoded> <wfw:commentRss>http://www.flamelab.de/article/6-major-characteristics-of-mobile-apps/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Google Analytics Advanced Tracking</title><link>http://www.flamelab.de/article/google-analytics-advanced-tracking/</link> <comments>http://www.flamelab.de/article/google-analytics-advanced-tracking/#comments</comments> <pubDate>Sun, 16 May 2010 13:46:02 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[E-Business]]></category> <category><![CDATA[analytics]]></category> <category><![CDATA[online marketing]]></category> <guid
isPermaLink="false">http://www.flamelab.de/?p=382</guid> <description><![CDATA[Google Analytics is quite the most popular analytics software available. It offers a lot more than just an overview about the number of visitors and pageviews. Getting an expert on the topic requires some time for reading and playing around with all the functionalities the tool has to offer. Event Tracking, Site Search, Ecommerce Tracking [...]]]></description> <content:encoded><![CDATA[<p> Google Analytics is quite the most popular analytics software available. It offers a lot more than just an overview about the number of visitors and pageviews. Getting an expert on the topic requires some time for reading and playing around with all the functionalities the tool has to offer. Event Tracking, Site Search, Ecommerce Tracking and Custom Variables are features that make Google Analytics more customizable and help to fit the report to a sites special needs.<span
id="more-382"></span></p><h3>General Resources</h3><p> The Google Analytics Developer Docs provide <a
href="http://code.google.com/intl/de-DE/apis/analytics/docs/">comprehensive information about Google Analytics</a> for both, beginners and experts while <a
href="http://analytics.blogspot.com/">news, useful hints, tips and tricks</a> about the tool are provided on the coresponding blog. The Analytics Channel on YouTube offers a bunch of clips, including the well known <a
href="http://www.youtube.com/user/googleanalytics">Web Analytics TV casts with Avinash Kaushik and Nick Mihailovski</a> &#8211; a must see for web analytics experts (and those to become).</p><h3>Event Tracking</h3><p> Event Tracking is a method available that can be used to record user interaction with website elements, such as a Flash-driven menu system, outbound or download links. This is accomplished by attaching the <em>_trackEvent()</em> method call to the particular UI element that needs to be tracked (e.g. within the <em>onclick</em> function of an anchor element). When used this way, all user activity on such elements is calculated and displayed as Events in the Analytics reporting interface. Additionally, pageview calculations are unaffected by user activity tracked using the Event Tracking method. The design model for Event Tracking is highly flexible, and it an be extended well beyond the common model of user-triggered events. Events can be classified by category, action, event and value which requires a clean analysis strategy and planing about how the tracking should be integrated and how the metrics should be calculated later on.</p><h3>Site Search</h3><p> With Site Search, you can see how people search your site once they are already on it. There is no additional tracking code necessary. The feature can be activated within the Google Analytics interface by just setting the search query parameter (a simple request parameter reflecting the users search term within the search context). The report not only shows the site users initial searches, but how they attempted to refine searches when they didn&#8217;t find what they were looking for. You can see which pages they searched from and where they ended up and how site search correlates with conversion an other activities.</p><h3>Ecommerce Tracking</h3><p> If you run a ecommerce site, the Ecommerce Tracking feature will allow you to track and analyse ecommerce activity. Basically, it is based on the same principal as standard pageview tracking. JavaScript code sends some data to a Google Analytics server by requesting an invisible gif file. The big difference is that ecommerce data is sent rather than pageview data. The data transmitted is stored in a transaction object, containing all the related information about a single transaction, such as the order ID, shipping charges, and billing address. This transaction object itself contains several orderline items and the details about a particular item, such as SKU, price, category, and quantity.  As with the Site Search feature, Ecommerce Tracking must be enabled in the profile&#8217;s settings.</p><p> This feature can not only be used for tracking real commerce activities,  but also for tracking conversions (as Google Analytics still lacks a pure conversion tracking). For example, the report features &#8220;Days to Purchase&#8221;, &#8220;Visits to Purchase&#8221; or &#8220;Product Performance&#8221; can simply be mapped to activities like ordering a newsletter, subscribe to a feed or getting in contact. Knowing how many visits to a site it takes to convert a visitor in doing some action is useful and tracking those informations is very simple. Just use fixed values for your items and transactions so all activities get summed up. E.g. track an &#8220;product&#8221; item that is called &#8220;Newsletter&#8221; with a fixed price, category and quantity whenever a user submits a registration form.</p><h3>Custom Variables</h3><p> Custom variables are name-value pair tags that can be added to a sites tracking code in order to refine tracking. With custom variables, additional segments, others then the ones already provided by Google Analytics, can be applied for tracking and help to add more information to Google Anylatics. They can be used for content categorization, segmenting members from non-members, tracking campaigns a visitor sees prior to converting and many more. Custom Variables can be used in three different scopes:</p><ul><li>The <strong>visitor-level</strong> is active for the live of the visitor cookie and helps to distinguish categories of visitors across multiple sessions. E.g. you can track demographic information, customer type data (customer, subscriber etc.) or source information (where did the visitor come from).</li><li>The <strong>session-level</strong> scope is active for a visitors session and allows to distinguish different visitor experiences across sessions. E.g. a custom variable can be scoped to the session level for user login status or for recording that the visitor viewed a special section of the site.</li><li>The <strong>page-level</strong> scope is active for single pageviews, events or transaction calls. It is used to define a collection of page-level activities by users. E.g. on a blog website, this level can be used to track the category an article is assigned to (to get the most popular categories). This scope might collide with Event Tracking, so a good planing on how to use both features is required.</li></ul><p> Custom Variables are tracked by using the <em>_setCustomVar()</em> method. It requires a slot-id, a name, a value and a scope definition (visitor, session, page).</p> ]]></content:encoded> <wfw:commentRss>http://www.flamelab.de/article/google-analytics-advanced-tracking/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>10 Aspects How Search Engines Evaluate Links</title><link>http://www.flamelab.de/article/10-aspects-how-search-engines-evaluate-links/</link> <comments>http://www.flamelab.de/article/10-aspects-how-search-engines-evaluate-links/#comments</comments> <pubDate>Sun, 28 Feb 2010 17:23:58 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[E-Business]]></category> <category><![CDATA[seo]]></category> <category><![CDATA[www]]></category> <guid
isPermaLink="false">http://www.flamelab.de/?p=325</guid> <description><![CDATA[The classic and often discussed PageRank isn&#8217;t the only factor that is used by search engines to evaluate links. There are many aspects involved in determine the value and some influence a link&#8217;s value more than others. Within the SEO community, there are 10 factors that are commonly regarded as important when talking about how [...]]]></description> <content:encoded><![CDATA[<p> The classic and often discussed PageRank isn&#8217;t the only factor that is used by search engines to evaluate links. There are many aspects involved in determine the value and some influence a link&#8217;s value more than others. Within the SEO community, there are 10 factors that are commonly regarded as important when talking about how search engines judge links.<span
id="more-325"></span></p><h3>Relevance</h3><p> Links from pages that cover the same topic as the target page, or are closely related, are worth more than links from unrelated pages. The relevance is always determined in the context of the search query. See the article on <a
href="/article/relevance-and-importance-of-search-results/">Relevance and Importance of Search Results</a> about how this aspect is judged by Google and others.</p><h3>Authority</h3><p> Taken relevance a step further is the aspect of authority. Each topic a user can search on has some authority sites that are specific to that topic (the <em>most</em> relevant sites). Authorities are sites that are linked to by most of the sites relevant to a particular content. Also involved is the concept of hubs, sites that link to most of the important sites which are relevant to that topic. So links from sites that search engines consider authoritative are evaluated very high.</p><h3>Trust</h3><p> Trust takes into account how likely the linking page is infiltrated by spammers. This trust measurement is determined on how many clicks away the site is from so called seed sites, sites that are manually picked and rated as trustworthy. The more clicks a site is away, the less trust it earns, the lower is its <a
href="http://www.vldb.org/conf/2004/RS15P3.PDF">TrustRank</a>. Generally, this factor is difficult to measure.</p><h3>Anchor text</h3><p> The anchor text the linking page uses is a powerful factor for search engines to determine the relevance of the target page. Anchor text helps the engines to understand what the link is about. So a keyword rich text adds much to the links value.</p><h3>Independence</h3><p> Links from independent, third-party sites are evaluated much higher than internal links from your own site. They are seen as independent editorial votes for your content. Search engines also consider so called link cluster building: sites, that heavily cross-link to each other are seen as one site and the links are treated as internal links (and therefore evaluated less).</p><h3>Cumulation</h3><p> Search engines do not count multiple links from a domain (or link cluster) cumulatively. So linking to a target site on every page does not have any additional effect. Ten links from ten different sites are evaluated higher than ten links from one site.</p><h3>Diversity</h3><p> Getting links from different page types, like blogs, social media sites, bookmarking sites, adds to the target page&#8217;s diversification. Engines are constantly upgrading the algorithms used for link evaluation. So if all links come from blog-like sites and the engines decide to reduce the value of blog links, your rankings will be influenced strongly. Another aspect of diversity is that gaining links from different types looks more balanced to the search engines and therefore more natural.</p><h3>Temporal patterns</h3><p> Temporal factors include when the target site gets new links, how long the links existed and how quickly they were added. Links that exist for quite a long time might become less valuable, depending on the trust and authority of the linking site. Interesting for search engines is the period within which new links appear and whether the site jumps from one link per week up to 10 per day. This might be a signal for the search engines to take a closer look and to decide wether the link building is correct.</p><h3>Context</h3><p> Search engines also examine the context where the link is placed. Do other, nearby placed links point to content related pages? Is the link placed in the body of the content or in a link section at the bottom of the page (prominence)? Is the content related to the targets page content? Does the nearby text seem to be related to the anchor text (proximity)? Does the overall site context fit or is the link only placed in a small fitting section?</p><h3>Domain</h3><p> Relevance and authority is not determined on per site basis. A section under <em>example.com/seo</em> might be evaluated authoritative on the topic of seo, but <em>example.com/flex</em> might not be for the flex topic. Every site and the pages it has are judged on topic-by-topic.</p> ]]></content:encoded> <wfw:commentRss>http://www.flamelab.de/article/10-aspects-how-search-engines-evaluate-links/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Relevance and Importance of Search Results</title><link>http://www.flamelab.de/article/relevance-and-importance-of-search-results/</link> <comments>http://www.flamelab.de/article/relevance-and-importance-of-search-results/#comments</comments> <pubDate>Thu, 04 Feb 2010 20:20:53 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[E-Business]]></category> <category><![CDATA[seo]]></category> <category><![CDATA[www]]></category> <guid
isPermaLink="false">http://www.flamelab.de/?p=270</guid> <description><![CDATA[Whenever the user hits the search button on Google, Bing or Yahoo, the search engine returns a bunch websites that fit the user&#8217;s search term. In order to determine these results, the search engine needs to scan through its datastore of billions of websites and do two things: find those results that are relevant for [...]]]></description> <content:encoded><![CDATA[<p>Whenever the user hits the search button on Google, Bing or Yahoo, the search engine returns a bunch websites that fit the user&#8217;s search term. In order to determine these results, the search engine needs to scan through its datastore of billions of websites and do two things: find those results that are relevant for the user and his term and rank those pages by their perceived importance.<span
id="more-270"></span></p><blockquote><p>Relevance describes the factor to which the documents and their content match the user&#8217;s search term and intention. Importance on the other hand is a way to determine how the relevant pages rank.</p></blockquote><p>To determine relevance and importance, search engines rely on sophisticated algorithms for information retrieval (IR): document analysis (including semantic connectivity) and link analysis.</p><h3>Document analysis and semantic connectivity</h3><p>In document analysis, the search engine searches for the relevant terms in important structural elements of the document like the title, the metadata, heading tags and of course the text body. As simple, textual analysis is not enough, the engines also look at semantic connectivity. This refers to phrases or words that are typically associated with each other like <em>browser</em> and <em>internet</em>. Out of this the engines build up their own dictionary and thesaurus to determine related terms and topics. Based on this databases they use algorithms based on fuzzy logic to connect terms and <em>understand</em> pages and sites more clearly. This is done by measuring how often and in what contexts some terms are used together.</p><p>For example, by analysing the data the engine captured by crawling billions of pages, it would recognize, that the term <em>photography trip</em> often include <em>landscape</em>, <em>architecture</em> and <em>travel</em>.</p><h3>Link analysis</h3><p>By using link analysis, search engines measure which pages or sites link to each other and if these sites are trustworthy, based on the authority of sites linking to them. Link analysis does not only count the number of links &#8211; links form highly authoritative sites count more than links of lesser authority.</p><p>Another aspect of link weighting is the so called <em>link neighborhood</em>. Basically your site is placed in a neighborhood about the topic of your content. The number and quality of links to your site form sites in your neighborhood says something about how important your site is to that topic. So links from nonrelevant sites do not weigh as much as those from relevant ones.</p><p>The anchor text which is used linking to your page also plays a relevant role as it has a strong impact on determine relevant keywords. So a keyword rich link text has more value than the often seen &#8220;click here&#8221; (but keep in mind: search engines also take a look at the target&#8217;s content and if it fits the anchor text).</p><p><strong>To sum up</strong>: Search engines can use semantic analysis to identify relevant web pages that focus on a certain topic matching the user&#8217;s search query. Link analysis on the other hand helps to determine which pages have the most links from other sites focusing on the same topic. These sites are most likely to be more authoritative on the topic than others with less links and are therefore ranked higher.</p><p>Of course there are a lot <a
href="http://www.seomoz.org/article/search-ranking-factors">more ranking factors</a> that influence the ranking of pages for a search query &#8211; but content and link analysis form the general idea behind most of them to determine the relevance and importance of search results.</p> ]]></content:encoded> <wfw:commentRss>http://www.flamelab.de/article/relevance-and-importance-of-search-results/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Defining the System Context</title><link>http://www.flamelab.de/article/defining-the-system-context/</link> <comments>http://www.flamelab.de/article/defining-the-system-context/#comments</comments> <pubDate>Sun, 11 Oct 2009 20:22:51 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[E-Business]]></category> <category><![CDATA[application]]></category> <category><![CDATA[requirements engineering]]></category> <guid
isPermaLink="false">http://www.flamelab.de/article/defining-the-system-context.php</guid> <description><![CDATA[Requirements for a system don&#8217;t appear from nowhere but must be identified systematically. The successful definition of the systems border and the resulting identification of relevant context aspects build the foundation for a professional evaluation of the requirements for the new system. If the context is not defined properly within the process of requirements engineering, [...]]]></description> <content:encoded><![CDATA[<p><a
href="/article/requirements-engineering-basics">Requirements</a> for a system don&#8217;t appear from nowhere but must be identified systematically. The successful definition of the systems border and the resulting identification of relevant context aspects build the foundation for a professional evaluation of the requirements for the new system. If the context is not defined properly within the process of requirements engineering, the system relies on incomplete and inaccurate assumptions which might lead to a faulty behaviour.<span
id="more-20"></span></p><p>The Goal of the context analysis is to separate the system from its environment and highlight those parts which are relevant and affect the requirements. Therefore, assumptions about how the future system will be integrated in its reality must be made. In order to fully and accurately identify the requirements, it&#8217;s necessary to find all relations between the system and its future environment.</p><h3>System and context border</h3><p>For defining the system context, it&#8217;s necessary to border it form the system and the irrelevant part of reality. Through system and context borders, the system context is defined. It covers all aspects which are relevant for the requirements and can not be designed during the development of the system. Therefore, two processes are defined:</p><ul><li> <strong>Defining the system border</strong>: This process determines which aspects will be covered by the new system (the systems scope) and which aspects are part of the environment. All elements within the scope can be influenced and designed during development. Within the border, there might be a hardware and software based entity. Interfaces to external systems form the border and offer points for interaction.</li><li> <strong>Defining the context border</strong>: This process determines the border of the context to the irrelevant reality by analysing which parts of the environment have a relationship with the new system. Entities within the context are typical sources for requirements. This might be stakeholders, external systems, existing processes, events and actions or legal definitions</li></ul><h3>Twilight area</h3><p>Both bounderies mostly become precise not until the end of the requirements engineering process. Afore, some requirements are known only partial or not at all. This fuzziness results in a twilight zone that exists in different times throughout the engineering process. For example, at an early stage of the project, it might be unknown if a defined functionality must be implemented by the system or if it will be offered by an external system.</p><p>For the system border, this area might flow, considering aspects that are assigned to the context first and then move into the system itself. For the context border, this area flows if it&#8217;s not clear if certain environmental aspects influence the system or if they can be considered as irrelevant.</p><h3>Documenting the context</h3><p>Typically, the system context is documented by using use-case, data flow or class models. All three illustrate the different actors in the environment and their interaction with the system. For a complete documentation, different forms are used, highlighting changing perspecitves on the system and its environment.</p> ]]></content:encoded> <wfw:commentRss>http://www.flamelab.de/article/defining-the-system-context/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>On Page Search Engine Optimization</title><link>http://www.flamelab.de/article/on-page-search-engine-optimization/</link> <comments>http://www.flamelab.de/article/on-page-search-engine-optimization/#comments</comments> <pubDate>Tue, 18 Aug 2009 20:55:21 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[E-Business]]></category> <category><![CDATA[seo]]></category> <category><![CDATA[www]]></category> <guid
isPermaLink="false">http://www.flamelab.de/article/on-page-search-engine-optimization.php</guid> <description><![CDATA[Search engine optimization (SEO) has become an important business for improving a websites performance and interaction with both, search engines and users. SEO is mostly about making some small improvements and modifications to certain parts of a website. Although these steps might seem like incremental tasks each, when they are combined, they can have noticeable [...]]]></description> <content:encoded><![CDATA[<p>Search engine optimization (SEO) has become an <a
href="http://en.wikipedia.org/wiki/Search_engine_optimization" target="_blank">important business</a> for improving a websites performance and interaction with both, search engines and users. SEO is mostly about making some small improvements and modifications to certain parts of a website. Although these steps might seem like incremental tasks each, when they are combined, they can have noticeable advancement on both, the site&#8217;s user experience and the performance in organic search results.<span
id="more-21"></span></p><h3>Content and keywords</h3><p>Offering top quality and useful content will influence a website more than any other optimization technique. Fresh and unique content will keep your visitors comming back an bring new ones to your site. It&#8217;s important to take a second and think about relevant keywords a user might search for and which could be associated with your content. These keywords should be used in the text &#8211; but spammming must be avoided.</p><p>Content must be organized and split up to several blocks, using headlines and paragraphs. This helps users find the content they are searching for faster. Well written and structured text that is easy to follow is more likely to be linked from other resources like blog posts or social media services &#8211; helping to build the site&#8217;s reputation.</p><h3>Optimizing page elements</h3><p>Webpages can also be optimized by turing one&#8217;s attention to single page elements. To name the most important:</p><ul><li><strong>Headeline tags</strong>: Besides structuring a text with headlines has a high impact on its <a
href="http://www.webcredible.co.uk/user-friendly-resources/web-usability/web-page-readability.shtml">readability</a>, it helps search engines to better &#8220;understand&#8221; the content and improve the keyword association. Headlines should be strucured hierachical to underline the importance of sections. and aid the user aand bots while navigating through the content.</li><li><strong>Images</strong>: Search engines can not see the content of images, so it is important to tell them about. What bots can read are the image url and the <tt>alt</tt>-attributes text, which should describe the image brief and descriptitve. Cryptical names do not carry any useful information.</li><li><strong>Page titles</strong>: The <tt>title</tt>-tag of a website should contain an accurate title, telling visitors about the page topic. They are also usually shown in the first line of the search result. and therefore must communicate and describe the content briefly. To enable users and search engines to distingush different pages, the title must also be unique within the site.</li><li><strong>Meta tag</strong>: A <tt>description</tt>-meta tage gives search engines a deeper summary what the content is about. Whereas the <tt>title</tt> offers only space for a few words, the meta tag may be a sentence or even a short paragraph. Like the page title, the description must be accurate and unique.</li><li><strong>Nofollow links</strong>: Be aware of using the <tt><a
href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;answer=96569">rel="nofollow"</a></tt> attribute with links. This attribute tells search engines that your page&#8217;s reputation and popularity should not be passed to the page behind the link. It&#8217;s used to prevent the impact of spam comments on search results and <a
href="http://en.wikipedia.org/wiki/PageRank">page ranking</a>.</li><li><strong>Anchor text</strong>: Anchor text should speak for them self, giving users a hint what they can expect on the selected page. It isused as a key indicator for identifying the topics of the pages they it is linking to.</li></ul><h3>URL structure and site navigation</h3><p>Descriptive filenames and simple directory structures for webpages improve crawling the documents by search engines. If the URL contains relevant words, it provides users and search bots with more information about the content. This also has some positive impact for visitors as they get a hint where they are on the website. Each page should also have one unique URL linking to it. <a
href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;answer=66359">Duplicate content</a> affects the ranking of a page negatively.</p><p>As the navigation is important to make users find the desired content quickly, it gives a search engine a hint about what role a page plays in the whole sites context. A naturally flowing hierarchy makes it easier for visitors to navigate from general to more specific content. Using text links for those navigation paths makes it easier for bots crawling and understanding the site.</p><p>HTML sitemaps for users and <a
href="http://www.sitemaps.org/">XML Sitemaps</a> for search engines are an easy way informing visotors about possible content and ensures that bots and users discover the pages.</p> ]]></content:encoded> <wfw:commentRss>http://www.flamelab.de/article/on-page-search-engine-optimization/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Log Package for Flex and Air Applications</title><link>http://www.flamelab.de/article/log-package-for-flex-and-air-applications/</link> <comments>http://www.flamelab.de/article/log-package-for-flex-and-air-applications/#comments</comments> <pubDate>Tue, 26 May 2009 17:52:31 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[actionscript]]></category> <category><![CDATA[air]]></category> <category><![CDATA[flash]]></category> <category><![CDATA[flex]]></category> <guid
isPermaLink="false">http://www.flamelab.de/article/actionscript_log_package_for_flex_and_air_applications.php</guid> <description><![CDATA[The ASLib de.flamelab.log package provides classes and functionalities for general purpose logging. It can be regarded as an alternative to the Flex build in mx.loggging package as it offers a different approach, similar to the Zend_Log component in PHP. It can be used in any ActionScript based project and is therefore not limited to Flex [...]]]></description> <content:encoded><![CDATA[<p>The <a
href="/projects/aslib/documentation/" target="_blank">ASLib </a><tt>de.flamelab.log</tt> package provides classes and functionalities for general purpose logging. It can be regarded as an alternative to the Flex build in <tt><a
href="http://livedocs.adobe.com/flex/3/langref/mx/logging/package-detail.html" target="_blank">mx.loggging</a></tt> package as it offers a different approach, similar to the Zend_Log component in PHP. It can be used in any ActionScript based project and is therefore not limited to Flex applications.<span
id="more-111"></span></p><h3>Overview</h3><p>The package supports multiple log backends and formatting and filtering messages sent to the log. These functionality is devided into to the following objects:</p><ul><li>A <strong>Log</strong> (<tt>de.flamelab.log.Log</tt>) represents the basic object. An application can have as many Log objects as you like. Log objects can be sotred in the LogRegistry</li><li>A <strong>Writer</strong> (<tt>de.flamelab.log.AbstractLogWriter</tt>) implements a concrete logging mechanism and is therfore responsible for saving the message to a storage. New Writers can be added by inheriting and implementing the abstract base class.</li><li>A <strong>Filter</strong> (<tt>de.flamelab.log.ILogFilter</tt>) blocks data from being logged. A filter is applied to a Writer object and can be chained with other filters.</li><li>A <strong>Formatter</strong>(<tt>de.flamelab.log.ILogFormatter</tt>) is used to format the log messages before they are written by a Writer. Each Writer has excatly one Formatter.</li><li>A <strong>LogRegistry</strong> (<tt>de.flamelab.log.LogRegistry</tt>) can be used to gain convenient access to different Log instances among different classes.</li><li> A <strong>LogEvent</strong> (<tt>de.flamelab.log.LogEvent</tt>) is used for encapsulating the necessary log information an is dispatched to all assigned Writers of a Log object.</li></ul><h3>Logging messages</h3><p>To start logging, a Writer intance must be passed to a Log instance and the <tt>log()</tt> Method can be called on the Log. Additionally, the Log instance can be stored in the LogRegistry for further usage. Writer instances can be fetched through a static method of a LogFactory. A Log instance must at least have one Writer assigned with the <tt>addWriter()</tt> method to it to work properly. If multiple Writers are assigned, each Writer recieves the log data.</p><div
class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div
class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">logger = <span
style="color: #000000; font-weight: bold;">new</span> <span
style="color: #0066CC;">Log</span><span
style="color: #66cc66;">&#40;</span><span
style="color: #66cc66;">&#41;</span>;<br
/> LogRegistry.<span
style="color: #006600;">setLog</span><span
style="color: #66cc66;">&#40;</span><span
style="color: #ff0000;">'testlogger'</span>, logger<span
style="color: #66cc66;">&#41;</span>;<br
/> <span
style="color: #000000; font-weight: bold;">var</span> write:AbstractLogWriter = LogFactory.<span
style="color: #006600;">getWriter</span><span
style="color: #66cc66;">&#40;</span>LogFactory.<span
style="color: #006600;">FIREBUG</span><span
style="color: #66cc66;">&#41;</span>;<br
/> LogRegistry.<span
style="color: #006600;">getLog</span><span
style="color: #66cc66;">&#40;</span><span
style="color: #ff0000;">'testlogger'</span><span
style="color: #66cc66;">&#41;</span>.<span
style="color: #006600;">addWriter</span><span
style="color: #66cc66;">&#40;</span>writer<span
style="color: #66cc66;">&#41;</span>;<br
/> logger.<span
style="color: #0066CC;">log</span><span
style="color: #66cc66;">&#40;</span><span
style="color: #ff0000;">&quot;emergency log message&quot;</span>, <span
style="color: #0066CC;">Log</span>.<span
style="color: #006600;">EMERG</span><span
style="color: #66cc66;">&#41;</span>;</div></div><p>The <tt>log</tt> method accepts two arguments, the log message and a priority. The Log class defines the following priorites, based on the BSD syslog protocol, described in <a
href="http://tools.ietf.org/html/rfc3164" target="_blank">RFC-3164</a>:</p><ul><li>EMERG &#8211; Emergency: system is unusable</li><li>ALERT  &#8211; Alert: action must be taken immediately</li><li>CRIT &#8211; Critical: critical conditions</li><li>ERR &#8211; Error: error conditions</li><li>WARN &#8211; Warning: warning conditions</li><li>NOTICE &#8211;  Notice: normal but significant condition</li><li>INFO &#8211; Informational: informational messages</li><li>DEBUG &#8211; Debug: debug messages</li></ul><p>By calling the <tt>log()</tt> method, a LogEvent instance is created an populated with all necessary data describing the log action. It is passed to all Writer objects and its creation is completely transparent.</p><h3>Writers</h3><p>A Writer is an object which responsibility is to record the log data to a defined storage. All Writer inherit and implement the abstract <tt>AbstractLogWriter</tt> class. Each Writer can be instantiated directly or it can be fetched through the <tt>LogFactory</tt>. The package already has the following Writer objects implemented:</p><ul><li><strong>LogWriterFirebug</strong>: Writes the data to the <a
href="http://getfirebug.com/" target="_blank">Firebug Console</a>.</li><li><strong>LogWriterAirFile</strong>: Uses the <tt><a
href="http://help.adobe.com/en_US/AIR/1.1/devappshtml/WS5b3ccc516d4fbf351e63e3d118666ade46-7db3.html" target="_blank">FileStream</a></tt> object to write log messages to a defined logfile on the clients&#8217; filesystem.</li><li><strong>LogWriterAirSqlite</strong>: Uses <a
href="http://www.peterelst.com/blog/2008/04/07/introduction-to-sqlite-in-adobe-air/" target="_blank">Airs&#8217; SQLite</a> ability and stores messages in a automatically created, local database table.</li></ul><p>All Writers are meant for logging certain application activities or errors during application runtime, not only while developing or debugging.</p><h3>Formatters</h3><p>A Formatter takes an LogEvent and formates its data in a predefined manner for storage. Some Writers are not line-oriented and cannot use a Formatter. The <tt>LogWriterAirSqlite</tt> for example takes the data from the event and inserts its values into the database directly.</p><p>Each Formatter must implement the <tt>ILogFormatter</tt> interface. The package includes a basic <tt>LogFormatterSimple</tt> that uses a user-defined pattern for arranging the data provided by the LogEvent in a message. It is also used for default formatting when no Formatter is specified. A Formatter is set on an individual Writer by using the <tt>setFormatter()</tt> method.</p><div
class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div
class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">logger = <span
style="color: #000000; font-weight: bold;">new</span> <span
style="color: #0066CC;">Log</span><span
style="color: #66cc66;">&#40;</span><span
style="color: #66cc66;">&#41;</span>;<br
/> <span
style="color: #000000; font-weight: bold;">var</span> writer:AbstractLogWriter = LogFactory.<span
style="color: #006600;">getWriter</span><span
style="color: #66cc66;">&#40;</span><br
/> LogFactory.<span
style="color: #006600;">AIRFILE</span>,<br
/> <span
style="color: #66cc66;">&#123;</span>uri:<span
style="color: #ff0000;">&quot;logs/log.txt&quot;</span><span
style="color: #66cc66;">&#125;</span><span
style="color: #66cc66;">&#41;</span>;<br
/> <span
style="color: #000000; font-weight: bold;">var</span> format:LogFormatterSimple = <span
style="color: #000000; font-weight: bold;">new</span> LogFormatterSimple<span
style="color: #66cc66;">&#40;</span><span
style="color: #ff0000;">&quot;%timestamp%:%message%&quot;</span><span
style="color: #66cc66;">&#41;</span>;<br
/> writer.<span
style="color: #006600;">setFormatter</span><span
style="color: #66cc66;">&#40;</span>format<span
style="color: #66cc66;">&#41;</span>;<br
/> logger.<span
style="color: #006600;">addWriter</span><span
style="color: #66cc66;">&#40;</span>writer<span
style="color: #66cc66;">&#41;</span>;<br
/> logger.<span
style="color: #0066CC;">log</span><span
style="color: #66cc66;">&#40;</span><span
style="color: #ff0000;">&quot;error log message&quot;</span>, <span
style="color: #0066CC;">Log</span>.<span
style="color: #006600;">ERR</span><span
style="color: #66cc66;">&#41;</span>;</div></div><h3>Filters</h3><p>A Filter objects decides if a message should be stored or blocked  from being written to the log. The <tt>addFilter()</tt> method is used to add a Filter to a Writer. They can be chained, as multiple Filters can be applied.<br
/> Each Filter mus implement the <tt>ILofFilter</tt> interface. The package comes with two predefined classes:</p><ul><li><strong>LogFilterPriority</strong>: Only messages with a priority smaller or equal the given value are logged.</li><li><strong>LogFilterRegex</strong>: Uses a regular expression to decide whether a message should be blocked.</li></ul><div
class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div
class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">logger = <span
style="color: #000000; font-weight: bold;">new</span> <span
style="color: #0066CC;">Log</span><span
style="color: #66cc66;">&#40;</span><span
style="color: #66cc66;">&#41;</span>;<br
/> <span
style="color: #000000; font-weight: bold;">var</span> writer:AbstractLogWriter = LogFactory.<span
style="color: #006600;">getWriter</span><span
style="color: #66cc66;">&#40;</span><br
/> LogFactory.<span
style="color: #006600;">AIRFILE</span>,<br
/> <span
style="color: #66cc66;">&#123;</span>uri:<span
style="color: #ff0000;">&quot;logs/log.txt&quot;</span><span
style="color: #66cc66;">&#125;</span><span
style="color: #66cc66;">&#41;</span>;<br
/> <span
style="color: #000000; font-weight: bold;">var</span> prioFilter:LogFilterPriority = <span
style="color: #000000; font-weight: bold;">new</span> LogFilterPriority<span
style="color: #66cc66;">&#40;</span><span
style="color: #0066CC;">Log</span>.<span
style="color: #006600;">WARN</span><span
style="color: #66cc66;">&#41;</span>;<br
/> <span
style="color: #000000; font-weight: bold;">var</span> regex:RegExp = <span
style="color: #66cc66;">/</span>.<span
style="color: #66cc66;">*</span>?<span
style="color: #66cc66;">&#40;</span>critical<span
style="color: #66cc66;">&#41;</span>.<span
style="color: #66cc66;">*</span>?<span
style="color: #66cc66;">/</span>;<br
/> <span
style="color: #000000; font-weight: bold;">var</span> regexFilter:LogFilterRegex = <span
style="color: #000000; font-weight: bold;">new</span> LogFilterRegex<span
style="color: #66cc66;">&#40;</span>regex<span
style="color: #66cc66;">&#41;</span>;<br
/> writerDB.<span
style="color: #006600;">addFilter</span><span
style="color: #66cc66;">&#40;</span>prioFilter<span
style="color: #66cc66;">&#41;</span>;<br
/> writerDB.<span
style="color: #006600;">addFilter</span><span
style="color: #66cc66;">&#40;</span>regexFilter<span
style="color: #66cc66;">&#41;</span>;<br
/> logger.<span
style="color: #006600;">addWriter</span><span
style="color: #66cc66;">&#40;</span>writer<span
style="color: #66cc66;">&#41;</span>;<br
/> logger.<span
style="color: #0066CC;">log</span><span
style="color: #66cc66;">&#40;</span><span
style="color: #ff0000;">&quot;error log message&quot;</span>, <span
style="color: #0066CC;">Log</span>.<span
style="color: #006600;">ERR</span><span
style="color: #66cc66;">&#41;</span>;</div></div><p>The package is part of the <a
href="/projects/aslib/documentation/">ASLib</a>. Get the <a
href="http://www.flamelab.de/downloads/aslib.zip">ASLib</a></p> ]]></content:encoded> <wfw:commentRss>http://www.flamelab.de/article/log-package-for-flex-and-air-applications/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> </channel> </rss>
