software projects: have your cake and eat it?

would you like to have your cake and eat it, too?

in my opinion you actually can’t; you’re not able to make absolutely sure that a project is on budget (resources), on time (delivery date), and have all the planned features with high quality, all at the same time.  there’s always a risk, and you can only control any 2 out of the 3 factors at the most. If you try to control all 3 factors at once you are most likely sacrificing the quality of the features, and thus you’re not in control over the features anyway.

Scott W. Ambler makes a few interesting points in this article about software development projects – i’ve selected the quotes that’s most interesting (to me) below.

  • “the only true measure of progress on a software development project is the delivery of working software. “
  • “Agile teams choose to produce potentially-shippable software at the end of each iteration, providing concrete and visible feedback to their stakeholders as to their actual progress. “
  • “… the majority of stakeholders prefer this sort of tangible evidence of progress instead of intangible numbers. “
  • “… the majority of our stakeholders aren’t really interested in whether we’re on schedule or on budget.”

“…. In August 2007, Dr. Dobb’s ran a survey exploring how people define IT project success, and we found that 80 percent of people preferred to focus on producing a good return on investment (ROI) than being under budget, and that 62 percent wanted teams to ship their systems when they’re ready to be shipped rather than forcing adherence to a schedule. ”

  • “… the priorities are to spend the money wisely and ship quality systems. “
  • “… shipping high quality software is more important than being on time and on budget”
  • “… instead of measuring progress against your plan, … you should instead be focusing on ensuring ROI and product quality. “

“The agile practices of implementing requirements in priority order and allowing requirements to evolve throughout the lifecycle ensure greater ROI, and agile practices such as test-driven development (TDD) and refactoring promote greater quality.”

Intro til Wikipedia

Wikipedia er eit oppslagsverk.  Det har mange frivillige personar
knytta til seg, og kven som helst kan bidra med informasjon om eit
tema.  Det finnest oppslagsverk på ulike språk, inkludert variantar som
bokmål og nynorsk, og ein artikkel om eit tema har lenker til artiklar
om temaet på andre språk.

Artiklane i Wikipedia har ein versjonshistorikk, dvs at kvar endring av
ein artikkel kan sporast og sjåast på i ettertid.  Såleis er det mogleg
å sjå kva ein konkret person har bidratt med i ein artikkel, sjølv om andre har endra
artikkelen vidare etterpå.

For meir informasjon, sjå http://nn.wikipedia.org/wiki/Wikipedia.

Greitt å hugsa på ved skriving i Wikipedia-artiklar

  • Der er retningslinjer: http://nn.wikipedia.org/wiki/Wikipedia:Retningsliner
  • “Du treng ikkje læra kvar einaste regel utanboks før du deltek!”
  • Det du skriv vil truleg bli endra, justert eller tilpassa av andre.  Slik er Wikipedia.
    Det går likevel an å spora arbeidet du har gjort: gå til historikk-biten av artikkelen (lenke øverst), og velg versjonen av artikkelen før ditt bidrag, og versjonen med ditt bidrag, og klikk knappen for samanlikning av versjonar.  Då får du klart fram kva ditt bidrag er.  Den lenka som då kjem i adresselinja på web-lesaren kan du kopiera og senda til andre som du vil visa ditt bidrag til.
  • Sjå også litt om kva Wikipedia ikkje er: http://no.wikipedia.org/wiki/Wikipedia:Hva_Wikipedia_ikke_er


Hypertekst / lenker

Hypertekst er eit sentralt omgrep i Wikipedia, og i websider generelt.  Det betyr at all informasjon og alle detaljer som er relevante ikkje treng å stå på ei og same side, i motsetning til ein artikkel på papir, men kan lenkast til og skildrast meir detaljert ein annan stad.  I den grad kontekst er informasjon, noko det i høgaste grad er, så representerer altså lenker ein rik måte å knytta utførleg og relatert informasjon til eit tema.  Det å produsera konteksten, dvs finna relatert informasjon og knytta lenker dit, blir dermed også ein del av arbeidet med å formidla informasjon om eit konkret tema.

Meir informasjon: http://en.wikipedia.org/wiki/Hypertext

Praktisk

