User:Mirek2

From Apache OpenOffice Wiki
Revision as of 10:21, 14 July 2009 by Mirek2 (Talk | contribs)

Jump to: navigation, search

ux-ooo-logo-rgb-129-61.png

ux.openoffice.org

Quick Navigation

Team

Hi. Let me just say that I have been an MS fanatic for a while (way back), but, as an objective person, I started reading things and changing my mind about everything. I've switched to the open-source movement, Apple notebooks, vegetarianism (aspiring vegan), formed my own thoughts about religion, etc. I think that this kind of subjection to change is reflected in a lot of the stuff I do on here. My UI proposal, for example, if I weren't as lazy as I am, would change in leaps daily. Already I have a bunch of changes in mind. And I can't make up my mind on another bunch. And I'm dissatisfied with the yet another bunch.

So, I want every reader of this page to really consider all of the thoughts below and comment on them -- fix the bugs, because they're always going to be there, somewhere, no matter how sober or awake I am while writing them.

Thoughts

What needs to be done ASAP

Streamlining, getting rid of JRE, getting compatible

In my experience, people have two major problems with OOo. It's very buggy and slow, and it's incompatible. So in order to actually be able to compete with MS Office, we need to focus on this, before we add anything to the suite.

We need to make the suite completely compatible, and if we can't do that, then at least build in an indicator telling what might not work the same in MS Office. Sure we have the incompatibility warning when saving to MS files, but those don't tell the user anything about if and what exactly will be different. Also a nice addition would be a "hide features incompatible with <software suite>" option.

