Thursday, December 20, 2012

Infrastructure Readied For LDAP

Sometimes there are circumstances where we know that certain technologies will make us more effective, but we don't have people on staff to implement.  This was the case with LDAP publishing of user accounts.  Clearly it's wonderful, but no one is on staff to properly maintain it.  It's easy to fear the situation where even if one person gets it working, if they are out of the office you have the potential for longer down times if something breaks or fails.  Do you really want System Administrators punching in phone numbers and making updates?  We reached the point where it's needed, we have too many external applications that need shared information.  How best to deploy?

After consideration and discussion we decided to create a screen in our support portal that allows all IT staff to make modifications to basic information and it creates a LDIF file which is housed on the GNOME server.  While we perfect our work flow, these files will be uploaded into the LDAP server by our admins, with the goal of automating that once it's been proven.  This approach is clean to me because we have all of the "source" files out of LDAP.  If something gets damaged, it's easily repaired and recovered.  So I wrote a little vcf2ldif utility that sucked out all of the data out of Evolution/Groupwise and created LDIF files. 


The support portal software already had a "user detail" screen, so the fields that we needed were added to another tab and are easily editable.  When the save button is pressed, it generates a LDIF file with all of the exact formatting that we want and fields locked down from free form text entry when appropriate.  Very easy to use, and integrated into the software used mostly heavily by out support staff.  I saw that LDAP supports a JPG image, so our security guy downloaded all of our photos from our badges and I added a place in the UI to add them.  We can now see the pictures of all employees, which will assist us with identity confirmation.



Pictures were also thumbnailed automatically when doing a user name or department search:



After trial and error and a few runs of the vcf2ldif utility, the files were compliant in all fields.  So I did a cat *.ldif > merged.ldif and then ldapadd'd them all into the software with success.  It's a very exciting step, all done easily with open source tools.


And the data was verified with a LDAP browser, and appears as expected:


My current area of focus is now accessing this data from our first new project: Zimbra.  Zimbra supports auto-provisioning, whereby it verifies if you have a mail: LDAP entry and if so, it verifies your password.  If this is the first time you have logged in, all of the phone numbers are downloaded and the account is automatically created.  This will save our support staff a lot of time.

LDAP will also be used for our Wifi, Alfresco and our web proxy appliance in the coming months. 

There are always many ways to accomplish goals, but I think we have found a good balance with our staff size, budget and existing skills.  I'm looking forward to seeing this all deployed.

Tuesday, December 11, 2012

Changes To Portal, And Data Mining

It's an aspect of my personality -- I love data and finding new ways to analyze it.  In the case of our GNOME implementation I want to see exactly what software packages are being used and by whom.  There are two benefits to this:  1) being able to focus on the software packages used the most  2) Being able to reach out to users when data indicates they might be having problems.     Very often in a corporate/enterprise environment users will not call for support and their frustrations will grow, so our support portal has given us the ability to proactively make contact.

In the last few set of updates that I pushed, the "Usage" tab of the portal has been implemented and is now providing interesting data.  The UI and buttons still need some alignments and work, but the data is there for viewing.  On each refresh cycle it's now counting all clicks for the day and sorting them into the top four categories.  And then underneath these categories it's how showing the top six users and their number of software clicks/launches.  In the case of LibreOffice this might just mean they are editing a lot of files; it also might mean they are having a problem.  In the shot below, I can now see the number of launches of "Evolution" for instance (marked in green) and then the blue shows the users underneath.  There were some users with lots of launches and one of them is having problems with quota.  The other user seems to be working in a manner of only opening one software application at a time and closing it before opening another.  We are reaching out to both employees and offering to help.   With these most recent changes, I've reached a milestone now where all features that we wanted to add are now complete and I'm moving to other projects.



Projects:  Tomorrow we are working with a vendor to design and implement a LDAP server, and then will be connecting it to our Zimbra install and testing this type of authentication.  Once that's in place, I'll connect it to Alfresco for similar testing.  I also will be working again on the Ubuntu thin client updates for our workstations.

Friday, December 07, 2012

Support Portal, Licenses, LibreOffice & Zimbra

Things have been busy since my last blog.  Along with normal day to day support items, I have been advancing several projects.  I have had some time to multi-task in making changes to our support portal.  We have found that the time that I invest in improving that software is easily recouped down the road.  For many years licenses were granted via files and the command line.  Things have gotten more complex since this infrastructure was first deployed.  We have more staff members, we have lots more software packages, and licenses are being moved around more than ever.  So I created a new way to hold the licenses and wrote a little script to make the conversion and integrated it into the support portal.  Now our support staff can go into the software package (as loaded from the .desktop file) and with a few clicks add permissions for users to launch this software.  They also can point the license to the physical paperwork; and a thumbnail is generated to show the document.  (as seen below).



I also mined into the log files where we track usage and added some fields to display stats of our various packages.  We have so many software packages now, and very often people buy things and never use it...so now we'll have more data with which to review if software should be removed from servers.

Everything seems to be working well in our sandbox test area.  With just a few clicks licenses are granted and revoked, all changes are logged and the license goes live immediately.  The user can click on the icon and it works as soon as the save is made.

As part of this code, I added a "Usage" tab from the front UI of the portal whereby we can watch in realtime as icons are clicked.  We also can see which applications are being used the most and by whom.  I'm going to add some buttons below the software categories that will show which users launched these applications the most during the current search window.  When viewing the current day, this might indicate that they are having some problems or technique issues that need our help.
  (Very often people never call...even when they are having serious problems.  We want to identify these issues and be proactive)



Other projects have continued:  I have been testing LibreOffice 4.0 Alpha along with some other employees, a few issues found and bugs submitted.  We have the hardware now for the final deployment of Zimbra, so I installed Ubuntu 12.04 server and applied patches and got everything running.  Next week we connect it to LDAP and we will test accounts and passwords. 




Wednesday, November 14, 2012

GNOME/Exceed, LibreOffice, Portal, Zimbra

Things have been very busy since the last blog.  Lots of concurrent projects happening and some long term design elements falling into place.

GNOME/Exceed

The software that allows iPad tablets to connect to GNOME was moved over to the production machine and is now in the hands of some beta testers.  The speed is great, and things are working really well.  From home, I can tap a few buttons and my work GNOME session appears on the tablet over my cable modem and is almost as fast as being in our City Hall building.   I sent off a few suggestions for making it easier to work on a multi-touch device with mouse based software and hope to see some of these ideas in future client releases.  I'm anticipating that we'll buy some licenses at the end of the trail.

Portal Tablet Support

Being that users will now be logging in with tablets, I wanted to change our in-house support portal to correctly log these authentications and make it easier for our staff to see where and how users are logged in and be able to send them remote control requests.  Very often users call and aren't really sure how they are logged in, and the software now helps us see exactly what's happening.

