Monday, March 19, 2012

Ett snällare och snyggare internet

Jag är av den bestämda åsikten att man ska verka på ett positivt sätt. Man ska lyfta fram det som är bra, man ska försöka ge sina medmänniskor energi och man ska försöka lägga in kärlek i det arbete man gör.

Alla kanske inte delar den åsikten, och tyvärr är det lite svårt att agera mot det som verkar negativt, då negativism livnär sig på uppmärksamhet. Det bästa man kan göra är att ignorera det negativa, och försöka lyfta fram andra som arbetar för något positivt.

Johan Ripås fick se sitt namn dras i smutsen på ett väldigt offentligt sätt. Han arbetar numera med att försöka vinna tillbaka det resultat man får på Google när man söker på hans namn, då han utsatts av en negativ kraft med ett mediehus som länkkraftsbackning. Vansinne. Men här är det samma sak igen. Bättre att ignorera de negativa krafterna, och uppmärksamma de motsatta, i det här fallet bara genom att länka till Johan Ripås.

Thursday, March 8, 2012

Tre appar för att läsa och räkna med iPad

Med iPad har vi ett redskap som äntligen gör det lättare att skapa effektiva, digitala läromedel. Till skillnad från traditionell e-learningmjukvara slipper man på iPad (och iPhone) hela den tröskel som mus och tangentbord innebär. Mus och tangentbord kräver koncentration och kunnande för att hantera, medan du på en iPad lätt kan skapa ett peka för att välja-interface till din elearningprogram. Och den här skillnaden är monumental - en sexåring kommer att få lägga alldeles för mycket energi på programhanteringen på en PC,  medan hen kan fokusera helt på inlärningen på en iPad. Resultatet låter inte vänta på sig, och effektiviteten i inlärningen är mycket högre. Jag skulle inte bli förvånad om man kan ta till sig tio gånger så mycket information med hjälp av e-learning på iPad jämfört med traditionella läromedel. :)

Och som engagerad pappa vill jag givetvis ge mina barn bästa möjliga utbildning, och vi har provat nära nog varenda app som verkar vettig inom läsning och huvudräkning. :) Här är tre appar som sticker ut:




Stavningslek
Stavningslek är ett enkelt program där barnet får stava till ord som visas och läses upp. Det finns två olika metoder, en där bokstäverna gömmer sig lite lekfullt i en trädgård, och en där bokstäverna kommer åkande på ett tåg. När ordet står rätt så bokstaverar programmet sig igenom ordet följt av hela ordet igen. :)
Trädgårdsspelet har ingen tidsbegränsning, medan orden i tågdelen måste lösas innan tåget krockar.
Spelet kan ställas in i tre svårighetsnivåer, och tågets hastighet kan regleras.

Både min sexåring och min nioåring tycker att spelet var helt ok, och båda har säker stavat ett par hundra ord med det. Sexåringen gick från att kunna alfabetet till att kunna läsa på förpackningar och skyltar på bara några dagar efter att spelet hade introducerats. Otroligt imponerande. :)




Moji Klockis Svenska
Moji Klockis är en app för att öva på en gammal, analog klocka. Det finns sex nivåer, och spelaren måste klara föregående nivå för att låsa upp nästa, som i Angry Birds ungefär. Väl i spelet säger en röst ett klockslag, och barnet ska ställa in klockan rätt. När det blir rätt så landar fåglar bredvid klockan, och när det blir fel flyger en fågel iväg. När tillräckligt många fåglar har landat så klaras nivån och barnet kan gå till nästa.

Även detta spel gillades av ungarna. Dock krävdes det viss hjälp från mig för att förklara grundläggande begrepp för sexåringen, men efter en liten stund så klarades spelet och den analoga klockan var inlärd.




Operation Math
Operation Math är ett lite mer omfattande spel för inlärning av de fyra räknesätten. Spelet är egentligen ett rätt traditionellt matteprogram men med mycket omfattande gamification. Spelaren är en agent som ska ta sig ut ur olika byggnader innan de exploderar, och det gör barnet genom att lösa tal. :) Det finns även övningsläge, som inte går på tid, men även där finns det viss gamification inbyggt.
Svårighetsnivån ökar givetvis när spelaren klarar av nivåer.

Just mattespel har mina ungar inte fastnat för, men Operation Math har iaf varit den som de uppskattat mest.

