The Disappearing buttons in the Ocularis Client


As a UI designer I heard this one a lot : “If my mom can’t use it the first time she tries, it is not intuitive”. First of all, it is not your mother who is confused – it is you 🙂 But if we were to follow that logic, we wouldn’t have a computer mouse or even a touch screen. It may be semantics, but to me “Intuitive” means that 99.9% of all people can use the system after being shown how to use it ONCE. Trying to design a system that everyone can use with no introduction is not cost efficient. As soon as people become familiar with the system, they are annoyed that they have to use a wizard to add a camera, annoyed that the interface is cluttered with labels (100 labels are as confusing as none). You can do a “let’s get to know each other” like on a lot of mobile devices and video games these days, but so far no-one is willing to make that investment.

Buttons Disappear!

We looked at the traditional systems; most have an L-type layout (menu on the left and some controls at the bottom, video squeezed in at the top/right corner). In a 16 camera view, you may have the controls on the left or bottom panel, but the video panel is not adjacent to the controls, which – to me – feels strange. My other concern is that the vast majority of the time, people are simply looking at video. Not using the controls at all, yet the controls take up more than 30% of the screen estate. Frequently, functions that are never, ever, used are prominently displayed (along with a vendor logo!). The many functions that are always visible are then grouped in tabs and hidden in panels that get scrolled below the edge of the screen and so on.

Very early on we decided to make some tough decisions on the design. The toughest task is to decide NOT to show something. Any design committee can fall into the trap of “show everything”. As people complain they cant find a particular button, the solution is to “make it bigger”, “make it red”, “make it blink”, and before you know it…you’ve got Times Square.

Granted, we did go to extremes at times, and we had heated arguments about just about every button on the screen. It would have been easier on the team to just copy what everyone else is doing, but luckily we were able to try something new.

Need Camera Grouping?

Some systems allow you to group cameras. You can create a “lobby group”, a “1st floor group” and so on. This is functionally very close to creating a view. All the cameras in the lobby could be added to a view called “lobby view”. The user could pick that view and get an overview, and then maximize each camera to view what happens on that camera in detail. In a way, the view is a group of cameras in itself. This means that there is no need for “camera groups” in the client.

If you wanted to bypass the “select view, maximize camera”, we could make an additional node on a view in the tree. This node would contain automatically generated 1×1 views of each camera in the parent view. The user could then either select “lobby view”, or directly from the view selection menu, pick “lobby camera 1”.

Another alternative to groups

As an experiment I’ve added a filtering mechanism to our camera selector; When the camera selection list is visible you can start typing on the keyboard. The camera list is then filtered by what you enter. Say you enter L… O… B… now all cameras with the string “lob” in their name will be displayed. This means “Lobby East Camera 1″ but also “Lobster Bay Camera”. Keep typing.. B… Y and now the list is filtered even further. In most cases, you don’t really need to type the entire word.

The camera menu can be invoked from the keyboard (the tilde key), which saves another few mouse clicks.

Keep in mind that this is a preview, and there are no guarantee that this feature will be in the next release (you can tell that Ocularis is hosted in my test-harness too)


To me, tool tips are a designers crutch. Can’t think of an icon? Just add a tool tip! Then you get tooltips that are really miniature manuals. “Click the button below to play video from the selected camera in forward direction at the speed selected on the playback speed widget in the left panel”.  Others are meaningless; you have a button that has a label called “open”. Hover the mouse, and the tool tip says “open”.

But in this case, we needed tool tips – no question  about that – so we added them a while back 🙂

Instant Playback in Live Mode

We added instant playback to make it possible for the operator to back up and review something that just happened without having to switch into full browse mode, and thus pausing all the other cameras. It is not a tool meant to perform forensics, but to allow the operator to make a quick decision on whether to investigate further. Naturally, this makes no sense in a 1×1 view where there are no other cameras (not sure why John Honovich decided to demonstrate this feature in a 1×1 view 🙂 – why, John, WHYYYYY???)

Playing back exported video

In the past Ocularis did not have a separate, low spec database player. We do now. I felt that most external entities would prefer individual snapshots or AVI files, rather that some proprietary player. If a TV-network is putting out an APB they need to prepare the video for broadcast, in that case an external player is useless. Sending evidence to law enforcement would probably also be in JPEG/AVI format rather than some binary executable (although a friend of mine tried to email local police, but had to use the handling officers private gmail account as the police did not allow emails with attachments!)

