Friday, April 10, 2009

Pierre-Eric Rocks 2: Evolution PDF Drop And Drag

Being a Governmental agency, everything that we do is about record retention and long term storage. Citizens can request email messages at any time and we have to provide them in a format that can opened without cost based software. In other words, if someone wants email from 10 years ago we can't just simply give them a binary backup of the Groupwise 4.1 post office and expect them to get it loaded on SCO Unix and working. For ease of retention, we keep email messages in PDF format in project folders. More so in Evolution 2.6, but even in Evolution 2.24 there are a few steps and a requirement that users know how to navigate to the right folders in order to write out PDFs.

In order to make this easier, I starting poking at some ideas. I noted that currently Evolution drops and drags messages in mbox format only. I had some IRC conversations on #evolution with mbarnes, mcrha, chen and xkahn and created a scope of work and placed it on BGO here. Pierre-Eric (pepp_) was interested in the project and we agreed on the scope of work and we allocated some bounty money. An initial patch has landed. Default behavior of course will be to continue to write out mbox files, but with a gconf key change Evolution will now write out PDFs into Nautilus from a drop and drag.

I was only able to fund the areas required for our needs. I'm hopeful that in the future this functionality is expanded and moved into the UI of the Preferences screen.

This one small change will save our users countless hours of time (and frustration) in the future.

Obligatory screenshot

Wednesday, April 08, 2009

Having Problems With Acrobat Reader 9.1?

If you have started using Acrobat Reader 9.1 on Linux, there is a nasty little bug that took me a while to locate. It's leaking files into /dev/shm that don't delete, and cause problems on the next startup. We were getting calls from people that when they clicked on Reader, their whole Xserver would freeze until the stuck process was removed. After running strace, I was able to see that it was attempting to use /dev/shm right before the lockup; and found the leaking files.

I placed these lines into the script that calls Reader and things are working as expected:

rm /dev/shm/sem*$USER 2> /dev/null

Tuesday, March 24, 2009

Linux Motif Development Toolkit Update

Some of my coworkers have been busy testing new features and updating artwork for our development tool for custom applications. To this day, nothing else allows you to rapidly build business applications and everyone is pretty happy with it. Motif added anti-aliased fonts recently, and with some Tango artwork the programs really look much nicer. GNOME themes automatically set old X resources, so the applications are now coming up in the same colors that users have selected. Not a lot of time invested, and huge gains already in appearance.

The toolkit we use is called Panther, and is from a company called Prolifics.


Tuesday, March 17, 2009

Pierre-Eric Rocks

A while back I put out a blog entry about some bounty work with OpenOffice. I was contacted my new favorite hacker, and his name is Pierre-Eric. We built a machine with which to quickly compile OpenOffice, and he immediately started creating patches. We have been impressed with his professionalism, and his energetic approach to open source software. His first two patches were accepted by Sun and look to be merged into OOo 3.2.

The first patch creates a 2x2 picture layout for Impress:



The second creates a 3x2 picture layout for Impress.



He is currently working on a patch to add a "Sentence Case" option to Writer. We have a few more projects waiting in the wings, and are looking forward to continued bounty work.

Sunday, March 15, 2009

Shuttle

Shuttles have been going up almost 30 years, and it's still amazing to me. It's even better now that I live in Florida and can see it in person!







Monday, March 09, 2009

Help With XWD

Since we went live on the new desktop we have had a nagging issue with screendumps. From time to time the "import" command once activated would log you off the server and return you to the XDM chooser. I have never been able to replicate it reliably for debugging until today. I had always suspect it was a crash of gnome-session or the parent dbus process. Turns out it's a crash of X on the thin clients, which makes it a lot harder to patch and fix. We are not ready at this point to push out a new build to our 550 devices.

So I have been looking at our good old friend, xwd. It would perfectly meet my needs, and doesn't crash in the same place as import. The problem is there seems to be an endian issue when using Compiz. The shot below shows what is dumped when Compiz is active. Ideas and technical information is appreciated. I don't mind using convert on a second pass to revert the original colors, but am not sure what exactly is wrong with the image.

Tuesday, March 03, 2009

ICS Based Document History Goes Live

A few months ago, I built a little prototype script that generated .ics files from .recently-used files generated by OpenOffice. Very frequently users know when they edited a document, but can't remember what they named it. The feedback was positive, so I made the script a bit more robust and submitted it to the cron for all of our employees. Some users were creating .recently-used.xbel files because they are making use of the GTK file picker, and the script was updated to take that into account as well. If you have a server and multiple users, the code is here . It's a bit hard coded for our environment, but should be a good start.

In the shot below, users are able to see the date and time that they touched files in OpenOffice; from within Evolution.

Monday, March 02, 2009

Best Things Are Free

I am always one to try new things, and certainly enjoy saving money. I have a NetFlix account that I use to rent Blu-Ray movies, and for a few months they have been promoting their streaming movies. A few weeks ago I looked at it, and it turned out that this feature was available in my current plan. I have a 768K DSL modem at home, and didn't expect it to work well. I was pleasantly surprised that it actually wasn't too bad on my Mac laptop. I had been paying 25 dollars a month for HBO/Cinemax; which I found I used mostly to watch older movies. I'm not one to watch movies on a computer, so I checked into the Roku Netflix box. It's a 100 dollar onetime charge and then movie playback is included in your Netflix account. So I turned off HBO/Cinemax and should now have a 4 month payback.

The box arrived and was amazingly easy to install. You plug in the power, and connect it to your TV and are basically done. A screen came up and found my SSID, asked for the password and downloaded the latest firmware. The Roku rebooted and the menu came up in HD/720p over HDMI. You add movies to your Instant Queue from a computer, and within 1-2 seconds they appear on your TV. With 768K the movies certainly are not Blu-Ray or even DVD quality, but they aren't much worse than the digital signals I was getting from the cable company.

All in all for me, it's working very well and just wanted to pass along the information.

Wednesday, February 18, 2009