I always have more ideas than time, and have wanted to work in this area for a long time.  From the portal when you enter the user name, it hunts the network for their active logins.  With my changes made, it understand if they are logged in with a tablet and displays it in the right area and layers a shot of their screen over an iPad image.  Previously to perform functions on a session, you would click on the screen thumbnail and go to a detail screen.  I added small shortcut buttons below the screenshot to eliminate another few clicks.  [ I understand certain UI decisions and artwork could be better.  Time doesn't always allow for this level of design.]   It works, we use it all the time, and it's constantly evolving


I also spruced up the code to detect users that are logged in multiple workstations and this makes it easier to find the right session.  Users also can log into workstations and tablets at the same time too.   This all is clearly displayed.  In the shot below, I was logged into two workstations and both were located.



LibreOffice

 3.6.3 came out and this is the best one yet.  The earlier releases had some install bugs that I worked around.  This one installed cleanly and we have no reports of users crashing and import filters are working better than in earlier versions.  If you have been holding on 3.5, now might be the time to look over 3.6.

Zimbra For Email

After a lengthy process the Governance Committee has asked us to move to the Zimbra email software.  This software runs 100% in a browser, and this means that Evolution/SLED and Groupwise/SLES will be retired.  We've had Groupwise since 1994, so it's a major step for us.  Especially in the 1990s, Groupwise was away ahead of its time, but it fell more and more behind and we couldn't get Evolution patches and features fast enough to keep up with demands.  This upgrade will happen sometime in early 2013.

Other projects: Teaching myself OpenLDAP and learning how best to get it integrated, looking over Firefox 17, keeping plugins current and continued work on the new Ubuntu thin client operating system.

Monday, November 05, 2012

Finally For Real, Lunch With A Side Of GNOME

Over a year ago I took a screenshot with an iPad running GNOME remotely.  This preview test with NX 4 connected but was far too slow to use for work.  It was a milestone, but not really anything that we could deploy. 

In the last week I have been testing OpenText Exceed On Demand which is a similar product that supports iPad.  After testing on a VM, I moved it to the production machine and had some firewall rules written to allow me to test it from the outside.  Inside the building, VNC offers a similar presentation; but the Achilles Heel has always been getting it to work over low bandwidth and the Internet.  I was eating lunch today when I got word the firewall rule was finished.  So I connected first over the WiFi of the restaurant and things worked greatly, nearly as fast as it does back at City Hall.  I then dropped off the WiFi and enabled AT&T 3G and connected again.  Once again it worked like a champ.  This software works like other compression software; once you get to a certain threshold it seems to just work with very little difference of speed.



We're discussing options and suitability right now.   The licensing and cost is higher on this product than other similar products, so possibly we'll use it only for iPads and continue to use NX for all other devices.  The next step is to get it out to users and see how it works.  From my perspective, I'm pleased with the performance. 

Proof of AT&T 3G: :)    The shot below shows that it really connected and works.


Other projects: Work continues on the Ubuntu workstation build, testing with users; starting to install OpenLDAP on a VM to try and work it into our network; trying to advance email and document management solutions.

Thursday, November 01, 2012

Thin Clients & iPads

I have been making progress on the next thin client release.  Right now I'm tinkering with Xorg.conf and deciding on the best way to deploy.  The 5725 model is a combination of SiS and ATI, and the 5745 is Intel based.  All of them have slightly different ways of building files for multiple screens.  I also am looking at the concept of supporting three and four monitors, and trying to work that into the mix too.  Google Earth over remote display had some issues with some of these modes and I'm having to do some trial and error testing.   The drivers have changed slightly from the older Debian release, so it's a learning process. 

We also have had more and more people taking pictures on their phones and tablets, and I'm looking over the ways to mount these devices that do not go into normal USB mode for transfer.  We also have the issue where users plug these devices into USB ports to charge them; so I'm adding an option on the UI to allow them to use the ports for power only and make no mount attempt.

Touch screen monitors have dropped in price greatly in the last few months.  My perception this is happening because they are gearing up for Windows 8.  So we bought the new HP model (under $300) and it worked right out of the box by just fooling the OS into thinking it's a mouse.  There are some use case situations with touch screens and POS software around the City, and we should be able to support them easily.

We were contacted by OpenText based on our desire to have a solution for iPads presenting the GNOME desktop.  I installed their Exceed on Demand server product and indeed it allows you to connect from a tablet and GNOME came right up and worked (shot below).  It does bandwidth compression and a quick test over EVDO showed it to work as well as RDP/Citrix/NX protocols.  The server piece was tested on a sandbox VM of our GNOME server, and I'm in the process now of moving it to the production machine for further testing.  The production machine is running on real hardware and is much faster, so the results will be interesting.  It's very usable over both Wifi and EVDO and typing and movement is crisp and fast.  

Other projects:  Apparently ProjectLibre has replaced OpenProj...so testing that in our environment.  Still have some LibreOffice patches to install, trying to get those scheduled.  Looking over OpenLDAP as a way to reduce some of our password entries around the network. 

Here is GNOME being displayed on an iPad (1024x768).



Thursday, October 25, 2012

Ubuntu Work Advances

Advances on the thin client work are promising.  Running the software with a much newer version of Linux and X drivers is going to reap some big benefits for us.

Initially the new image would not upload into FOG, so I worked using Clonezilla which takes longer to replicate to additional workstations.  I'm working on a master build on the 5745 model, and then clone it and push it down to 5725s and test everything fully on both models and ensure that everything works.  My coworker Brian had set up FOG and tinkered with the reason why it would not upload and finally found the issue.  There were reports that others had the same problem, and the solution was to boot the thin client with a recovery DVD and basically fsck the drive and that repaired the issue.  For whatever reason, FOG did not like the default HP file system as shipped and now it's working like a champ.  So now I can push updates to multiple devices easily over the network, a real time saver.

I have been having luck so far finding some PPAs that fix certain bugs and driver issues and making progress on both models.  The newer X drivers are much more friendly to monitor rotations and I was able to get a dual screen, landscape and portrait configuration working responsively.  So it looks like we'll be able to offer that as a feature to end users.  The older Debian release years ago was buggy in regards to monitors and rotations.  I also have started to test two portrait monitors side by side and that's coming along too.   Thankfully our hardware diversity is low by design, so after testing with a sample group it should deploy nicely to everyone else.  Next up will be testing Xinerama with three and four monitors to see how they work and see if they can be deployed into production.

Our progression in years past was that we ran compiz over remote display and this worked only in 16bit color.  Our users needed higher color depth and so a few years ago when we upgraded we disabled desktop effects and put everyone into 24 bit color.  An unexpected pleasure was that obviously a lot of work has been done in this area, and I was able to enable metacity compositing in 24bit color (shot below) and it's working!  That also allowed me to unflatten the avant-window-navigator as well and that too seems responsive on both models.  So I'm packing up a build with these changes and pushing it to our IT test users and see how it works.  It sure looks a lot nicer, hopefully this feature will not present any problems and make the final cut.


I'm hopeful to get this out past just IT staff next week for testing and I'll continue testing and making improvements.

Other projects: A vendor contacted us with a product that allows you to connect iPads to the GNOME desktop over low bandwidth, I'll blog about that when it's advanced.  I'm looking over setting up a LDAP server for various software packages.  Various questions and support issues.

Thursday, October 18, 2012

Ubuntu Thin Client Alpha Release & Updates

There are times when working on thin client updates that you feel like pounding your head on the table, and then with a steady work approach you start to see that a lot of items are being crossed off your pad of paper.  We have two thin client models (HP 5725 and 5745) and it takes some testing and tuning to get the same operating system to work on both.  I can't even imagine the cost and struggle of those that have to load operating systems on dissimilar PC hardware with 10s or 100s of different models.  Once I get these two working, we're done.

I was able to get an alpha release into the hands of a few people on the 5725s and they are testing.  SSH tunnels are stable and working to the GNOME desktop.  The screensavers are running on the local hardware and locking a screen from GNOME signals the thin client to lock it remotely.  I have pulseaudio working and stable on both models and set to reasonable sound levels on reboot.

