Review: Balsamiq Mockups

Ok let me start off by saying “I love this application”. It does exactly what it says on the box, it’s fast, easy to use and the results are impressive.

So what is it? Well it’s an application that lets you create mock-ups for websites, desktop apps and even iPhone apps.

For instance here are some mock-ups for the FDD tracking app that I’m working on. It took less then 20 minutes to put these together.

One of the best things about the tool is the “UI controls”. For instance if you drop a grid object on to your page and click on it, you get a text area into which you can type comma separated values. Each line of text becomes a row in the grid and each value becomes a cell. If you type [] you get a checkbox, [x] gives you a checked checkbox, [text] gives you a hyperlink of the word text. It couldn’t be easier.

Check out this video to see it action:

YouTube Preview Image

and some more examples.

Balsamiq Mockups is an Adobe Air application so it automatically updates when a new release is available. It also means that it runs on multiple platforms, I have seen it running on Windows and Mac os without issue.

Each screen that is created is stored in a separate XML based file. Most of the UI controls can be set to link to another screen, this along with the full screen mode, allows you to easily walk people through your mock-ups on screen.

You can also export your mock-ups as .png files. Unfortunately it does not export to PDF which would be nice.

The desktop version of the tool is $79 which gives you updates for life, which is not a bad deal at all. There are also versions for JIRA, Confluence and XWiki.

My only gripes are that sometimes it is tricky to select objects when they are layered on top of one another. Also there is no way to build your own smart UI controls although you can draw just about any GUI control using the supplied primitive objects.

If need to do any kind of mock-ups then I cannot reccommend this tool enough. Download an evalution copy and try it for yourself. You won’t be disappointed.

The Contact Protocol & my first RFC

_[Update]: I have created contactprotocol.org which now holds the draft specifications._

About ten years ago I had a couple of interesting ideas but due to sheer laziness on my part I never did anything with them.

One of these ideas however keeps popping back into my head and so finally I’ve decided to do something about it.

The original idea is very very simple: wouldn’t be nice to have a URL that points to information about you ? You could give this URL to people and they would always be able to find you.

Now of course it’s 2009 and the idea is slightly more refined and so I give to you: the “Contact Protocol”… It works as follows:

  1. you give out a Contact URL which looks something like contact://host.com/xyz . This URL can be put on business cards, email footers, websites etc
  2. the URL can then be used to retrieve your up-to-date contact details. If your details change you simply update them in one place and anyone who has your Contact URL can retrieve them.

Now obviously you would be able to type the URL into a web browser to lookup someone’s details but that is only one use.

How about an email client ? Just add the Contact URL for someone into your address book and voilà your email client will always have right email address for them.

What about your mobile phone ? Add a contact URL for a contact and the device can use it to figure out which phone number to use when you call them.

Instant messaging, same deal…

Pretty nice… at least I think so.

So what the heck is an RFC and how does it fit in with your crazy idea I hear you ask ?

Well I want the Contact Protocol to be widely used and the easiest way to do this is to make it a standard. On the Internet standards are defined in request for comments or RFCs. This practice has been in place since the Internet was born.

The RFC process is looked after by the IETF (Internet Enginnering Task Force) and most RFCs are written by this group but anyone can write one and submit it for consideration so this is what I have started to do.

It is however not entirely straightforward, RFCs have specific format, language, style and content requirements. Check out the RFC style guide (formatted as an RFC itself). Luckily the IETF have provided the xml2rfc tool which takes an xml file and generates a correctly formatted RFC, this makes things much simpler.

So I’m currently enthusiastically hacking away on my xml file, I’ll let you know when I have something to look at.

All that SPARQLs on the web

A couple of months ago,  I watched Tim Berners-Lee’s TED talk on Linked Data in which he lays out his vision and explains why Linked Data will be the next major use of the web.

During the talk he mentioned the DBpedia project which is an effort to extract structured information from the content of Wikipedia. Currently it describes 2.6 million things with 274 million facts.

So how do you access all this  data? Well one of the ways is to use SPARQL (SPARQL Protocol and RDF Query Language).

For instance to find all the films directed by Peter Jackson you could run the following query:

SELECT ?director
WHERE { ?director dbpedia2:director <http://dbpedia.org/resource/Peter_Jackson> }

Click here to see the results.

You could use this query:

SELECT ?film_directed_by_pj ?budget ?runtime
WHERE { ?film_directed_by_pj <http://dbpedia.org/property/director> <http://dbpedia.org/resource/Peter_Jackson> .
        ?film_directed_by_pj <http://dbpedia.org/ontology/budget> ?budget .
        ?film_directed_by_pj <http://dbpedia.org/property/runtime> ?runtime
      }

to see if there is a correlation between budget and runtime for his films.

This query returns the list of countries in the Southern Hemisphere and their latitude and longitudes:

SELECT ?countryName ?latd ?latns ?longd ?longew
WHERE {
  ?c rdf:type <http://dbpedia.org/ontology/Country>.
  ?c dbpedia2:commonName ?countryName .
  ?c dbpedia2:latns ?latns .
  ?c dbpedia2:latd ?latd .
  ?c dbpedia2:longd ?longd .
  ?c dbpedia2:longew ?longew .
  FILTER REGEX(?latns, "S", "i").
}

Of course DBpedia is not the only source of data, this diagram (created by Chris Bizer) shows what sources are currently available on the web:

Open datacloud

Click here for an interactive version.

This is all pretty interesting stuff and you can see why Tim Berners-Lee and others are so excited about the concept of Linked Data.

Want to know more ? Here are some links:

mPass article on NZ Herald

My Google Alerts just turned up this very nice article about mPass on the NZ herald site.

It is always nice to get good press about things you have worked on.

I like the comments too:

I downloaded the Air New Zealand mPass a couple of months ago and have used it successfully a number of times. It is a fantastic application and has sped up the already fast check in process with Air NZ. its great to see “our” airline is right up there with technology and has made the whole tiresome process of checking in simple and enjoyable. PS – the iphone rocks. just a shame about the data charges.

and

Excellent idea ! Keep it up, Kiwi’s – show the world we can make things better, faster and more convenient.

WordPress iPhone app

Just trying out the free wordpress iPhone app. It is pretty nice.

I did have to install it twice however. The first time I installed it, it just hung trying to connect.

I figured that it was broken and ignored it for a few days. On a hunch I just deleted and reinstalled it. Now it is working like a charm.

I’m not sure an iPhone (actually an iPod touch) is the best form factor for writing blog posts but it is nice and portable :)

Speaking of iPhones, I was looking into getting a mac mini to play with some iPhone development. I figured it would be cheap (and I could use the mini as a HTPC later on). Boy was I wrong $1800 for the mini! Guess no iPhone development for me :(

Its business time for Twitter

You may have noticed that I haven’t been posting as much as I normally do, part of the reason is my new job, the other reason is Twitter.

If you don’t know what Twitter is, it is a micro-blogging service. Think text messaging but web based with your messages (called tweets) going out into the web for all to see. This may seem like a dumb idea but actually it is incredibly useful.

I’ve had a Twitter account since July 2007 but I hadn’t really been using it. However since starting my new job I’ve been using it as a way of keeping in touch with my ex-workmates. We use to share links and news, ask questions or just make random observations. For this Twitter works a treat.

Apart from following your friends and mates, there are a large number of “famous” people out there who are active Twitter users. For instance Stephen Fry constantly tweets and has one of the largest groups of followers at over 400000 people. It’s been really interesting to follow his recent filming in Mexico, Malaysia and Indonesia.

In the last few months Twitter has really gone main stream. In January it had 6 million users, by February that figure was 8 million and by the end of March it has exploded to 14 million users.

This is where another interesting aspect of Twitter crops up: trends. With so many people tweeting at the same time it is possible to spot trends in what is tweeted about. Here services such as Twitterfall and Twitscoop come into play, they monitor all the tweeting on Twitter and identify these trends. For instance as I type this, there is a spike in tweets referring to glitch, looking at the tweets it seems that Amazon is claiming that it was a glitch that caused all Gay and Lesbian books to be marked as adult content which removes them from many of the searches on Amazon. Not a good look.

A search for tweets containing Air NZ, turns up all sorts of interesting things: @ddotdallas who likes the website’s easy of use or @cyantificNHS a DJ whose records got misplaced by Air NZ.

Of course this kind of feedback is extremely valuable to business but bright-eyed marketing types of course don’t want to just get feedback from their customer’s, they believe that social media can be used to form strong relationships with their customers.

Now I am always a bit skeptical of these kind of ideas but in this case I maybe wrong. Let me relate a couple of incidents that have happened to me in the last month or so.

First off I tweeted about a piece of software called XWiki Watch, which I thought was quite interesting. A few days later I received a thank-you tweek from @eogez. Cool direct contact with someone involved with the product.

My next tale is even better. I came across a product called Rhomobile which looks pretty cool. Unfortunately I thought the enterprise licensing was a bit naff and I tweeted as such.

Here is the “conversation”:

  • me:  Rhomobile: mobile framework . Write the app once & run it on iPhone, BlackBerry, Windows Mobile, Symbian and Android: http://bit.ly/20FzA
  • eliweir: @rabidgremlin @simianaudio Rhomobile could be interesting for Air NZ mobi developmentals ..
  • me: @eliweir The licensing for Rhomobile is a bit naff however
  • rhomobile: @rabidgremlin not sure what you mean about licensing? if you opensource your app, you owe us 0. if not then we ask a small revshare. std?
  • me: @rhomobile Enterprise: per user/app/year dealt with a similar scheme a few years ago became too expensive and we had to drop the product :(
  • upnadam: @rabidgremlin – write to sales@rhomobile.com – Pierre will work out something that works for you

And that last tweet is where it gets real interesting, turns out that upnadam is the ceo of Rhomobile ! So not only did I get a response from the marketing face of Rhomobile (@rhomobile) but I also got a direct tweet and an offer of a good deal from the CEO of Rhomobile. Of course I passed on the offer and perhaps some business will be heading Rhomobile’s way.

These incidents prove to me that Twitter can be a legitimate way for businesses to bond with their customers and potential customers. Perhaps those bright-eyed marketing types are right this time.

Catch you on Twitter :)

New blog template

Finally put up my new template. Its still a bit beta, the template isn’t XHTML compliant yet and I have only tested it with firefox but I was getting tired of the old one.

I also upgraded to WordPress 2.7.1 whilst I was at it. I love the new admin UI.

Section 92a scrapped !

Looks like section 92a is going to get scrapped or at least get a rework.

Woohoo ! The government actually paid attention to “the people” for once ;)