Bounty, Contact Me

Please contact me email drichard at largo.com or dave_largo on the IRC if you might be interested in a minor bounty project. Apparently the Layout Slides in OpenOffice Impress are hard coded into the source. An example of adding another slide is displayed on this issue. We would like to add 2 more slides. One that is a 2x2 grid to hold photos, and the other which is 3x2. I have circled them in the mockup below. I would create the issue on openoffice.org, you would attach the patch. It would be my job to get it accepted and merged.

Tuesday, February 17, 2009

Keep The Changes Coming

One if the hardest things about working with users is translating theircomplaints about using open source software into something actionable. One of the things that we have heard before is that people sometimes didn't like how the charts work in OpenOffice. Chart2 helped that greatly. I'm now getting very positive feedback concerning the anti-aliasing found in OOo 3.1. (shot below: 3.0 vs 3.1). If you guys keep sending these things to those of us that implement software, it becomes easier and easier to deploy Linux and OpenOffice! Thanks to all involved.

Monday, February 02, 2009

Evolution Pleasantness

I feel like it would be easy to get into a rut of using a blog to vent about problems. I wanted to send out some kudos. I'm involved with the beta program for prepping Evolution 2.24 for use with Novell Groupwise. We are making progress and things are looking better and better every day. I look forward to completing this project and getting the features moved out to our users. I also am excited at the prospect of this being available for corporate customers who are considering Linux. Email, word processing and browsing are the core functions of any business/Government desktop and they are getting better and better all the time.

Quick Project Updates: Getting back into the pulse questions I raised in my last blog; testing Firefox 3.1 and all plugins, testing Openoffice 3.1, testing Groupwise 8, looking at thin client updates. ToDo List: Avant code re-sync, QA HP 5735 thin client testing, check out Nomad over low bandwidth on thin clients, re-sync with latest Compiz.

( shot: Evolution 2.24 with Groupwise and webcals)

Thursday, January 29, 2009

Pulse Audio & OpenSuse 11.1

I'm not going to jump on the Pulse Audio bashing bandwagon, but have a real question for those with knowledge of the current status on OS 11.1

Our 550 thin clients all havePulse version 0.9.6 running as a daemon. I am in the process of building an OS 11.1 server to house Firefox 3.X for all employees. Youtube is one of my QA sites. When I play a flash video from that site, it starts fine and then after about 20 seconds starts to get choppy and then finally crashes the daemon on the thin clients. I was told on #pulseaudio that some timing patches might need to be merged, so I updated all pulse packages from the "Next" repository to the following release:

pulseaudio-0.9.14-43.7
pulseaudio-esound-compat-0.9.14-43.7
pulseaudio-lang-0.9.14-43.7
(all pulse packages were also updated to the same level).

It's still doing the same thing.

So unless there are some patches waiting to be merged, I have two bad prospects. 1) Trying to compile and install 0.9.14 for the thin clients (Debian Woody) -or- 2) trying to back out pulseaudio packages on OS 11.1 and recompiling version 0.9.6.

Anyone with more knowledge in this area have any thoughts?

Update: I just wanted to clarify that I don't think anything is wrong with OS 11.1. I believe the issue to be related to a mismatch of Pulse versions between the OS 11.1 server and the thin client. On OS 11.1, all libraries are the same version and things probably work fine. I also should have mentioned that I'm attempting to use Flash 10.

Thursday, January 08, 2009

Merging Document Management And A Wiki

Recently we had a technology planning meeting to talk about future projects that will be coming in the next 3-4 years. I expressed my views strongly that unless we shake loose of our culture of paper, that IT would collapse under the weight of printer support. Up to this point, every software package that we have purchased has produced more paper than ever before. Anyone that supports printers know; they are a horrible amount of work to keep running. Users sometimes print documents to read them, and then throw it away. Or they take it back to their desk, stuff it into a folder and there it sits for 10 years.

This is very much a work in progress, but we have been experimenting with moving some of our work flow and document management into a Wiki. I have been telling people here how nice it was to see the GNOME wiki being used when I visited the Boston UI Summit. Notes were entered in realtime, documents were attached, thoughts were shared, white boards were photographed and loaded into pages.

After reviewing some of the Wikis, we picked MoinMoin. It not having a database backend was attractive to us, and the directory structure is very elegant. No flames please on this selection, for us it's a good fit at this time. :) The most important aspect of this test is the flow and not the software.

The image below shows our prototype plan on entering data. Project pages are created, and then meeting notes are recorded and linked into their corresponding project page. OpenOffice + OpenProj documents are uploaded right into the Wiki.



We have talked about buying some inexpensive netPCs for entry of information during meetings, and also have talked about setting up Kiosk style thin clients in meeting rooms that would allow meeting notes to be created immediately. This also would allow demonstrations and slides to be put into the meeting page *before* the meeting, and displayed to the rest of the attendees. It really promotes a collaborative work environment.

As part of our brainstorming, I created some mockups to demonstrate possible future uses of the Wiki. In theory, we could try and load most City documents into the Wiki; allowing users to create documents and actually store them has been a failure ever since the start of computers. No one knows where they are saving things, or how folders should be configured and set up. Perhaps an emerging perspective is that they *shouldn't* have to make those decisions. It's to the greater good of our City that in the future, documents are easier to find.

In this first mockup, I have built an idea of how Nautilus could interact with a Wiki. The Wiki would appear to just be a file system, and the document would load into the appropriate software package. When the user saves it, it would simply go right back into the same Wiki project page.



In the second mockup, I have added a button in Evolution so that when a meeting is scheduled, a corresponding page would be created in the Wiki. The attendees would then receive a message with the link and they could immediately begin adding notes and presentation documents.



I'm not sure of the exact directly that we will be moving, but it's great to see movement away from paper, and the inefficiencies of all meeting attendees taking their own notes.

Friday, January 02, 2009

Just For Fun

One of my coworkers built the fastest machine he could, and then tried to set a 'world record' Compiz benchmark. :)