Det er greitt å oppretta ein brukar på Wikipedia på det språket du planlegg å bidra i (bokmål/samnorsk, nynorsk, engelsk, o.l.).  Det er mogleg å skriva inn informasjon utan å registrera seg, men då er det vanskeleg etterpå å visa at det er du som har skrive noko – kun ip-adresse vil då bli registrert på det du skriv inn.

Ved bidrag til informasjon om eit tema bør ein også hugsa på konseptet om hypertekst (jf over), dvs at alle detaljar om eit sekundært tema ikkje treng å stå i same artikkel som primærtemaet, men kanskje fortener ein eigen artikkel.

Objektivitet

Eit av grunnprinsippa til Wikipedia er at alle artiklar skal ha ein nøytral synsvinkel.

  • alle sider av eit ev omdiskutert tema
  • betyr ikkje “heilt objektivt”, men å følga alle partar i ein diskusjon rettferdig, og ikkje berre tala for éi side.

Referansar

Wikipedia er eit oppslagsverk, og skal ikkje innehelda personlege synspunkt eller erfaringar, ny forskning eller liknande.  Ein grei tommelfingarregel er at dersom det finnest ei referanse (td at den nye forskninga er publisert i eit vitskapleg tidsskrift e.l.), så kan du ta det med (og føra opp referanse til kjelda).

which cms?

so you’re starting up a web site, and would like an easy way to manage it.  there’s a lot of systems available to manage form and content of a web site.

first off, i would like you to take any proprietary systems off the list – there’s no reason to get your content locked-in and get dependent on only one vendor.  that doesn’t mean you shouldn’t look at commercial offers – just make sure your content can be backed up and migrated relatively easy when you should need it.  in practice, i would consider products containing open source tools and commercial, technical service and maintenance.

there’s several types of content tools out there.  there’s the traditional type of CMS – in my opinion joomla (JO) and drupal (DR) are two of the best examples of this type.  and there’s the blog type, like movable type (MT) and wordpress (WP) – in my opinion two of the best of this type.  

if you’re not a big news organisation, e.g., like a newspaper or PR department of a multi-national company,  with complex and specific demands on the workflow of publishing, chances are that your needs can be met by MT or WP.  while these started out as blog tools, they are pretty good for managing other content, too.

non-blog use of blog tools

here’s a nice summary of non-blog use of tools like WP and MT, by a guy called Abhijit Nadgouda.  it’s focus is on WP, but many of the arguments are valid for MT as well. 

WordPress Makes Sense For Many Non-Blog Websites

(my italics…)

WordPress makes a lot of sense for many simple web sites, including the non-blog ones. … WordPress provides good infrastructure of web publishing and gives you tools to build an interactive web site.

….
Pages and Posts

WordPress supports two basic types of content – Pages and posts. Pages are used to hold information that is valid for a bigger span of time. For such content, a change overwrites the earlier content. Posts are used for content which is more dynamic, like news and updates. In stead overwriting with changes, such content builds an archive.

Now, any web site that represents an entity – company, product, educational institution or an individual, at least in today’s age, has both such types of content. Providing news and updates and their helps keep the readers and customers uptodate through subscriptions.

The recent versions of WordPress also lets you set one of the pages as the homepage.

….
Feed is one of the most used techniques by readers to keep themselves updated.
….
you can reach out to the web, feedreader and email users by just publishing the content once.

….
The templating system of WordPress supports a lot of customization

….
administration of a web site is one of the biggest hurdles in maintaining it. WordPress provides an easy to use administration interface for writing and managing content, and configuration of the web site.

….
WordPress also sports a simple but effective roles and capabilities system. This is extremely useful if you appoint different people for managing the web site configuration, managing content or adding the content.

….
Interaction

Comments is something I believe all web sites should borrow from blogging. Comments can be used to interact with the readers and customers. They can contact you or contribute to the content or report problems using them. Comments are supported for pages as well as individual posts.

….
completely open source … huge community

for me, two of the most important keywords here are “pages” and “feeds”. 

when you think blog, you might not think about web pages, but MT and WP inherently support the creation and maintenance of web pages.

web feeds might not be on your radar, but the phenomenon is gaining momentum.  it’s useful in the following ways:

  • it alerts people who use a feed reader that you’ve got new content on your website
  • you don’t have to do anything extra, like an email or newsletter – publish once, read everywhere…