My impression was that we’d made up this use case, where the judge needs to see the video, and it HAS to be the original format, and the judge has a low spec PC (or something like that). I felt that the truth was that the client we had in the past was unable to open exported video by itself, so we made a “player”. Furthermore, to run the client, you needed to “log in” somewhere which is not always possible. If the client could run in “disconnected” mode, then there would be no need for an external player.

The player also serves another purpose. If I export the evidence as AVI, then I have no real good tools to seek in the video on a frame by frame basis, nor can I print a “report” from Media Player, or export singular frame (without having a fair amount of skill) or perform digital zoom on an area. A simple AVI player that could offer some rudimentary forensics would probably do just as well.

Multiple Camera Export

In a 2×2 view, you can actually export any or all 4 cameras at once. The export dialog allows you to select which feeds to include, and exporting happens in the background. Once the export has started, you can go back to live view, perform further investigation and so on.

Yes, I am shamelessly promoting the product that a quite a few people put a lot of effort into making. I think there are some misconceptions about why we did things the way we did, perhaps I can offer some insights. All of us care very much about external input, and critique from peers. It does not mean that I have to agree, but trust me – we do take it very seriously.

No, Ocularis is not perfect, never will be. There will always be things that we can improve, and we certainly can’t be perfect to everyone. Hopefully we can be close to perfect for someone.


5 thoughts on “The Disappearing buttons in the Ocularis Client

  1. jhonovich says:

    “My other concern is that the vast majority of the time, people are simply looking at video. Not using the controls at all, yet the controls take up more than 30% of the screen estate.”

    That’s like saying the majority of time people are driving and not looking at the speedometer or gas levels. If you were designing cars, would you hide them too?

    • prescienta says:

      If the dashboard takes up 30% of the windscreen showing me gauges and readouts that I never need, I’d say the design was questionable. Cars have many sensors around the engine bay, the readout is not shown, instead you simply get a “check engine light” – which is hidden (unlit) until it becomes useful. The same applies to a lot of other elements on the dash (door open, low washer fluid etc.)

      So, no, I would not hide the speedometer, nor do Ocularis hide the status of the camera. We DO hide the controls until you need them – THEN we show them. So in your analogy, it would be like us showing the speedometer and gas level only when your eyes moved to the dash (in OC you need to move your mouse to the viewport)

      • jhonovich says:

        Moving your eyes is a lot easier and quicker than moving your mouse across a screen.

        As I said in the review, my concern is that this can disorient users, especially those do not use the application regularly.

  2. prescienta says:

    True, but we are not hiding the camera status (speedometer/fuel-gauge), so you can read those by moving just your eyes 😉 (sounds like a sales-pitch. “instantly read the camera status just by moving your eyes” )

    Even in the L-layouts you have to move the mouse to control ANYTHING – right. My argument is that if you want to manipulate camera A, then you move the mouse to camera A. When you do, we show the controls. When you are just “watching video” and the mouse is idle, we hide them.

    This concept may be difficult to grasp if you’ve never seen the system in action. Hovever, at tradeshows I have seen people walk up, wiggle the mouse, and instantly “get it”. others are a little more timid, but after just one demonstration they are able to use it, and explore the system on their own. I am not saying that people cant use the old designs (I am sure they can).

    Look at quicktime 10, or almost any video pleyer out there, most of them actually hide the playback controls when the mouse is idle. Youtube dims the controls, but keeps them visible, Vimeo hides them completely.

  3. Brother Brad says:

    Hey Prescienta . . . i have this dumb menu on my tv screen covering up half a quarter of ESPN . . . help! Oh wait, i have a button on the remote, wait the menu is gone! I press it and the menu returns. This is cool. Ok so now the football game covers the entire tv screen . . . Yey!

    Now to the dashboard analogy. I get on the highway, my “info” read out tells me how far I can go till empty, ok . . . speed 9 over the limit, cruise control on, I’m done with the gauges, lets start driving. 🙂

    Looking out the windshield is similar to my TV . . . I want to see what I want to see. Video surveillance “clients” are clogged up with too many buttons and menus and not enough of what people want and need to see. Like the Ocularis client mouse over controls, my steering wheel has the buttons in front of me when I need them.

    The UI for the Ocularis Client is brilliant, intuitive and innovative. It’s good for young or old. (I am in the latter category ;-)) Not perfect but on the way we reach excellent. 🙂

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: