Software development

This blog entry is going to deal with the different possibilities you have when developing software. However, this is a guide not for software companies, but much more for smaller users and this will be one of the last blog entries I’m writing for the next weeks, since there is a bunch of other work up to do.

Firstly, I would like to say that there are different versions of software development, each targeted to a different customer. However, we are mainly distinguishing the following software development approaches (According to Bocij et al., 2008, Business Information Systems, Pearson Education: Essex. Fourth Ed.):

  • development done by a software company
  • end user-developed applications
  • software you can buy off the self

This however means that there is ground for more than just one software development approach and more than just one “right” way. But this also means that software development bears much more risk than usually managers think of. Here we will analyze the following points:

Development done by a software company

This is one way of letting others produce your software. And this is one risk of software development carried out by somebody else: you might end up with a software that does not do what you want it to do – just because the specification was not accordingly done. Software development done by a software company also yields in high prices, but the big advantage is that you can be sure that in most cases you get a high quality software product, tailored to your specific business needs, in case the specification was done properly.

End user- developed software

Some software can also be developed by end users. This means that the employee who is mainly affected by the software just tries to tailor a specific application out of e.g. excel sheets or integreated development environments (IDE’s) which assist in building applications. However, this is often problematic, since the work of this employee has to be done by somebody else while the employee is working on the application and usually this type of software development bears a lot of bugs and errors, maybe even resulting in wrong information being produced.

Buying software off the shelf

Buying software off the shelf may be particularly attractive for smaller companies, not having resources or knowledge of building their own application and not having financial resources for hiring a software development company. However, even though standardized software might be bug free, it will not be tailored exactly to your needs, at least you won’t find that most of the time. However, sometimes you might be able to customize your software, but in case you get your competitive advantage from a certain process, you can not find in standard software, you indeed might consider hiring a software development company.

Thanks for reading,

Christian

References: cf. for whole article Bocij et al., 2008, Business Information Systems, Pearson Education: Essex. Fourth Ed.

Suchmaschinenoptimierung CMS

Die Suchmaschinenoptimierung im Rahmen von einem CMS (Content Management System) kann sich als äußerst schwierig erweisen. Nicht nur die Auswahl eines CMS aus dem großen Angebot, sondern auch Grundsatzentscheidungen ob ein CMS überhaupt eingesetzt werden sollte sind im Rahmen der Suchmaschinenoptimierung zu betrachten. Hierzu ist zu sagen, dass sehr viele CMS Suchmaschinenoptimierung nicht automatisch berücksichtigen. Um zum Beispiel WordPress zu verwenden: Durch einige Einstellungen kann ein WordPressblog optimaler im Bezug auf die Suchmaschinenoptimierung gestaltet werden. Allerdings habe ich vor kurzem im Buch “The Art of SEO” von Enge et al. (O’Reilly, 2009) eine umfassende Auflistung über die Suchmaschinenoptimierung von CMS gelesen – einige Auszüge davon will ich hier zitieren und gleichzeitig für weitere Fragen auf office@chmaurer.com verweisen.

  • Das CMS soll eine intelligente Kategorisierung verwenden: Es ist von der Suchmaschinenoptimierung her betrachtet wichtig, dass ein CMS zum Beispiel benutzerdefinierte Menüstrukturen zulässt, da die Zugänglichkeit von Seiten nicht durch das CMS eingeschränkt werden darf.
  • RSS Feeds: Was in der Suchmaschinenoptimierung für “normale Websiten” schon state of the art ist, und trotzdem immer noch selten gemacht wird, sind RSS Feeds. Dadurch haben Besucher erst die Möglichkeit, von einer Seite laufend den neuesten Content zu erhalten.
  • XML Sitemap: Ein wichtiges Kriterium der Suchmaschinenoptimierung im Bezug auf CMS ist das Feature des suchmaschinenoptimalen CMS, eine XML Sitemap selbstständig zu erzeugen. Dies kann sehr viel Arbeit ersparen.

Mehr zum generellen Thema Suchmaschinenoptimierung finden Sie wie immer unter Suchmaschinenoptimierung.

Christian Maurer

Google does not show my page

Quite often these days I can hear from customers and other people that their page is not shown by Google, simply not ranked. Some web developers argue that the meta- Tags they put in place are not working and assume that those meta tags iron out a flash page’s lack of text. Some simply don’t know, some know about SEO but don’t do it and the rest are SEO professioals offering online marketing services.