a few differences

here’s a few central differences between movable type (MT), wordpress (WP), drupal (DR), joomla (JO).

(among the) sources:
http://www.alledia.com/blog/general-cms-issues/joomla-and-drupal-%11-which-one-is-right-for-you?/
http://www.cmsmatrix.org

  • multi-site, i.e., run several web sites/ domains from one installation
    • yes: MT, DR
    • adaption: WP MU
    • plugin: JO
  • plug-ins
    • many: MT, DR
    • a whole lot: WP, JO
  • publish content – differences is especially clear on high server load
    • MT: publish to static pages (takes a little more time after changes, but is faster)
    • WP, JO, DR: interpreted, i.e., dynamic pages, reads content from database every time.  (change is published right after save, but takes more time)
  • public mailing lists
    • yes: WP, MT, DR
    • no: Joomla

what others think

i’ve taken a look at what some other people think.  (i agree with much of the cited text…)

Comparing Joomla vs Drupal Content Management Systems – Part I/II

[on joomla and drupal]

The CMS Report claims these are considered the top two open source CMS programs, with Drupal excelling in program architecture, and Joomla excelling at function (while some say style).

MovableType 4 vs. WordPress 2.2

two of today’s premier content management systems
….
WordPress is famous for its “5 minute installation”
….
All in all, both WordPress and Movable Type were built with the end-user in mind and thus are continually improving their interfaces. Both are similarly equipped with intuitive admin areas, and neither have much of a learning curve.
….
The WordPress community is both large and talented. Themes and plugins are easily located on their respective directory pages on the WordPress site. The variety and quality in both categories is difficult to surpass. Even if you’re not content with something you find, enterprising web developers and newbies alike can easily create themes and plugins with the easy to use and well implemented Codex.
….
Movable Type is a comparably customizable system. Its community has also been proactive in the creation of plugins and themes can easily be found in their respective directories. … Six Apart’s done a great job of documenting all of the Developer info
….
There are a few things in WordPress that I’d like to see in MT in the near future: combining trackbacks and comments, RSS for comments, and permalinks for comments, for example.
….
Movable Type 4 introduces some features which take it beyond the call of duty. These include: OpenID, Admin XML Feeds, cross-blog aggregation, and more.
Virtually anything can be done with WordPress plugins, of course, but with Movable typ
e it’s all built in.

from the comments:

MT [is] good for larger sites especially where finer template control is required.
(Christen)

Joomla etc. can’t touch WP for sheer architectural elegance. …. I create small business sites, and I haven’t created one without WordPress as its CMS in a year now.
(Matt)

MT … is able to generate completely static HTML pages that do not require DB transactions as part of serving pages.
(aks)

Drupal is .. kinda like big beast working in the corner. It’s not pretty and it’s not friendly, but it gets the job done. Still, as far as competition goes – WordPress is still the current lead dog in all my development.
(Sofie)

MT offers both static and dynamic publishing, while you can only use dynamic publishing with WP.
(Dave)

Choosing an appropriate CMS

I use Joomla on very large sites when I have no choice.
….
Joomla spits out a lot of tables and non-standard code and has a complex back end that requires, on average, about an hour of training time with the client. I end up doing a lot of hacking on modules to make them fit into templates
….
Drupal is ideal for “organic” sites, or community based sites. If you want a site where the content grows from blogs, forums and comment discussions, this is a decent choice.
….
it’s a far simpler system to customize than Joomla.
….
I’m currently in love with WordPress. It’s a blog, but with a little work can become a CMS. If I’m doing a site with 5-10 static pages and a news page and gallery, this is the way I go. A simple back end and easy to use editor. No overkill and it’s easy to template.

Why pay for what’s free?
 

Almost everyone I know in magazines is using some sort of overpriced dinosaur to put their stories on the Web. And when I suggest that it may be time to dump their existing CMS and use a free system, people tend to freak out.
….
So I’m just thrilled to have an example of a gorgeous site with millions of page views that runs on WordPress, which happens to be my all-time favorite piece of publishing software. [XXL]

from the comments:

We dumped a proprietary system for Joomla… It’s far more powerful than what we had before, and it’s supported by an active development community. Even better, I’m not beholden to one vendor. All I need to do is type “Joomla developer” in to google. For smaller sites, we use Movable Type, which I imagine is similar to WordPress.
The days of publishers paying $50K just for CMS software is over.
(Dave Newcorn)

Ten reasons Joomla!/Mambo is an outdated CMS

The layout is based on tables. It is also very cluttered
….
The administrative interface is slow and not very user friendly.
….
There is a plethora of templates and plugins, but it’s very hard to find good ones. Many plugins are badly developed, very specialized or cost money.
….
This is very different from the WordPress community, where most plugins are of high quality, and where you quite easily can find the plugins thanks to the blogging community.
….
The code base is huge and the API is complicated and often inconsequent.
….
The whole CMS package is big and bulky, and so is the system itself.
….
The category system is inconseqent
….
Development is very slow.
….
Bad support for user content creation

from the comments:

I’ve taken the step to actually use WordPress as a CMS instead of the ones out there, since I have way more control over Wp than over Joomla.
….
With a couple of plugins I got the same functionality out of my Wp as I did from a vanilla installation of Joomla!.
(Yyy)

WordPress compared to Joomla

compare them as personal publishing platforms
….
As for potential, WordPress is a winner. Being aimed from the beginning on publishing as a priority task, it is still (at v2.0) simple and fast when it comes to publishing.
….
Joomla is more powerful as a CMS, but …. [WP] may outperform Joomla as a CMS.
….
WordPress built around writing content and publishing that content. Joomla from the beginning built around presentation of content

WordPress is Infinitely Extensible

from the comments:

Straight to the point: This is exactly the same I recently thought when building a rather complex website for the first time with WordPress – used as a CMS!
(Michael)

I’ve used countless CMS before. … Joomla, Mambo … and a slew of others that I can’t even remember their names – but WordPress is probably the best, and most accessible package I’ve ever used.
(Tadd)

As someone who almost exclusively uses WordPress as a framework for all my site work I do, I’d have to disagree about how great Drupal/Joomla are. I’m speaking strictly from the client -side of the park with this statement. … clients would never be able to make their way around the admin sections of Drupal/Joomla comfortably.
… for me it comes down to ease of use for the client and you can’t get much easier than WordPress
(Pop)

my conclusion

i’d go for a solution with movable type or wordpress, perhaps included in a package with commercial, technical support and maintenance.

(i definitely wouldn’t go for any proprietary solution!)

in WP and MT, it’s easy to get started with the core process – i.e., write and publish content – and there’s plenty of available plugins and templates.  and since WP and MT are open source and have decent developer communities, it should be possible to hire someone to do tailored functionality or design when needed.

which one, MT or WP?  it’s down to personal preferences, if there’s commercial support available, if you like PHP or Perl, etc.  below is some more resources to help you decide.

some resources

wordpress: http://wordpress.org/
plugins:
http://wordpress.org/extend/plugins/
http://mashable.com/2007/08/16/wordpress-god300-tools-for-running-your-wordpress-blog/
themes: http://themes.wordpress.net/
a few non-blog examples: http://blog.pixelita.com/10/10-non-blog-wordpress-sites/

movable type: http://www.movabletype.org/
plugins: http://plugins.movabletype.org/
on themes: http://wiki.movabletype.org/Main_Page#Templates.2C_Themes_and_Designs

drupal: http://drupal.org/

joomla: http://www.joomla.org/

how to prevent and handle spam

are you bothered by increasing amounts of spam? prevent spam spammers use automatic email address harvesters, which prowl the WWW for addresses.  so:

  • don’t publish your email address as clear text on public web pages, neither in text nor in links;
  • rather, use javascript or an image to communicate email address visually to the reader,
  • or, even better, use a contact form/ script where there’s no email address in the html.
  • or at least mask it with, for example, address (at) domain (dot) tld, even if some of these typical maskings (using “at” and “dot”) might be recognized by some email harvesters. anything is better than email addresses in pure text or mailto-links…
  • don’t reply to or click any link in a spam message you receive, as that only brings more spam.

a few practical tips including helpful resources, especially on email address image generators and email address munging…