I'm working on two issues right now:  Timing and Xorg drivers.  The two models have similar hardware in terms of speed, but the 5745 is slightly faster.  So there are services and sleep statements needed at boot to ensure that everything is timing the right way.  A timer on one model might need an extra second on the other.  I was more used to the older "S" style init scripts that kind of dropped in order.  I'm tinkering with learning the new "emit" signals and getting the timing right.  But it's coming together. 

The 5745 models is using an Intel chipset for video and the 5725 is ATI.  And there are nuances to each video card.  The Intel drivers are working and seem stable.  I'm having some font artifact problems with the ATI driver when AccelMethod is set to EXA instead of XAA.  So I have been looking for PPA packages to install to fix this issue.  The ATI drivers also seem to have some issues of video deadlock with working mouse when Google Earth is started.  I know I read a technical journal about that issue and will get it fixed and working.

Hopefully by next week, I'll be able to get these builds out to a wider audience for testing and see how it goes. Overall, a very productive week.

Other Projects:

Normal support questions and issues, regular meetings, installed and tested Firefox 16.0.1 and Java 1.6.37 and put them into production.  Sadly no Acrobat Reader updates for many many months; Adobe there are lots of us on Linux!

Tuesday, October 09, 2012

Ubuntu Thin Client Work Continues

I took a few days off last week and this week I'm once again working on customizing the Ubuntu 10.04 build that hp released for our newer 5745 thin clients .  I hadn't really worked with Ubuntu that much and they seem to have their own way of doing things, so that has slowed the process.  There are some differences in design of startup and inetd that took a bit of tinkering and googling and now things are working as expected.  Once I got basic needed services running, I started testing all of our old customizations and making changes.  Some files are in different places and other minor issues, but nothing very difficult to update.  The HP build had an older version of the Citrix client, so I removed that and installed the latest release.  I'm rewriting the login mechanism to eliminate a step for the users and using SSH to create a tunnel from the workstation to the GNOME desktop.  I built a Glade screen to test all of the features as seen in the screenshot below.  Once all of the code is working, I'll replicate the feature set in something that is more pleasant to the eyes.  I have been teaching myself python-clutter as time allows.  The authentication module is running local to the thin client, so clutter will work great.  No remote display problems here to fight.


One interesting idea that I have had for a while now that I'm testing is the concept of running the screensaver on the thin client itself instead of on the server.  On the workstations currently in production, users log into GNOME and gnome-screensaver is running from the server.  Because I didn't want the traffic running over the network, the screensaver was set to blank/black only.  It would not be a good thing to have 100 users with locked screens and PacMan running over remote display. :)   What I am testing now is xscreensaver running on the local hardware.  When the user does Alt-Control-L from GNOME, it activates the screensaver on the workstation.   Users love to see their badges and logos on the screen, and it gives them a sense of feeling of ownership of the session.  The small amount of time to tinker with this idea has been worthwhile.  From time to time there has also been talk of using the screensaver to publish information about upcoming events, so we should be able to support that with no problems.  Right now this is in a R&D/testing state only.

95% of our workstations are still running the older HP 5725 hardware, of which there have been no updates for a while now.  I added all of the packages required for the older hardware (ATI video card driver) and then used Clonezilla to do a backup and restore.  The older hardware worked like a champ; just a few BUSID changes to xorg.conf and it's working.  A few more iterations of testing this 'backport' and it will be working fine; and then I can start using FOG.

I have just started testing the code that we have to download a configuration file from our server and automatically generate a working xorg.conf file.  Once I have that process working, I can get some alpha testers on this code.  I hope to have something for them to test later this week.

Other projects:  Working on coordinating a feature in Zimbra to support drop and drag of email into PDF format; getting ready to install LibreOffice 3.6.2 to fix a few bugs; normal support issues and questions; patched the latest version of Flash;  worked on trying to get Java 1.7 installed  -- still some apps that don't work correctly; testing Firefox 16.

Friday, September 28, 2012

Thinning A Thin Client

I've moved to my next major project:  Merging the HP updates into our thin client infrastructure.  We have been running the Debian Lenny based OS now for a few years and in the last few months they released one based on Ubuntu 10.04LTS.  Our Xorg drivers are getting crusty and there are certain video goals that I hope are solved:

- There are some bad video issues related to using Google Earth on ATI and dual screens, especially the newer version
- I'd like to tinker with supporting side by side landscape and portrait monitors, along with hopefully being able to support three and four monitor configurations

The default build from HP in my view runs in a way that gives thin clients a bad name.  Too much software is running locally, so you end up with an underpowered fat client.  Firefox running locally on this hardware is not exceptional and when you have flash and java at the desktop that means you have to do lots of updates.  Host based Firefox is much faster, and when run on the newer 5745 runs faster than many PCs.  Flash video is very fast and frame rates are high and audio works great. You never have cold starts of software, and things like LibreOffice open in 2-3 seconds.

Through the years I have put all of our custom scripts and code into /opt/local; they're all bash, python and glade so they easily run on operating system changes.  The steps to upgrade operating system are not terrible.  I install it as shipped from HP on the 5745, and then set up an icon to run xterm and begin hacking.  On Ubuntu the whole /etc/rc2.d startup infrastructure has been moved to the newer /etc/init directory.  So after a bit of Googling on how that works, I was able to remove the HP specific changes which brings up their custom desktop to run local software.  They don't have full Ubuntu installed, and one piece that was missing was the NFS mounting packages.  So I had to transfer that via USB stick and was able to mount one of our drives.  That is now allowing me to transfer tarballs and packages.  It's booting to the character login in about 10 seconds and I have been able to use some of the scripts to log into our servers and things look good.  Now I need to install all of the packages required for our scripts; glade, python and so on.  I was able to get pulseaudio install and sound is working well.

Once this is working on the 5745 workstation, I'll clone it and install it on the 5725 and install the necessary modules and libraries for that hardware.  Then we'll go through a  beta testing period to make sure all of the drivers are working as expected.

In the shot below I have connected to the server (by hand, no UI yet) and gave Flash and pulseaudio a good shakdown.  Everything looks great so far.


Internally we are labeling this release version "3.0", and I have written on the whiteboard my initial wish list of design goals based on user demand and basic technology advancements:

+ Support for 3 or 4 monitors
+ Support for HP 5745 PCI expansion bay
+ Skype 4 (running locally so that it can use local hardware)
+ Feature to allow email of documents off USB sticks without them first going to the server
+ FreeRDP to see how it compares in speed to RDesktop; we'll deploy the best one.
+ Better user interfaces after boot, more modern designs
+ GNOME-Shell testing
+ NX 4.0 client install and testing. Awaiting kiosk mode for this software to hide certain pieces from the end users
+ Consideration of users that take photos with phones -- do we mount them automatically like a USB device?  Lots of users use the USB port for charging only; pondering
+ Touch screen support for some POS software packages around the City.
 
Happy Friday

Sunday, September 23, 2012

Rewarding SuseCon, OpenSuseCon & Hackfest

I got back from Orlando last night after 4 days and it was a rewarding experience.  SuseCon had some great sessions that I enjoyed and I was was able to meet some people that I have chatted with through the years. Friday morning the wonderful GNOME hackers took a road trip back to Largo and visited our facilities.  They were able to see Linux and GNOME running on the desktop and look over the shoulders of users to see how "regular users" work and interact with software.  Saturday I was able to give a short 45 minute presentation on our technology and appreciate the number of people that attended.

