In his article <a href="http://thecodist.com/fiche/thecodist/article/13-ways-to-avoid-building-web-applications-that-suck">13 Ways to Avoid Building Web Applications That Suck</a>, Andrew Wulf of thecodist.com writes how websites are not rocket science, yet he is "amazed at how companies with deep pockets manage to produce drecky sites. This is your public face, would you go on a date with mud on your face and spinach in your teeth?" Sooo, let's see how <strong>bitweaver helps you to:</strong>

<h1>1. <a href="http://thecodist.com/fiche/thecodist/article/13-ways-to-avoid-building-web-applications-that-suck">Put javascript and css in their place</a></h1>
Bitweaver's Javascript and CSS files are kept in separate files and not embedded in every page. Your visitor's browser downloads them only once - just how it's <a href="http://archivist.incutio.com/viewlist/css-discuss/86347">supposed</a> <a href="http://webdesign.about.com/od/css/qt/aatypesofcss.htm">to be done</a> <a href="http://lists.evolt.org/archive/Week-of-Mon-20010604/034199.html">since 2001</a> and has lots of <a href="http://www.wmtips.com/CSS/stylesheets-external-embedded-213.htm">advantages</a>. At bitweaver.org, there is a whole documentation category on <a href="http://www.bitweaver.org/pigeonholes/1784">theming and styling</a>.

<h1>2. <a href="http://thecodist.com/fiche/thecodist/article/13-ways-to-avoid-building-web-applications-that-suck">Use compression</a></h1>
In bitweaver's admin panel, you find a checkbox to activate <a href="http://en.wikipedia.org/wiki/Gzip#Other_uses">gzip compression</a>. This very popular feature <a href="http://www.webreference.com/internet/software/servers/http/compression/">speeds up the web</a> and is understood by virtually all servers and browsers. Bitweaver combines often used Javascript function in one file bitweaver.js that is <a href="http://dean.edwards.name/packer/">compressed</a> to one third its size. Bitweaver uses a template engine called <a href="http://smarty.php.net/whyuse.php">Smarty</a> with features like <a href="http://smarty.php.net/manual/en/caching.php">caching</a>. Upon installing bitweaver, it will be detected if a 3rd party compression software like eAccelarator is available on your server, and if not, recommended.


<h1>3. <a href="http://thecodist.com/fiche/thecodist/article/13-ways-to-avoid-building-web-applications-that-suck">If you put a DocType in your page, validate against it</a></h1>
For me, crappy HTML was the reason to leave Tikiwiki when bitweaver was forking from it in 2003. Ever since, the HTML code and structure got better each day. By using Joomla, Moodle, Tikiwiki, Drupal, Typo3 and a bunch of single-feature OSS applications, I convinced myself, that bitweaver has the best HTML code of all. There are not dozens of wrapper-DIVs, no fake left/right-columns, and certainly no layout tables. Techniques like <a href="http://blog.html.it/layoutgala/">Layout Gala</a> and <a href="http://tango.freedesktop.org/Tango_Desktop_Project">Tango Icon Project</a> are incorporated into bitweaver. For the behaviour layer <a href="http://mochikit.com/">Mochikit</a> and <a href="http://www.prototypejs.org/">Prototype</a> have been used by several packages. For WYSIWIG editing you can choose between <a href="http://tinymce.moxiecode.com/">TinyMCE</a> and <a href="http://www.fckeditor.net/">FCKeditor</a>, both with their own knobs to tune validation.

<h1>4. <a href="http://thecodist.com/fiche/thecodist/article/13-ways-to-avoid-building-web-applications-that-suck">Don't air your dirty laundry in public</a></h1>
Your bitweaver site won't throw exceptions and vomit all over your users with debugging information, if you don't want to. There is a switch for <em>is live</em> VS <em>show errors, I'm debugging</em> in kernel/config_inc.php, and a checkbox to set this option during install. When your site has been live for a while and needs a break for maintainance, visit the admin panel to find an option to close the site completely, except for admins (or any other group). That being said, error pages do exist, of course, to indicate a page not found or a permission not granted.

<h1>5. <a href="http://thecodist.com/fiche/thecodist/article/13-ways-to-avoid-building-web-applications-that-suck">Use modern web design</a></h1>
"Dreamweaver is your enemy", Andrew Wulf wrote, and that makes bitweaver your friend :) "Accessibility, usability and maintainability" is exactly what bitweaver is about. When you install bitweaver, you don't need a program to build your website, it <strong>is</strong> your website. Just like any of those web content management system out there. But none take flexibility as far as bitweaver. Choose only the packages that you want (blogs, wiki, image galleries, chat, forums, rating and so <a href="http://www.bitweaver.org/wiki/bitweaverFeatures">many more</a>). Use the database of your choice (MySQL, Postgres, Firebird, and others), use the database abstraction layer of your choice (AdoDB or Pear), choose an icon set that follows the Tango Project naming conventions, choose out of 40 Layouts, choose between dozens of designs or make your own easily. The only reason <strong>not</strong> to install bitweaver is when you don't like choices.

