First time with Ubuntu: impressions from a Windows user

I’m starting off with a fresh install of Ubuntu 11.10 inside a VirtualBox on Windows 7. Here are my impressions as a long time Windows user and occasional Mac user.

My last foray into Linux was a brief stint with Suse Linux about 10 years ago. I didn’t really get on with it.

Ubuntu 11, however, seems to be better thought out, and easier to get on with. It bears more similarities to Mac OSX than to Windows, so if you’re used to Mac’s at all then you’ve got a good headstart.

What do you mean there’s no C drive?

If you’ve used a Mac at all this won’t be too strange to you, but if you’re Windows only then this takes a bit of getting used too. Essentially, everything is based of the root of the machine, like a C: drive, but it’s not named. So rather than having C:\MyFolder, in Linux you have /MyFolder.

This continues when you add external devices or network drives. Rather than adding as a lettered drive, they “mount” a device name into the /media folder.

The launcher

Much like the Windows taskbar or OSX dock, this has a bunch of icons in it that launch programs. Easy!

Switching between programs

Alt+Tab works just that same as in Windows and OSX. Lovely!

The terminal

Almost everything I’ve ever read to do with Linux has involved the terminal, which is essentially the Linux version of the Windows command prompt. So I was surprised that it wasn’t immediately obvious and accessible in the default Ubuntu installation.

It’s easy enough to remedy though: from the dashboard start typing a search for ‘terminal’ and the icon will display – you can drag this into the launcher. Or my preferred option – as a fan of keyboard shortcuts – is to press Ctrl+Alt+T to launch the terminal.

Copying and pasting in the terminal

Much like the Windows terminal you can’t Ctrl+C / Ctrl+V to copy & paste. Ctrl+C in fact will cancel the current operation.

But you can right click and select copy/paste. Ctrl+Shift+Insert also works for copy and Shift+insert for paste.

Running a command with Admin priviledges

This one’s simple, put sudo at the start of the command. For example instead of:

usermod -a -G vboxsf yourusername

use:

sudo usermod -a -G vboxsf yourusername

What else? You tell me!

Clearly I’m pretty new to Ubuntu, so please share your tips to help me and other Windows users get the most out of Ubuntu.

All help is greatly appreciated. Thanks :-)

Tagged , ,

Ubuntu for the first time – installing on VirtualBox on Windows

The first part of my journey towards learning Node.js – after years working on Microsoft stacks – is to get started with Linux. I know Node has a Windows installer now, but I want to be deploying production sites on Linux, so I need to get used to it.

After far too little research I’ve decided to start off with Ubuntu. It’s pretty widespread and mature, has great support out there in the web, and is available at loads of web hosts.

I don’t want it to be my main OS right now, and I don’t want to get a new machine to put it on, so I’ve gone the Virtual Machine route. Fortunately my laptop is beefy enough to handle it alongside Windows 7 – it’s a Core i7, 8GB RAM with SSD hard drive – the only limiting factor is the size of the drive. Here’s how I’ve got it running.

1: Download Virtual Box

2: Download Ubuntu ISO (just the normal Ubuntu, not Ubuntu Server)

3: Follow these tremendously easy instructions

And KABOOM! Three steps and five minutes later Ubuntu is up and running.

Ubuntu running in VirtualBox on Windows 7

Ubuntu running in VirtualBox on Windows 7

Sharing files between Windows and the Ubuntu VirtualBox

One thing you’re going to want to do to get the most out of this setup, is create a shared folder that both Windows and the Ubuntu virtual can access.

I found various references for how to do this on the web, some worked, some didn’t. This is the process that worked for me – you may not need all of the reboots, but it’s pretty quick to do, so no harm done.

1: Create share in Windows

Create a folder in Windows (or select an existing one)

Right click on the folder and select Properties >> Sharing >> Share

2: Install Guest Additions on Ubuntu

Boot up your Ubuntu virtual machine and log in

From the Devices menu select Install Guest Additions, and select to autorun the program when asked

When the installation has finished, reboot Ubuntu

3: Add the shared folder to Ubuntu / VirtualBox

With Ubuntu running in VirtualBox select Shared Folders from the Devices menu

Click the “+” icon to add a new share, select your folder in Windows and give it a share name. Select both the Automount and Make Permanent options.

Click ok to mount the share to your Ubuntu system in the location /media/sf_your-share-name (eg: the above goes to the location /media/sf_WinLinShare)

4: Give yourself access to the share

Finally you need to give your Ubuntu user the permissions to access this folder. The share is created with access granted to the usergroup vboxsf so you need to join this group. Open a terminal window and – replacing yourusername with your actual Ubuntu username –  type:

sudo usermod -a -G vboxsf yourusername

Reboot Ubuntu and you’ll be able to access your share in /media/sf_your-share-name and easily transfer files between your Windows host system and Ubuntu guest.

Tagged , , , ,

The importance of microcopy to your website or app

First off, what is microcopy?

Microcopy refers to the small bits of text on a website such as form labels, form buttons, instructions, error messages, popup tips and action confirmations.

Put another way, these are the parts of your website that visitors pay closest attention to. 

Clearly then, it’s pretty important. Yet for some reason, this is often left in the hands of the developer. Perhaps it is seen as part of the technical build, as it will interface with a database. Perhaps it is not as interesting to a copy writer as the marketing messages on the homepage.

So why is microcopy so important?

I state above that visitors pay closest attention to items such as form labels, buttons, instructions etc, but why?

It is because this is where the user is directly interacting with you. This is where the dialogue is.

Do you point telephone enquiries from a printed brochure to the designer that created it? No. You point them to a specialist within your company who knows all the appropriate information. You point them to someone who not only understands the user/client/customer but can also represent the company in the appropriate manner with the correct language and tone of voice.

So please, don’t leave microcopy to the developers. It is not secondary, it is vitally important to the message you are sending out to your users. It is the first conversation you are having with your users.

Tagged , , ,

Abandoning the good ship Microsoft

Over the past 10+ years I’ve been building websites on a variety of Microsoft stacks. This is all very good for corporates and businesses with a Microsoft infrastructure in place, but when it comes to building and launching personal projects with no funding you start to notice the costs. So I’ve decided to look for alternatives.

LAMP?

The LAMP stack (Linux, Apache, MySQL, PHP) is the obvious place to start. It is well established, stable, and has a huge history and active online community. But, it doesn’t really satisfy my desire to learn something new. Sure, it would be new to me but it has been around since the late 1990′s. That’s not new!

Node.js

Over the past few months I’ve been hearing more about Node.js, a webserver using JavaScript as the server-side language. It is supposedly very scalable, and very light on resources. Okay, I’m interested.

I also know JavaScript pretty well; I’ve been using it client-side for over a decade. Okay, I’m very interested.

This doesn’t mean to say that there’s no learning curve. I’ve got a hell of a lot to learn.

Node.js can now install and deploy on Windows, but that goes against the point of saving deployment costs. I don’t want totally different development and production environments, so I’ll be starting from the ground up.

Much to learn

As a minimum I need to learn:

  1. Operating system – Linux (probably Ubuntu)
  2. Webserver – Node.js
  3. Database – MongoDB (or perhaps CouchDB)

And then moving forward to increase stability / usability I’ll need to look at additional pieces such as:

  1. HTTP / Proxy server like NGINX
  2. Frameworks like Express
  3. System monitors
  4. Server cache e.g. Varnish

The journey through 2012

I aim to have my first site/app up and running within a year from now. I know this doesn’t sound very ambitious, but I do have a full time job and a young baby also competing for my time so I need to remain realistic!

I’ll be charting my journey here under the category Knowing Node.

So … lot’s to do in 2012. And first things first, I’ll be looking at the operating system. Linux, I’m heading your way…

Tagged ,

Why you should design for iPads (and other tablets)

There are two main reason why you should make your websites and apps compatible with iPads and other tablets.

1: Future compatibility – the market share is growing

If you look at the usage stats of most sites you’ll see the number of people visiting from tablet devices is slowly but steadily increasing.

The percentage is still quite low in relative terms, and you might not normally focus on such a small subset of users. As it is growing however, with no signs of slow-down, you can be sure that at some point in the future you will be asked why your site doesn’t work well on tablets.

2: Acceptance from influential early adopters and opinion leaders

Although the percentage of users is low in terms of browser stats, the people browsing on iPads and other new generation tablets are  likely to be the early adopters & opinion leaders.

These are the people who’s opinions are respected and requested by others. These are the people you want on your side.

If your site / app works well on the new devices you are more likely to be remembered favourably and recommended to others. If your site goes so far as to surprise & delight then even better.

If your site fails, you will instantly be forgotten and dismissed. Even worse, you may be publicly derided.

Supporting iPads is arguably more important than supporting old versions of IE, even though the latter may have a higher percentage of use on your site.

* Disclaimer: iPad ownership does not directly make one a thought leading, cash rich, decision maker.

Tagged , , ,

Where does Google+ fit in?

I’ve been checking out Google Plus for a few days and can’t figure out quite where it fits in.

I currently use:

  • Facebook: “real world” friends, info & updates
  • Twitter: predominantly work/industry related
  • Blog: (shamefully few) longer thought pieces, mainly work/industry related

I don’t see Google Plus taking the Facebook share. Facebook is the only one to have been taken on by the mainstream, and I can’t see people like my parents making the move to G+ for no particular reason. Also, most of the sharing on G+ that I’ve found is less personal.

Soooo … if I put it in the industry/work section I’ll then have Twitter, Blog and Google Plus to update. Perhaps G+ is a good place to have discussions about your blog posts.

So … I’ll write a blog post, share it on Google Plus and then tweet the G+ link. Easy!

Any other thoughts on use cases? And whether I should set on referring to it as Google Plus, Google+ or G+.

 

EDIT: you can comment on this post, on Google Plus or reply to the tweet

Tagged , , ,

Google+ and what Google can learn from Apple

Don’t sideline your brand evangelists!

One of the greatest assets in Apple’s marketing system is their brand evangelists. These are the people who love the Apple brand and all of their products. But beyond that, these are the people that tell others just why the latest product or operating system is the best thing ever, and why it’s better than their rivals. Others listen to these evangelists as, essentially, their just like you and me. They are consumers, they are users, they are not paid by Apple to say these things. These people are the early adopters, buying into something on the basis of past form.

Apple are not alone here, many other companies have such evangelists including Microsoft (believe it or not), Linux, Canon, Adobe and of course Google.

The closest I get to being an evangelist would be for Google. I run my domain (mail, docs, calendar etc) through a Google Apps account and have persuaded others to do the same. My default browser is Chrome, I use Google Analytics, Adsense, Adwords, Maps and search. Christ, I even used Wave for something useful! Not only do I use Android, I went so far as to buy a Nexus One directly from Google shortly after launch and had to get it shipped from the USA to the UK.

With all this in mind, people come to me asking me what I think about the latest Google release, whatever it may be. I’ve got a whole bunch of Google+ invites. People asking “what do you think of Google+? Why should I use it instead of (or in addition to) Facebook & Twitter”.

The answer is: I don’t know. I can’t get in.

Despite being open to the public, I can’t get in using my Google Apps account. The Google evangelists, early adopters, heavy users and those that actually pay Google to use their services have been locked out of Google’s brand new social network!

Can you see Apple releasing the latest set of new iTunes features to Windows users only? No. Exactly.

Google have said it will be available “within the coming months, but we want to make sure we do it right”. It’s a bit late for that. To do it right you needed to get your early adopters and evangelists on board from the outset, not sideline them and keep them waiting.

Like the ultimate nerd, Google is undeniably extremely smart, but they have a lot to learn about people.

Tagged , ,

Twitter pushing clients out of the market

I don’t often have occasion to read the Twitter API Terms of Service but this tweet from Jason Calacanis prompted me to take a look.

One part of the terms that grabbed my attention was aimed at third-party Twitter clients such as Tweetdeck, Seesmic, Hootsuite et al.

You may not pay, or offer to pay, third parties for distribution of your Client. This includes offering compensation for downloads (other than transactional fees), pre-installations, or other mechanisms of traffic acquisition.

Source: http://dev.twitter.com/pages/api_terms

This effectively prevents any third-party Twitter clients from making deals with mobile, tablet, or PC suppliers to have their software installed prior to customer delivery. Only a client like HTC’s Peep will be put on as default choice as it is made by the supplier.

This does smack a bit of the whole Microsoft IE anti-competition debacle. There are some differences clearly, but it signifies a shift from “friendly twitter” to “evil twitter”. Twitter owes a lot to many if these clients, who made the service easier to use in the early days, and lead it in directions it hadn’t thought of. Twitter wouldn’t have the scale of adoption it enjoys today without these clients, as the original web interface was extremely limiting.

Twitter should stick to running the service and managing the stream, and let the competition between the client developers push forward innovation. Hell, they should actively encourage it.

Tagged

Froyo on the Nexus One

This morning I got the OTA Android update that would take my Nexus One from 2.1 to 2.2, aka Froyo.

At 33 I shouldn’t be so excited about a software update, but I was. First thing I did after installation was go to write a smug text to a HTC Hero owning friend who is a few versions of Android behind. My smugness was short-lived when I discovered Swype no longer worked. It turns out that this is because it’s a closed beta with DRM restrictions, so I just had to uninstall Swype and then rerun the installer. Back in the game.

If you haven’t done so yet, you should really get yourself onto the list for the Swype beta, it truly is a revolution in mobile keyboards.

Anyway, first thoughts on Froyo.

A few bugs are ironed out, the most noticeable one to me is that the gallery no longer seems to randomly tell me that “there are no items in your collection”. I can also now access my different Picasa accounts associated with different Google accounts which I couldn’t before.

But the main aspect of the update is the interface. There are numerous little tweaks to the interface all over the place that just make the entire thing that little bit slicker and polished. Not necessarily things that bugged you about 2.1, but the kind of thing iPhone users have been cooing about for years, and the type of thing that will help bring Android up towards the level of sophistication of the iPhone OS.

So far so good. although I should just mention that I don’t seem to have full Flash support in the browser …

ETA: I now have have full Flash in the browser after downloading the free app from Adobe in the Android market.

Tagged , , ,
Follow

Get every new post delivered to your Inbox.