The specs:

Hardware
CPU: Intel Core 2 Duo E8600 3.33Ghz Overclocked to 3.7Ghz
Ram: 4GB Crucial Ballistix Tracer
Video Card: BFG 9800GTX+ 512MB
Drives: Dual LG DVD+/-RW, Dual 500GB 7200RPM drives
Case: COOLER MASTER HAF 932 Black Steel ATX Full Tower (3x 230mm Fans, 1x 140mm Fan)

Software
Xubuntu 8.10 running kernel 2.6.27-9, Compiz 0.7.8, Nvidia Driver Version 177.80 running @ 1680x1050 24bit color

And the results:

Monday, December 22, 2008

Firefox 3, Leakish And CPU Heavy?

We are still using Firefox 2.0 organizationally and it's very stable. We still have some sites that are not certified for 3.X, which I am monitoring closely. Like any forward thinking Admin, I have been running 3.0 and the 3.1 betas. I have found them to render faster, and they seem to scroll faster; however it seems to have come at great expense. CPU and memory usage is substantially higher. Can anyone else confirm this? I remember there was great debate concerning file handles and sqlite databases. Are these issues resolved? Right now, Firefox seems like it will be hard for me to scale to hundreds of people.

Here is a snapshot of my session on the server, with moderate usage for a few hours:

Thursday, December 18, 2008

Webcals, Summit & Remote Evolution

Things around here have been busy. I have been QAing and testing Evolution 2.24 and its interaction with Groupwise heavily. We are nearly to a milestone where I can increase the pilot/beta and add more people. I also have been installing a MoinMoin Wiki instance for use by City employees. Right now IT is testing it and trying to create some work flow suggestions, and it looks excellent. I will be devoting an entire blog entry to our goals and ideas.

Intranet Webcals

Our internal use of Webcal files has exploded over the last few years, so I have been writing a new GUI to make it easier for users to add sources to Evolution. We have a lot of information stored in databases that is appropriate for people to view on their calendars. Examples of this are employee birthdays, hire dates, anniversaries and so on. So we create .ics files of this type of information and drop it into an internal web server. That makes them available for all employees. Evolution has the ability to add webcals from the command line, so the GUI passes the webcal:// on the command line and it appears right inside their running Evolution session. All they have to do is pick a calendar color. The current state of the GUI is below:



Summit 2009

I have gotten approval to announce the availability of our facility to conduct the 2009 Summit on our premises if there is interest. I know that Boston is the tradition, so I'm just making a humble offer that it can be held at our location if you wish. We have a building that is used for training and emergency operations, and we could conduct the hacking in that facility. The one thing that we could offer is real GNOME users for focus groups and study of new features. We are a short drive from the Tampa (TPA) airport on the Gulf of Mexico. Hit me up on the IRC if this seems like a fit for the community.

Remote Evolution & Miguel

Miguel posted a blog about wanting to gain access to his Evolution while traveling. That exact product existed, was purchased and buried by SCO and now is owned by Sun. Tarantella let us run Xwindows applications 10 years ago, and was one of those great ideas that came out at the wrong time. During that period, people were still excited about client/server computing and how many Ghz you had at your desktop to care about centralizing applications. We ran Tarantella on SCO and Linux and it worked *great* for us. All you did was lay it down in your Apache web server, and point it to your applications and they immediately worked in a browser. In the pre-Evolution-1.0 days I even ran Evolution in this manner. You would log in from any browser, and it started a Java applet, and you would see the gray/white X checker boxes for a split second and your X application would immediately open. No plugins to add to the browser, no client side software. I found this old picture describing how it worked. It's too bad these types of products haven't become more commonplace.

Monday, December 01, 2008

Not So Pleasant

Is it just me or does used bubblegum sound not so pleasant (shot below)? :)


Tuesday, November 25, 2008

Evolution, OpenOffice 3 And Screen Dumps

I have been busy the last few weeks QAing software for deployment. OpenOffice 3.0 is running well, and has been pushed to our beta testers and they are pleased with how it works. One interesting development in regards to OpenOffice is how much the native Mac port is helping with user perceptions. Even though we don't run it here, an ever increasing number of people are buying OS X computers for their homes. They *love* how well the Mac port turned out and use if for their personal use. This is leading to greater acceptance at the City.

OpenOffice 3.0 goes live on Monday December 1st for our 700+ employees. I wanted a greater level of notification of new features, so I wrote a quick little dialog that opens once immediately before going into the license acceptance screen in OpenOffice (please, please allow admins to accept this license once in the future!). Here is what they will see:



Prepping Evolution 2.24 for deployment has been taking a good amount of time. Much of the "under the hood" code had changed in the last few years, and needed to be tested with the Groupwise backend. My friends in India are knocking out the issues and we are getting closer to reaching a milestone, and working in some much needed calendaring features. Milan cooked up a patch that displays the status of whether people have accepted their meeting requests (shot below) in the tooltip. This allows you to hover your mouse and see if people have declined.



So here is a shot of how Evolution 2.24 and OpenOffice 3.0 will look to the users, coming along very nicely.



Some have been interested in modifications that I make to the standard GNOME desktop. By default, (print) does a screen dump of the whole screen. (alt)(print) allows you to dump just one window. Two other things were happening and required a third option. 1) Some users wanted to be able to take shots of pulldown menus actively in use; 2) Some MS Windows applications running over Citrix/RDP have a canvas which shifts when focus is removed from the window via mouse click or keystroke. So, I globally added (ctrl)(print) which gives them a notify-send popup and alerts them that a screenshot will occur in 10 seconds. They can then position their software was desired and the snapshot is taken.

I have been working on a Wiki/document management/GNOME integration project and will blog about it soon. It's still being discussed and designed at a very initial level, but coming along nicely.

Tuesday, November 04, 2008

Evolution Testing + Compiz Cube Caps

