Blog

  • wysiwyg editors are evil – advantages of clean content markup

    Are you a beginner? First find out, what WYSIWYG is?

    Cleaning up HTML markup in your content might be painful, but it pays off in the long run. I used to be a Webdeveloper. I have an aversness to wysiwyg editors (wysiwyg = What you see is what you get, for example CK and TinyIMCE). Wysiwyg is evil, especially those full blown up super editors. Don't get me wrong, I have a wysiwyg editor, to write my blogposts, but I use them only to easily create links, lists, paragraphs and headings. I've though seen some horrible code created by (probably) unexperienced users who have tried to "micro-design" their page using some wysiwyg editor. Understand: wysiwyg editors are not made to build complex design layouts in the content area of a CMS!

    Screenshot of wysiwyg editor

    Advantage of meaningful HTML markup

    Here are some reasons, why you should use clean HTML markup for your content and maybe not use all the features your wysiwyg editor provides you with.

    Let's first have a look at some popular bad habits.

    1. Empty tags: (easily created with a wysiwyg editor!!)
      <p>Here is some more text, maybe an introduction</p>
      <p>&nbsp;<p>
      <p>Here is text</p>
    2. Inline CSS styles:
      <p style="margin-top:0;">Here's my text</p>
    3. Clear images:
      <img src="clear.gif" width="1" height="16" />
    4. Missing closing tag:
      <div><p>here is my text</div> or <br>
    5. Font Tag:
      <font size="5">My Heading</font>
    6. Repetition:
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Text indent 😉
    7. Layout Tables:
      Sorry, no example here, but I'm sure you get the idea or checkout this website.

    Let's have a look at why it's bad to actually use HTML like that

    Breaking Corporate Identity: You are trying to define what the text looks like. You try to be the designer, but actually you are just the content editor. What if you want to adjust your design just a little bit. Somebody has to go through all the pages and make the changes to the pages. The beauty of CSS is, that you actually have a central style definition that defines every tiny detail of the look and feel of the site. By now all websites will rely on a central CSS file, you shouldn't worry about that, but you should worry about your wysiwyg editor and the markup it produces, resp. your users produce with it!

    Maintainability: As said. If you want to change your design your content is not going to break the site: Image something like that: <p>Here is my text</p><table width="220">…</table> (this is actually for real!) When you change that layout and all the sudden the column is only 200 pixels wide.. The table will make sure that that column still remains 220 pixel!

    Same content different output: Having design and content separated, will allow the output of the same content in different contexts. Simplest example is providing your website in a mobile version with a special mobile design. Having inline styles & definitions might totally break your design.

    You might also use the raw content as XML for some applications. You better make sure your content is XHTML valid: <br> and other missing end tags will break that application and you will wonder why.

    Accessibility: Again we don't know what device renders the page: It might be a normal browser, it could be a mobile browser or even a screen reader for handicaped users. Avoid using layout tables. It's old fashion and not very accessible. Use divs and CSS instead to provide flexible layouts. There are usecases to use table, for example when presenting tabular data! The W3C strongly recommends semantic markup. Consider the following markup: <p><b>My Title</b></p>. This is not going to be very meaning full for a screenreader. The screenreader could though make sense of <h4>My Title</h4>. The same principle applies also to layout tables!

    HTML5 has more improvements for semantic/meaningful markup, as it provides a whole bunch of new tags.

    SEO: Using h1 to h6 tags correctly. Google evaluates titles. Use title tags conservatively and only where it makes sense and is actually a title. Further the Loading time of your site will decrease: The CSS file gets cached by your browser. If you have all design instructions in your HTML they will need to be loaded on every page load, which opviously will slow down your site. Loading time of your page influences your Google Pagerank.

    Conclusion – wysiwyg, yes or no?

    After all, wysiwyg editors are a nice thing. You wouldn't be able to sell a CMS without some kind of editor or your content provides will rip off your head. If you are lucky you can go along with something like bueditor. Most likely though you'll have to provide your users with a real editor (and if you are on sharepoint you get a beast of an editor).

    Provide a style guide! Make sure everybody who works in the CMS knows it. This ensures that your content is going to look the same. The style guide needs to be dummy proof so that people with less experience can find their way around. Make sure to provide meaningful styles: "Paragraph title", "Image caption", that people can use.

    Constrain markup and editor. Your user doesn't need to know all options your editor could provide. Further you should also filter your content or show a notice when a user uses bad markup. For example when you detect inline styles you could display a message that tells the user that those inline styles are evil and won't be outputted.

  • Sharepoint as webplatform is like eating soup with a fork

    Ever seen sharepoint in the web? Well me neither (unless not that I was aware of), but there are actually some pretty nice looking pages. Have a look at Ferrari.com or Carlsberggroup.com. Ever seen those out-of-the box corporate intranet sharepoint sites. They definitely don’t look like that. Sharepoint is capable of bringing forth some really good looking websites, but at what price? Unfortunately I couldn’t find numbers, but found an ok case study on ferrari.com. Let’s have a closer look at it through the eyes of a Open Source/PHP developer:

    Lamp stack

    You would have a setup that looks something like the following

    • Debian Linux
    • MySQL
    • PHP
    • Apache
    • Memcache
    • Some CMS built on top of that, lets say Drupal
    • Hardware, lets say you have 4 million PI/month, you would get by with one decent server

    Costs for such a setup are probably roughly CHF 10000.- per year (24/7 support, monitoring and maintenance of the server)

    Building the website: If you pay CHF 400’000.- you can get a pretty decent website.

    Windows stack

    I have no idea here, but I know that those licences probably start at $ 10’000.- and go up pretty high. You can even pay a lot of money to get a faster search :S. I’m not quite sure if I would be very comfortable running a Sharepoint site on one server, considering already windows and its hunger for Memory and CPU. (I ran a little atom file server with 1 GB of RAM. With Ubuntu this was totally enough, but with Windows 7 this is pushing the limit.) Lets assume you would need two servers that would then be CHF 20’000.-.

    I have no clue how much you are going to pay to get a decent looking sharepoint website, but I would guess it’s going to cost a lot. Reasons for my guess. The Microsoft developers are going to cost more:

    Further I would guess that it’s going to take more time to build and customize a sharepoint page. This is just a guess. People who know both sides should tell me differently.

    Sharepoint as Webplatform

    I’ve been working in depth with Drupal (as developer and user) and started working with Typo3 and Sharepoint. Drupal has out of the box many shortcomings, but with a good team you can get Drupal do anything you want. You shape the system just as you want it. Typo3 is an awesome CMS, literally CMS. You can do some really cool stuff with content, and everything out of the box.

    What about Sharepoint? It’s a heavy thing, that’s for sure. You’ll need Silverlight enabled and there’s some heavy lifting going on in the background. You can build pages, choose different layouts and especially rely on some «I-can-do-everything» wysiwyg editor. You can build all kind of workflows and lists. I especially like the whole workflow concepts of the Nintex addon. Power pure! But all those features, are they really built for an internet website? Especially that super «I-can-do-everything» wysiwyg editor is more of a game than a real tool. If you are going to really use it, how are you going to stick to corporate design guidelines.

    I’m only learning about Sharepoint, but so far it’s just a giant software with a huge overhead, when built for internet sites. I would love to get to get my hands some some numbers. How much do those projects cost? How much time does it take to build a nice looking page (for example like the ferrari page)? Does somebody have experience?

    Conclusion

    Upfront you are going to pay a whole lot more using a sharepoint solution. Running Sharepoint just as an internet solution is going to cost a whole bunch of money and is probably not going to bring any additional value. There are probably calculations to convince management that’s it’s going to pay off. Sorry, but I’m having a really hard time understanding those calculation «the user can complete his workflow 3 minutes faster than with an other system, multiply this with 1000, is going to save us x amount of hours per month, blablabla, therefore there’s going to be a breakeven in only one year.» This is just pure crap.

    Sharepoint is really awesome as intranet solution. Really awesome! It can manage all your documents, you can integrate it really easy with office and what is really cool: You can easily build forms add workflows that do all kinds of crazy stuff, for example an electronic customer satisfaction form, or probably any other form/workflow based application you can think of. No need to do any programming, out of the box excel export (that’s what all managers want) and a user interface users are used to.

    So, since you already start building up sharepoint knowledge, are going to use an other technology that is more web suited or are you going to use that same technology despite of it’s drawbacks? «Best of breed» or «all in one»? That’s the question. After all, this is also a political question. There are pros and cons for both approaches. Are you going to be the innovative and creative company that will build it’s website on a web-conform platform or are you going with the flow taking the giant’s software?

    Having a homogenous IT landscape is going to make a lot of things much easier. It’s all about knowledge! The support team needs to focus on only one technology, which means ressources can be used more effectively. But then the drawback, you might miss out on some cool features other technologies might offer. How you are going to decide…? There are many more things to consider.

    Especially big companies are going to have to live with some restrictions and regulations that are probably taken care of with some big giant Microsoft product, but what if new cool trends emerge in the web?

    I’m looking forward to some sharepoint fan telling me I’m totally wrong… after all, I could only get a tiny glince of sharepoint sofar. And please. This is just scratching the surface. I know, but I don’t have the knowledge yet to dive into it. Expect though more on Sharepoint in an enterprice environment and especially compared to Open Source tools that are out there 😉 My heart still beats Open Source.

  • Fast Gallery



    Fast Gallery is my baby. It’s an easy yet powerful image gallery module for Drupal. Unfortunately I don’t have the time anymore to maintain and to improve it. Do you want to be that person? Well, just contact me and I’m more than willing to help you getting started.

    Documentation

    There’s some documentation but a lot of it is outdated. Hey, instead of complaining, go ahead and write something:

    Are you looking for a start into the Drupal community? This is your chance! Module has about 1000 installations. There’s somebody working on the D7 release… but I’m sure he could need some help.


  • The Jobs-Apple marriage

    It's pretty amazing how much a single person can influence a company. When Steven Jobs announced that he has to pause for an unknown amount of time, the Apple share dropped by almost 8%. It's amazing to see how strong Apple and Jobs are tied together. Jobs is the allegory of Apple. Remember the 90s when Apple was almost dead, Jobs came back and let Apple back to a business that is very profitable. What would the world be like without all of Apple's innovations? Would we still have to use Nokia cell phones, and those weird Microsoft tablet PCs?

    Consider the relationship between Jobs and Apple like a marriage. Apple will become a widow sooner or later. Is Apple going to be just like a wolf having only one mate? That would become pretty lonesome over time.

    I'm not an apple fan. I don't have an iPhone, no iPad and not even an iPod. I have iTunes installed, but was actually forced to so that I can setup my bosses iPad. I don't like that vendor lock-in problem plus it's just too expensive. If you like Apple or not, the ideas it produces are just superb. I remember listening to a podcast from about 3 years ago, talking about the mobile web taking off. I didn't happen until the iPhone came out. I remember seeing students at university having cool IBM tablet PCs… after all they weren't that cool compared to what the iPad has to offer (although you could actually use them for real work).

    Is all that innovation going to get lost with Jobs? Is it only Jobs? I wonder how much Apple depends on Jobs and how much is just in the heads of investors. Guess we'll figure it out sooner or later, unsless Apple uses it's innovation to find the Holy Grail.

  • No financial crises @ Facebook

    Portugal, Belgium and some other European countries could use some of that money too. According to CNBC Facebook is worth $ 50 billion. About half a year ago it was "only" $ 34 billion. I'm not much into finances, but it's impressiv to actually see that one third of the shares are in the hands of Facebook staff, having about 1700 employees this would make everybody a multi-millonaire. Not too bad. If you think about it, that $ 50 billion has no material countervalue (I'm sure they have a ton of servers, some office space and some desks), but that's not going to add up to $ 50 billion.

    Is this our big dot-com bubble, with Facebook, Twitter and tons of other social network services. Maybe we should call it social-com bubble, and how big is it going to get? Living just of adds is kind of too easy, plus google for example has a lot of other services.

    I saw this graphic at thenextweb.com, and though it was pretty impressiv.

    diagram - who owns facebook

    Working for Facebook would definitely be good for your bank account 😉

  • Excel as projectmanagement tool – no thank you

    I'm a geek. Yes. I love little gadgets and also software. Obviously, since I used to build software. Coming from software development I couldn't imagine the whole development and maintenance process without a good bug tracker (@Weri, I still don't like Jira). Have you ever done bugtracking with Excel? In my developer life I've used all kinds of bug tracking tools: Jira, Basecamp, Drupal, Flyspray, but never have I used Microsoft Excel to track any bugs by choice (I was actually put in front of a bug tracker Excel sheet, but refused to use it -> since we actually have a running Sharepoint server!).

    Becoming a projectmanager in a medical company I had to realize that normal office people are different from developers. MS Excel seems to be everybody's best friend. Just out of context, I've even seen CVs written in MS Excel. Either the person doesn't know Word or Word just sucks at doing that kind of stuff. There are definitely use cases where Excel fits perfectly well, for example:

    • Migrating 1000 pages, keeping track of which pages have been migrated
    • Doing some calculations with some numbers, like project forecasts, break-even and and and
    • There are more scenarios, but I can't think of any.

    I hope you get the idea.

    The next question would then be, when to not use Excel:

    • Bug tracking
    • Tracking questions (and answers)
    • Planing ressources and projects
    • Collaboration work
    • and probably many more

    To all those MS Excel fans out there. Yes, Excel is incredibly powerful and yes it is easy to use and yes everybody can work with it and yes you can take it on your notebook into a plane, but have you ever tried to co-work on the same document? This is going to be pretty hard I assume (and at least in Sharepoint 2007 together with Excel 2003 this doesn't work. I think it actually should work in Office 2010). Just think of a bug tracker Excel spreadsheet (yes I've seen one), leading a discussion is painful, and you could just delete somebody elses response…ups, shit happens. Have you ever accidentely overwritten somebody elses changes when working on the same document?

    And again to all those Excel fans. There are simple tools out there, and I bet with HTML 5 advancing (or Google Gears) there's also going to be the possibility to work offline. As simple as those tools might be, most of them provide an Excel export function (at least Jira does). I've also worked with Basecamp, which is very easy (almost to easy for my geeky taste).

    To all those who don't have a tool yet. Smashing Magazine has a nice list with tools. Right now we are using IBN Portal. I can totally understand why business people prefere some Excel or MS Access solution. It's fast. So to all developers of projectmanagement software out there: business people after all just want fast response times!

    Probably there's going to be more on Excel in the PM world in the future.

  • The future language of this blog

    Three years ago I started writing this blog. The reason for becoming a blogger according to my own blogpost were the following:

    • Persönliches Wissensmanagement: Ich schaue immer mal wieder in meinem Blog nach, wie ich ein bestimmtes Problem gelöst habe. Da ich es selber geschrieben habe und selber mit Tags versehen habe, kann ich es relativ schnell finden.
    • Werbung für meine kleine Firma, Schär Webdesign.
    • Ein bisschen etwas an die Community zurückgeben.

    I don't need advertisement for my company anymore but definitely more practice with the english language.

    Since I started working in an international team english has become even more important. There's plenty of chances to practice speaking but what about writing? What better chance could I get than my blog? I apologize to all my non english speaking readers. Maybe this is your chance to learn/practice your english? And I aplogize to all my english speaking readers for mistakes and incorrect grammar. It's going to get better over time, I promise. And who knows maybe in another three years I'm going to write this blog in french or maybe even chinese?

    I remain respectfully yours,

    Sir Rapsli 😉

  • Einfache Datenbank Anwendungen mit Google Tabellen – Tutorial

    Excel oder allgemeiner gesagt Tabellenkalkulationsprogramme sind äusserst mächtige Anwendungen. Mit ein wenig Know-How lassen sich viele Probleme lösen. Ich stand vor dem folgenden Problem:

    Ich möchte gerne einige Eckdaten aus meinem Leben messen. Dies soll so einfach und schnell wie möglich geben, aber auch die Möglichkeit bieten Auswertungen der Daten zu machen.

    Lösung 1 – Simple Excel/Google Tabelle

    Jeder sollte in der Lage sein, so etwas zu machen. Wenn man etwas aus den Metriken gemacht hat, dann fügt man es manuell hinzu. Am Ende des Jahres sehe ich, was ich alles vollbracht habe. Diese Lösung ist sehr fehleranfällig, da ich selber rechnen muss und zudem kann ich keine Auswertungen machen. Eingeben von einem Smartphone wird nicht sehr angenehm sein.

    Lösung 2 – Eigene Anwendung z.B. mit Drupal

    Daran habe ich auch gedacht. Scheint aber doch ein overkill. Wäre jedoch mit CKK, Views und Views Calc gut machbar. Zudem liessen sich damit auch diverse Auswertungen machen. Diese Lösung habe ich nicht gemacht, da der Aufwand einfach zu hoch ist.

    Lösung 3 – Google Tabellen & Formulare

    Google bietet eine herrlich einfache Möglichkeit Daten in Tabellen abzufüllen und richtige kleine Applikationen zu erstellen. Da wird schnell klar, dass diese Tabellenkalkulationsprogramme eben Datenbanken sind (obwohl oft für alle möglichen anderen Dinge vergewaltigt).

    Also, folgendes muss gemacht werden:

    Spaltenlayout herstellen.

    Dann fügen wir ein Formular ein

    Und zum Schluss noch ein wenig pimpen. Wer Lust hat kann das Look & Feel des Formulares noch ein wenig anpassen, ansonsten speichern.

    Den Link kann man sich jetzt in eine einfache HTML Seite einbetten, oder per Mail schicken und kann dann einfach Daten eintragen, was dann zum folgenden Ergebnis führt:

    Das Formular ist so einfach, dass ich es auch via Smartphone gut ausfüllen kann und von den Daten kann ich dann auch sehr einfach irgendwelche Auswertungen machen und mich nach Lust und Laune mit Excel Funktionen austoben.

    Fazit

    Es muss nicht immer kompliziert sein. Oftmals reichen die einfachen Tools, wenn man auch die Funktionalität davon kennt.

    Update 21.10.2014. Ein ganz nützliches Tool für solche Aufgaben könnte Airtable sein. Zwar noch nicht ausprobiert, doch das Video sieht sehr verlockend aus.

  • Ein Blick in die Vergangenheit und die Zukunft

    Jeder Blogger schreibt irgendwelche Rück- bzw. Ausblicke. Auch ich möchte zu diesem Club gehören.

    Der Blick ins vergangene 2010

    Im 2010 hat sich doch einiges getan, sowohl hier im Blog als auch in meinem privaten Leben:

    • Ich habe das Entwicklerleben hinter mir gelassen und einen Job als Projektmanager angefangen.
    • Ich habe meine alten Firma verlassen, um mein neues Glück bei der Synthes zu finden.
    • Ich habe das Blog hier von Drupal auf WordPress migriert.
    • Ich habe mich aus der aktiven Drupalszene/Community zurückgezogen.
    • Ich arbeite daran qualitativ hochwertigerer Blogeinträge zu schreiben.
    • Ich habe erfahren, dass ich nächstes Jahr zum zweiten Mal Vater werde.
    • Umsetzung spannender Drupal Projekte, z.B. die Schweizer Illustrierte und der Schweizerische Versicherungsverband.

    Der Blick nach Vorne

    Auf jeden Fall wird es wieder ein aufregendes Jahr. Ich bin jedoch nicht wirklich der Neujahrs-Ziele-Setzer-Typ. Und daher setze ich mir auch nicht am Anfang des neuen Jahres grosse Ziele (oder noch schlimmer irgendwelche Vorsätze), sondern ich denke eher in kleinen Zyklen und schaue darauf, was mir Spass macht. Besonders gut gefallen hat mir dazu der Blogeintrag von Leo Babauta "achieving, without goals". Daher meine grossen Blöcke (das sind definitiv noch keine Ziele) für das 2011 sehen ungefähr wie folgt aus:

    • Beruflicher Ausgleich durch mehr Sport
    • Qualitative Zeit mit der Familie
    • Explizit an meinen Fähigkeiten als Projektmanager arbeiten und diese verbessern
    • GTD zur Gewohnheit machen (bzw. meine eigene Adaption davon)

    Es ist sicher keine wahnsinnige Liste und es wird sich noch viel unvorhergesehenes hinzugekommen. Auf jeden Fall freue ich mich auf das neue Jahr und hoffe, dass ich noch viele spannende Blogeinträge schreiben kann und vor allem auch viele interessante Kommentare zu lesen habe.

  • Der Projektmanager als Jogger im dunklen Wald

    Ich habe mir wieder mal vorgenommen, mehr Sport zu treiben.

    Um 20:30 Uhr bin ich losgerannt. Dunkelheit und Nebel verschlucken mich sogleich. Berg hoch, übers Feld und in den Wald. Eine angenehme Erholung.

    Vom Mond ist heute Nacht nicht viel zu sehen und von der Strasse auch nicht viel, wäre sie nicht weiss. So zieht sich der Weg wie eine klare Spur durch den Weg, einfach zu folgen. Wehe jedoch dem Jogger, der Nachts einen «schwarzen» Weg versucht zu beschreiten. …

    Bei Tage spielt das natürlich keine Rolle. Kleine Wege, dunkle Wege, grosse Wege, egal, er ist immer Sichtbar. In der Dunkelheit spielt es jedoch eine grosse Rolle.

    Was hat das mit Projektmanagement zu tun?

    Sehr viel.

    Einfache Projekte lassen sich einfach ohne klare Strukturen und Prozesse bzw. Abmachungen durchführen. Auch wenn nicht alle Best Practices beachtet werden und schlecht mit Ressourcen umgegangen wird. Das Projekt wird in der Regel irgendwie fertig gestellt.

    Doch wie sieht es mit komplexen Projekten aus?

    Mit Projekt-Kickoff beschreitet das Team (der Jogger) den Weg.

    Jedes Projekt hat per Definition ein Ende. Dazwischen kann der Weg alle möglichen Formen und Farben annehmen. Es gibt unzählige gute Guidelines und Tipps ein Projekt erfolgreich durchzuführen:

    • Beschlüsse genau dokumentieren
    • Status regelmässig Kommunizieren
    • Arbeiten in kleine Pakete aufteilen und planen
    • Projektziele definieren
    • und noch viele mehr

    Unter einfachen Rahmenbedingungen (z.B. einfacher Kunde, einfaches/übersichtliches Projekt) mag dies überflüssig erscheinen. Dinge lassen sich oft mündlich regeln oder sind implizit für alle Parteien klar.

    Doch was passiert, wenn es plötzlich dunkel wird? Dann steht man plötzlich mit abgesagten Hosen da. Und dann, wenn es dunkel ist, wird jeder Projektmanager froh sein, wenn er sich an gewisse Guidelines und Best Practices gehalten hat.