Thursday, November 20, 2008

Access bar could be so powerful

Some time ago, I posted about Access bar and Natural language navigation. Part of it was implemented in Firefox 3. But after using Firefox 3, I find that applied concepts have many shortcomings:
  • I see that most people still don't use natural language, but are rather using location bar the same old way. I guess that big part of the problem is that there are two boxes, and one is not sure which one he should use. Eventually it might be the case sometimes even with the expert users (myself), as they are not sure whether they have something in history or not. If I am not sure where to type, I search Google, as it is more sure that I will get the result. After a time it turns into the habit;
  • just the fact that location bar has URL on it by default (except on start with blank page) translates into my subconscious need to type in URL and not natural language, not to say about influence on discoverability - finally, you shouldn't be typing natural language in the box with URL;
  • if you try to search bookmarks using location bar, many times they won't appear, so you have to go to Library and repeat the thing. And then after a time you go directly to Library to avoid the hustle. It might even happen with history, but it is more rare case so it doesn't turn into habit.
  • Sometimes I am not sure which result is the wanted result, and if I am wrong, I have to search again
  • Obvious complaint is that location bar searches only Titles, and not the full page, so it might be the case that I am not able to find keyword.
All in all, my perception is that it has usability (but limited) for me, and not so much for the average user.

Now, the solution:
Access bar
So the main idea is:
  • keep just one box (access bar) for navigating the Internet, and make it the box that appears first. This box is more like a search bar, as location bar is now moved to the right, and its only purpose is to show URL. Location bar is disabled and you can't type in. If you click on it I guess it should have an icon to copy URL. Access bar will now show your previous search, and thus instruct you that you should normally continue with another search.
  • the hardest part - integrate Google search into results. Here is how it should work - based on the frecency of results from its index browser calculates quality of internal results and decides how many slots it should reserve for the Google results and what should be their position. There should be always at least one slot for this purpose, and those slots are indicated by search icon. At first slots appear disabled, and when users pauses typing, they fill in with results (just like Inquisitor extension). Of course, whenever you use Google, you also get sponsored results, as Google wouldn't provide this any other way. The one who doesn't like may disable this in options.
  • this is not dropdown, but overlay on page. The purpose is to make it possible to middle click results and keep overlay shown as tabs are opening in the background. I put even pin icon, so that users not familiar with middle clicking or control clicking (and unfortunately there are lot of them) can open multiple pages in background with plain clicking. Of course there should be also and keyboard shortcut to do this, like shift+alt+enter
  • at the bottom of the overlay there is the option to continue search through one of the options: History, Bookmarks, Google, other engines. Ideally, Firefox should collect all engines one ever searched (like Chrome) and show it here, but by order of how many times one used them for searching. Eventually, they may disappear after some time of not using, to keep things cleaner.
  • of course, there are Google suggestions in tooltip. One can switch to them by pressing right arrow, or by clicking mouse.
Just to note that things would have looked a bit cleaner if tabs were on top (like Chrome), as you could get overlay closer to access bar. But it would also look very good with Sidebar navigation I have mentioned before.

Labels: , , , , ,

Tuesday, August 05, 2008

Focus on averarage consumer vs Focus on marginal consumer

I guess there are two philosophies in making software - focus on marginal consumer and focus on average consumer.

Most software is made with focus on marginal consumer. That means that feature set is constantly expanded with focus on marginal consumer - the largest group of consumers whose needs were not covered. So, with every version we get more and more features and eventually they become more and more useless for general user. It is not hard to think of companies that practiced this philosophy - Microsoft, Adobe, Autodesk - actually most of software leaders.

On the other hand, focus on the average consumer means that software focuses on one group and tries to satisfy its needs. Features are added just if they are really useful for that group. Otherwise, in new version you should expect that interaction with current features is improved, but again not by adding some subfeatures that are useful to some marginal group, but in the way that most of the users may benefit. I guess that best examples of this group are: Mozilla Corporation, Apple, Palm (though it failed to do anything of n0te in near time).

Labels: , , , , , , ,

Monday, June 02, 2008

Part producers are dead, long live integrators!

Not so long ago, it was enough just have fastest part. Just add some more Ghz to processors, and Windows would act faster, and it was a clear win on the market. The same goes to RAM, hard disk, or anything. In such world, part producers were the kings.
But now, climate has changed. Adding some more Ghz just won't make your browsing or typing faster. It is the time for integrators to jump the wagon. The main goal of the integrators is to take components to produce unique experience, eventually adding some custom made components that are not available on the market and are essential part of particular experience.
So, we have several examples of people that took this seriously and made some real fame:
  • Apple - the only company that always tried to be integrator, and eventually found its moment. Ipod+Itunes? It is integration. Hadware+software=Mac. iPod+phone=+iPhone. And not to forget custom chips like ones being made by Intel
  • Nintendo - Wii has all generic components, but with nunchuck controller and added integration magic it rules the world
  • Asus - with eee PC making bringing all other manufacturares to shame. But unfortunalely without much custom parts, so it will be quickly copied by others.
But, in every race there are losers:
  • Microsoft - Vista was released for era of part producers. At a hurry Microsoft extended XP home life for low cost PCs. But it will make troubles for corporations - if you buy eee PC, with Win XP home, you can't use it in your corporate Network. And it is likely that many CIOs will be interested in eee Box - it consumes much less electricity, produces less heat, takes less space and doing the same thing. But can't work with Windows Server. It will be a big push for Linux.
  • Sony - Blue ray won the game, but the question is who will need such bulky storage? MacBook Air and Asus eee Box won't
  • AMD - the company that first touted that x86 instrucions should be used from top to the bottom of the market was overrun by Intel that got it how to pack x86 into small, low-power and low cost component

Labels: , ,

Tuesday, April 29, 2008

How to make software companies compete?

I don't think that it is too hard to conclude that software ecosystem is flawed. Just look at the history. I am not aware of any industry that led to such high market shares and monopolies in almost every segment you can think of (should I mention Windows, MS Office, Photoshop, Quark, AutoCAD).

I think that in the terms of market economy you can say that software competition is too expensive, and that market found an answer that optimal solution, under current conditions/limitations, is to have one dominant player. It is just too expensive to have several non-compatible platforms last for long time, and we all know that (Betamax and VHS couldn't live forever, HD-DVD and Blue-ray too).

Those software monopolies are however much different than those private-standard monopolies like VHS. It is because everyone can license VHS (including Sony, which was on Betamax side) and make his own player, which might even become best selling machine thanks to producer's further inventions and marketing. Of course, private standard owners will get their royalties, but they can't have everything just because they have the standard.

So, it turned out that one dominant player was short-term cost optimized solution, but in the long term it causes a lot of problems. As barriers to entry became very high, classical solution that new player will appear was not relevant - and those that tried usually failed. But market found one possible way to restore competition - support open-source movement. Generally speaking, it wouldn't be a healthy way for normal market to function as open-source, but in the terms of current conditions in software markets, it brings competition to market and thus improves its health.

And then, there come the patents. If you want Gmail like experience, you must use Google, as it only has patent on that. Even if everything else is flawed, you must stick to it. The same goes for iTunes, iPod and Apple. As companies seem to embrace patents much more now than they did before (Apple lost case to Microsoft because it relied on copyrights and not patents), this will make competition even harder - may I say that iPod market share would be standard to follow. On the other hand, I can't just say no to patents (just like some people do) - Apple took a lot of time, money, effort and employed best people to make iPod, and it is not OK that someone else can copy that with no sweat.

So, I want to return to one my idea that I had 15 years ago - software should not be sold as applications, but as features. Generally speaking, it means:
  • there are subapplication level standards that allow features to communicate - they should be made OS wide (for example, Mozilla search bar could take user input and translate it to URL and send it to any rendering engine);
  • probably there should be some non-profit organization that enacts standards to ensure this;
  • software producers would have to have price list that has price for every feature they sell;
  • people would buy software from something like OEMs - they would pack different features from different producers together and sell it (they would have discount from vendors which could form part of their profits);
  • one could buy features from different vendors and make his own suite, but most people won't do it;
  • if software producers had patents on something they must license it and cost of license cannot go beyond some percentage of listed price (e.g. 30%);
  • if someone builds patent upon someone's patent, he could took 30% from his selling price with his license cost deducted;
  • it would be nice to have site/sites which would sell certified software features.
I think that this would improve market condition in several ways:
  1. Consumers would buy only features they need.
    • Software producers must focus on exact consumer needs to increase their revenues
    • Software producers would get feedback if they develop something which is not valued by market and would cease such developments (which might not be the case now)
    • Consumers would pay more fair price - if one knows just to use several features of Microsoft Word, but he respects the speed of this program and wants to use it, he would pay less than some people that need more things

  2. There would be room for more market players
    • People wouldn't buy everything from one company - one company cannot be best in everything, and thus different company would find their smaller or bigger niches and would have stable revenues to finance further development.
    • Even small companies would have chance to invent something in the world of e.g. Office software. You wouldn't have to write Microsoft Office from scratch just to introduce one new feature.

  3. People would be able to get the best of the breed - as said before, no software company is best in everything. So, why would you use two programs of the same kind where one can do one thing good and other can do other thing good and constantly switch from one to another, when you could combine their features in one nifty application?

  4. People would be able to use best features across different applications. It is obvious that graphical programs usually fall behind in text editing to text processors. But why would you be limited to use features from those programs. If you like the way Microsoft introduced live preview of fonts, why you wouldn't be able to buy that feature, ask your computer to install it? It searches then all the places where font dialog appears, lists it, and ask you to confirm replacement.

  5. Patent owners would get fair prize for their work, but patents wouldn't stop competition and innovation from developing.
Of course, you can think of downsides of this approach:
  1. More administration/standardization may slow innovation - in general it is right, but in the long run it is the competition and reward that drives innovation, and I can't think of more competitive environment than this
  2. Things would become too complex for consumers - though it is true that things would be more complex, it is also true that you can chose among large number of options when you buy hardware, and it still works. Also, don't consumers feel nice when they can buy just one song on iTunes store or build compilation they like, instead of getting whatever is offered out of box and they don't need?
  3. Compatibility problems may occur - it is also truth for hardware. OEMs are there to resolve them. If you want to resolve them yourself, then you should know what you are doing.
Eventually, I see two possible solutions that would drive the world to this system:
  1. Government would realize that software competition is flawed and enact new system
  2. Consumers and competition to dominant players would response in an open-source fashion and make claims to build and use this system.
I hope that people that read this are aware that this is just an outline of idea and it is not solution for every single aspect of problem. I stumbled upon several things which made me think that it would make implementation impossible, but after some thinking I found how they can fit in.

Labels: , , ,

Saturday, July 07, 2007

Natural Languange Navigation, a bit more

After showing idea in previous post, there are several more things I would like to explain user scenarios. This interface is made for two things: when user wants to see site he visited, and when user wants to visit new site and is very well aware of what he is looking for (like specific company, institution or product site). In first case (which is more frequent) he uses left column of drop-down. In the second case he uses two other columns.


I think that with this concept, unifying of search bar and location bar is not necessary, as search bar should keep its functionality when user does complex searches and searches for something generic, as whole search engine page is necessary then, and it is easier to get it through search bar. Also, user may want to submit data to different forms and sites, and search bar is handy in that case.

Labels: ,

Friday, July 06, 2007

Natural Languange Navigation, finally

I have touched this topic at Access bar. After some rethinking, this is how it looks at this point:

Access bar

This means that user should not type in URLs any more, and that natural language is used for navigation. Of course, user can type in URLs, as browser can easily recognize them and follow them, but this is just a backup solution, and it shouldn't be primary way of navigation. As user types in, he gets Google suggestion (and form history) in the tooltip. Pressing the left key moves pointer to tooltip, and it is very easy to select whole the phrase.

On the other hand, drop down has three parts - History of visited pages, Google search and Google sponsored searched (I am talking about Google here as Firefox default engine, probably it could be other search engine too). Every column contains list with page titles and domain URL. Though I would prefer total removal of domain URL, at this point it is still useful to ensure that there is no fishing. History column is replacement for old address bar list (but should bring to ease of use due to Natural language navigation), while Google search is something innovative and should add up both to productivity and ease of use. Sponsored search is something that is definitely necessary, as it is hard to imagine that Google would give away so much revenue. Eventualy, in this column ad text could be possible, as it might be required by publishers.

And when the user comes to new site, its domain name should appear in access bar, to ensure that user is aware of the site he visits and to prevent fishing.

Finally, this concept should work well with Sidebar navigation, as it has no permanent wide elements (though drop-down is very wide :) ).