This last week, I have been busy doing QA work on Evolution 2.24 with the Groupwise backend and submitting all of the issues to Novell. Sankar shipped me a patch late yesterday that allows me to widen my beta testing to more employees. Looks like we will be merging in a lot more calendar functionality which will be greatly appreciated by our users. Each upgrade gets us closer and closer to feature parity to the Groupwise client, which is excellent.

When I was teaching Compiz classes to other employees it was an often requested feature to put other images on th top of the cube caps. This is another example of something too hard for most users with the ccsm interface because it assumes:

- They know what size to create the image
- They know what file format to create, and don't just change the file extension
- They know how to work with transparent layers in GIMP
- They know where to save the file.
- They know where to find the file later.
- They know how to give it permissions that other users can use as well
- They know not to delete it, because it's already been "attached" (ala email).

I went through and generated 10 pre-defined caps with color matched sky domes and then created a very simple custom GUI. All they have to do is push a button and click [ OK] and everything is taken care of for them. 4 of our departments have their logos, and it's little things like this that generate excitement about using Linux.

Wednesday, October 15, 2008

Evolution Canvas Love?

In the last few weeks major projects that were consuming time have been completed. The new desktop servers have gone live and it's time to move on other projects. OpenOffice 3.0 is out and it has been installed on our server for beta testing by some of our power users. There are tons of features that need to be QA'd before it is moved "live" and that's going to take several weeks.

I also have started doing a lot of work on testing modern Evolution with the GroupWise backend. Version 2.6 (+ backports) is currently in production on SLED 10 and now it's time to upgrade. Lots of the internals of the new version have changed, and I have started putting in bug reports.

Features are an important part of Evolution and the users will be happy with what is coming. However, I can't help but think we can improve the look of the calendar. A new look widget was added a while back, but I'd love to push live something with a bit more of a dramatic look. Yes, part of success of a project is bling in the right places. Unfortunately this type of hacking is beyond my skills.

Here is how Evolution currently looks when displaying the calendars of two users:



It's functional and works, but in my view is lacking the last little bling kick that provide user excitement. In reviewing other products, I found the screenshot below. If we could land something like this in Evolution, I know it would be received well.



Here is what I like about this look:
- Black/White colors for the calendar hash marks, very clean and paper like
- Glass like event UI makes it appear modern and it seems to have depth
- Overlapping colors (which probably should be an option) gives a visual cue of conflicts.

Here is a mockup:



Email is such a critical part of the desktop, and functional and UI improvements make my life so much easier. Chen, maybe this could be finished by the time I get up tomorrow? :)

Friday, October 10, 2008

Fun Time In Boston And Thanks

I just got back to Florida after spending a few days at the UI Hackfest in Boston. It was my pleasure to meet everyone and watch the process of open source software taking steps forward. I hope that my presentation was able to help with ideas and to point out improvement areas in the software and widgets.

It's completely amazing to me how much functionality we are running on Linux, and I'm looking forward to seeing what we can all do in the future.

Wednesday, September 17, 2008

Going To Boston UI Summit

After some logistical work with Federico and myself, we have coordinated me going to the Boston UI Summit. I'll be doing a presentation on October 7th concerning issues that I faced deploying GNOME and Linux in a Governmental agency and custom mods and UIs that I had to build. I also will be discussing the areas in which regular users struggle using computers.

I also hope to bring along one of our HP thin clients so that we can demo Compiz and GNOME running over remote display via a network.

If anyone is attending and has topics that you want me to discuss, feel free to respond to this blog. At a minimum walk up and introduce yourself. I don't often get a chance to go to these types of events, and I'm looking forward to it.

Monday, September 08, 2008

Document Centric Desktop

I have been thinking more lately about Federicos "Document Centric" presentation. Document and file management is by far the hardest thing for users to understand. I kind of feel that considering it's 2008, there is very little hope of that situation improving. So I was checking his mockups on ideas for helping people find their documents. Users tend to cringe on learning something new, or having to go into a new program.

So as a rough proof of concept I wrote a ksh script to convert $HOME/.recently-used documents generated by OpenOffice into a .ics file and then allowed Evolution to load the results. I kind of like all date related items being stored in the same software. Email is open all day, which makes it immediately useful. No clickable links obviously, but at least points them in the right direction. I submitted it to the cron for a few power users to see how it runs. I threw it on an internal webserver and they are now using webcal:// to view the data.

file://, easy to see it's a file. Mouse-over tooltip provides full file name



We know the time of the file touch as well, so we can put it inside a 1 hour window.



Here is the WFM code, no attempt was made to make it pretty and useful to other people:

Edit: The paste of the code failed, some of the tags were picked up as HTML. So created a link

Here is the code

Wednesday, July 30, 2008

OpenOffice Writer Objectives

I was asked to publish the objectives of our OpenOffice Writer test. The goal of this testing is to increase skills, and will also be used with new hires. Robust word processing skills are far more rare than many of you probably perceive. We are seeing that most people still use computer software as you would a typewriter.

The objectives:


Level 1
Level 1 File Management

-Create, open, name, and save files.
-Navigate a file structure to a specific file or directory.

Level 1 Text Formatting
-Copy, cut, and paste text.
-Format text with font, font size, emphasis such as underline.
-Format text with foreground and background color attributes.
-Align and indent text using formatting techniques instead of spaces or tabs.
-Use spellchecking tools to identify and correct misspelled words.

Level 1 Graphics
-Add graphics to a document using the Gallery or by navigating to a graphics file.
-Position graphics within a document.
-Copy, cut, and paste graphics from one spot within a document to another.
-Resize graphics.

Level 1 Lists
-Apply automatic numbering and bullet formatting to text.
-Select a specific number format and bullet format for the list.
-Indent list items to create subitems.

Level 1 Tables
-Create and delete tables.
-Create tables with or without specified attributes.
-Apply table formatting such as shading to existing tables.
-Add and remove rows and columns.
-Control table and column size.

Level 1 Page Setup
-Insert automatic data fields.
-Set margins and page orientation.
-Insert page breaks.
-Add content and page numbers to headers and footers, and format the content.
-Format pages with borders and shading.

