Home Company Gregory Raiz Greg's Head Blog


July

26

Saturday

Iphone Clipboard Concept for Cut, Copy, Paste

One of the current drawback of certain touch devices (Iphone) is it’s lack of copy/paste functionality. The difficultly in creating this functionality on a mobile device is that the interaction technique has to be non-intrucive to the core interface. 

Unlike a desktop application where you can toss commands into a menu the interaction model on a phone has to be more direct and gestural.  The copy/paste model I’m proposing tries to address some of these issues. 

When a user is viewing a core text area:

  1. They can scroll (tap + drag ).
  2. They can move the insertion pointer (tap)
  3. They can use the magnifier loupe to position the insertion pointer (tap+hold)
In my illustration you could activate additional copy/paste gestures:
  1. You can bring up the copy/paste pallet ( tap+tap near the insertion pointer)
  2. Once the panel is open you can mark a selection (tap+dragging) from the insertion point creates a selection. Similarly you could create a selection with two fingers marking both corners..
  3. When in copy/paste mode the keyboard is replaced by your recently cut/copied blocks of text or images.  You can tap a piece of text to insert it into your document 
Note: The tap+tap gesture is sometimes used in application to zoom however it is never used to zoom while editing text or viewing read-only text such as in emails or contact lists. 
Unfortunately at this point it’s not possible for third party application developers to write an extension such as this so it’s a concept sketch only at this point. 
P.S. Did you know we’re now developing and designing mobile apps?  Check out our latest design work for a new fitness startup focused on running. 


 
Comments (1)
If you found this interesting subscribe to the feed.

July

23

Wednesday

Gas icon

Next time you’re in your car take a closer look at the gas icon on your dashboard. Most modern cars use a subtle graphical arrow next to the gas icon. 

photo

The little arrow shows the side of the car that the gas cap is located. In the picture above the gas cap is on the drivers side. 

Car companies can’t standardize on a side to put the gas cap but at least they’ve managed to agree on what icon to use.


 
Comments (0)
If you found this interesting subscribe to the feed.

July

8

Tuesday

Make it easy to navigate

A couple months back I heard a good talk by Steven Krug. The talk was entertaining and had a simple core point.

  • Let people know where they are on your site so they don’t get lost.

Lately I’ve noticed a bad trend in web-design that sites make it very difficult to tell where you are:

Examples of poor navigation. Facebook, Flickr, LinkedIn and Twitter

Instead of using some visual indication to tell you what section of the site you’re on these sites choose to do nothing. This makes it difficult to tell where you are on the site.

It’s super easy to bold or highlight the section you’re on. Why aren’t these sites doing this? Perhaps in a ‘page view’ culture they want to confuse you and get you to click all around the site looking for the page you need. Twitter in particular highlights a tab that has nothing to do with the page that you’re on.

Well designed sites tend to have primary and secondary navigation elements and it should always be obvious where on the site you are simply by looking at the navigation area. You can bold the text, use a tab graphic, highlight the text, etc, etc. Make it obvious when you’re on a particular section of the site.

LinkedIn, Facebook and Flickr also use hover menus. In general hover menus can cause all sorts of accessibility problems. They also cause obstruction problems as you move your mouse through the screen you pass through the menu and obscure the area you’re trying to click. Lastly since these hover menus contain secondary navigation elements you can’t tell where you are on the site because typically the hover menu is closed.

There are ways to use hover menus and make your navigation clear. Staples is an example of this. The primary navigation is always obvious and althouh the secondary navigation is a hover menu the currently selected page is expanded and shown within the header area making it easy to move around the site.


 
Comments (0)
If you found this interesting subscribe to the feed.

June

30

Monday

Twitter Scalability - Performance is user experience

This is not another post about how bad performance is on twitter. There are planty of other people talking about that. Instead this is a post on how you can define performance expectations in terms of the user experience.

For example:

  • When I open a file that’s very large I have a different performance expectation from when I open a small file.
  • When I send a large package by mail I expect that it may take longer then a postcard or a letter (unless I pay more).
  • When I travel I expect it’ll take longer to get somewhere if it’s further away.