Labels: , , , ,

Friday, June 29, 2007

Sidebar navigation

Though there is no clear statistics on this (as different sources may vary), I think that most people will have 1280+ horizontal resolution within 3 years. And large subset of this will be wide screens, which vertical resolution won't be significantly higher than today's standard 768. Unfortunately, just small part of this will have pivot function to make them vertically oriented.

In such environment most documents will leave unused horizontal space, which should be used for something meaningful by the programs. At this point, I will focus solely on how this problem should be solved with web documents/browsers. First of all, though web design may vary in the future, wide sites are not likely to appear, as reading too wide columns is not ergonomic and you can expect unused horizontal space to appear here.

The idea is to move all navigation to sidebar. That way, all vertical space is freed up, while only horizontal space that is expected to be unused is used for navigation. Of course, easier said than done. Some of the elements will be tighter than they are today, and there is lot more free space that should be filled with something meaningful. So, here is the mock-up of what I propose:

Sidebar navigation in Firefox screen shot

Keep in mind some remarks:

  • Address bar is much smaller. Even current UI elements of Firefox used here would function much better if they were a bit less wide. With this width, there is no sense to display all URLs, but it is not a big problem, as they are not meaningful anyway. I would suggest Natural language navigation to fill that gap, but will leave it for the next post.
  • Search bar is a bit smaller, but it shouldn't be a problem
  • Navigation buttons are the same, I just tweaked them a bit from Firefox - Stop/Reload button is already standard in Opera/Safari, and unified back/forward history from IE7 is also a good stuff.
  • The rest of the space is used for different sorts of link collections
    • Hidden tabs - there might be more intuitive name for this, but it relates to tabs that are not shown on tabbar due to tab overflow. At this point, tab overflow is not discoverable - try to open tab in background while overflow is active, and you'll have no feedback that something is happening. With this solution, hidden tabs area would increase its size by 1 slot (and history would lose that one slot) where newly opened tab would appear. And with some nice smooth scrolling animation it would look very cool. And if lists get too big, there could be scroll bar on right side. Personally, I had big trouble using current list of tabs in Firefox as list contains both visible and invisible tabs, which makes it too big, while I think that proposed hidden tab list would be very user friendly.
    • Recently closed tab is another function that is totally indiscoverable in Firefox. Same smooth scroll animation would make it very effective and easy to use.
    • Bookmarks could be solved in different styles - at this point I think that there should be top used bookmarks, while pressing the + sign area would significantly increase and show all current bookmarks (thus no need for bookmarks menu).
    • History is just least of recently opened page, and it reduces the need to keep that item in menu.
  • With all these changes, menu bar becomes narrow enough to fit into sidebar,and there is no need to extend it to the full line. Actually, current menus were made at the time when resoulution 640x480 was widespread, and they really took whole the screen. Now it is really time to revise whole the system.