Level 1 Printing
-Print to default or another printer.
-Print specific pages.
-Create a PDF copy of a document.

Level 2

Level 2 Text Formatting
-Apply spacing between lines and above and below paragraphs.
-Modify text appearance and capitalization through formatting.
-Apply borders to paragraphs.
-Indent paragraphs using an exact amount, and indent the first line of the paragraph differently -than the rest of the paragraph.
-Apply specified tab stops.
-Uses special characters in text such as an accent or other symbol.
-Link text to open a web site or document.
-Copy existing formatting from one piece of text to another.

Level 2 Graphics
-Control how text and graphics are positioned in relationship to each other, such as wrapping.
-Resize graphics proportionately.
-Apply formatting such as a border to a graphic.
-Modify the picture using effects such as grayscale.

Level 2 Lists
-Specify different number and bullet formatting for different levels in a list.
-Change level for an item, to demote it or promote it in a list.
-Restart or continue numbering to split or join lists.
-Add an unnumbered paragraph within a list.

Level 2 Tables
-Align tables.
-Control column size using automatic formatting.
-Remove formatting from a table.
-Merge and split cells.

Level 2 Page Setup
-Apply columns.
-Apply background graphics to page formatting.
-Change page number type and specify which pages page numbers appear on.

Level 2 Printing
-Use page preview.
-Use OpenOffice features to email a document in its current form, Microsoft form, and PDF form.
-Print specified-only pages of a document to PDF.
-Print multiple pages on a sheet.

Tuesday, July 29, 2008

Have Your Ammo Ready With OpenOffice

I've blogged about it before; users have a deep emotional connection with Microsoft Office. I'm not talking about those of you that are super power users and make use of advanced features. I'm talking about regular clerical and office workers that are not creating documents much beyond set margins/bold this/italic/insert graphics and print. What we have found is that a lot of people really struggle with word processing, regardless if it's OpenOffice or Microsoft Office. The problem with deploying the former is that they are then able to "blame the tool", and as an IT member it's important to ensure that management knows the root of their complaints. The biggest comment that they make is "it takes 10 steps in OpenOffice to do what you can do in Office in 1 step". Of course, we all know that's absurd.

I have been working with Solveig Haugland for a number of months in coming up with a word processing test that follows closely the skills required for MS Office certification. A huge side benefit of creating this test is that we created a grid matrix on these features and counted steps in both products to complete the tasks. This type of grid can then be taken to management and you can show them that the 10-to-1 complaint that you hear is unfounded. The beauty of this plan is that going into the future, the more they complain the more management knows that they don't know MS Office either!

Here is a summary of the data.

No MS Office equivalent to OpenOffice feature: 36
Openoffice can be configured to work like MS Office: 3
OpenOffice has fewer steps than MS Office: 4
Identical language and steps in OpenOffice and MS Office: 68
Slightly different language, but same number of identical steps: 41
Different steps, but not more clicks: 15

and the big one:

More steps in OpenOffice vs MS Office: 3

This disproves the theory soundly that users are hindered by the steps in OpenOffice. If you aggregate the instances of OpenOffice being easier, you actually can build a case for OpenOffice being fewer clicks on commonly used features.

If your Governmental agency is struggling with funding, this is an excellent first step to take to reduce costs. It scales well on Linux and can be deployed to hundreds of people easily.

If you need training for your organization or would like to speak to Solveig about the test, feel free to contact her from her web site.

Thursday, July 24, 2008

#Performance

I am starting to get some numbers for those of you interested in GNOME performance, and for those that are considering deployments. Our GNOME server is up to 106 concurrent users. More and more people are coming over each day, and it's interesting to watch the server scale. We have two identical machines, each able to run the entire City. Our total user load should be around 300 concurrent when finished, split between the two servers.

Raw data:
- Looks like it took around 8GB to get 106 users logged in + OS
- Looks like we could get about 300-400 total on this machine without swapping.
- The parent dbus-daemon is the top process 99% of the time.
- The python process for avant-window-navigator is a steady chew on the server.
- 17 users disabled gnome-panel and enabled avant-window-navigator
- Total of all CPUs sits around 10-15% consistently.
- Server is 4 CPU, dual core, 3.66Ghz
- 74 of 106 logins enabled Compiz and 3D effects.
- 15 total users are using NX from low bandwidth remote sites (no 3D for them).
- I can't add .desktop files with this user load, it hammers the server too much




Anyway, things are running well and looking forward to project completion in 30 days.

Wednesday, July 23, 2008

Training Classes Continue, Cleanups

I have been busy working on the new desktop deployment. I have been training employees and granting permissions for those that will have USB and Sound/Video/Audio access. Those permissions are based on paperwork and signature from their Directors. When we discussed deploying sound to desktops, one of my concerns was employees streaming radio stations which consumes network both on our intranet and on our internet connection. It only took a few days and sure enough that has started. A quick message to those folks halted that practice. I put mplayer and gnome-mplayer into their own group and then set them to 770 so that a Firefox user with some skill won't be able to execute them, even if they find the binaries.

During the training, I found that my hastily designed zenity UIs for weather-wallpaper and xplanet were not robust enough. So today I whipped up a few screens with Glade that are far more user friendly. (shots below).

Monday, July 07, 2008

New Desktop Going Live

After over a year of work, terminal upgrades, patches and custom UI's we have locked in a date for the whole City to migrate to the new OpenSuse desktop. It's going to be really nice to finally complete this project. It will allow the user to fully utilize all of the features of the new thin clients. The go-live date is August 25th.

For the next 6 weeks, I will be offering training classes to City employees. The class will cover things that are very basic to us; logging in, finding software, creating shortcuts, customizing fonts/colors/themes/wallpapers and then logging off. By default, City users will not have Compiz enabled. I will also be offering some classes in how to use Compiz, which will allow them to enable 3D effects. I perceive that most users will want to use metacity, and just get in and do their work.