Thumbs up to the Creative Feedom team for drawing attention to the issues with the proposed law.

In case you missed it all (where have you been?) here are the top-ten issues that the CFF identified:

  1. No Independent Qualified Adjudicator: There’s no currently qualified or trusted independent 3rd party to judge (1) data forensics and (2) copyright law, so decisions must be based either on allegation or prosecution. Our positive solution to this is an extension in jurisdiction to the underutilised Copyright Tribunal (who currently handle only licensing disputes, of approximately one per year).
  2. Unclear Legislation: People don’t know how to obey the law because it’s poorly drafted and vague. The heavyweight TCF policy was written by and for conventional ISPs and it is inappropriate for the majority of “ISPs” under the new broad definition that includes libraries, schools, businesses, many homes, hotels, etc.
  3. Innocent People Framed: People can be easily framed for copyright infringement online, see http://dmca.cs.washington.edu/ . There are hundreds of Data Forensics experts in NZ that can tell the difference but expecting thousands of untrained businesses to do the same is impractical and ridiculous.
  4. Impractical and Technically Unrealistic Demands: Tens of thousands of internet devices in New Zealand are incapable of storing who accessed what, at what time, making corroborating accusations impossible. It would be like expecting, come March 27th, for all New Zealanders to be able to track who used a phone within a household or a business. Most phones just don’t have that capability, and most network devices don’t have that capability. Accurately tracking copyright infringement is a noble goal to head towards but we’re not there yet and therefore S92A is unrealistic and impractical. Government could amend the definition of an “ISP” to be instead a “CSP” (commercial service provider) which would reduce the scope to conventional ISPs like Xtra and Vodafone who are capable of tracking. They could then increase the scope of an “ISP” as internet hardware improves. In the meantime people can still be taken to court as they always could to resolve disputes (or possibly a Copyright Tribunal if that’s established).
  5. Business Compliance Costs: The business compliance costs of tracking (a practical necessity to corroborate future accusations) both in terms of buying tens of thousands of new hardware devices for the businesses now deemed “ISPs” have not been factored. Consumer-grade internet hardware devices capable of doing this cost approximately 0. We have been doing research on this and we may have some results early next week. It’ll certainly be tens of thousands of “ISPs” who need to spend that kind of money… and then you need data forensics and copyright law knowledge to use that tracked information.
  6. A Disproportionate Punishment: Internet disconnection is a disproportionate punishment that hasn’t been enforced by the courts in the past, even in extreme cases of copyright infringement (repeat commercial infringers as judged in a court didn’t get this punishment). Fines would be more appropriate and would protect businesses and home users. Music Industry studies suggesting people prefer internet disconnection to fines did not consult businesses or organisations (many of whom depend on the internet as much as a phone line). Further, the law doesn’t distinguish between a copyright infringement such as a thirteen year old’s self-written Harry Potter story (which if it uses the Harry Potter characters is copyright infringement) Vs. distributing thousands of movies illegally. Allowing fines would allow appropriate punishment.
  7. Harms Respect For Copyright And Artists: Although perhaps noble in it’s intent this law is corrosive to the public trust in copyright education that artists benefit from, and it risks undoing the social contract that underlies copyright; encouraging illegal downloads and taking money away from the creative sector. As artists we’re being very clear to distance ourselves from those companies pushing for this law so that the public know who is responsible for future injustices. On the issue of S92A we represent 9037 artists, out of 18,146 people (and 90% of these are New Zealanders).
  8. Business Risk: ISPs choose disconnection or connection under threat of being secondary copyright infringers themselves, or wrongfully terminating a customers contract. This is an unreasonable burden to place on thousands of businesses who are now deemed “ISPs”. Thousands of untrained people cannot be experts at data forensics and copyright law.
  9. Business Risk From Employees: For many businesses disconnecting a staff members internet may be like removing their phone line, effectively firing the employee. While inappropriate use of company services should result in dismissal there are obvious problems if the employer is unsure of the evidence, and associated risks in employment law.
  10. Reverses the presumption of Innocence: S92A calls for punishment with internet disconnect without due process and without evidence judged by experts. The “courts” under S92A policies are thousands of untrained “ISPs” and they operate under the threat of either 1) being secondary copyright infringers themselves if they make a wrong decision on copyright or data forensics, or 2) contract or employment problems of disconnecting people without really knowing if anything wrong was actually done. Businesses are risk averse, and untrained people may decide on who is the bigger risk to them — the accuser or the accused. In practice the accused doesn’t get anything resembling due process and it’s our opinion that most people will be considered guilty upon accusation.