Tuesday, March 6, 2012

In defense of QR codes


In Sweden we have a broad movement of people bashing the QR technique. I kind of understand some of the criticism, but since I'm allergic to sheeple behavior I felt the need to write a short piece on QR codes, and when they are actually good to use.

Offline / Online coupling
Often when QR codes are used, the company puts up a QR code pointing at their web's start page. That is not making good use of a QR code, unless you have a really shitty domain name. However, with a QR code you can "easily" share a long and complicated url. Let's say for example, that I'm car shopping. Then every object I look at should have its own unique web page with information. Here it's likely that the url will be long and hard to enter, and hence the QR code would be a better solution.
The same goes for a lot of shopping. People are using the internet to gather information about stuff they purchase offline, and hence it is easy for the store to provide you with the information of their choice instead of that of Google or another online Shopping mall. QR code to the rescue. A good implementation of a QR-code uses a unique forwarding url with a final destination that can be changed at any time, be unique or semi-unique for every piece of goods you look at, giving the seller the possibility for in depth statistics and super local offers.

Screen-to-mobile
Laptop to mobile sharing of links still aren't as easy as it should be. There are times when you want your visitor to do something on their mobile device, and a QR code is then a pretty easy way to accomplish that.
A QR code is also self explainatory and a call to action in itself. When you show the QR code for your visitor, they know what you want them to do.

Branding
One aspect that people seem to forget when talking about QR codes in ads is the branding factor. As with everything else, that you are using this specific technique is a part of the marketing message. I would guess that the usage of QR codes is meant to show that the company is up-to-date with todays technology.
And for those of us who have worked with offline marketing people, it tells us that the company has actually integrated offline/online marketing. :)

Learning
Coupling offline to online is hard but crucial in sales and marketing. QR-code usage is one way of doing this, and lessons learned doing so is likely to be useful in the future.

Monday, March 5, 2012

Responsive Navigation Patterns for mobile devices


Brad Frost has written a terrific piece on responsive navigation patterns for mobile devices. He covers the design patterns that I have seen in the wild with a brief description, examples and a pro/con list for each design pattern. A must read for every ui developer, and something to give to your old school designer.

http://bradfrostweb.com/blog/web/responsive-nav-patterns/

(Found on Attervall's blog)

Friday, February 24, 2012

A short wish list for Javascript based MVC frameworks

Compared to five years ago, the portion of a web site that is client side Javascript has increased a lot. But whereas server side web development nowadays are pretty neatly built, with frameworks as Zend Framework for PHP, and ASP.Net MVC, client side scripting is often rather messy.

And as we all know, messy code is hard to maintain and buggy. This leads leads us to the conclusion that we should try and find a model for creating nice, maintainable, reliable client side code.

As I've already stated I think that MVC has a good structure for server side development, and I think that it is quite likely that a MVC-based structure could be functional for client side scripting as well.

I know that there are a few MVC-based frameworks for Javascript around (heck, I've even built one myself a couple of years ago), but while reading up on them I've created a short wish list for a Javascript based MVC framework for client side scripting.

Views should be based on templates
HTML-tag based editing has proved itself efficient for design implementation. Apart from wysiwyg editors I haven't seen anything easier to work with, especially not DOM-object based design buiding. Whereas html tags gives you a simple overview of your design, the DOM-based counterpart gives you no help at all. So everything that is possible to do with html tags should be done with them. 

Controller handling the link between views and models, not automatic updates
It's nice when it's easy to sync data to views, but views should not update a model without a controller. That is an important principle in MVC: You know that model changes are handled by controller actions.

Logic should reside in controllers, not in the view, unless it is pure ui logic
Views should handle ui and not business logic, or you will get code that is harder to maintain and debug. Sounds obvious, but it isn't.

Clear separation between code and tags in views
UI code should not be scattered around in the html-code. Inline code is even worse than inline css, as it is hard to maintain and debug.

One file per object in development
This is important for maintainability. That way it is easy to get an overview of the project as well as easy to find the right place to edit your code. Since this will create a huge amount of files, it is probably best to use some kind of Javascript minimizer, so that the number of server request can be kept as low as possible. 

Never inline html in javascript strings
Ok, there are times when inline html in javascript is ok, but most of the time you should keep code and design separated.

Ok, so those are the points on my wish list for the perfect Javascript based MVC framework.
Do you agree? Please let me know! :)