There was enough interest in using the avant-window-navigator that I created a small custom GUI for them to enable/disable that type of panel. (shot below).



If they have selected the second or third option, it automatically runs avant upon startup. When avant runs, I automatically force in few applets each time it's run, so if they accidentally delete a mission critical icon, it's back upon next login. I force in an icon to get to the "Application Browser", and also always force in the Calendar applet and Quit applet. I didn't feel comfortable completely deleting their regular gnome-panel, so I issue the following two commands when avant runs:

/opt/gnome/bin/gconftool-2 --type Boolean --set /apps/panel/toplevels/bottom_panel_screen0/enable_arrows True
/opt/gnome/bin/gconftool-2 --type Boolean --set /apps/panel/toplevels/bottom_panel_screen0/auto_hide True

This allows them to turn off avant and get their panel back. It does leave a few pixels visible on the bottom however. Not perfectly clean. I didn't see any gconf settings to completely hide, yet retain a panels attributes.

Here is how avant looks at a 45 degree, on our thin clients. It was very well received:



I also have been tinkering with the idea of creating "super themes" which configure GTK + Wallpaper + Compiz all at the same time. In the future, there probably should be a mechanism for GNOME users to pick up all of these settings with a single download and install. For fun, I created the theme below:



Up next for me is probably a 1 year R&D project to get "caught up" again. I'll be staging OpenSuse 11, testing the latest version of Compiz, experimenting with newer versions of Debian on the HP thin clients, upgrading the X version, and testing the proprietary ATI driver for performance. It never ends.

Friday, June 20, 2008

Main-Menu Changes For OpenSuse 11.1

I read with interest this page concerning ideas and changes for the main-menu (slab) in GNOME. I have about 100 people deployed on it right now, and another 650 going live in the next 30 days. It's been in use for a while now, so it was cool to see that the development team is noticing a lot of the same things that I have.

I'm putting my comments inline with the items listed on the development ideas page. Some of the changes are going to make things harder for us (and very possibly other enterprise users).

To start with, there is how our main-menu looks with all of our software loaded. We have a lot of departments each with their own software packages. I'm positive this is way more applications than is being tested; but very probably is the amount that most bigger deployments will use.



In 1024x768 users are unable to get to the window manager handles on the bottom (marked in Red). The "Groups" have no scroll bar code; so it doesn't know what to do when you have so many software packages that it doesn't fit on the physical screen.

Here is the mockup that I found for the new main-menu:



I've marked in colors some areas of note:

(Red): I love the "Actions" section, however please allow me to remove the last 2 entries for the users. "Actions" and "Drag here to add to Favorites" should be aligned to the bottom and move down as entries are removed.

(Green): Scroll bars, please that activate only when you have enough "Groups". That total number will change as people move between resolutions. We have people that are logged into 1024x768 one day and then 1680x1050 the next. We also have mobile users logging in at 800x600 from their cars. When they come into the building they mostly use 1024x768.

(Blue): Filter. One interesting thing that I have noticed is that the users use the Filter to try and search for "Groups" along with applications. This currently does not work. Right or wrong, they do it often as I look over their shoulder. One of my groups is "City - Skills Improvement" and possibly if you type in "Skills" or "Improvement" it should return all of the software contained in that Group.


So my comments now on the developers Wiki. The developer items are preceded with a carot.

> The main menu opens a second window to allow the user to launch applications not contained in the main menu.

I kind of like the second window. What I have found is that users are intimidated by lots of things on the screen. The work flow that I have seen is that they only go into the "Big Menu" a few times when they first log into the desktop. They place shortcuts on the gnome-panel, wallpaper(Desktop) or into Favorites and rarely go back into it. There are literally hundreds of software packages that they rarely or never use. It would be nice to allow a gconf setting determine whether you get a second window or not. I would use it.

> It's slow

Even with 100 people on, mine opens in 2-3 seconds even with this many software icons. What is really SLOW is when you add a .desktop file with 100 people logged into the same machine. The whole server comes to a crawl while all 100 people refresh their cache. Bug is filed here.

> It's not what the user expects

It's been well received by everyone that has seen it. It's much better than old style cascading menus. 99% of people have figured out to do [ Computer ] >> [ More Applications ] on their own. I don't think this is a weak area of design.

> People don't use the category-links or search-filter on the application-browser's left side, thus scroll a lot to find an application

True. Many people try and scroll through the list of software applications. The one bad thing that I saw in the mockup is that if the user fails to understand that clicking on different "Groups" shows more software applications they won't see that more exist. At least with the current design a scroll bar immediately shows you that many more software options can be found below. Not everyone understands the concepts of tabbed choices.

> People don't use right-click in the application-browser, so they never discover that they can add applications to their favorites, nor do they know that they can uninstall applications from within the application-browser

Very true. Right-mouse clicks should always be one method to do something in software, but not the only way. Many users *never* try the right mouse click. It should also be noted that some users log into GNOME via NX/Citrix from Macs which have sometimes only a single button mouse.

> Make richness of application-browser more obvious by use of icons/text ('Drag here to add to favorites')

Yes!. This will compliment the right-mouse method.

> Force users to find their applications faster by using tabs for categories and icons for sublevel-categories

See comments above. By hiding the scroll bar, some people will not understand that the tabs produce more options. Remember, that technology is used by people of various skills. We also have a lot of users that only log on for email and leave request entry for 10 minutes in the morning before starting their regular duties. Not all employees work on computers 8 hours of the day to tinker and try things.


It's always nice to see projects moving ahead. Hopefully my comments have given some food for thought.

Friday, June 13, 2008

GNOME Improvement Areas

I have been reading a lot of blogs concerning the future direction of GNOME. Here are my comments based on the needs of Government/Business.

Email: (Evolution): It's improved greatly in the last 5 years, but the area of focus should be calendaring. Rescheduling meetings and adding people to meeting should be easier and more feature complete. One of the biggest improvement areas in GNOME is printing. Success is measured by users by how well things print. The example below is a printout of an address book. I would say this could be improved greatly. :)