What I want to say with this blogpost is that there are  lots of web developers who could save a lot of time investing in seo upon programming, not handing over the SEO service to a SEO specialist. The main features here are:

  • time saving: It saves a huge amount of time if the SEO does not have to be in ongoing contact with the webdeveloper to discuss about SEO facts.
  • money saving: It saves a huge amount of money for the customer, since the customer does not have to pay “communication and meeting time”.
  • no loss of information: No information is lost upon being transfered from customer to webdeveloper or SEO specialist or between webdeveloper and SEO specialist.
  • spoc: There is just one “single point of contact”, indicating that fewer things can go wrong and response times are improved.

If you don’t have a SEO for also doing your webdevelopment, feel free to contact www.chmaurer.com.

Christian Maurer

Web 3.0

Gibt es web 3.0? Und wenn es web 3.0 gibt, wird es dann auch web 4.0 geben? Was kommt nach dem “web 2.0″, das momentan floriert und bereits in mehreren posts inkludiert war? Und wird web 3.0 dann dazu führen, dass alle Probleme mit web 2.0 ausgemärzt werden? Und was sind überhaupt die Probleme von web 2.0?

Fragen über Fragen, die sich aufgrund der aktuellen Suchmaschinenoptimierung, des Online- Marketing, SEO- Angeboten und Suchmaschinenmarketingwelle stellen und die man schwer beantworten kann. Dennoch habe ich heute in einem Buch von Tom Funk (Web 2.0 and beyond) gelesen, was er sich von web 3.0 erwartet und was web 3.0 bringen wird. Doch alles der Reihe nach – zuerst eine kurze Einführung in die Probleme des web 2.0.

Probleme des web 2.0

Das web 2.0 bringt mit seiner Flut an Onlinekollaborationstools, Widgets, Gadgets, Foren und Blogs auch Probleme mit sich. Denn wenn man den “Webtraffic” als das “Blut” des Ökosystems Internet betrachtet, wird schnell klar, dass sich Viren und Trojaner durch das web 2.0 besonders schnell ausbreiten können. Das ist eines der Probleme, die Tom Funk anspricht.

Darüber hinaus möchte ich hinzufügen, dass an Benutzer immer höhere Anforderungen gestellt werden. Und die Frage, die sich hier stellt ist, wie viele Features User wirklich benötigen und ob alle web 2.0 Entwicklungen “Kundennutzen” hinzufügen (siehe erster Post dieses Blogs).

Tom Funk meint dazu, dass die Probleme mit Kreditkarten und schädlicher Software soweit gehen, dass Probleme für Online- Firmen auftreten: User sind sehr vorsichtig damit, Kreditkarteninformationen anzugeben und in der Regel schwer davon zu überzeugen.

Und was bringt nun web 3.0

Web 3.0 wird voraussichtlich in folgenden Richtungen wesentliche Neuerungen bringen:

  • Semantic Web und künstliche Intelligenz
  • Cloud computing
  • Universelle, portable Online-Identitäten
  • 3-D- Internet
  • Das verschwimmen der Grenze zwischen Web, Mobilgeräten und anderen Geräten

So – be prepared what’s out there and on its rise during the next years ;)

Christian Maurer

lean software, lean production and agile techniques

In this episode on my blog, I would like to start diskussing whether lean software development, lean production or agile techniques really have the effect one might think of.

First, let’s have a look at lean production and lean software development. As Bocij et al. put it in their book Business Information Systems (Pearson education, 4th edition) lean software development consists out of the following points:

  • eliminate waste
  • create knowledge
  • build quality in
  • defer commitment
  • deliver fast
  • respect people
  • improve the system

But let’s again look at these points. Isn’t most of it what we know since the earliest days of production (may it be producing software or other goods)? Isn’t “eliminate waste” or “build quality in” something, we should always do and have always done? Hasn’t “respect people” been one of the major movements in the last 2 centuries, where workers organized in labor unions?

Well, questions over questions and as you might see, we really came across some of these “new management approaches” during the last decades. But why did we forget about them? Did we simply “not listen” as they were announced as new doctrine of salvation? Or why do we need somebody else to tell us things like “respect your employees”?

Google Instant Search