minimize damage if you have qmail or gmail, you can use variations of your email address to identify and isolate the source regarding email you receive, including spam. the variations you can use is on the form address+variation@domain.  you can do this to “tag” different sources, having a restrictive .qmail-default and deleting additions (qmail) or filter out additions (gmail) if spam increase on a specific address variation. handle spam if you start to get spam, and don’t want to change your email address, you’d better deal with it somehow.

  • try email with learning spam filter, e.g., thunderbird or gmail (take a look at some info on why use gmail and how to get rid of spam)
  • don’t open attachments from unknown people, or with unknown file types
  • don’t use outlook if you can avoid it (even though i understand it’s been getting better lately)

links

  • useit.com/about/whynomailto.html (outdated/ removed): “Anything you put into a mailto: tag is fodder for EmailSyphon and other site suckers that download entire websites in order to find email addresses that they can add to spam mailing lists. I prefer hearing about as few get-rich-schemes and porn sites as possible.”
  • wikipedia on email harvesting: “…the more common use of special software, known as “harvesting bots” or “harvesters”, which scan Web pages … to obtain e-mail addresses.”
  • wikipedia on anti-spam techniques: “if the spammers can’t learn of the address, the address is less likely to be sent spam. …. One way that spammers obtain email addresses to target is to trawl the Web and Usenet for strings which look like addresses, using a spambot. Contact forms and address munging are good ways to prevent [harvesting] …. Posting anonymously, or with a fake name and address, is one way to avoid “address harvesting” … Users who want to receive legitimate email regarding their posts or Web sites can alter their addresses so humans can figure out but spammers cannot. For instance, joe@example.net might post as joeNOS@PAM.example.net.invalid, or display his email address as an image instead of text.”

life-long computer skills

i have been thinking about this for a while, without being very specific. as it turns out, Nielsen thought about the specifics before i got to it…

Life-Long Computer Skills (Jakob Nielsen’s Alertbox)

Schools should teach deep, strategic computer insights that can’t be learned from reading a manual
…..
There is some value in teaching kids skills they
can apply immediately, while they’re still in school, but there’s more value in teaching them deeper concepts that will benefit them forever, regardless
of changes in specific applications
…..
[This will give] students insights that they’re unlikely to pick up on their own
…..
People will
learn how to use features on their own, when they need them — and thus have the motivation to hunt for them. It’s the conceptual things
that get endlessly deferred without the impetus of formal education.

Following are some general skills that I think we should teach in elementary
school.

here’s the short version of Nielsen’s list:

  • search strategies
  • information
    credibility
  • information overload
  • writing for online readers
  • computerized presentation skills
  • workspace
    ergonomics
  • debugging
  • user testing and other basic usability guidelines

mutt flagging and filtering

(mutt is an email client…)

this tip on filtering/ limiting was exactly what i needed right now. it’s
been a while since i went over from mutt to gmail, but i still handle some email with mutt.

When I come across a message that I’d like to read more closely, or that needs a reply, I flag that message as “Important” by pressing the “F” key. Then
at a later time I can ask Mutt to show me only the flagged messages with a command like “l ~F“.

(bold text marked by me)

God jul og godt nyttår!

God jul og godt nyttår til deg som les dette!

Det er godt å ha nokre rolege dagar, og gjera ting som å skriva denne helsinga. Hausten har vore travel i år, sjølv om det blir tid til å stoppa opp av
og til; og Trondheim har ein del fint å by på.



Hauststemning



Vinter i nabolaget

Det har vore mykje å gjera på i året som gjekk. Mykje arbeid, men også ein del opplevingar. Det kunstneriske høgdepunktet var kanskje å få vera med og
syngja for Kronprinsen og -prinsessa på gjestebod i haust, med SKRUK 🙂



Månen på veg over Mjøsa i sommar



Snølykter på hytta i påsken



Barndommens beste badestad – i Østfold

Ungane er ein stor del av livet, og dei veks til. Yngstejenta byrjar snart på skulen…
Dei byrjar å bli ganske data-kunnige også.



Fotball for alle penga
 


Gjort til kunst av motivet sjølv…

Vel – det var litt om mitt liv i året som gjekk. -Alt godt til deg i året som kjem!
God jul og godt nyttår frå Trondheim!

feeds

here’s a few ways to use feeds:

how I use it: opera for (a lot of) news, gmail for fun stuff, feedreader for stuff I want to follow closely.