The future of Linux and GNOME is bright and I was happy to help from a System Administrators perspective.

Thank you all.

Tuesday, September 11, 2012

Many Projects Continue

It's been a busy few weeks, and I wanted to blog about our projects before another week slips. 

SuseCon/OpenSuseCon

I'll be heading over to Orlando next week Tuesday for SuseCon.  If you are attending and we have corresponded, make sure that you say hi.  Some of the GNOME user experience people will be coming back to Largo on Friday to get a site visit of our environment and get to see hundreds of users on GNOME.  I've built a slide show of customizations that I made to GNOME in order to reduce support calls.  Hopefully some of these ideas can be professional integrated into a future version.  I also will be giving a presentation on Saturday during OpenSuseCon about enterprise use of OpenSuse and how we used a mixture of community builds, corporate builds and MS Windows.

Acrobat MIME UI Customization

I've gotten some comments questioning customizations made to the desktop, and the comments are very valid when looking long term.  It's easy to implement these changes with Glade/Python and monitor support calls and see what works.  As just mentioned, I am hoping some of these concepts can be used in future GNOME.  We had an interesting support call from a user that wanted to fax a PDF as part of normal business flow.  The technique they were using was to import into LibreOffice and then fax from within that software.  PDF imports into Draw for editing, and it's not the right software for this purpose.  All they wanted to do was just send it through the fax.  On the command line, this is a trivial:  pdftops the file and send it to Hylafax.  So I just added it as a single click to the MIME UI that appears when you double-click on a PDF.  Select the option, type in the phone number and out it goes.  I used this opportunity to touch the art and widgets.  New feature is circled in green.


iPads And GNOME

I have mentioned previously that a top priority is being able to get our iPad users logged into the GNOME desktop.  With NX not yet ready for this, I am once again looking at VNC.  This will provide this feature inside our buildings on our internal WiFi and is a good first step.  I hadn't looked at the Remoter app in about a year and it's advanced a good deal.  I was able to connect to a VM clone of the GNOME server with no problems and all of the code that I had in there last year for beta testing was still working.  The customizations I made last year with VNC were related to setting the right DISPLAY variable to be used within our infrastructure and also ensuring that GNOME and avant-window-navigator understand that PULSE is not available.  The one new issue was testing the iPad 3 retina display.  So I configured the session to run at 2048x1536.  It worked, but as I suspected it was far too small to use.  So I tested a few resolutions and found that around 1280x
962 seems to be a sweet spot.  Big enough to see, with more canvas than the default 1024x768 of the older iPads.  I created both portrait and landscape profiles and they worked very well.  Here are some shots of the testing in 1280x962.  Speed over the WiFi is excellent and very usable.  An application such as Xournal can be opened and you can write over a PDF file crisply.




Zimbra Email Update

The Office Administrators who tested Zimbra liked it and it's now moving back to the Governance Committee for their thoughts and guidance.  Possibly this is the end of Groupwise and Evolution here at Largo.



Looking forward to next week!

Tuesday, August 28, 2012

Support Portal Bar Graph Widgets Done

Just a quick update that I pushed live new code for our support portal which is polling a lot more servers now and displaying information in the UI.  We're tracking number of users, current load, memory consumption, disk consumption and print jobs.  Not having native chart widgets made this kind of tedious to build the charts, but once I figured it out I was able to dupe it and get it working pretty quickly.  I activated tooltips to display additional information.  For instance, hovering over the server name at the top now displays the CPU speed and number of cores.



You can hover over each chart element too and get detailed information about each time slice.


The little bit of time spent on this application is easily recouped by our IT department.  We're able to detect possible problems immediately and assist users before they even call.

Current projects:  Setting up the Zimbra demo for the Wifi so we can test with tablets; working through a few LibreOffice bugs and watching for patches (3.6 is working OK for the most part ); poking at the HP Ubuntu thin client upgrade and working out a plan for integration into our environment; Setting up a VNC pathway for a few tablets to begin logging into our GNOME servers using that protocol; reviewing NX alternatives (thank you for all of the suggestions and ideas); starting to think about the SuseCon/OpenSuseCon tour next month and best use of their time and transportation details.

Thursday, August 23, 2012

LibreOffice Upgrades & First Patch, NX Replacement and Zimbra

No pretty screenshots this time around, but lots of news on projects. 

LibreOffice

I installed LibreOffice 3.6.0 on the server and it didn't go perfectly.  There were some issues it seems with the registration of extensions.  I was able to get things working well to move it into production.  Last night I installed 3.6.1 RC1 which fixed some thing, but not all of them.  Everyone on the IRC is wonderful in this regard and we are working on resolution. We are certainly running well enough that the users are not seeing any of the behind the scenes issues.  Seems like it will need another patch or so before it's working as expected.  If you are working in a business environment, it might be best to wait another point release or so.  The diversity of user settings is always a challenge; the fact that your session is working doesn't always mean it will for everyone else.

I'm now officially a LibreOffice hacker.  This is especially interesting since I don't know C++.  There were a few strings on the new file picker that were inconsistent and not perfectly clear to end users for EN-US.  I downloaded the source and changed them and uploaded a patch and it's already been merged.

NX Replacement Software?

We're getting a lot of grief over the long delayed NX client for iPad and some of the architecture changes in the NX 4 client.  If anyone knows of an 'enterprise' product to allow for connections to Linux multi-user servers, drop me a comment please.  Requirements are 1) support contract available 2) enterprise authentication 3) Works over low bandwidth including EVDO 4) Mac, Linux, Windows & iPad clients.  We already know about VNC (too slow),    Our Director has requested that I spend time looking at options.


Zimba/Email Update

The office administrators have all been given user accounts to look over Zimbra as a replacement for Groupwise/Evolution.  Feedback is positive and we are awaiting a few more users to spend the time to review the features and functionality.   Every few years we have reviewed the features in web based email and calendaring systems in comparison to Groupwise and so far they have come up short.  Zimbra 8 appears like a great product.  Continued testing continues.

Other projects:  Looking at why some printers are US-Letter and others A4 in LibreOffice when cups is configured correctly.  This is a longstanding OpenOffice issue as well.  Watching the hurricane track in the Gulf of Mexico; IT staff has been working to prepare in case it affects us.  Working with Federico and Byren to work out details for SuseCon and OpenSuseCon.  It will be fun to meet everyone in person.

Wednesday, August 15, 2012

Back To Projects, Firefox 15

I'm back in the office after a one week vacation in the midwest US.  It always helps to recharge the batteries and already there are many projects and tasks for me to work.

LibreOffice 3.6 has been officially released.  We'll do an announcement to City employees and probably deploy next Tuesday in the PM.  It's super easy to do a tarball before upgrade and rollback if required; but beta testing did not indicate any problems.

I have been testing Firefox 15, and the biggest new feature is the ability to display PDF documents inline.  I have been keeping an open mind about this new plugin, but also mindful that with hundreds of users on our network there is no way I can pre-test all of their documents and techniques.  After testing on many sample documents, it looks like we won't be deploying this feature and will instead continue using Evince and Acrobat Reader for viewing content from the web.  The first thing that I always do when testing new software is to give it a big document and see how it performs.  I found this document.  It downloaded quickly, but in my testing I was frequently getting the spinning "busy" symbol as it formatted pages.  I also am seeing pages render as I move down, especially on the symbols below.  I control-middle-mouse technique to change zoom is slow, it sits for a while before the UI repaints leading the user to think that it's not working.  It's possible that this works faster on a local video card VS remote display to thin clients; but the spinning busy symbol seems to be an issue of CPU instead of rendering issues.  I also am detecting some kind of leaking, in the sense that as you open more and more documents rendering seems to get slower.