Der Nachfolger der Universal Search und Real Time Search (siehe http://seo-news.de/), kommt Google nun mit einem neuen Thema- der Google Instant Search.

Was ist die Instant Search?

Vereinfacht gesagt: Fast jeder hat sie schon gesehen. Wenn man auf der Google- Startseite eingeloggt ist, wird bei der Suche ein Dropdownfeld mit Suchvorschlägen eingeblendet. Natürlich per AJAX Requests, was die Belastung der Server um ein vielfaches erhöht. Wo früher nur ein Request an einen Server geschickt wurde, nämlich nachdem man den Suchbegriff eingegeben hatte, wird nun nach jedem Buchstabe ein Request geschickt. Aber anscheinend schaffen’s die Google Server bzw. hat Google einen Weg gefunden, um das Problem zu lösen. Wie auch immer – was sind die Konsequenzen für SEO’s?

Instant Search und Bedeutung für SEO’s

Für uns als SEO’s bedeutet die Instant Search vor allem, dass eine kleine Anzahl an häufigen Suchanfragen für den Benutzer angezeigt wird. Natürlich beeinflussen diese Suchvorschläge das Suchverhalten des Benutzers und es bedeutet, dass es wichtig ist unter die am häufigsten gesuchten Begriffe zu kommen, um einen Multiplikatoreffekt zu erreichen. Und auch wenn die bisherige Suchlandschaft es schon schwer genug gemacht hat, “von ganz hinten nach ganz vorne” zu kommen, denke ich mir, dass es durch die Instant Search nicht einfacher wird.

Christian

Improve your Online Conversion Rate

Recently I’ve been reading in Tom Funk’s book Web 2.0 and beyond and I’ve found some interesting chapter about how to make your business more web 2.0 which I would like to discuss. First, I have to say that this book is written well, but in my opinion tailored for the american market. In Europe, I’ve often come across during the last monts, things are a bit different. Which is of course also true for improving your online conversion rate.

However, four points that Tom Funk mentions are in my opinion extremely important for improving the online conversion rate:

enhanced product images: The high availability of broadband in industrialized countries has made it important to deliver better pictures since the time your user has to wait for content is constantly decreasing. However, I’ve heard other opinions too, so be careful especially when you build an online shop for unindustrialized countries where bandwidth might not be that available.

product reviews and ratings: User like to rate and like to read ratings of others. Closely related to this is the “word of mouth”- effect. Enabling users to post reviews definitely helps you increasing your conversion rate.

personalization: Let your users log in, save cookies and welcome them by their name, … All those small things create a feeling of familiarity, being remembered, for the user who will then help you to increase you conversions.

live customer-service chat: If users feel unsure, they may cancel the product ordering just before finishing it. If you build a customer service chat, your customers might ask for one or another feature about the product they are just about to buy and – most important – not feel unsecure and not terminate the ordering process. This is the fourth good idea of how to improve conversion rates.

And in case you need help, just feel free to visit my website and my primary product (available in German) on search engine optimization.

Thanks for reading,

Christian

Adwords Kampagnen

Nun ja, diesen Blogeintrag will ich den Google Adwords widmen. Warum? Jeder hat Adwords schon mal gehört, jeder hat Adworsd schon mal gesehen und viele fragen sich, ob “sichs wirklich bringt”, Adwords zu schalten.

Hier ist zuerst einmal die Frage zu beantworten, was man eigentlich mit den Adwords erreichen will. Was man erreichen sollte leitet sich im Idealfall von den Zielen der Firma oder des Produktes ab, nämlich ob man nur “Traffic” erzeugen will (um viele Besucher auf seiner Seite zu haben, die dann für einen Service mit Werbungen bombardiert werden) oder ob man eine kleine, wohldefinierte Zielgruppe auf seine Seite locken will. Im ersten Fall empfiehlt es sich durchaus, möglichst breite Suchbegriffe als Adwords zu verwenden, die man zu seiner Adwords-Kampagne einfach hinzufügen kann. Dann wird natürlich auch die Werbeeinschaltung oft angezeigt und die Chance, dass die Adwords- Anzeige geklickt wird, ist relativ hoch.

Wenn man eine kleine Zielgruppe zu bearbeiten versucht, zum Beispiel alle, die nach “Gelbe Gummibälle aus Tirol” suchen, dann hat man wohl das Ziel über seine Website gelbe Gummibälle zu verkaufen und muss dementsprechend mit geringeren Zugriffszahlen, dafür aber einem hohen Anteil an kaufwilligen Kunden, rechnen.

Aber eines sei hier gesagt: Google Adwords sind eine gute Ergänzung zum Online- Marketing, können aber Suchmaschinenoptimierung und organische Suchergebnisse nicht ersetzen.

Hier finden Sie mehr Informationen zum Online- Marketing.

Christian Maurer

Das mobile Web

“The internet is moving off the desktop.” schreibt Tom Funk in seinem Buch Web 2.0 and Beyond. Und weiter “For the first time, laptop machines – with their ability to connect wirelessly on the go- are outselling desktop PCs.”.

Es scheint so, als ob nicht zuletzt durch die verbreitung von Internet- Telefonen wie dem iPhone, dem Blackberry, HTC- Modellen und vielen anderen wirklich eine Revolution stattfindet. Mit wahnsinnigen Chancen für das Marketing und Programmierer von mobilen Endgeräten. Denken wir einmal an die Möglichkeit, einem potentiellen Kunden nicht nur personalisierte Werbung zu schicken, sondern auch noch lokalisierte. Was bedeutet das?

Nehmen wir an, wir haben in grauer Vorzeit einen Account bei Starbucks eröffnet, um Zugang zu Gutscheinen für einen kostenlosen Kaffee in unserem Lieblings- Starbucksladen zu erhalten. Wir sind auf diese Aktion über das WOM (Word of Mouth) eines Freundes von uns gestoßen, der die Aktion auf Facebook verbreitet hat. Wir registrieren uns online und geben – wenn auch etwas widerwillig – unsere Handynummer bekannt. Das nächste Mal, wenn wir z.B. in einer anderen Stadt in der Nähe eines Starbucksshops auftauchen, erhalten wir eine Werbe-SMS mit einer Wegbeschreibung und einer Information über Sonderangebote in diesem lokalen Starbucksshop…

Denkt ihr, das Beispiel ist zu weit hergeholt, oder es braucht noch eine kleine Ewigkeit bis das wirklich passiert? Noch keine Idee, wie das euer Business beeinflussen könnte? Dann lest folgende Statements:

  • Habt ihr schon einmal Werbe- SMS erhalten?
  • Wie viele % der Europäer haben internetfähige Handys? (77%)
  • Check out http://www.golivemobile.com/
  • Mehr und mehr web developer entwickeln bereits mobile Internetseiten.

Christian Maurer

Tapestry directory structure

As a software developer I’ve been working with Tapestry already although I never had to set up my own Tapestry project. However, after a lot of pain a few months ago, I discovered the following resource I’d like to share: http://bbwebcraft.blogspot.com/2008/12/task-1-create-skeleton-tapestry-5.html. Although this is a resource for Tapestry in Eclipse IDE, you just can use the same approach (the same artifact and group) in Netbeans upon crating a new Maven Project (so did I, since I like Netbeans a bit more than Eclipse).

However, this was not the bit pain I had with Tapestry yesterday and today. Those days I got my Tapestry app running again and everything was working fine, until I came across the so called Layout Component in Tapestry. With a Layout Component, which is a cool Tapestry feature similar to an “include” in PHP, you can handle the header and footer section of pages very easily. However, my problem was that the Layout Component just didn’t work.

It was really odd, since the Tapestry Project without the Layout Component was running (when I just modified the index.tml, residing in the root direcotry). But as soon as I tried to use the Layout Component as described in http://tapestry.apache.org/tapestry5/guide/layout.html just the content of the index.tml was rendered (since I strapped the surrounding elements and put them into my Layout.tml). However, I was looking for answers but couldn’t find one, so I guessed my directory structure is wrong. I found http://tapestry.apache.org/tapestry5/guide/project-layout.html and made sure that my Tapestry Layout Component (tml) – file and the Java file as well as the other templates and Java files resided in the right folders- but still nothing.

Then, all of a sudden I had an idea: What if my programming wasn’t even the fault? What if there was something wrong with the Tapestry version I had downloaded via Maven? I changed the pom file where Tapestry version 5.0.18 was used to Tapestry version 5.1.0.5 and… it worked.

So, I do still not know what the error was, maybe Tapestry 5.0.18, maybe me, maybe a combination of all, but I hope this blog entry helps somebody.

Christian Maurer