We can start with a collection of compatibility test files (like the acid tests for browsers) containing a variety of things (the more commonly-used, at least; we don't need to focus as much on the advanced-user incompatibilities right now) currently incompatible in OOo. By the way, here are are the file format specifications: [1].

Website

Below I point to the SongBird website as the exemplary open-source project website. We need to follow suit and make the OOo website a lot better, in these ways:

  • Make the home page the only place the user needs to visit to get info about the suite. The SongBird website has a short description, a screenshot, and a big download button. That's all that's needed.
  • Get organized and streamlined. Our "Support" page lists a lot of support providers, and the user doesn't know which one to turn to. We need to cut this down to one, potentially two (paid and free), perhaps providing non-obtrusive links to the others below. The "Why OOo" site is completely unnecessary and keeps repeating the same info in different ways. If I were a potential customer, I wouldn't want to look through those hoards of text. We need to get rid of that site and just outline the basic advantages of OOo right on the OOo homepage.
  • Make contributing easy. All projects need to have a single homepage. On each project homepage, there needs to be a clear, concise description on how to contribute, links to a "resource" page for the projects that use one (like OpenOffice.org logos in the marketing and art projects) and to a "Mailing list" page (with the mailing list addxress as well as past discussions), and a task list. The task list would indicate the progress of individual tasks/projects and link to what has been done so far. It could also list past completed projects, if still relevant and usable. Tasks would be sorted by urgency (what needs to be done most). When Google Wave comes around, we should replace our mailing list with it, as it will be possible to browse past messages and add new topics right from this website, it seems, have replies to message section organized nicely and therefore much more readable, have live discussions, add images, etc. As well as good project sites, we need a good general feedback page.
  • Make everything feel like it's part of the one website. That means having the same header on all the OOo sites and the same navigation links. This applies to extensions and the wiki, too. Again, look at SongBird.

Design

We need to work on just about all graphical aspects in OO.o: the templates/themes, the gallery, the GUI, and styles. And we can also borrow from others. Although I never used it, the Open Clip Art Library seems like a good place to take clip art from. Lotus Symphony's Gallery is also a nice source for templates and clip art, but it doesn't seem like it's open source...

What could be done with the Renaissance release

So it seems like the Renaissance release will involve a lot of code rewriting and reconsidering. That seems like a good opportunity to improve and streamline a lot of the code, perhaps even start from scratch. So here are the things to consider with this opportunity (aside from the streamlining and compatibility changes mentioned above):

More unified code

A forewarning: I'm a programming dummy, and I know nothing about how the OO.o code is set up. However, I have a hunch it's not set up in the way I'm describing below. (I know OO.o already ties together [that's why you don't download individual apps], but loosely.)

Think of OO.o as one extensive toolbox, and the different parts of the suite (Writer, Calc, Impress, etc.) as different types of paper used for different purposes, but all requiring pretty much the same tools for editing. That's what OO.o should really be. By keeping everything uniform across the applications, save the "paper" and the tools unique to individual applications, we can significantly trim down the code. Essentially, we'd be coding one application instead of the four/five/six we have (I'm not really sure how Base and Math fit into the picture). The tools unique for one application could be put under the app's default "options" file (as options would now be saveable), where command categorization would normally go (e.g. these "unique" tools would exist in all applications, but the options file would hide them). Thus, the kind of "paper" (basically blank pages for Draw, pages consisting mainly of a frame/frames for Writer, tabs of infinite tables for Calc, and animated pages with a fixed width for Impress) would form the essence of the individual applications.

Next, think of everything as child of a parent shape class. Every object in OOo, except sounds, animations, and the like, has a certain shape. In OOo, when you double-click a shape, you get a text frame within that shape (ideally, it should take the shape of the shape, but currently it's just an overlaid square text box). Instead of having two things with the same purpose, how about thinking of frames as shapes with content? The same with all other stuff. Images and videos, for example, could be thought of as shapes with an image/video fill that stretches with the shape (although assymetrical stretching should be disabled by default). That could make it much easier to crop an image precisely or add "effects" (like those in MS Office 2007+) like borders, shape frames (2D and 3D), shadow, etc. And to make everything easy and quick, there would be a simple shortcut (like right-click and drag or Command/Control click and drag) for creating a rectangle, which would have a "roundness slider" (denoted by a yellow diamond; you know this from a variety of apps, like OOo, Inkscape, etc.), making it possible to create a rounded rectangle, a circle, or an ellipse from the shape. Its nodes would be editable (like all shapes, but unlike the current OOo behavior), but by editing them, the shape would lose this modifier.

Web features

It's clear that web/collaboration features are going to be playing more and more major roles in suites as the world embraces the cloud platform. While we don't need to necessarily make a web-based OOo (although with the code rewriting, this would be the time to do it, so we should definitely discuss the posibility), we should definitely embrace collaboration features. That means interoperability with services like Google Docs and Google Wave, when opening a file that's already open by another user, instead of just having a "Read-only" option, having a "Collaborate" option too (which would send a "Collaboration request" to the original user, who could accept or deny it), incorporating a chat client within the suite, etc.

Big Bang

The Renaissance release could and, if we do it right, should be marketed as a "second chance, we changed" release, to convince those who left OOo once to try it again and see that we fixed the problems. By "do it right," I mean work really, really hard on this release, especially in fixing compatibility problems and bugs and streamlining, so that we end up with a real competitor to MS Office, one that can read and do all it can do as quickly and stably. And to convince everyone that we changed, we need to dramatically change our image once the release comes. That means a new, smooth, beautiful GUI (which we know will come with the release, so no worries there), a rethought website (described above), an active marketing campaign (perhaps something along the lines of what Firefox has, or maybe a "free CD/DVD/disk pass-it-on" campaign), new, stunning themes in applications, etc. All in the one release, so that it looks like we really changed, not just slightly improved the last version.

Bring out the Draw features

Draw could be such a powerful application. It could easily serve as a vector editor, a (light) bitmap editor, a diagramming tool, and a desktop publishing program. But the problem is, it isn't really obvious that it does any of those things. So, with the Renaissance release, the UI should be reworked to actually put the right features (drawing features) up front, in a simple, clear way (currently, there's a lot of features that aren't quite self-explanatory, name-wise at least; like Glue Points, OLE objects, and points [called nodes elsewhere]). Kind of like Inkscape does. It also needs to take out all the weird functionality.

Here's a list of suggested changes:

  • Nodes ("points") should work the same way with predefined shapes as with user-defined shapes.
  • Image files should be opened with the same size as they actually are (try opening a PNG)
  • There should be no bottom tabs.
  • Layers should be managed through the sidebar (like slides in Impress, and like it is done in Adobe Fireworks)
  • Merge tools to simplify (look at Inkscape)

There's a lot more, add if you want to.

Feature suggestions

If OOo already includes some of these, please tell me.

Animation features

While Impress does already have a nice list of animation features, I'm feeling we got animation wrong (that's what we get for copying MS). We could do so much more with animation, and start fashioning Impress into a light Flash competitor. So I suggest we let the user determine the end result. He could rotate the object, resize it, move it, crop it, replace the image, change the nodes, change the shape, etc. This would open up Impress to the animation field. It would be pretty easy, for example, to make a slideshow image cube (although it'd be limited to 6 sides) or make a "moving" person out of shapes. We would also let the user save his own animation (or, perhaps more clearly, a group of animations carried out with specific timing on one object) and present preset ones, like we do now. We could extend this to transitions, letting the user make his own by animating blue and red shapes, representing the initial and the next slide respectively (with the first frame of this animation being completely blue and the last one completely red).

Also take note of Apple's Keynote, which has pretty nice animation features.

Selection tool

Right now, there doesn't seem to be an easy way to select parts of an image in OpenOffice.org. I suggest we make it easy to select parts of an image, by introducing the "selection tool." What it basically would be is kind of like Microsoft's upcoming background removal tool, just with selection. The user would be presented with two tools. With one (denoted by blue lines), the user would draw lines in the places that the selection should include, the other one (denoted by red lines) for places it should exclude, sort of like GIMP's foreground select tool. When it would look like the user tried to draw a simple shape in green lines, that shape would automatically become the selection, unless the user already marked an area with a red line. This way, the tool could serve as a tool as simple as a marquee tool or as precise and powerful as GIMP's intelligent scissors tool. In OOo, it could be used in a variety of ways, such as quick image editing, background removal, advanced cropping, animation, etc.

Drawing tools

I think Draw has a lot of potential. It's a really nice, smooth combination of a layout application (competitor to MS Publisher), a diagramming application, and a vector drawing application. Unfortunately, like all the other OOo apps, it suffers from a lack of polish. What I mean is, the basics are there -- there just needs to be a bunch of things to make the job easy, like a fitting, easy-to-use, simple UI, templates, and the "artsy" features. And that's what I'm suggesting.

UI is the Renaissance product, although I don't think we're going to get exactly the right one if we make it just like Impress (although this thought is probably just coming from the fact that I've never used a drawing program with a UI based on a presentation program's UI). Our current one is pretty good, although it's also not exactly the right one. Oh well, we'll get there someday. I think Inkscape's toolbox is pretty good UI-wise, also Adobe Fireworks has some nice ideas and Pixelmator too. Templates I talk about above.

By "artsy" features, I mean some of the things mentioned above as well as in my UI proposal, such as a "selection" tool, custom transitions and animations, etc. Here I'll mention two more features I'd really like to have -- custom and nice predefined strokes and a B-spline tool. Those two features were what really excited me about Creature House Expression, which has unfortunately been remade under Microsoft into the awful and unusable Expression Design, although the free version is still available for download.

Battling Microsoft

Okay, so this section will be dedicated to what permanent advantages we have over Microsoft, and how we can use those to throw customers off it.

We're not tied to the Ribbon.

Microsoft has made very clear that it's keeping its Ribbon interface, despite heavy criticism from some sides, mostly advanced users and companies. We know its downsides and its upsides, and, like Microsoft has done with incorporating ideas from Apple's dock and iPhone into Windows 7, take the upsides and fix the downsides. That means definitely keeping a menu option and both a vertical and a horizontal UI option. The best solution, I think, is to be as flexible as possible. That way, we attract the haters of the Ribbon as it'll be possible to have the old interface or a vertical interface as well as the fans of it, as it will be possible to create something close.

Office 2008 for the Mac sucks. On purpose.

It seems as if Microsoft is trying to move users to Windows by restricting their "amazing" Ribbon interface to Windows. That leaves Mac users with an awful, horrible, slow, tacky mess of an interface. Apple's iWork is the only other viable competitor on the Mac, but it has a very small user base, is Mac-only, has only a fraction of MS Office's features, uses its own formats (but does provide MS Office format export and import), etc. So the office suite space is definitely open and up for grabs on the Mac platform, and OOo should be the one to take advantage of that.

Okay, okay, Microsoft can go ahead and fix this, but doing that will only give lead to their other great competitor.

Other comments

On "Autos" and "Smarts"

Automatic actions, mostly AutoCorrect, have been, in my experience, a pain for the user in some cases. I have to admit that it also caused me pain a few times, notably automatic capitalization (I hate it so much; it's not like I can't capitalize things myself) or automatic spelling corrections (when I'm typing in Czech and forget to set the langauge to "Czech"), not only in OOo, but in competing suites as well. Then I have to use OOo's awful options labyrinth, look through a thousand options, and finally deactivate the things I don't want. Some of my less computer-savvy friends were victims of these automatic actions, with a number of incorrect "corrections" on their printed copy with the excuse of not knowing how to make it normal. So here's what I propose we should do:

  • Make AutoCorrect less powerful by default (for example, uncheck automatic capitalization by default). Advanced users could still easily turn these options on through (a revamped) Options.
  • Show an infobar when an AutoCorrect correction is made (the InfoBar), containing a button to undo the one correction, disable the particular AutoCorrect correction (e.g. "Stop capitalizing for me"), a link to the AutoCorrect Options section, and a "Don't show this again" button.
  • The label "Smart," initially used as a synonym of "automatic" or "contextual," has been abused by a number of applications (such as "SmartArt" in MS Word). OO.o is better off not using it.

On Making Money

I'm not completely aware of how OpenOffice.org makes money, or how much money it needs and if those demands are being fulfilled (the depth of my knowledge is contained within these articles, on the same topic: [2] [3] [4]). However, I'm not sure if the direction it's taking (again, I'm basing everything only on the above topic) is a good one. Personally, I hate when software comes with crapware. A Google toolbar... okay, fine, I can take that. That won't actually affect my user experience with OpenOffice.org. And I definitely won't install it, since I think toolbars are dumb. An MS toolbar... a bit strange, advertising your biggest competitor, not to mention the software giant that got to its position unfairly and everybody want to see dead... borderline.

But I would much rather see text-based ads on OpenOffice.org. Those don't really affect my experience -- they're relevant and undistracting, don't take up space on my computer or affect its performance. I've lived with them for years in GMail and don't even notice them anymore (I even had to revisit GMail in writing this, to make sure they're really there). And they're the cash cow that feeds Google. Or maybe something else... The bottom line is, I think we should strive to keep advertising "optional" and not force it on the user, whether through installation or right through the office suite. With Firefox, things are different -- their customizable search box would be there no matter what, and putting Google as the default engine has no effect on the user's computer (it doesn't take up space and it doesn't have a toll on memory usage). If OpenOffice.org were to include online collaboration features, and it made Google Docs the default client (but kept clients customizable, like Firefox does), I'd have no problem with it.

What also entered my mind is including an optional ad space in OOo. That sounds like a horrible idea at first, I know, but hear me out. As I said, this would be optional, and not on by default. The user would have a choice in the charity to donate profits from the ads to (the most prominent choice of which would probably be OOo). I normally wouldn't allow ads into my desktop applications, but when it comes to charity, I'd welcome them with all my heart. And even if the user doesn't choose OOo as their charity of choice, we still have a marketing advantage. Because charities will advertise OOo for us -- they'll want their supporters to get them money through daily things like working with their office suite, and supporters will want to do it. It's a clear win-win situation.

Notable software

By the way, here are some impressive pieces of software which we could take hints from:

  • Apple iWork -- Numbers, notably
  • Google Chrome, notable for its simplicity and intuitiveness
  • Macromedia Fireworks MX. I really like the interface of Fireworks, at least that of the old Macromedia version; the tools and the panels create a very nice workflow (the properties panel is super), and vector and bitmap tools blend together seamlessly.
  • Pixelmator. It's funny how the interface can fit in so well under Mac OS X without actually sporting its native look. Pixelmator draws the user in with design and simplicity alone. That's a feat we should strive to accomplish -- eye candy is what attaches the user to the software and makes working with it enjoyable.
  • Adobe Buzzword. To be clear, I really hate Adobe and think of it on the same level as Microsoft. But I do want to point out its word processor, which, design-wise, is very nice. I haven't used it very much, so I can't make judgements on the interface, but by a cursory look it seems very simple and organized, for the most part.
  • Songbird is a great open-source music player, but here I want to point to their website. The navigation is wonderfully simple, the home screen presents a big download button, a screenshot, and a short info paragraph, which is usually all the user needs to try it out, getting add-ons is very simple, as the user is presented with a download link, a rating, a screenshot, etc. when browsing, help is done very well, as it is provides a single location to get help (compared to the confusing abundance of links on the OOo website), is very simple (just a large search box and optional search suggestions) and doesn't scare off the user...
Personal tools