<h1>6. <a href="http://thecodist.com/fiche/thecodist/article/13-ways-to-avoid-building-web-applications-that-suck">Support all modern browsers</a></h1>
For some of us, this is a ten year old topic. Today, it's Internet Explorer 6 that has to be "supported". For that, bitweaver has some code in place that takes care of CSS-based drop down menus (<a href="http://alistapart.com/articles/dropdowns/">Suckerfish</a>), <a href="http://dean.edwards.name/IE7/">PNG support</a>, and other details.

<h1>7. <a href="http://thecodist.com/fiche/thecodist/article/13-ways-to-avoid-building-web-applications-that-suck">If your application has special needs, check up front</a></h1>
First of all, bitweaver's core works without Javascript. The admin panel doesn't require Javascript or Flash or even images. For some advanced packages, like Gmap, Javascript has to be enabled. 3rd party software like the WYSIWYG-editors fall back to simple textareas, the user can input either Wiki-Syntax or text (or handcode HTML). Cookies have to be enabled at least for a user to login. If the admin doesn't want that, there is an option to store session data in the database instead.

<h1>8. <a href="http://thecodist.com/fiche/thecodist/article/13-ways-to-avoid-building-web-applications-that-suck">Test your application usability with real users</a></h1>
For that, you need the input of your users. Bitweaver offers forums, chat, comments, rating, stars, and a contact form.

<h1>9. <a href="http://thecodist.com/fiche/thecodist/article/13-ways-to-avoid-building-web-applications-that-suck">Use a real database</a></h1>
"Use <a href="http://www.mysql.com/">MySQL</a>, or even better <a href="http://www.postgresql.org/">Postgres</a>", says Andrew Wulf, and that's the recommendation of many bitweaver core developers. Furthermore <a href="http://www.oracle.com/database/index.html">Oracle</a>, <a href="http://www.firebirdsql.org/">Firebird</a> and <a href="http://www.sybase.com/">Sybase</a> are supported.

<h1>10. <a href="http://thecodist.com/fiche/thecodist/article/13-ways-to-avoid-building-web-applications-that-suck">Don't use platform specific functionality</a></h1>
check

<h1>11. <a href="http://thecodist.com/fiche/thecodist/article/13-ways-to-avoid-building-web-applications-that-suck">Realize your customers don't all have T3 lines</a></h1>
You can check your own bitweaver installation with services like <a href="http://www.websiteoptimization.com/services/analyze/wso.php?url=http://bitweaver.org">websiteoptimization.com</a> and <a href="http://www.webwait.com/#bitweaver.org">webwait.com</a>. Compared with the homepages of other web content management systems, bitweaver.org is one of the fastest (around 20 objects, page size under 80 Kilobyte, 3 to 4 seconds average load time). In bitweaver's admin panel you control various kinds of caches. Some more settings are in /kernel/config_ing.php. Bitweaver's main bridge for content, <a href="http://www.bitweaver.org/wiki/LibertyPackage">liberty</a>, sports an additional multi-layer cache for fine grained control over each content particle.


<h1>12. <a href="http://thecodist.com/fiche/thecodist/article/13-ways-to-avoid-building-web-applications-that-suck">Deal about accessibility and internationalization early</a></h1>
Bitweaver's <a href="http://www.bitweaver.org/wiki/LanguagesPackage">languages package</a> is heavy machinery. It gives you every possibility to taylor your site to an international audience. You can record unstranslated strings, base language selection on the browser's language, and let users select their language based on flag icons.

<h1>13. <a href="http://thecodist.com/fiche/thecodist/article/13-ways-to-avoid-building-web-applications-that-suck">Test early, test often</a></h1>
You can switch off Smarty's cache for compiled templates in /kernel/config_inc.php. Changes of template code will then appear after refreshing the page in your browser withouth having to clear the template cache. When you write PHP, you can use <a href="http://www.bitweaver.org/wiki/index.php?structure_id=198#Whatareyourgenericdevtools">certain functions</a> to get a visual feedback. If you're developing your own Style, use the Smarty function {debug} anywhere in your template to produce a popup window that tells you exactly which arrays and values are available to you.
Page History
Date/CommentUserIPVersion
21 Aug 2009 (15:53 UTC)
Just fixing some typos that I spottes, theres more if anyone would like to take that on.
Tyler Bello69.134.250.11210
Current • Source
laetzer85.178.17.1199
View • Compare • Difference • Source
laetzer85.178.63.2428
View • Compare • Difference • Source
laetzer85.178.60.367
View • Compare • Difference • Source
laetzer85.178.41.243
View • Compare • Difference • Source
laetzer85.178.41.241
View • Compare • Difference • Source