Office Productivity (OpenOffice) : OpenOffice is moving ahead quickly and meeting our needs. 3.0 is going to be really nice, and I'm looking forwarded to moving it live later this year. The Base module is coming along nicely, and starting to work as a drop-in replacement for Access. Improvement areas would be increased features to replicate some of the things done in Visio, and also a stronger project management package that reads/writes MS Project files.

Browsing (Firefox) : Except for really poorly designed sites, Firefox works well. One of the worst offenders of using proprietary technology unfortunately is the State of Florida. We are required to enter information and do research from several departments, and a lot of these pages won't work without Internet Explorer. 99.9% of our browing is handled on Linux. The only improvement area that I can think of is being able to print shockwave content. That support call comes up fairly often.

Specialized Applications: Our specialized applications (Fire, Police, Community Development) almost always end up running on Microsoft Windows. In this era of a desire for lower taxes, it amazes me that these vendors develop in a manner that is so expensive for agencies to buy software. The database and operating system choices they make are very expensive to deploy in terms of dollars, and staff resources. We need to really try and push development tools to software developers. One excellent vendor is ADG . Their runtime packages can be deployed fully on Linux, both on the backend and front end.

My thanks to everyone that works on the various open source projects. You have made my life much easier.


I went out on my SeaDoo on Tampa Bay recently and it produced a great wallpaper image. If you like it, use it.


Thursday, May 08, 2008

Asus Eee PC And NX

We always are testing ideas for lowering the costs associated with employees that have to work in the field. In years past, many of the EVDO cards required Microsoft Windows drivers to work. So that meant buying full fat clients so that that people could do thin client work.

My coworkers at the police department did some experimental work with the Asus Eee PC and got it working on Linux. It dials the EVDO card perfectly. The NX client loaded and they were able to log into the City network and access the full suite of City applications. Very cool.

So I got my hands on the device and did some cleanups on the servers to make it work better. The screen is 800x480 so when users log in, their desktop icons were displaying "off screen" because they had been configured for 1024x768 or higher. So, I put in a few lines of code pre gnome-session that detects resolution and lowers the icon scaled size:

THUMBS_NAUTILUS="standard"

TMP1=`/usr/bin/xdpyinfo | grep dimensions`
TMP2=` echo $TMP1 | awk -F " " ' {print $2}'`
SCREEN_WIDTH=` echo $TMP2 | awk -F "x" ' {print $1}'`
SCREEN_HEIGHT=` echo $TMP2 | awk -F "x" ' {print $2}'`

if [[ $SCREEN_HEIGHT = 600 ]]
then
THUMBS_NAUTILUS="small"
fi

if [[ $SCREEN_HEIGHT = 480 ]]
then
THUMBS_NAUTILUS="smaller"
fi

/opt/gnome/bin/gconftool-2 --type String --set /apps/nautilus/icon_view/default_zoom_level $THUMBS_NAUTILUS

I'm formulating a plan in my head now to lower the font point size to 8 when they log into this device, but want to make sure I am able to restore their desired fonts when logging into a regular resolution. I'm sure a simple flat file storage of settings will be pretty easy.

Obligatory picture, with regular keyboard for scale size.




Edit: We are testing the 4G model, prices start at $299. 4G On Amazon

Monday, April 28, 2008

Support Your Local Governmental IT Staff

The IT services provided for Governmental workers is mostly "internal". This is especially true at a City level. When your taxpayer dollars are spent upgrading a park or adding a bike trail you see it and it has value. Mostly, IT dollars spent are barely seen by the taxpayers. So that's why I feel it's especially important to keep these costs to a minimum and use open source software as much as possible.

It's disheartening to see the number of people in the 23-40-ish age group that have been brainwashed all of these years that if you don't have a personal computer running MS Windows on your desktop that you being hindered. These people are so used to creating islands of data and being able to implement poor techniques that they get angered when their work flow is reviewed for movement to centralized servers. Even when we meet with people, they cannot give you exact things that have been hindered, it's more about how they feel instead of any logical conclusions. So almost weekly around here we seem to have uncomfortable meetings with people that are complaining. We spend more time having these meetings than it would take to learn a slightly different way of working. It seems the most vocal, usually have the lowest skills and just don't want to admit it. What's ironic is that in their mind, it's OK to have training classes to learn Office 2007 with its new interface, but not worth learning the differences in OpenOffice. Lately the question has been posed to these people: If we spend $500,000+ to install Office for year one, will you be able to produce work faster or reduce staff size? Of course no one can guarantee this is the case.

The point that I am making is that if you find out your local Government is using open source software, go to your commission meetings and make sure that you speak and show support for them. Tell your elected officials that you want files saved in file formats that will open without proprietary software. Tell them that purchases of these unneeded proprietary packages is taking money from your wallet and providing you with no improvement in quality of life. So many Goverment agencies have forgotten that we work for *you*!

Tuesday, April 22, 2008

Compiz Predefined Levels

Everyone is back in the office so we are gearing up for deploying the 3D desktop with our thin clients. One issue that we have finalized is how many settings to allow our users to configure. The ccsm utility is great, but has way too many things that they can do to make their sessions work poorly. So what I did was build 4 settings; 1 for 2d and 3 for 3D. I then created a simple GUI with Glade (image below). This will allow a diverse group of settings that are all tested and QA'd by me in advance. This lock down feature will reduce calls to our support group.

Thursday, March 20, 2008

Future Evolution Printouts

I've mentioned it in the past, but one thing that eludes developers is the passion that users have for eye candy and especially printouts. Regular computer users just absolutely *love* to hold paper, even if it's easier and more efficient to do the same tasks with their software.

Evolution really needs a simple plugin system for creating printout templates. I would love to contribute templates in this manner, for inclusion in future releases. I suspect many others feel the same way.