Very frequently I'm getting documents that while displaying correctly, alert the user that "This PDF document might not be displayed correctly".  This will cause users to question what they are seeing and if the document is complete and lead to more support calls.

 
There also doesn't seem to be a quick way to use alternative PDF viewers.  I like the button marked "Open With A Different Viewer" which should in my mind open the regularly installed PDF viewer; but instead just opens a file manager for the user to save the file.  They'll never be able to find the file they saved or open it with another viewer unless it's automated.  There is a "download" button right below this button, so it seems redundant to have two buttons that do the same thing.  

So my final thoughts on this new plugin are that it's a great start and it certainly would be wonderful to have inline PDFs; but right now it's a bit too slow and there are some clunky issues with the UI that I believe will confuse our users.  I'll monitor this feature in later versions and deploy if it works better.

We are starting to get requests for Adobe Reader X on our Linux server -- which is not released.   Come on Adobe, it's been a good while since the reader has been upgraded.  64bit versions please too!

Other projects:  There were a few stray thin clients here and there that were not updated to the latest OS updates, so we have been pushing updates as needed.  Our support portal is now monitoring disk and memory usage and I have been tuning the servers to flush disk activity out of memory and to disk.  Most of this cache is generated in the wee hours of the morning during backups and is not because of user activity.  I'm prepping for a meeting with our Office Administrators tomorrow to discuss future email needs.  I'm teaching a class on Friday about using digital cameras and photos with City software (Evolution, GIMP, LibreOffice) and prepping slides and handouts.


Tuesday, August 07, 2012

Thin Clients Updated, Support Portal New Features

The new thin client update has now been deployed to nearly all of our 500-ish devices and I'm happy to report that we had no major problems.  In the past when moving code out to a larger group of users, someone would find something that was missed during the beta testing.  But so far we've basically had no calls at all about the workstations.  All types of connections (X11, RDP, Citrix) are working as expected and are incrementally better than the previous build.  Very happy to have this project finished and the improvements in the hands of the users.

Our in-house support portal UI was hitting some limitations as I mentioned previously, and I had some time to go in and change the bar graphs from being an image to actually being individual widgets that I can control in the software.  This allows direct control of individual elements and also unique tooltips on each bar tick.  Previously we were monitoring CPU, user counts and printer jobs.  Once the code was updated, it was super easy to add memory usage and disk usage.  The shot below is the current UI, still work to be done with positioning and cleanups but it's working.  At a quick glance, all of us in IT can see the exact status of many of our Linux servers.  Next up will be adding the rest of the Linux servers, and then I'll add the code to do the same polling to our Windows servers.  The little bits of time used to improve this software is easily recouped in staff time after the new features are deployed.  The end user experience is improving too because now we know about issues before they are even noticed.


Current projects: The new hardware has arrived which will run our email upgrades; starting to get the OS installed and testing.  Awaiting LibreOffice 3.6.  Looking at scaling issues related to more Firefox sessions if we move to web based email. 

Wednesday, August 01, 2012

Thin Client Updates Are Live, Other Projects

We're about halfway through updating all City workstations to the new release mentioned in previous blogs.  Some changes were merged into this build which made self configuration work in some cases where it previously had some problems and now the entire process can be handled remotely.  In cases where the device was still powered on during the update period, we can remotely reboot them and force them to pick up the changes.  This build allows us to see the users USB connected devices and exact monitor make and monitor remotely which will be a big help.

Our Police Department is the last area of the City not using RDP and is still using Citrix.  Previously the ICA client was running on the GNOME server and then using X11 to the workstations.  This worked fine, but we wanted to reap the benefit of the client running on the local thin client which then eliminated one hop in the middle.  The workstations then use RDP to talk directly to Windows.  As anticipated, this eliminated all of the Citrix canvas processes from the server; they were chewing CPU during repaints.  Post change, here is a screenshot of around 220 users logged into GNOME.  It wasn't slow previously, but it's definitely better now.


We met with the IT Governance committee last week and spent a good amount of the meeting talking about email issues.  We showed them Groupwise 2012, and then mentioned that other options are available and showed them Zimbra 8.  They were excited at the feature set of Zimbra in comparison of Groupwise and agreed that we should explore moving off Groupwise in favor of other email vendors.  While no final decision has been made, we are researching options and will be meeting with the Office Administrators in a few weeks to get their feedback.  We have been on Groupwise since 1994, and it's looking like we might be moving in a new direction.

I have been looking at the Ubuntu based thin client release from HP with an eye to the future.  Our custom modifications would need to be installed and tested, but they are highly modular and should install pretty cleanly.  The modifications are mostly just Glade/Python screens which have proven to be portable.  I would expect this to be ready by the fall and put into production around October or November.  I'll blog about this process as it starts.

Our in house support portal is running like a champ, and as time allows I have been reworking one of the clunky parts of the original deployment.  I mentioned in the past that I tend to feel it important to get technology deployed and not over-engineer things so that it takes too long to actually gets software in the hands of users.  Every five minutes a daemon polls the server farm and gathers information about CPU load, user counts and stuck print jobs. It was then using this data and kicking off a perl routine to build bar chart images which are then just loaded into the portal.  GTK really should have native, supported bar and pie charts readily available in Glade.  Since that isn't the case, I built a proof of concept using just regular label and image widgets and am happy with the results.  The "LibreOffice" column below is the test area and will soon have code to load all of the widgets correctly and create a functional pie chart.  Note the hover tooltip that will be available over the individual slices.  Once the code is written, I'll replicate it quickly in all places that have bar charts and it should work much better.

Other Updates: We're all ready for LibreOffice 3.6 when it's released; all of the testing looks good and the information dialogs are finished.  Some internal software was being upgraded and one of our server needs some disks added and the bigmem kernel loaded; have been working with others on that plan.  Testing continues on Firefox 15 and the new PDF native renderer; checking to see if that is working well enough to deploy.

Tuesday, July 24, 2012

Looking Over Zimbra, LibreOffice 3.6 Prep Work

I want to clarify that some of the items posted in this blog are done in sole capacity of evaluation.  There are many procedures in place to make changes to our infrastructure, and I'm just doing the geek work. :)

In that light, we met last week to discuss the issue of email.  In light of lack of ongoing work on the Groupwise connector to Evolution we have been reviewing Groupwise 2012 web interface.  We already own this upgrade because we pay for a support contract.  The Director indicated that he wanted a review of other options as well, and that of course led to Zimbra.   I downloaded and installed it on Ubuntu 12.  Their other operating systems were not a good fit for this test.  RedHat Ent is a licensed product and SLES 11 has been troublesome on this HP hardware.  Zimbra fights you a bit when you are trying to run a demo because it wants to find the right MX records.  One has to install dnsmasq and fool it into thinking it's getting proper DNS responses.  The help pages described this process and I was able to get it running.  I installed the latest version ( 8 beta ) and must say that I was very impressed with the new features and progress made since the last time I tested it a few years ago.  I love the concept that the primary interface is a browser, so all of the features just work immediately with Firefox.  Groupwise still kind of treats the web interface as a secondary login technique, and still kind of pushes you to using the MS Windows.  Another 300 concurrent MS Windows instances is not a good fit for us.  Tomorrow we are doing a demo of this software and Groupwise 2012 for our internal Governance Committee.  Below is a shot of Zimbra 8 running on Firefox 14.  100% Linux; both server and client.


LibreOffice 3.6 appears to be about a week from being released, so I updated our custom first launch UI to show users the new features.  We also will continue to offer the option to received LibreOffice 3.6 on a CD to take home for use on their personal PC.  I always try and pick the items from the official release notes page and condense them into bullet items.  This seems to catch their eye more than reading a lengthy page.  The release UI is below, almost done.


My project list: New thin client build goes live next week, prepping;  Starting to check out the HP Ubuntu release that runs on our thin clients; Helping to coordinate moving the last of our NX users off of the old GNOME server now that we have working patches; Backburner poking at Skype for Linux; Checking over Zimlets....Alfresco zimlet looks interesting; Starting to think a bit about SuseCon and OpenSuseCon coming in September in Orlando.

Thursday, July 19, 2012

NX, LibreOffice, Groupwise 2012 & Evolution

After a lengthy process, we finally have been able to resolve some problems with NX connecting to our GNOME server running OpenSuse 11.4.  Google indicates the problem is fairly common: metacity was crashing immediately when the NX client is used on certain Windows video cards and all of the time on Mac. We were made aware of one fix that worked.  Installing the metacity released with GNOME 3 in the updates channel resolved the issue.  I was surprised that it installed cleanly over GNOME 2 with no library problems, but indeed that was the case.  So another nagging issue off the list and we can continue migrating a few pockets of users still using the older technology.  Now, if we just had that promised iPad client! :)

 I installed and upgraded LibreOffice to 3.5.5 last night without incident.  It's wonderful to be able to touch one place and have everyone in the City upgraded all at once.  The upgrade process is down to me only having to do three things by hand   1)) psprint.conf is clobbered on each update, so I have to make sure always make a backup prior to install.  I have already opened a bug report on this issue   2)) In the share/config directory I copy images_oxygen over the top of the other .zip files so that LibreOffice has a consistent look and feel even if users tinker with their icons.  This is done to make it easier for support. "Click on the icon that looks like a postage stamp", "I don't have that icon".  3)) libgcc_s.so.1 & libstdc++.so.6 are shipped in one of the RPMs and when this is installed on OpenSuse 11.4, LibreOffice deadlocks about 10% of the time when first launched. I move this RPM out of the way before doing the upgrade.

I have been testing LibreOffice 3.6 and happy to see the progress.  At this time all of our showstoppers are fixed and we probably will upgrade almost immediately when it's released.  Nice work. CMIS is shaping up nicely.   I'll be looking at 3.7 when it appears in the daily builds.

The Attachmate split of Suse and Novell had its first casualty.  Unfortunately resources seem to have been pulled off of the Evolution and Groupwise connector and it appears dead.  Our Governance committee had approved another 2-3 year window of using Evolution and we had mapped out a plan with Suse to add new features and fix some nagging bugs.  We got a few patches and then everything halted.  Everyone understands that things change, but we were never formally told about this change in direction and found out about it second hand.  We have sent repeated emails to Novell/Suse seeking official word and still have not heard anything..which is both bad news and also very unprofessional.  I'm always of the mindset to have backup plans ready in computer technology, and we had scaled our Firefox server to be able to run web based email.  So after an initial meeting we're now moving ahead with a plan to remove Evolution and Suse SLED out of production and move to the web interface of Groupwise 2012.   With 2012, there are enough features working in a browser that it's ready for enterprise use.  Mobile capabilities for tablets and phones will be improved greatly, at the expense of some of the features found in Evolution.  While it might seem odd to continue to use a product from a company that just treated you poorly.....Groupwise is already here, known and stable and is cheaper than moving our users to something like Google mail.    Novell offers other products such as Vibe, and when asked for my opinion I would recommend not buying additional software from this company based on this experience.

EDIT: As noted in the comments by Matthew Barnes, Evolution is still vibrant and being developed.  The piece not being actively developed anymore is the Groupwise connector only. 

Up next for me: Finalizing the next thin client release for citywide deployment, continued testing of various upgrades, testing the new Firefox builds (14 - 15 -16), testing Alfresco, working on ways to make our support portal software integrate better with MS Windows and help us with load and user monitoring of that operating system.


Friday, July 06, 2012

LibreOffice -> Alfresco Connection & Projects

It's been a busy week again.  I've been testing Alfresco in Firefox and on iPads.  I also installed all of the latest patches for our test system running Groupwise 2012 and continued Firefox/iPad testing as well.  I have been syncing with the daily LibreOffice 3.6 builds to ensure that our showstopper bugs are all resolved.  I found a few issues in recent weeks and most of them are already fixed.  3.6 is shaping up to be a nice incremental step forward.

I have been testing the very basic connectivity that exists from LibreOffice to Alfresco.  I deleted all of my settings and formed the connection again to ensure that it's cleanly in my head.  I'm posting the step by step instructions for anyone interested, but mostly this is my own documentation. :)  This code is obviously not ready for production use, but it's a good start.

Step 1:  Turn it on.  Inside of Libreoffice enable the native dialogs and enable the experimental features.


Step 2:  Confirm Alfresco URLs.  There is a CMIS front facing web page in Alfresco that gives you lots of information.  The link that you need for the connector is marked "AtomPub Service Document".  Right-mouse and copy this link, it'll be used in LibreOffice.  Next click on the link and download the XML file that it generates.  That front facing URL is probably similar to this screenshot; change IP to your correct number.


Step 3: Get the ID.  Open the xml file you downloaded in step 2 and find the entry respositoryID, this number is used in LibreOffice.


Step 4: Form the connection.  From the LibreOffice file manager dialog, select the ... button (purple below) and then create a new CMIS entry.  Enter the URL you pasted in step 2, and the repository ID.


Step 5: Connect.  Enter the Alfresco login user name, and then when you attempt to connect it will request the password. Once accepted the folder tree of Alfresco appears and you can navigate through the documents. 

I have been able to open documents and save them back into the database without error.  There are lots of UI issues and nuances that are not mature, and I'm prepping a document with my notes.  This is an important feature, and if I can contribute and see this developed it will help us all. 

Next up for me:  Continued testing of Alfresco and Groupwise 2012.  We're looking at training ideas and the best way to proceed with these projects.  The next thin client release is running on about 30 desktops and running well, it's just about ready for citywide deployment.  Happy weekend.

Wednesday, June 27, 2012

Thin Clients, Groupwise 2012, Alfresco & LibreOffice

Lots of projects, and progress on them.

Our next thin client release was pushed out a wider group of users and they have been testing the new features. The new interaction with USB memory sticks and cameras is making it much easier for those users that just want to shoot a few pictures and insert them into email downsized from their raw size.  One click and a paste and it's done and they can go back to fixing cars and do their jobs and not having to learn how to use GIMP for this basic function.  We also got a few users on the local ICA client which offloads this canvas and transport from the GNOME desktop to their workstation.  They are reporting that it's faster for sure, and those CPU cycles are now off the server.

I mentioned that HP released a new Ubuntu build for their thin clients.  I downloaded it and installed it on the 5745, which is their current model.  The release notes indicate much faster boot time and that was the case for sure.  Within a few seconds of power, X was up running.  In the coming months, I'll move our customizations over to this new OS version and then backport it to the older 5725 model, all of which is easy.  The code is all sitting in one directory and I just need to install the right pieces of software and drivers.  We should see better performance with newer X drivers and it also will make it easier to add more local software if we so desire.  I spent a few minutes and installed the new Skype client on the thin client and it worked.  Lots of ideas to kick around and it should be a nice upgrade for users.

We are once again looking at the web interface for Groupwise 2012, so I spent some time again reviewing the feature set and testing.  Outside connectivity to devices is exploding, and we're exploring options.

Document management is a hot spot on our radar and I was assigned the project of installing and reviewing Alfresco to see what it does.  It's very Linux friendly on the back and front ends and was a great place to start.  I downloaded and installed the community version on a retired server and found it extremely easy to get up and running -- nice work guys.  A few clicks of a wizard and everything loaded.  I then spent some time looking over the design and flow and was impressed.  It certainly would save us untold hours of staff time.  The biggest problem with these types of solutions is mind share and skills.  Hopefully we'll start to see some moving in this direction and we'll be looking at other products too.

The ever helpful Cedric Bosdonnat helped me understand how his experimental CMIS code connects to Alfresco from LibreOffice and I was able to make an initial connection and view documents.  Possibly this connector could be ready by the time we need it and are ready to deploy, so I will be spending bits of my time checking the progress and helping do QA.

The shot below shows LibreOffice making the connection to Alfresco right from the file manager along with Alfresco displaying inside of Firefox; all 100% Linux front and back.  No software licenses anywhere in this shot!


I installed the Alfresco client software on an iPad and tested it there as well.  I had easy access to the documents stored in the various Sites.  Things appear to work quickly and easily right out of the box.  Here is a shot:



Coming up for me:  Final push of the new thin client software patches to our users; testing LibreOffice 3.6 and looking for regressions and prepping to go live; Additional testing of Alfresco, reviewing other products for features and suitability with our goals; Looking at issues related to moving Groupwise 8 to Groupwise 2012 on 64bit Linux; Disk and server requirements for Groupwise 2012.  It all keeps one busy.

Friday, June 15, 2012

Another Busy Week

It's hard to believe that it's Friday; the days go so quickly.  I have been putting the final touches on our next thin client release and it's now in the hands of more users. I have been pushing it to 16 test thin clients to ensure that everything works.   I had a white board of ideas and things that could be improved and nearly everything is crossed off....a sign that a release is almost here.  I finally got a few people to test full time the Citrix client running on the thin client instead of being host based.  The feedback has been a 10-20% increase in speed and those CPU cycles will now be off the server.  So it's a win/win for us. 

I wanted to be able to remotely poll the thin clients to detect all devices plugged into the USB ports.  People sometimes bring in their own hardware without approval and we need to be able to see that it's been installed.  We QA with all known hardware when we do upgrades, but unknown hardware might yield unexpected results.  For now I just made it very simple: I wrote a small wrapper for lsusb that formats the output a bit better and then creates a more friendly output.  (lsusb is not enough information, lsusb -v is too much).   The support portal grabs the output and puts it into a simple treeview (below).  I had some ideas in my head for a graphical screen, but unfortunately the various hardware vendors return their own non standard strings...too hard to parse as part of this project, this will have to do for now.


I have been testing LibreOffice 3.6, found some documents that won't open and UI screens that aren't working and filed bug reports.  Very happy to see how quickly this software is moving.  3.5 has proven itself very stable, and we still have had very few issues moving away from OpenOffice.

HP released a new thin client operating system which is now Ubuntu based.  I downloaded it and installed it on a test device.  It will be nice to have newer underlying libraries to put live, and the boot time is greatly reduced.  Newer Xorg drivers should help us too with various monitor configurations; good stuff.  I installed Skype 4 and it went on cleanly and was peppy on the t5745 device.  Looks like we will be able to offer a lot of nice new features two updates from now, later this year.

We have been looking at Alfresco document management software a bit, and I was asked to install it as part of some early testing.  I'll be testing how well it interacts with Linux, Firefox and how well one can download documents from iPads and LibreOffice.  This is a huge change, and will obviously need a lot of testing...but it's on the radar and assigned to me.

Other issues: Monitoring crash reports, tuning servers, adding a bit of code here and there to help users restart applications on failure. For the number of users logging in, things are very stable and support is happy.

Happy weekend.

Thursday, June 07, 2012

User Instructions For USB

User Instructions:  If you support a large number of users, one of the hardest parts of any project is creating documentation.  If it's more than one page, no one will read it ... even if it's required for their job and something they should know.  I'm sure there are many techniques, but I have found instructions work best when they have screenshots and arrows and post it notes over the top.    Here is my first draft on the notes for how to interact with USB sticks and our software.  The left column is the new UI which eliminates file management almost completely.  A few clicks and it's into email and already sized.


I got about 5 people that indicated they would test all the new USB code and should be getting feedback over the next few days.

I also took the time to create a one page cheat sheet related to using the desktop.  There are a lot of keystrokes and shortcuts and if they are not known this lowers productivity; or they say they want another operating system because of memorized technique -- be it Windows or Mac.  The items mentioned are to assist with issues that cause user frustration.  Computers do really cool things, users just often don't find the steps intuitive..  User top issues:

- I find it hard to navigate to folders and remember where I saved my documents  (not one person has ever figured out the GNOME shortcut concept in the file manager without training)
- I need help finding those documents, and also documents that other employees have created.  Where did they save them?
- I saved a document last week, but forgot where it was saved and the file name.
- How do I change the speaker volume?
- We have to plan for the weather, how do I easily see the forecast and radar?
- How do I find other software applications that are not shortcuts?
- How do I check for new email messages quickly?
- I want to just type in the file folder instead of having to click in GUI mode. (not one person has never figured out that you can type in / on the wallpaper to open an entry dialog).
- How do I lock my screen easily?
- How do I take a screenshot on a timer, so that I can capture drop down menus?
- How do I take a screenshot of just one window, to avoid having to print the whole screen?

This one page document went out today and already people are trying new things.

Tuesday, June 05, 2012

Simpler USB Sticks And Cameras

In the last thin client upgrade, the first UI to assist users with USB sticks was released.  There were some issues in the design and people were using these workstations not always as expected.  So as I mentioned in my last blog, I have been retouching that code to make it work better.  The biggest issues that need to be solved:

1) We don't want everyone to have full USB stick access with drop and drag capabilities.  Why?  Because for most employees they are only working with photos and they are moving UP to the server from cameras and sticks.  In the hands of many, file managers are a dangerous things.  Errant lassos and drags are always present on a multi-user system.  Many workers only use computers for the smallest part of their jobs, and being able to insert a few pictures into a flyer or email message is all they need.

2) Users don't understand file types and sizes, no should they...yet just simply giving them a file manager yields all kinds of problems.  a) Why is this document so large?  b)  I resized the photo with the green handles in LibreOffice, why didn't the document get smaller?  c) I emailed this document and it was rejected on the other side as being too large  d) Why is the printer blinking for 5 minutes waiting for these 10 pictures to print?  e) Why is this taking so long to export to PDF?  --- and for Information Technology   a) Where the &*# did our disk space go?  b) Why did this user upload 500 pictures when they only used 2?

In the last blog, I showed the dialog that appears when a user inserts a USB stick.  Those with full approval can activate a full file manager and drop and drag files as they wish.  But for the rest the updated clipboard manager UI will appear.  The screen gives them the most common photo adjustments that they will want to do before it goes into LibreOffice or Evolution.  The original source files never are uploaded to the server, and everything is passed through the clipboard.  A few clicks and a paste and they are done.  Of course, these can be done in GIMP, but it's way too many steps and beyond the scope of what many can do. 

These new screens are modeled after the photo helper MIME bars that appear when they double-click on a photo.  Which were also designed to make it easier to shrink photos to the right size before inserting them into documents.

The software is not finished, but for the most part it's working as designed.  User inserts USB stick and it does a crawl and finds all pictures and sorts them by date and then by time in reverse order.  The screen below appears and shows the most recent date photos were taken.  If pictures are in sub-folders from the same date, they will appear all merged together.  The concept is not folder-centric, but instead date centric.  ( I remember WHEN I took them, but don't remember WHERE they were saved).  Arrows on the left and right of the thumbnails allow you to navigate up and down through the days with photos taken.  The arrows below the thumbnails allow you to move up and down through that date.   At the bottom, there is a mini navigator that allows you to quickly move to another date without having to wait for the thumbnails to refresh.  When you click on a photo the file size and width and height appear....which for most people means nothing.  As was the case with the desktop UI, it estimates the "LibreOffice Suitability" and "Evolution Suitability".  


If the photo is too big, they can select the appropriate size with the combobox, the thumbnail data changes and the new file size, height, width and suitability appears.


Once the adjustment is made, they click on the clipboard button and it's ready for any GNOME application that will accept the photo with a simple paste.   No file management, no GIMP...it's as simple as it can be.

I still have QA work on the code and will be testing it with real USB stucks here shortly and then will push it to some beta testers who will very probably find some issues.  But, I am pleased with the progress.

The white board of features for the new workstation upgrade only has a few items left and then we go to a more widespread beta test.  It will be great to get this code into production.

Other projects this week: Packing up Evolution crash data for the month of May; testing LibreOffice 3.6 with our documents and the new Corel Draw import filter; Testing Firefox 13 which came out today; looking over Java 1.7.4 and repercussions with web software that might have problems.

Wednesday, May 30, 2012

Happy 5th, Firefox And USB Progress

We were working on future budgets and were reminded again about the great savings obtained with running thin clients.  It was just about 5 years ago that our thin clients arrived and they are still working great.  We only have been losing maybe about 5 or so a year due to hardware failure since the 3 year warranty expired.   Right now it appears we can get another 5 years of duty.  $400 / 10 years for around a $40 dollar a year physical hardware desktop cost; and they still are very rarely touched by IT staff.  This architecture really does work and really does save lots of money.

We had a very odd situation where HTML 5 videos were only working for my user account and root.  I knew at that point it must have been some kind of file permissions issue.  After some poking around with strace, I found it in /tmp

drwx------    2 drichard drichard       4096 May 29 15:56 mozilla-media-cache

Out of the box, Firefox does not support multi-users with this cache.  The 'fix' is to do this in the script:

mkdir /tmp/$USER.mozilla 2> /dev/null
export TMPDIR=/tmp/$USER.mozilla

and this gives everyone their own private temporary folder and everything works now as expected.

I'm still working on the new thin client upgrade, and my area of focus right now is making the USB experience better for our users.  We have a situation where some users have full access to the USB sticks, but for many others we just want to give them upload capability only for pictures they have taken with cameras; there is no reason for them to be moving files off the server.   If I open the photo manager automatically, that forces people with full USB access to have another unwanted UI.  So now when users insert a USB device they are given a dialog which describes the two paths they can take and lets them pick (below).



Remember too that the files and USB stick are running locally on the thin client.  The GNOME desktop is not aware of the insert; so there are some nuances in that regard.  As the user performs the various functions, the files are moved to the server via the clipboard (copy/paste) or via FTP file transfer and Nautilus.

So the next improvement area is when to do a sync to the stick.  Those users using the photo manger and clipboard won't need it, but those using drop and drag will.  So I wrote quick little tray/notification applet that when activated does a sync and flushes the files.  When they pick "Full File Manager" they are given a dialog which indicates that the applet is going into the panel.


Nautilus does a great job of hiding the complexities of FTP; and generates nice thumbnails.  When they are finished they right-mouse on the applet and select "Save All Files And Prepare For Eject" and a sync is done.

One of the beautiful things about X/GTK and Linux is the transparency of where the software is running.  GNOME and avant-window-navigator are on the server in our computer room.  The USB notification applet is running on the thin client itself and it properly detects that it should sit into the panel.  If one of our users is performing this USB interaction and running Evolution, LibreOffice and Firefox they very well could be running software from 3 or 4 unique servers along with software running on their workstation and it's completely integrated together.   Next up will be improvements to the simple photo manager and clipboard application for those users that do not have full USB access rights.  This is building on the feedback of those that used the last iteration.

Other Projects: Trying to get some NX issues worked out, installing patches and testing.  LibreOffice 3.5.4 is out, will install that tonight from home and it contains 2 patches that affect us -- very nice to see how fast this software is advancing.

Tuesday, May 22, 2012

Support Portal Updates, Pictures Options And Other Updates

It's already been a busy week, but productive.  I have been hacking on the support portal to add more "actionable" events and cleaning up the UI.  There are still come spacing issues related to names that will be addressed.  But the support group can now see when users are clicking on icons to which they do not have a license.  After the user clicks on it three times in a row we are confident it wasn't accidental and now get a tile stating this fact.  The portal now also displays when users have changed some settings in Evolution that we do not want changed. (email checking less than 10 minute intervals).  We also can now see when a user monitor goes dark or blinks and they power off the thin client and log back in again.  People seem surprised/pleased that we can see these things and that they are contacted almost immediately.


I was doing some UI changes to the picture options UI that appears when you double-click on a photo and that now is live.  Centralized scripts are just a thing of beauty.  I always make the changes in another .py file, test with a few people hard coded and then comment us out and it immediately goes live.  Here is the script that launches the new UI and how the old one was turned off.  Right now I'm sending debugging information to /tmp and after a few days that will be turned off and the commented code removed.  Easy to roll back, easy to put into production, nothing destructive.


Here is the finished UI, similar to what I posted last week with a few small changes:

The reason for the Crop buttons becomes clear when you see the shot below.  Users on dual screens get this when they hit PrintScreen and the aspect ratio is terrible for printing on paper...and very often they want to print what is on 1/2 of the screen:


So they just hit the Crop button and the screen chops in half and is ready to save to their Desktop, print or place into the clipboard:


Another reason for the changes made to the UI is that I wanted to update the UI that appears when users insert USB sticks into their thin clients.  I'll post a more detailed blog about this issue when I am finished.  But in a nutshell all users have access to a simple photo manager that allows them to quickly remove a few photos from a digital camera or USB stick.  Those users with higher access levels can use a full file manager as you would expect from such devices.  I have started to modify this simple UI that trips when the thin clients detect USB insert.  I have built a basic Glade screen fashioned after the one on the main GNOME desktop server; it will mature and look much nicer when finished.  The design goal is to keep those huge megapixel images off the City network that are just bound for LibreOffice and Evolution.  Their higher quality is not needed. As I said, more detailed information will come in a few days.


Other projects: Still working on the new thin client build and making progress; updating LibreOffice to 3.5.3 tonight; very pleased with our drop in Evolution crashes on SLED 11 with the most recent patches--now it's time to figure out some of these deadlocks.