These expectations are defined by the task at hand. Consider how the Twitter service is trying to scale and provide performance expectations.

  • A person that is tracking 10 friends has the same user experience performance as a person that is tracking 10,000.
  • A person that is being tracked by 10 friends has the perception that their messages are delivered as quickly as a person being tracked by 10,000
  • My stream of data is updated in real time regardless of if I visit the site once a year or once an hour.

Basically the way the user experience is ‘unfair’ in it’s balance of resources.  Regular users of the site are punished by the super users. If you think of the site as a utility then each person using the site should be entitled to a somewhat equal share of the site resources.

The Twitter status blog makes no secret that they believe they should be architected as a messaging system. Each time a person posts a message it’s ’sent’ to the followers of that person. So each time a popular users posts a message it may be sent to 20,000 ‘inboxes’ this can result in a mass ammount of back-end servrver requests to process the messages.

Consider how the performance expectations could be set through a simple user interface change:

Twitter Performance Sending

By simply telling users that updates for that user are being sent and a percentage of those updates is complete it begins to set expectations for how the performance of the service will scale.  For a user with 50-100 followers the sending performance will continue to be relativly quick but for users with tens of thousands of followers there is the expectation that it could take several minutes to get all updates out.

If you define the user experience you want to achieve you can architect your system with this in mind. The above implies that each user would have their own outgoing message queue. This is similar to an outbox in email. A collection of worker machines could then cycle through all the users and process a certain number of operations per user.

  • If the user has messages in their outbox process X messages and deliver them to the appropriate end-points, sending to the most popular people first when possible.
  • If the user has no messages in their outbox process Y people that they are following and pull messages from those peoples message queues.

The above is a fairly simple system that is similar to how a CPU kernel will perform process time-slicing allocating a consistent amount of time to each system process. Similarly each person is allocated an equal slice of the sending/fetching pie. The above process has the following nice characteristics:

  • If you follow few and few follow you you’ll have a very responsive experience.
  • If you follow few and many follow you most of your time is spent sending updates.
  • If you follow many and few follow you most of your time is spent fetching updates.
  • If you follow many and many follow you your updates don’t slow down the system they just get added to the queue. Additionally people with lots of followers are able to carry on conversations with other popular people. (The Techcrunch chatting with Scooble problem)

The systems would scale in a more linear way. Certain users would experience slow sending durring peak times but this would be more isolated and a problem that is easier to solve with more worker machines. The key thing is that by setting the user experience expectations of performance with an outbox or a sending status the users of the system can visually see the health and performance of the system.


 
Comments (1)
If you found this interesting subscribe to the feed.

June

24

Tuesday

Powerpoint Wireframe Template for UI design

A wireframe is an early design that can help you and your team get agreement about what the design should look like and how it should behave. This is similar to how an architect may create a sketch of a building or how a director may create a pencil storyboard of a movie. The purpose of the wireframe isn’t to have a completed product it’s to get high-level agreement on the overall flow.

There are many specialized tools to create wireframes but I believe that many of these actually get in the way of the creative process. The most common problem is that they often render visuals that could be confused for an actual design. This can make people think that they are looking at a specification and they will critique the minor points and word-smith instead of engaging in a discussion about the high-level work-flow.

The other problem with highly specialized tools is that they tend to make the designer behave like a programmer wiring up pages with links and actions.  The wireframe is not meant to be a working prototype. It’s meant to be fluid presentation of the high level application structure.

I often wireframe using a pencil, a ruler and a stack of paper:

Wireframe

Paper has the property that you can do anything you want. You don’t need to find a checkbox in a dialog you simply draw a checkbox.  You don’t need to wire-up events you just draw what you want it to look like.

The advantage of wireframing in pencil is that the design is obviously not complete and it gives you and others creative freedom to try things out and move things around.

I took the same principal and applied it to a Powerpoint template. All the parts can be easily moved around and customized. The parts have a pencil drawn appearance. Making it easy to edit, customize and add.

It’s not as flexible as paper & pencil but it does make it easier to get executives and developers to edit a wireframe and explore UI concepts and ideas.

This sample includes a number of sample screens showing how various web-page parts and techniques can be mocked up.

Feel free to download the PPT file and use it in yoru own projects. For anyone interested I created the parts using a Walcom tablet to get the pencil look & feel.


 
Comments (3)
If you found this interesting subscribe to the feed.