We had an immediate need to create a printout that should come from Evolution itself. I ended up just writing my own little program using the CreateSimple perl library which allows for easy generation of PDF files. The script opens an .ics file and then formats the output. It only prints boxes for dates with appointments. All of the current Evolution printouts are time based, and this one is more event based.

This is the kind of stuff that would move Evolution ahead of competing products in the minds of regular computer users.


Monday, March 17, 2008

Relax Time

If you work full time and own a home, it's very easy to lose almost all of your hours of the day. 4-5 times a week I try and get on my bike and ride around my neighborhood. This weekend was particularly wonderful. I always enjoy seeing pictures from around the world, these are from my neck of the woods:





Tuesday, March 11, 2008

Compiz Bounty Possibility

We use a development tool for City applications that is using the Motif widgets. When I have more time, I'll create a detailed blog about why we continue to use this product. It really works very well, and allows for developing business applications with just a few clicks.

I suspect Motif applications are not tested on Compiz heavily and we have two minor problems. If anyone wants to chat with me about a possible bounty, find me on the IRC as 'dave_largo' and private me to get my attention.

The first issue is that about 1 out of 100 times a motif dialog box will open as 1 pixel by 1 pixel. See the two shots below, one is how it *should* look and the other is how it looks when if fails.

(note small emerald container hovering over the application)



(The next time that I clicked on it, it worked fine)



The other issue is that this application loses focus when you move your mouse off the UI. On Metacity, it works correctly. So the users are having to always keep their mouse hovered over the top of this screen, which will force us to re-train people.

Thursday, March 06, 2008

Screenlets

Off and on I have been tinkering with screenlets. Poking around, I found that the dbus-python package that ships with OpenSuse 10.2 does not work with them. After some updated RPMs were installed, things started working. I went through the shipped screenlets and the extra third party ones and installed those that were appropriate for business and to be run on a server. (I don't want users watching the temperatures of the CPUs :) ). I also did not feel the screenlet manager could be deployed to users, and created unique icons for each application. It all seems to work fine.

Screenlets are written in Python, which should allow us to rapidly develop some small standalone applications that look great from the users perspective. I already have a few ideas:

- An application that shows realtime status at our recreation sites, money received in the current day.
- An application to show the items on the upcoming Commission meetings via iCal.
- Show current and upcoming meetings in conference rooms.

Thanks to those working on that project, this will allow the Linux desktop to continue to have excellent presentation. As much as we hate to admit it as IT people, much of the success of technology comes from eye candy.

The screenshot below was taken with a camera, and shows exactly the current users experience on our thin clients.

Friday, February 29, 2008

HP Thin Clients And USB Access For Users

We have been incrementally adding features to our new HP thin clients. The initial install gave the users their previous functionality, with much better performance. The next step was to enable 3D support for Compiz. Next, we pushed a build that included PULSEAUDIO and enabled full multimedia support. I just built and pushed a new build to about 10 people that allows USB stick access from desktops. Previously, the loading of outside files was handled using email or media was uploaded and verified by our support staff. Users out of the office and working from home log into our servers remotely, so there isn't a huge need for files to be transferred back and forth; the files always stay here at the City where they can be backed up and retained. Increasingly there are photos and other documents that require USB and immediate uploads, and this build will help resolve that need.

I blogged about this topic when I built my first proof of concept. I read the feedback and considered all options and have decided that my original plan seems the most robust, stable and feature rich. The HP thin clients run a Debian build, so I installed proftpd and got it working. The beauty of FTP is that it's stateless. Anyone that supports users of differing skills knows they will find ways to disrupt the best laid technology plans. :) I therefore did not want any stateful mounts from the servers to the thin clients. With the various techniques used by people, I know they would find a way to cause a problem with a mount or get something locked/stuck. FTP performs a task (list, upload, download) and then is immediately finished. Very clean, to me. I added a permissions based icon to the desktop:



When launched, the script gets the hostname of the thin client currently connected and then opens a nautilus window. The FTP account on the thin client has a password that is entered via the dialog window.

SDISPLAY=` echo $DISPLAY | awk -F ":" ' {print $1}'`
nautilus ftp://media@$SDISPLAY

From the users perspective they don't think about the technology, and simply get a file manager as expected. The files can be moved to the server or desktop as desired. Files on USB sticks at remote sites will upload and move right to the servers located here at City Hall.



Here are the lines in proftpd.conf of interest in this deployment:

ScoreboardFile /etc/proftpd.scoreboard # file system allows writes

DefaultRoot /media # FTP can only get to media only

MaxInstances 100 #Lots of quick UI clicking counts as new users, increased


HideFiles (\.bas|\.bat|\.cab|\.cmd|\.com|\.dll|\.exe|\.inf|\.js|\.mdb|\.msi|\.vb|\.vbe)

IgnoreHidden on



The last section hides most executables from view completely. If they are on the users USB stick, GNOME won't even see or display them. If you can't see them, you can't drop and drag them.

I'm sure there will be some tuning, but it's working well enough for a pre-release.

We are testing some perks of this design:
- Being able to share your USB stick with other users, from any facility.
- Someone in our support group might be at a remote site fixing something, and they need a utility or program here at City Hall. Staff can push it right to them.

Fun stuff, it will be interesting to see how it goes.

Wednesday, February 20, 2008

Misconception About Server Performance

One of the biggest misconceptions about running software on servers is that it will be slower than having a local personal computer. My experience is that for the most part, the reverse is true when you buy hardware big enough to run your highest concurrent loads. That server will end up being of much higher quality and have better performance than any desktop computer or laptop you will purchase. This is especially true as desktop hardware moves through a normal 3-4 year duty cycle.

Following that line of thought, our 5 year old OpenOffice server is moving into retirement and I'm testing the new one. It's a 4 processor, quad core 2.4Ghz HP rack mounted box with 16GB of memory. Using a stop watch I'm starting the swriter binary and getting cold starts around 2.69 seconds for the UI to fully display. The splash screen only displays for about 1 second. I think the users will be very pleased with this upgrade.