I design and build intuitive & personal user experiences.
I am a British-born UX designer currently based in New York City, with over a decade of experience designing and developing for the web.
I spent 5 years working at American Express, developing their online services and touching many areas including accessibility, usability, search engine optimization, web strategy, content personalization and social media.
Currently I lead the web team at Animoto, an exciting start-up whose product is a cutting-edge, automated, video creation platform.
On the technical side, I have lots of hands on experience building with HTML5, CSS, JavaScript, ActionScript, Ruby and Java. Recently I authored a book on using APIs to create mashups using Adobe Flex and AIR.
You can keep up to date with my blog, or follow me on Twitter.
Over 10 years experience leading front-end development, working for both start-up and larger companies as both an individual contributor and team leader.
A keen eye for UX and product design design, often very hands on throughout the product lifecycle. From conception and ideation to development across both front-end and back-end technologies.
Proven track record designing, architecting and optimizing customer-facing experiences using A/B and multivariate testing, personalization, user interviews and focus groups. Implementation of Web Analytics solutions. SEO/SEM. Online Marketing, E-mail and Social Media integrations.
Experienced building, growing, nurturing and leading development teams and interacting with internal and external customers and partners.
Many years experience in information technology and key technology areas as human centered computing, user experience design, application programming, graphic design and database driven web applications.
Effective problem-solving capabilities, with a keen eye for innovation and optimization.
MSc (Distinction) Information Technology for E-Commerce
BSc (Hons) Software Engineering.
Mailbox is one of the more interesting iOS apps that has been released in a while. Notable for several reasons, one being its unique reservation system where users take a number and wait in line before they are granted access to the app; and also because of the apps bold claim to reinvent and fix email.
A detailed review of the app is probably something for another blog post - the short version being, after the best part of a week using the app, its surprisingly good and I'll definitely be using it for another week!
In addition to only working with Google Mail accounts, Mailbox is also only available on the iPhone which from a workflow perspective is slightly weird. I might triage incoming email on my phone, tapping out replies to urgent messages, but its not the only place where I "do" email. For large chunks of the day I am in front of a computer with another mail client open, and whilst I can still see my messages, I find myself missing some of the Mailbox magic.
After a bit of examination of the folder/label structure Mailbox uses within Gmail, I present a few Smart Mailboxes which should hopefully be of use to Mac Mail users.
Once you add an account Mailbox it creates several folders inside your Gmail account, all nested under a base folder named [Mailbox].
These folders have the following functions:
This makes it easy to interact with Mailbox from within another client, adding items to lists or snoozing items. Just be aware, if you move a message into the Later folder, it will be snoozed until "Someday" as Mailbox doesn't know when it should re-sruface that message to you.
The existing Gmail folders are fine, but what if you have multiple Google Accounts? Each account has its own set of folders that you need to keep an eye on - thats where Mail's Smart Mailboxes come in...
Smart Mailboxes are one of the power-user features in Mail and essentially act as a persistent filter. In order to have a single view of Mailboxes folder structure across multiple accounts, simply create a new Smart Mailbox with the following rules.
As you can see, I'm simply creating a rule for each of my mail accounts, saying "If the message is in the Later folder then include it in the Smart Mailbox".
This will scale for however many email accounts you have, giving you a single place to view the messages you have snoozed.
If you are using the Lists functionality, you can also create Smart Mailboxes for those too - just repeat these steps, but when you create the rule, select the folder associated with your list.
This technique does have the downside that if you create a new list, you need to add a new Smart Mailbox - one is not going to be automatically created, but that hopefully should not be much of an overhead.
Another benefit of Smart Mailboxes for iCloud users is that they are automagicically synced , so you should only have to do this on one computer.
The supply of people with UX skills will increase across all disciplines, and demand for specialists will lessen. With that change UX leadership will have to evolve. In many ways the culture of startups is already experiencing this as the limited staff must cover many roles.
I love this opinion piece from Chad Vavra and really matches my feelings. Everyone should be thinking about, and be empowered to drive, UX with respect to their particular role. Understanding of the user and human factors is an essential competitive advantage for developers and designers alike.
In my Mountain Lion Reminders post I touched upon the frustration I have with apps that can be described as data dead-ends. A data dead-end is any application or website which allows you to import, upload or create data, but then makes it hard or impossible to get it back out for the purposes of backup or interoperability. This is usually due to lack of export functionality, lack of connectivity options or undocumented file formats
Whilst data dead-ends have existed since the dawn of computing, in the age of web and mobile apps the inconvenience that they represent really starts to become apparent. On iOS there are a number of examples of excellent applications with one key deficiency - there is no way to transfer the data which you created to other applications or devices.
One example of this is Path, the beautifully designed "private social network" which allows you to share photos, location, status updates with a closed circle of close friends and family. It is an excellent app, with attention to detail and pioneering several new concepts in user interface campaign. The one small problem is that once you upload a photo, there is no way for you download or save that file.
In the context of the application, exporting data is certainly not a core feature - it is not required to fulfill the goal of social sharing - but what if I lose the original? It is safe within Path, but I have no way to download it and re-add it to my master photo library.
In this case it makes me nervous about adopting a new product. If I am expected to invest time creating or curating content then how do I get it back out again?
In some cases this kind of design is forgivable. In my last post I talked about the benefits of syncing todo lists across devices, but if your product is intended as perhaps only a simple shopping list or has a specialized user interface for the task at hand, then maybe thats okay. It had better be a damn good app to justify that kind of forgiveness, but I can live with it!
Where it becomes unforgivable is in apps touted as enabling content creation, and in these cases the problem is often subtlety different - it is not just that you want to be able to export data, but you also want to use that exported data afterwards.
I have been a long time user of both Moodboard and iMockups on the iPad. Both well-designed apps that allow me to work on projects when I don't have a laptop with me. The downside? I don't view them as serious content-creation applications. I primarily use them for sketching ideas.
Both allow me to export what I'm working on as images to my camera roll. Thats rubbish! I have no way of editing my creations on another device or computer so their utility is somewhat limited. In the case of iMockups, thankfully, they have recently added Balsamiq export functionality so mockups can be edited on the desktop.
Another app that I have been using lately is Perspective - a unique storytelling tool which allows you to create data visualizations and then present them. Its example presentations are fantastic and is something I can certainly see myself using the next time I'm presenting. The only problem is that I have to create the entire presentation on the iPad, jumping through hoops to import data and tediously designing slides and adding content. There is no desktop client (currently) and until that exists I don't know if I want to invest the time.
Some may argue wether an iPad is truly a device for content creation. I'd say that it definitely can be. Usually if I have something to design or write, I'll make a quick draft on the iPad and then later make tweaks and refinements on the computer. This workflow is perfect for me, and is brilliantly realized with Apple's iWork apps and a few others which tend to have good integrations with iCloud or Dropbox for syncing files.
For serious content creation apps you cannot afford to be a data dead-end. Developers need to be conscious of this and ensure that users have a good way to export data, and move it between different devices.
In a few days time Mac OS X 10.8 Mountain Lion will be released. With over 200 new features, it represents the latest evolution of OS X. Among the new features are enhancements to Safari and other stock applications, tighter integration with iCloud, and iOS-inspired features such as Notification Center.
With so many new features its hard to really know where to begin, so let me tell you about what I think is the killer feature of Mountain Lion after using the developer previews for the past few months - the Reminders application.
It may seem trivial but for many users, especially those who live in the Apple ecosystem and own an iPhone or iPad, Reminders will be a game changer thanks in no small part to its iCloud integration.
So why is it a killer app? For me it scratches a long standing itch, the need for organization.
The organization and task management space is crowded, with hundreds of apps each claiming to be the silver bullet and people are willing to pay a lot of money for the right application. The trouble is, very few apps have really gotten it right.
The heavyweights in this market are Things and OmniFocus. Both started as Mac applications and then spread to the iPhone and the iPad. Both are fairly complex applications, making it easy to capture and manage tasks and implement a system such as Getting Things Done. There is a lot of innovation in these applications - for instance long before geofencing became available as an iOS API feature, OmniFocus offered location-based reminders in its iPhone app.
For me, both Things and OmniFocus were lacking in the same area - synchronization between different computers and different devices. Things was especially convoluted, to sync from desktop to iPhone the two devices needed to be on the same wireless network with the application running on both. Somewhat inconvenient and very much a chore. Then came the death march in which the developers would promise that a better solution is coming, followed up by blog posts every quarter trying to explain how complicated a problem it was!
OmniFocus was similarly slow off the mark here, though offering some functionality using WebDAV or (the now defunct) MobileMe. Today they have a cloud-based syncing service, though I'm told it is somewhat slow.
Tired of waiting for the big players, I looked at some of the offerings from smaller developers.
ActiveInbox, developed by a friend of mine, was one of the tools which caught my eye. It is browser extension which transforms GMail into a robust productivity tool, borrowing many concepts from GTD and other systems. Its great and has a solid following, in fact for managing an email inbox its perfect. Unfortunately I didn't want a system which was so tightly integrated into my email, and I didn't really want a web application, so this wasn't for me.
TaskPaper was nice for a while, and I still find it great for things like meeting notes. What I missed here was any kind of alerts or reminders - at the end of the day you had a todo list in a plain text document, great for jotting down tasks but it relies on you to keep track of deadlines.
From a user experience perspective Clear for the iPhone gave me goosebumps. It is such a beautifully designed app with great interaction design and attention to detail. Also excellent sound design, which is unexpected in a productivity app! As much as I wanted to love it, like several other iOS task management apps, it was a data dead-end. There was no desktop client, no way of getting tasks off your device.
There are many other apps out there, but as you can imagine at this point I had grown weary. This was about the time that iOS 5 was released and Apple announced a new feature - Reminders.
Reminders on iOS was in many ways unremarkable - the core experience was very similar to a lot of other task managers out there with the addition of some of Apple's skeuomorphic UI charm. One interesting and unique feature was geofencing, not exactly new, but very useful as it allowed you to set reminders for tasks based on location.
"Remind me to pull a report on website traffic when I get to the office"
"Remind me to buy milk on the way home"
Such a simple concept but it adds a whole new dimension to task management.
The one weird thing was that Reminders didn't really integrate with the Mac even though all the data was synced using iCloud. Your tasks ended up in iCal, within a totally different and less useful UI. If you created a reminder on a Mac then features such as geofencing were unavailable.
Mountain Lion changes all this - now I have a Reminders app which is a copy of what is on my iPhone and iPad. iCloud syncing is seamless and new tasks appear across all devices instantaneously. Finally everything is on the same page. Unlike the experience with the likes of OmniFocus, synchronization is transparent and instant.
That is killer.
I thought I'd end this post with a brief summary of how I use Reminders on a day-to-day basis. Whilst it appears simplistic I believe the key is to have a number of different lists. I tend to have separate lists for different context's (Home, Work, Grocery Store), specific projects and people, as well as a general Inbox.
I'll capture my tasks in the Inbox immediately, then I'll then sort them into the individual lists. Usually I'll do this on my Mac since I can just drag and drop. If a task has a deadline then I'll add it, and if I need to be at a specific location then I will often add a geofence.
All changes are immediately synced to my iPhone and other devices so I can quickly reference my task lists from anywhere. In addition, since I can also add tasks from any device then it often negates the need to carry around a notebook - tapping something on the iPhone keyboard is almost as fast and often more convenient.
Simple, and powerful!
No roadmaps from product teams looking out over 6 months. Make a poster with the words “We ship code, not slide decks” and circulate it with product management.
Excellent advice for any large company.
One startup that I have been following for some time is Simple (formerly BankSimple). It is always interesting to see someone try and disrupt the financial space - Mint did it superbly with financial planning and currently the payments landscape is being shaken up up Square.
Simple allows you to replace your bank, promising a modern online and mobile centric experience with a real-time insight into you finances. With convenient ways to pay friends and bills and the ability to track and organize your spending.
Obviously I was really excited when they opened their doors and offered me an account!
As a UX designer, I pay a lot of attention to the smaller details and Simple did not disappoint here. The initial sign-up process was one of the most well executed online forms that I have came across in a while, with just the right balance of design and utility. This continued throughout the website and mobile app, all showing off high production values and attention to detail. The account page is clean and easy to navigate, and little touches such as the rotating credit card sign-in form all come together to make Simple feel like something special.
The attention to detail also crossed over into the physical world. When my debit card arrived, it came in a handcrafted tweed pocket attached to a simple piece of cardboard covered in friendly welcoming copy. There was not jargon, no legal-speak or pages of terms and conditions. It felt great. It was very Portland.
The card itself is white and.. well.. Simple. Its not going to attract the attention of an Amex Black Card, but thats not the point.
One oddity, especially for a company who is focussed around the online experience, was that the only way to activate my card was over the phone. That felt a bit strange but the process was quick and easy so I did not mind.
In general use there is not much to write home about - it is a bank account after all. The primary focus of the web and mobile app is around communicating how much you can safely spend so that you never end up overdrawn or have charges declined. In many ways it is a very bare-bones and Simple experience.
As I dig deeper into the interface and become more and more familiar with the product, I can't help wondering what Simple's value proposition for me is.
Sure, the web and mobile experiences are extremely well crafted, but in all honesty I don't expect to be interacting with my bank's website more than maybe once or twice a month. I receive alerts by SMS or email when certain things are triggered, such as a low balance or large transaction. For viewing and analyzing my transactions and spending habits I use Mint, which lets me import my Simple transactions today.
One of the key features, the ability to see exactly how much you have available to spend, also lacks appeal to me. I am not usually in the position where I need reminding of the exact amount of money that is available for spending, and I wouldn't call myself rich by any means! I think a lot of Simple's smartphone owning target are in the same boat.
My current bank (HSBC, if you are curious) offers a lot more in terms of services. They have a more ATM's, where I can also easily deposit checks - something which I'm not quite sure how to do with Simple. In addition they have more options in terms of savings and investments.
I wouldn't exactly class any of the interactions with my current bank as extremely painful. Granted some people have much different experiences, but in general, how many actually feel the pain?
One financial startup that I have been using recently is Betterment, an automated investing and savings tool. It's great, I add money, tell it my savings goals and it automatically invests and manages my portfolio to (theoretically) optimize my savings. It saves me time and generates an average return.
Granted I could go hands on and manage my investments manually and probably generate a higher return. That would require a much larger time commitment and also would require me to brush up on my investment skills, neither of which really excite me!
Something like this is what I feel Simple is missing - a killer value-add feature which takes them beyond being just a barebones bank. Helping people save in a pro-active way seems like a logical step and I'm really surprised that they are not going in that direction.
Simplicity is a good differentiator when your competitors are all clunky and complicated. Mint has already provided a solution to this, and a lot of banks have spent the past five years at least attempting to innovate and copy.
When simplicity is a growing trend in the competitive landscape, just being Simple suddenly isn't good enough.
I first started blogging about technology around 7 years ago, and its astounding how much things have changed. Back then Ajax was being touted as the next big thing in web development, frameworks such as Ruby on Rails were starting to get attention and a developers biggest headache was usually Internet Explorer 6. It was a simpler time.
Since then a number of things have contributed to the changing landscape of web development. The browser has continued its evolution from a document viewer to a powerful platform for web applications. JavaScript performance has increased by orders of magnitude making it feasible for developers to implement rich functionality and interactions - things that were traditionally confined to desktop applications.
We are just about at the point where the majority of users are using a modern browser. Surprisingly Internet Explorer 6 usage has diminished to the point where dropping support is justified. Internet Explorer 7 is also on the way out. (Personally I had expected this to take longer but I'm not complaining!)
Less of a developers time is consumed by hacking around browser bugs or implementing workarounds and polyfills. The more powerful and desired features of CSS3 are generally well supported and browser vendors are iterating at a tremendous rate to enable further innovation.
A plethora of libraries and frameworks have emerged (and matured) allowing developers to do amazing things within the browser. On the server, Ruby on Rails, MongoDB, Redis, AWS, Puppet and others are changing the way we design, build and deploy applications. On the client, jQuery, Backbone, Ember Raphael, RequireJS and others are fueling innovation on the web, proving the tools to build upon.
Previously the web developer skill-set has been very much generalist - incorporating HTML, CSS, JavaScript usually along with some degree of design and/or server-side programing expertise. Now there are many opportunities for specialism either around specific platforms and frameworks or in more abstract areas such as client-side application architecture and performance engineering. The medium has matured to the point where web engineers may be viewed as peers of traditional software engineers.
Looking past the emergence and maturity of technologies and skills, the platforms themselves have also evolved. The rise of smartphones and tablets have changed the way that we consume the web and this has ushered in new practices in both design and development. Not everyone has a mouse and keyboard. Not everyone is sat down at a desk while they read your website.
It really is a brave new word, with innovation all around and an abundance of opportunity. Its great to be a part of it!