And, as said before, this new concept adds a lot of more visible vertical screen. Here is native Firefox for comparison:

Firefox screen shot

Labels: , , , ,

Friday, May 18, 2007

Segmentation is the software future

Current software has business origin. When personal computers started (and that is around 25 years ago), they were also technology driven, just like almost every innovation. That means they were more focused on pushing technology limits further, than on making things friendly for business users. As time passed by, user orientation started to appear, and it improved over years. As Microsoft was and still is dominant in this area, the development can be tracked in transition from MS-DOS to Windows and constant improvement from one Windows version to another (most significantly from Windows 3.1 to Windows 95). But still, this user friendliness was business user friendliness. If it was more home user friendly, it was to large extent a plain accident.

After some time, people at Microsoft probably realized this, and they did something to improve at home user field by relasing Windows Media Center Edition. Though it is a huge step forward, one must say that this just a patch for the system that was never projected with home users in mind.

On the other hand, most of the software-hardware platforms that were more oriented towards home user extincted in the early 90s. Amiga and Atari are leading examples of this. The most close relative that survived evolution is MacOS. And it is not an accident that it excels in home environment.

It is not hard to conclude that home users and business users have significantly different needs, and that future software should be developed for each group separately. At home, people expect their computers to work like gadgets, and software should focus on that. At business, people expect their computers to be productive and secured machines, in most situations for document/information crunching. I think that both segments are more than big enough to be economically viable. Unfortunately, current software mostly forgets about home users and treats them just like business users. And business users don't pass here perfectly either, as they get unwanted and distracting piece of bundle that home users might want, just to ensure that everyone will feel fine.

Just to say that I think that this relates to most pieces of software one can imagine. For example, browsers. Business users usually need to track some information which regularly appears/updates on some site. Last generations of browsers have several tools for this like RSS integration and opening several tabs as home page which might help. But browsers were not made with this idea in mind, they are just versatile machines which may also work in this situation. On the other hand, home users are more after fun, news reading, connecting with others. And again, browsers help in this but they were not made for this.

Labels: , , , ,

Monday, April 30, 2007

Gadget OS

I have been using Palm Treo 680 (with Palm OS), which is a total opposition to document-centric approach, and to be fair, I was positively impressed. Not to say that document-centric approach is not good, and that all my writing here is a waste of time.

First of all, document-centric is good approach if you deal with a lot of documents. Then you need tools to manage them. And on your mobile phone you don't have too much items that must be treated like documents. Even on your home computer this could be a favorable approach.

Second, you don't need to group heterogeneous document under one cap at home in most cases. In business you always need folders.

Third, implementing document-centric approach, but not in full extent, could be a bit confusing, and implementation that ignores this approach in maximal extend could be quite logical.

Labels: , , , ,

Saturday, March 10, 2007

Recycle bin mystery

I just found out that (in a corporate environment with Windows Server) you don't have recycle bin when you delete something from the desktop. That's because you have separate physical recycle bins for files on your hard disk, files on your Server (in My documents), but the one for the desktop is not defined as it is not in either of the mentioned Places...