June

5

Thursday

Application design for mobile phones

I love designing applications for mobile phones. It forces you to think about the essential features. Often times this is exactly the type of design you want on larger applications but it’s tougher to convince clients that the application gets better when you take away features. Many larger applications can learn from this.

  • Do one thing, do it well
  • Linear flow top-down
  • Purposeful word choice
  • Large fonts for readability
  • Keyboard accessibility
  • The details matter


 
Comments (2)
If you found this interesting subscribe to the feed.

May

22

Thursday

On Twitter

Over the last few months I’ve started exploring twitter.  It seemed like a fad. I signed up and said… Now what this is lame.

Having used it a little longer I’m starting to see some value. Not as a site for expressing ‘what I’m doing’ but as a modern megaphone. A way to shout something for anyone willing to listen.  Of course not everyone  can be bothered to listen to what you have to say especially if you’re busy telling people about the boring minutia of your life.  Don’t be that guy, rookie mistake.

Twitter can be best explained by thinking about communication tools:

  • Telephone - one to one synchronous  (balanced)
  • IM - one to one async  (balanced)
  • Blog - one to many async (un-balanced)
  • Twitter - one to many (balanced)

For this reason twitter is often called a micro-blog. The issue for writing an actual blog is that it takes time.  Writing an article can take anywhere from 10min to several hours.  Some posts may peculate over months.  Compare that to twitter where your writing is constrained to 140 characters. This means that anyone with 2 minutes can write a mini-blog post and get their ideas, questions or opinions across.

Instead of this long blog post I could have just written:

Twitter - strange service, somewhat useful. Forces ideas to be clean, simple and direct. Limited space makes people think before they write.

Exactly 140. Not bad. Add a comment and I’ll follow you.  - @graiz


 
Comments (1)
If you found this interesting subscribe to the feed.

May

10

Saturday

Data and bandwidth are going to be free

The price per megabyte of storage and data transfer is going to approach a per user cost that is less then the value of one advertisement per year. Assume that a typical user generates 5mb of content per day. I may generate more from photos while most of my relatives will generate far less. Over a year that’s that’s under 2GB of new data.

If we use Amazon S3 as a pricing guide the current cost of storing and uploading 2GB is conservatively about $16/year.

That’s not terrible but now consider that while the speed of transistors has been following Moore’s law of doubling every 18 months the storage density of drives has been doubling about every 12 months.

This means that 12 months from now the cost will drop to $8… $4… $2… $1 and so on. In 5-10 years we can expect storage costs to be well under a penny for a 1GB of storage. At that price it’s essentially free since any add on services or products sold will be far more significant to the bottom line then the actual cost of the storage.

Since content is personal and sticky the companies that will succeed in this space are the ones that can provide such a service today at a loss in order to aquire the customers of tomorrow.


 
Comments (1)
If you found this interesting subscribe to the feed.

May

7

Wednesday

Mini-UPA 2008 - Not just about Usability

If you’re in New England and interested in design, software and usability you’ll want to check out the Mini-UPA one day conference. It’s a one day event so you won’t be tied up all week and it’s jam packed with great speakers. There are over 30 speakers talking about all sorts of things from Web Apps, Interaction Techniques, Analytics, User Experience and design. Best of all the event is really affordable for a full day of speakers and classes. The event is May 28th so go put it on your calendar and sign-up now.

I’m on the board of UPA Boston and my company is also co-sponsoring the event but don’t let that stop you from showing up. I hope to see you there.


 
Comments (1)
If you found this interesting subscribe to the feed.

May

4

Sunday

A phone should be a phone

The key feature of a phone is to be able to place a call. This IP based phone fails at this task in a spectacular way. Not only was I unable to place a call using this phone but in the process it displayed a nice error messages telling me that it couldn’t render a web-page.

The problem arrises from the fact that most companies have a special code to dial outside the company. If you guessed “dial 9″ you guessed wrong, and so did I. No matter what I tried I couldn’t get an outside line. I couldn’t get a dial-by-name directory. I couldn’t get an operator and there was no help available.


 
Comments (0)
If you found this interesting subscribe to the feed.