Friday, August 12, 2011

Google dramatically lowers usefulness of Google Groups: One can no longer add members directly

I manage a mailing list for my community.

Street representatives report new people or email address changes to me, and I add them to our community mailing list, so we can keep people informed of emergencies, changes to city services, community events, meetings. etc.

At least, that is how it used to work.

However, in their infinite lack of wisdom, Google have recently removed the ability to add members to a Google Group directly. One now has to 'invite' people.

What is so bad about this, from a usability perspective?
  • People just want to get emails, they do not care what system manages the list. However with the invitation mechanism, people have to associate themselves with Google in a formal way. Many people just don't want to do this. People have simply refused to join the list through the 'invitation' mechanism since Google has led them to set up an account.
  • Many invitation messages just go into people's junk folder, or are ignored as administrivia, even though people have actively given us their email address, and really do want to receive our messages.
  • Often I have a batch of emails to add, and I add them just before sending out an important message. Now I can't do that, since people may take many days to get around to accepting the invitation (if they accept it at all).
Google claims they did this as an 'improvement'. They say "based on feedback we have received from you; we hope they will improve your discussion experience". That is nonsense. We have absolutely never received any spam on the list. Furthermore, there were very string mechanisms already in place to stop abuse: You could only 'directly' add a few members at a time (something on the order of 30). And Google knows who you are, so if you send spam, you are in trouble. Furthermore, you had to have an account in good standing to manage a group and invite members, and as with all Google accounts, it has to be connected to another account (e.g. one provided by your ISP).

Perhaps there has been some abuse. I suppose in the old mechanism, a spammer might have been able to set up an account somewhere else in a false name, then create a Google account with the false account, and finally set up a group and laboriously, over many days, build up a list.. But it would have been utterly impossible to send any useful number of spams that way.

There are mechanisms for sending millions of spams; the old 'add directly' mechanism would have just not been worthwhile for serious spammers.

I think the change must have been prompted by one of the following:
  • Google may have been attempting to force people to create accounts so they can get them to use their services. Is it a coincidence that this change coincided with the introduction of Google Plus? (I will have more to say about that service in a future post).
  • Some isolated spam cases may have reached the attention of a few people at Google, with Google engineers or managers not realizing how the change would hurt so many other people (a classic example of inadequate usability analysis, and not considering unintended consequences).

I invite people at Google to contact me, and I urge them to restore this important function.

As companies get larger and more powerful, running roughshod over their customers in terms of usability has become ever more common. Google used to be top-notch in terms of usability, That is beginning to slip: Little details like this, with big consequences, are becoming more common. The same is true with Apple. I have posted several entries (such as this one and this one) about critical weaknesses in Apples' usability. There is no excuse for this in such large corporations.

Tuesday, August 9, 2011

My predictions for future smartphone technology

We've seen an incredible rise in smartphone technology in the last few years.

The most impressive advances in my opinion have been:

  • The precision of the touch screens. We have had touch screens on phones for many years. I used to use my Palm with my finger when I couldn't be bothered to get out the stylus. The difference in the last few years has been the ability to track finger movement with high precision and in real time.
  • The software. With my Palm of five years ago, there were some things I could do that I still can't do on my iPhone, but the overall experience of the latest generation of mobile OS's has been extraordinary
  • The integrated hardware: Bringing together a GPS, accelerometer, gyroscope, two cameras, digital signal processing, wifi with the ability to serve as a base station, bluetooth, high resolution screen and high speed CPU have provided incredible synergies and opportunities for software writers.

Lots of pundits are discussing what the iPhone 5 will bring to the iOS platform. However I am interested in predicting what will be integrated into mobile phones in five or ten years from now. Below are some of my predictions. Note that I am not mentioning very near-term capabilities like near-field communication (e.g. for payments) that we pretty-much know are coming.

1. Chemical sensors: There has been a lot of recent development towards small devices that can detect minute amounts of chemicals in the air. Devices that plug into the iPhone are already available (or see here and here).  My guess is that we will see these integrated into all high-end smartphones in 10 years, if not 5. Furthermore, I predict that they will have capabilities as good as a dog's before too long. Imagine the possibilities;

  • Smelling to detect dangerous chemicals in the environment and warning you and others.
  • Instant personal breathalyzer: Probably a few lives saved.
  • Diagnosis of diseases. Medical practitioners will be able to make hugely beneficial use of this, but so will ordinary people. Your phone could alert you about what kind of sickness you have, by analyzing your breath. Or it could warn you to stay away from others who might be contagious.
  • Telling you if food is bad
  • Recognizing flowers, perfumes and even people and animals by smell.
  • Telling you the humidity level
My feeling about the probability of iOS phones having such capabilities in 10 years? 60%

2. Pressure sensor / altimeter. These have been available on discrete GPS units for some years. Inevitably they will find their way into iOS and Android phones. They will be useful for navigation (GPS signals are much less accurate in the vertical dimension) but also warning of weather changes.

10 year-probability? 90%


3. Laser: This can be used as a pointing device, but it could have many more useful applications. It can be used to accurately measure distances (such devices are already carried around by real-estate agents to measure rooms). And as this article shows, it can also be used to add to the power of the chemical sensor I discussed above. It could also be used to aid in image stabilization in the camera.
10 year-probability? 75%

4. Broadcast Radio Reception, both FM and digital. It is a waste of bandwidth to send duplicate streams to everyone who wants to watch live events when there are broadcast signals available.  Some iPods already have FM radio; I would love this capability since I always feel a little guilty listening to CBC radio over the Internet (in terms of bandwidth) when there is a perfectly good over-the-air signal. In countries where there is a transition to digital radio, such as the UK, I think the devices will be able to receive such signals too, and perhaps even digital shortwave.
10 year-probability? 100%

5. Broadcast TV Reception: This naturally follows from the last point. This might be the saviour of broadcast TV. Once the tuner is in the phone, it can become a PVR as well. I think mobile TV will first appear on devices, but I also think they will be able to receive regular broadcast TV.
10 year-probability? 99%

6. Highly accurate voice-to-text and voice recognition. Voice-to-text on the iPhone is dreadful. My phone often tries to dial the wrong number. However inevitably this will improve, I think the ability for the phone to detect who is speaking (on the phone and its user) will also be integral, This gives rise to lots of security benefits: You could tell the phone to not respond or to send some form of alarm when an unrecognized user tries to use it.
10 year-accuracy? 98% correct text-to-speech.


7. Integration with cordless phones in the home. When I walk into my house, my phone should be able to connect to my landline as a cordless phone. Although many people are getting rid of landlines, they are still very beneficial from the perspective of avoiding the need for ever larger numbers of cell towers. They also provide a natural in-home conferencing ability. I think a future generation of DECT will be found on mobile phones, and when you buy a base station, you will either buy a few smartphones along with it as your remotes, or else just not bother and use your existing smartphones.

10 year-probability? 90%


8. A camera as good as any of today's mid-range SLRs: The advantages SLRs will retain are interchangeable lenses, a viewfinder, a large lens for low-light applications, and discrete controls facilitating ease of use. However, for pure available-anywhere picture-taking, phones will start to be used by professional photographers. Point-and-shoot cameras will disappear from the market.

10 year-probability? 95%

9. Integrated forbidden-action controls: A standard will be created whereby a business that wants to ban photography or an entertainment venue that wants to ban all kinds of recording as well as accidental sounds, will be able to set up a transmitter that will broadcast its requirements within the premises. Mobile devices will be programmed to obey these directives; it will be possible to scan devices upon entry to confirm to the proprietors that a device is compliant. Although there will always be people who oppose this, it will actually be good for most of us: I don't want a requirement to leave my phone at the front desk of a company, just because it has a camera. Hackers will take joy in overriding these controls, but for most people, they will make life simpler.

10 year-probability? 80%


10. Microscope / telescope: The continued ability to jam more pixels into camera sensors will lead to the ability to digitally zoom to ever greater levels. Combined with well-designed macro lenses, this could enable phones to serve both as microscopes (perhaps to 10x) and telescopes.

10 year-probability? 98%


11. Real-time facial recognition: We are seeing facial recognition rapidly invading out lives. Phones surely will be able to do it. If you forget who someone is, you could discretely point your phone at them (if you can figure out a way to do this discretely). I will have more posts about facial recognition in the near future.

10 year-probability? 99%


12. Integrated special-purpose chips specifically to boost artificial intelligence capabilities: These might be neural net chips or something similar. We have special-purpose graphics chips already, so I don't think this is too far-fetched. They could be used to boost voice-to-text, facial recognition, simultaneous translation, and many other things. I am going out on a limb on this one. Perhaps it won't be 10 years. We shall see.

10 year-probability? 50%


Check back at my blog as the years roll by to see  which of these are coming true.




Thursday, August 4, 2011

One massive software patent consortium: A solution to the patent wars?

In an earlier post today, I talked about the distinction between 'pure software' and 'hybrid' patents and a couple of weeks ago I called for other changes to software patentability.

However, making changes to the patent law is for the long term. Right now we are in the midst of a very hot patent war, with Google on one side and several companies, including Apple and Microsoft on the other.

Google is clearly feeling the heat. Many commentators have discussed Google's post yesterday in which it complained about Apple and Microsoft attacking Android through patents. They have pointed out that Google itself was willing to bid high for Nortel's patents; it was just that Apple and its consortium bid even higher. The BBC has one interesting article, and there is some interesting discussion on Slashdot about it.

It is clear that despite the negative consequences of the patent system, corporations desperately need a large patent portfolio to defend themselves against claims of infringement . You can't produce software of any complexity today, without necessarily stepping on patents. Apple and Microsoft did what they had to do until the law changes, or until the status quo changes in some other fundamental way.

If nothing changes, Google is absolutely right: Android will end up costing more and more due to the need for manufacturers to license all the patents. And patents will go ever higher in price due to bidding wars. Further still, some platforms will lack features because patent holders refuse to licence the patents, or the manufacturers can't afford to pay.

The solution is for all companies of significant size in the area to hold a summit and agree to form a universal patent consortium for all software related patents. Perhaps Apple, Microsoft, RIM and Ericsson (the group that bought the Nortel patents) could initiate this by inviting Google, IBM, Samsung, LG, HTC, Nokia and others to the table.

The rules of the consortium could be like this:

  • All software patents held by consortium members would be usable by all members at no cost. This would include pure software patents, and hybrid patents, as I described earlier.  
  • Small companies (e.g. below $10 million in revenues), educational institutions, governments and nonprofits would be able to use the patents, with no application process, as long as they did not sue any consortium member for infringement of software patents.
  • Any larger company would always be granted a license for any patent at reasonable cost, or else membership in the consortium as a whole, as long as they did not sue a anyone for software patent infringement. 
  • A company that joins the consortium would pay a reasonable fee that could be cash or patents in-kind.
  • Membership in the consortium would require an annual fee proportional to corporate revenues. However, this fee would be designed to be reduced over a period of 10 years to a level that would not be significant.
  • Since many consortium members have paid a lot of money for their existing portfolios, such members would be compensated over a the next decade by a proportional distribution of funds from the consortium. The funds would come from licensing patents to non-consortium members, membership fees in the consortium, or members joining, as described above.
  • All consortium members would have to agree to lobby for patent reform, such that software patents would not continue to be a burden on the industry. This would include pushing for legal changes that would eliminate or reduce the validity time of pure software patents.
  • Once legal change had been effected, and the consortium reached a critical size, such that the risk from non-members was minimal, members would agree to contribute future ideas to the consortium without actually patenting them. Just publishing the ideas formally would prevent others from patenting them. Members would still be compensated for contributing to this pool of published ideas, and indeed perhaps even non-members such as universities could be compensated for contributing to it.
  • Any consortium member sued by an outsider for infringement of a software patent would receive the support of all consortium members in fighting the suit.

My suggested rules as described above should have some of the following consequences:

  • Innovation would be fostered in several ways: People would be free to put together ideas involving lots of patented components in innovative ways, without risk of being sued, and would receive benefit from contributing additional IP to the pool.
  • The price war for patents would be eliminated eventually, reducing the costs of doing business, and hence the end costs to consumers.
  • Patent troll companies would be forced out of existence, since the value of their patents would decrease, and they would have a formidable opponent if they chose to sue anyone. They would be better off just joining the consortium.

Pure software patents vs. hybrid patents, and the ethical dilemma if one is opposed to software patents


Overall I am opposed to 'pure software' patents. In many jurisdictions, as I understand it, in the wording of its claims a patent has to 'pretend' that it is a hardware patent by having a key claim that incorporates the notion of 'system' or 'processor' on which to run the software. Otherwise, so the theory goes, it is just an algorithm, which are not patentable. This is bogus. In my mind, any claim for a patent where the invention could be run on hardware that is in todays world 'generic', should just be called a 'pure software' patent. The patent offices and lawyers should dispense with the ridiculous need to cite the 'data processing equipment' that it runs on in the patent wording. Pure software patents, as I have defined them are just disguised algorithm patents.

There are, however some true legitimate hybrid hardware-software patents. These are the ones in which the software interacts with novel electronics, such as new forms of touch screen, air interfaces for mobile devices, new cameras, new sensory devices, etc. I think that patents for these should be for a shorter number of years (as discussed in my previous post) if they are mostly software, and for the standard 20 years if they are mostly hardware. However, I think that any patent with a substantial software component should have a compulsory licensing provision.

I myself am the co-inventor (along with some former graduate students, and others) on a 2008 patent application describing the ability to wind back in time the changes to a document being edited, in an animated manner. This has not yet issued as an actual patent. It turns out it is a 'pure software' patent application, as I have described above. One of the claims includes the supposedly required wording, "a processor for processing computer program instructions."

The patent application arose out of my work with IBM. If the patent is issued, I will recieve no royalties, only a line on my CV. This is because IBM funded the research and have gone to the enormous expense of filing the patent.

Given my beliefs about software patents, however, should I have refused to be listed as an inventor and have refused to help formulate the wording of the patent? That is a thorny ethical question.

Here are some arguments against my participation in the patent application:
  • Perhaps I am selling my soul to the devil? Is this not the same as if 200 years ago I had participated in slavery because it was the only way to get business done? Is it not the same as if today I backed a patent on a new way to make an addictive product, or a technology that I knew would damage the environment?
  • Surely one must stick up for one's principles. 
Here are the arguments in favour of my participation in the patent:
  • The current legal and business environment makes patents critical to success in high technology. Without patents, one can be put out of business by a competitor who happens to have them, or by a patent troll. This can only change when the law changes.
  • Getting research done in todays world requires working with companies who can fund the research. One of the major impetuses for companies to fund research is the potential for patents that might arise.
  • I could have removed my name, but the patent application would have gone forward anyway.
  • Someone else might have filed for the same invention. As it stood, the law in the US was, and I believe still is, 'first to file'. It is perhaps better that the patent is filed, and openly disclosed, by a prominent company like IBM that has a history of licensing patents, than by a patent troll company.
  • The comparison with 'participation in slavery' or 'participation in damage to health and environment' is bogus because it is business, innovation and economic progress that stand to be hurt by the patent situation, not individual people or the environment.
I think, on balance, I made the right decision. I invite comments on this post with your perspectives.

It will be interesting to see if the patent I discussed above actually issues. I will have further comments on it if and when it does (or does not).

Later today I will have another post on patents, discussing the hot war currently going on with Google and others.

Wednesday, July 27, 2011

Adapting to Mac OS X Lion 4: Usability of the new features

This is my fourth and final post about my adaptation to Mac OS X Lion. The other three are about scrolling direction, dealing with apps and careful backup when installing.

Apple has made a list of over 250 changes to Mac OS X. It is worth a read, since without seeing this list, you might not notice most of the changes. The following is my opinion about the usability of the most important changes a typical user will notice and/or be able to make use of right away.

Mission Control: This unifies what used to be called 'spaces' and dashboard. It is accessed by swiping four fingers up (or using a dock item). Switching spaces without entering mission control is accessed by swiping four fingers left or right. Overall I think this has been implemented very well. My only gripe is that I would have liked it if the ability to arrange spaces in a 2-D grid were available; they can only be arranged linearly. Overall race of this change: A

Full screen applications: Web browsers have had the ability to operate in full screen mode for some time, as has Microsoft Powerpoint and a few other apps. All this so-called new feature really does is two things: It unifies full-screen apps with Mission Control/Spaces (see above), and provides a unified API so apps can all do full-screen apps consistently. Unfortunately full screen apps don't yet do the nice things that Powerpoint does when you have two monitors, and there are reports of Powerpoint crashing. Also it does not yet play nicely with Lion's implementation – for example it does not place itself into a separate 'space' when full screen is invoked. Very few apps can currently run using Lion's full-screen capability since they need to be updated. Aside from making presentations, full-screen apps makes sense on tiny iOS screens, but not on large Mac screens. I think therefore that most developers will not or should not bother implementing this capability.  Overall grade of this change: B-

LaunchPad: This is the feature that brings an iOS-like list of all your applications to the front. I find it to be very well designed and non-intrusive. Launching apps from LauchPad is much faster than navigating to the Applications folder in Finder, scrolling through the list, and clicking on an app. It can be accessed from the dock, or using a gesture that involves three-fingers and the thumb, which I found easy to master. Some reviewers have panned this as unnecessary, but I think it is a welcome improvement:  Overall grade of this change: A

General system UI changes: The new multitouch gestures for doing things such as rotating, entering mission control etc. seem to be relatively easy to master. As I mentioned in an earlier post, I don't like the reversal of the scrolling direction of the two-finger gesture, but this is easily reversed. I also don't like making scroll bars optional, but again these can be brought back. Finally, I don't like the loss of the 'aqua' look that has been part of OS X since the beginning. Overall grade of these changes: C+

Changes to Finder: The most visible change in Finder is the grey colour, lack of icons and unnecessarily large font in the sidebar. These are negative changes. There is also an 'All my files' entry. This would seem to be useful only to a tiny fraction of users who hardly have any files; most users will simply want to get rid of this option. The ability to save searches is gone, although I think relatively few people used this. Overall grade of the changes: D

Changes in Time Machine: Time machine will now back up changes on your laptop while you are away from your main Time Machine backup disk. This is an excellent improvement, probably worth the entire cost of Lion itself. It won't save you if your computer is stolen or damaged, but it will be of great benefit if you delete a file, or make an unintended change. For people like me who bring their laptop wherever they go and leave their Time Machine disk in one place (home or work) it means that you now have hourly backups wherever you are. I do have one gripe: Although Time Machine does make backups hourly (to the local disk) when away from the external disk, if you click 'Back up now' it insists on looking for the external disk. This makes no sense; it should simply back up locally. Overall grade of these changes: A

Changes to Mail: The most noticeable change in Mail is the threading of conversations. Apple has done a particularly nice job of this. Related messages are grouped together as a single item, but you can ungroup them easily using the right-arrow key, and regroup them using the left-arrow key. Overall grade of the changes: A

Changes to iCal, the calendaring application: The visual appearance has taken a distinct turn for the worse. The 'leather and torn page' look is ugly. And in month view, the colours are too washed out. An outstanding critical bug that I reported a long time ago has been fixed: You don't get stuck in an inescapable dialog when trying to edit an event to which you were invited. But you still can't edit such events properly: You can change the calendar and alerts, but you can't add notes, change the location etc once you have accepted the invitation. ICal does add a 'year' view that shows a 'heat map' of your availability. It remains to be seen how useful this is, since it doesn't respect whether one is 'busy' or 'free'.  Overall grade of changes: C+

Changes to Address Book: The main change to the Address Book app is that it now looks like a physical book and only two of its three main panes are visible at a time (list of groups, alphabetical list, details of a contact). This is strictly form over function; there is nothing positive to redeem the changes. Overall grade of changes: F.

Restoring of open files apps when you restart apps: This seems to work for all files. In Microsoft Office, for example, each open file is re-opened. I am not actually sure that this will prove useful universally; sometimes you want to quit an app just to close all the pesky windows. But it is useful in certain contexts, such as accidental quitting. This feature works best in apps that are built for it, and which also have auto-saving (discussed next) such as Preview. You can be in the middle of editing a file (e.g. cropping a photo) and you can quit. WHen you resume the app, your editing is exactly at the state where you left it. I think that what this feature needs is an ability, after you relaunch, to say 'no, I didn't want everything reopened'. Overall grade of these changes: A-

Autosave and versions: This is an excellent pair of features, banishing lost work to the history books (barring a disk crash). I am surprised how long it has taken versions to come to the Mac; I remember using versions on an old VAX machine in the 1990's. The feature only works, for now, in Apple's own apps, since vendors have to change their apps to make it work for them. I think many will, but it will take time. For people who have not paid money for Apple's Numbers or Pages, you can try the features out in Preview, by editing a pdf or jpg file. It works very nicely. When you ask to revert o an older version, it takes you into an interface that is essentially that of Time Machine. Overall grade for these changes: A+ 

Conclusions

Lion is well worth the price: The improvements to Time machine and Mail, as well as the Mission Control and LaunchPad features are each very valuable. Apps such as Address Book have only negative changes, but they are not so bad as to ruin the overall experience. Overall grade for Lion: A-

The only reasons not to upgrade to lion would be:

  • You have PowerPC applications that are mission critical, with no replacement. I think it was both unnecessary and unfortunate for Apple to abandon support of their incredible Rosetta capability for running older apps. Apple is one of the biggest companies in the world; I think the costs of supporting older apps for many more years would have been insignificant. Their motivation must have been to force developers and consumers to upgrade and keep the Apple experience advancing ever forward. But lots of people will be left behind.
  • You have an older machine or not enough disk space. It is interesting to note that I now have about 10% more files in my overall system than before the upgrade.

If Apple is anticipating that developers will jump on autosave, versions, and full screen quickly, I think they will be disappointed. Developers will want to be able to sell to Snow Leopard users who are stuck with no upgrade path, due to lack of Rosetta. Many developers will therefore wait a year or longer before incorporating the new APIs.

The next major change to Mac Os is the upcoming iCloud capability. I will blog more about that when its details become clearer.

Adapting to Mac OS X Lion 3: Being extra careful when upgrading

I wonder how many people have upgraded an operating system only to either have a major failure trash their disk, or else to find that critical applications do not work. One can find people with such war stories no matter what the operating system. Upgrading Mac OS tends to be relatively painless for most people, but one can search the web and find plenty of people who had bad experiences. Sometimes, they even have reported going back to Snow Leopard. I think some people do this unnecessarily: Lion speeds up after a few hours, and most application issues can be resolved.

I set out to be very careful when converting to Lion. In this post I explain the precautions I took, and how the upgrade worked out. This is my third post on my conversion to Lion, my first two posts are here (on my dislike for 'natural' scrolling) and here (on issues with apps).

As I explained in an earlier post, I am meticulous about backing up my Mac on a daily basis. I use Time Machine when at home, and also maintain a bootable copy of my main disk with SuperDuper, both at home and at work. I update these using 'Smart Copy' after every OS update or major application update.

Before upgrading to Lion, I took several extra steps:

1. Testing the backups: I actually booted off my SuperDuper partitions and tested the system for a few minutes. There is no point having a backup that turns out not to work.

2. Separate backups of cloud-synced data: I made separate backups of certain key data. In particular, I backed up all my calendars in iCal by exporting them to .ics files; I also exported all the contacts from Address Book. Why? I have had bad experiences with cloud-based storage. I will post on this in more detail at a later date, but the short answer is this: If anything goes wrong with the cloud-based syncing of your data, the cloud could lose its data and sync empty data back to your computer, wiping it out. This actually happened to me during an update to MobileMe last fall. Luckily I had backed up my calendars and could quickly reinstall them. Time machine and SuperDuper backups are not so simple to use for this type of restore process.

3. Keeping a permanent Snow Leopard partition: I made an extra partition on my external disk at work and created yet another bootable copy of my entire disk. However I called this 'Snow Leopard'. My intent is that I will never update it to Lion. I will keep it around for a year or two in case I ever need to run an app that turns out not to run in Lion. I will, however boot into it whenever Snow Leopard security updates are issues, and also to periodically update  Norton Anti Virus definitions on it. To make the partition I used iPartition. Once again, I tested this backup by booting into it.

An important point about making my Snow Leopard partition: Before creating it, I went to the MobileMe systems preference panel and set it to sync manually. Why? Because whenever in the future I might temporarily boot from this partition, I don't want the computer to spend an age syncing my calendar, address book and so on. This can actually be a major problem when accessing an old backup.

4. Saving the installer: After downloading Lion from the Mac OS App Store I did not press 'Continue'. Before doing this I went into the Applications folder and copied the 'Install Mac OS X Lion' to my backup disk. That way, if I ever have to reinstall from my backup, I don't have to download the 3.6GB installer again.

I actually had a small scare while downloading Lion. I lost network connection briefly when the installer was almost completely downloaded (unplugged the cable - my mistake). A message was displayed saying that the App Store app could not connect to the store. I clicked on the download button again, expecting the download process to have to start again from scratch, but it just picked up where it left off. Very nice.

The installation went without incident; it took a little longer than it 'advertised', Expect 10 minutes more than the installer promises.

After the installation I tested all my apps and dealt with a few issues discussed in my previous post. Lion ran extremely slowly for the first few hours while Spotlight indexed the disk. After that was complete, I  backed up the latest installation to my SuperDuper partitions (except the Snow Leopard one).

In my next post I will discuss my opinion about the usability of new Lion features.

Adapting to Mac OS X Lion 2: Dealing with applications

This is my second post on my adaptation to Mac OS X Lion. In my previous post I explained that I think the 'natural' scrolling direction is inferior.

In this series of posts post I will discuss what I did to actually make the move, and some issues I experienced. This post is about applications

I knew that applications designed for the PowerPC architecture would not work in Lion, and other applications had 'issues'  so I went through every application to see if it had an available update or if I could obtain a replacement with similar functionality. The nicest apps were those from the app store, where the app store itself installs any updates. Many other apps had 'Check for updates' items in their top menu or help menu. Still others automatically updated themselves.

I ended up updating or replacing well over half of my third-party applications. This included those I use very frequently, such as BBEdit, TN3270 (an application for accessing traditional IBM mainframe apps that is far better than most similar apps available on Windows by the way).

In the end I only ended up discarding a two significant apps:

  • My main vector graphics app for many years had been Freehand MX. This is just not supported any more. I liked this for its ability to edit EPS documents. I shopped around for a replacement and eventually settled on Intaglio. My reasons for selecting this included its ability to edit pdf and EPS files, and also the fact that it has a version for the iPad. Its ability to edit EPS isn't quite as good as Freehand was, you have to 'convert' the EPS during or after opening and the subtle aspects of the diagram will end up being a little different, but in general it allows me to continue to maintain my inventory of diagrams, such as those used in my book.
  • Finale PrintMusic. This was a nice application for composing sheet music that I paid good money for, but rarely used. I elected not to upgrade, since the cost is greater than the value I receive for my infrequent use. This is one of the reasons why I think applications should be cheap or have a pay-per-use option.

I had read that the Cisco VPN app does not work any more. So while still in Show Leopard, I converted to Apples's superior VPN technology that is built into the Network control panel. Now there is a VPN icon in my menu bar at all times. Very nice.

A good place to look for information on app compatibility in Lion is Roaring Apps.

I was in trepidation that a few applications that I rely on might not work. I an very fond of 'HotApp', which provides keyboard shortcuts for numerous actions I do. It had not been updated in years (the developer's site doesn't even exist any more). I was happy that it worked flawlessly after converting to Lion. There are alternatives, but I have a vast number of shortcuts set up, and did not want to have to go through the work of re-creating them. Another app thatI use extensively, but which has not been updated is Savvy Clipboard; it also worked without problems.

I was not able to upgrade Xcode until after converting to Lion; Apple explicitly required converting to Lion first. I then obtained it from the App store.

After conversion to Lion, I had intermittent trouble with several applications:

Firefox: In several web pages, pages did not render correctly; it appeared that certain javascript scripts were not executing. However, a day later, the problems went away. I have no idea why. My advice to others is to be patient. However, by that time I had already changed my default Browser to Safari (which I had never done before). I think I will stick with Safari for a while at least.

Microsoft Office 2011: Office ran extremely slowly during the early hours after converting to Lion, while the operating system was indexing the disk so Spotlight would work. Other apps ran a little slower, but Office was a dog. Word hung and had to be restarted. I had to quit and restart Excel several times. Even 24 hours later Excel sometimes 'loses' its windows. This has actually been a problem in Excel in Snow Leopard, but it seems worse in Lion. In Snow Leopard I could 'zoom' a disappeared window to retrieve it; this method does not appear to work now. It seems that Microsoft will have to make some changes to mesh better with Lion's multi-desktop and multi-screen APIs.

GEDitCOM II: This is my Genealogy app. It failed to open so I searched the web for a solution. The secret is to go to one's ~/Library directory, delete the 'Icons' directory, reboot and empty the trash. After this the program worked just fine. However getting intto the '~/Library' proved to be a problem: It is hidden by default. I chose to go to 'Terminal' and execute 'chflags nohidden ~/Library'. You can also make open it on a one-time basis by using the 'Go' command in the finder.

In my next post, I will discuss the approach I used to back up, just in case something went wrong, and my actual conversion experience.

Adapting to Mac OS X Lion 1: Reasons why 'natural' two-finger scrolling may be inferior

I just completed the switch to Mac OS X Lion. In this and the next few posts, I will give some of my experiences and some tips.

One of the biggest UI changes in Lion is that the two-finger scrolling gesture on the track pad now defaults to a mode that Apple calls the 'natural' direction. It operates as if you are physically touching the screen; pushing in a given direction makes the media move in that direction. People report that it takes a day or so to adapt to this from the 'traditional' mode, which is the inverse. I gave up after half a day and turned off the 'natural' mode in the Trackpad section of System Preferences.

Here are the reasons that I think 'natural' is not the best mode for the two-finger swipe gesture, and why I prefer the traditional scrolling mode.

1. The traditional mode matches cursor movement: Using the text cursor, one still uses the 'down' key to move down the document, which results in the document 'scrolling up'. I often go from keyboard to touch-gesture, and find it actually more natural to maintain the same sense of movement in both modalities (i.e. down gestures push the media up so you can see more of what is actually 'down'). Similarly, when one moves the arrow cursor down to the bottom of many panes while dragging something from one place to another, it causes the panes to start to scroll up (and vice versa).. This occurs, for example, when trying to drop an item into a list, where the destination point of the drop is further 'down' in the document than what is visible.

2. The traditional mode meshes with the use of scrollbars. Using the scrollbar, one still drags the scrollbar down to move the contents of the document up. Again, doing the same thing with the two-finger trackpad gesture seems easier. Mac-OS Lion has tried to banish scrollbars too, but they are essential for very large documents. I opted to keep them visible at all times.

3. The trackpad is abstract: I would agree that 'natural' would be truly natural if you were physically touching something on the screen and the movement of the finger actually matched the movement of the object under the finger. But the trackpad is an abstract entity; distance on the trackpad doesn't match distance on the screen for example. The trackpad is just as abstract as a mouse, a scrollbar or a joystick.

4. Ergonomics: When perusing many long documents, one has to scroll a lot. Pulling fingers inward, in  a two-finger 'beckoning' gesture, which is the 'traditional' mode, seems much easier on the muscles than the 'natural mode'. This is true even on touch screen phones, where the natural mode is the only one available. This is why I much prefer 'tilt scrolling' for reading.

5. Clearly easy to learn: People have for years had no trouble adapting to what Lion considers unnatural. It can't therefore be that unnatural.

I am fine with people adopting the scrolling mode that Apple has decided should be the default, but I think many, if not most, users should seriously consider reverting to the traditional direction.

I will have other posts on Lion in the near future.

Tuesday, July 19, 2011

Patent wars in software: A call for some reasonableness

The idea behind patents is to protect inventors from having their ideas immediately copied by others. This is supposed to serve as an incentive for people to innovate, and to put their ideas into practice without fear that their efforts will be wasted.

It has worked well over the centuries to ensure that inventors of things like the telephone have an opportunity to market their products. Research, development,and building a company to develop the market is expensive; if Alexander Graham Bell had not had been able to patent the telephone, he might have had little incentive to develop it to start with, or alternatively lots of little companies might have sprung up putting him out of business. Business savvy rather than inventive savvy would have won.

In today's world, we hear about patents most often in two domains. The first is biotechnology, where companies spend hundreds of millions developing, testing and seeking approval of drugs. It seems absolutely certain that without patent protection, they would have no way to do this.

The other area is software: There have been many articles in the news about Apple, Microsoft, Google and the manufacturers of Android phones tussling over patents. Not all of these are software patents; a few relate to the hardware of phones, but a substantial number are primarily related to software.

It is being suggested that the whole Android platform might be in jeopardy due to  patents. Microsoft is supposedly enjoying more revenue from Android (due to licensing of Microsoft's patents) than from Microsoft's own mobile platform. Apple is poised to bring in a lot of revenue from Android too. Together these companies could  raise the cost of Android phones to a level where Android manufacturers just can't compete. It won't help innovation to put the Android platform out of business solely as a result of a patent war.

The problem with software is that is is incredibly easy to 'reinvent' ideas that others have patented. This is because the vast numbers of developers out there can each churn out tens of thousands of lines of code a year, and many dozen user interfaces. Developers have to be extremely wary of accidentally violating a patent, yet most have no way to verify whether their 'inventions' violate patents. This is because there are so many, because they are hard to read, and because there is a delay before they are 'laid open' for public viewing.

Some suggest that software patents are just as important for innovation as hardware patents. But is this really true? If Apple (to take an example) had not received a patent on core aspects of their iOS user interface, would Apple not have produced that interface? I think they would have. Such patents however still seem somewhat fair: It certainly seems that a company should receive some market head-start from developing a truly new software concept. However in my mind there are two key changes that are needed:

1. The concept of what is truly new needs to be changed in the software arena: Patentable inventions are supposed to exclude ideas that those with normal skill would have been able to come up with create to solve a given problem. This needs to be reinforced for software. Patent offices need to search extensively through open source software, commercial software (that they would have to license) and academic research in order to see if others that have come up with the same idea or something close. Currently most patent examination for prior art focuses on other patents. I also think that all software patents should be subjected to open and systematic peer review to test their true originality.

2. Software patents should be open for public scrutiny the moment they are filed.

3. The period of protection needs to be shortened. Four years from the time of issue should be enough.

4. Licensing should be mandatory after a certain number of years (e.g. 2 years) have passed.

I think points 1 and 2 would exclude most patents to start with, and points 3 and 4 would reduce their impact. 

Here's another excellent article on this topic.

Sunday, July 3, 2011

Wood smoke pollution: a serious and growing problem in many Canadian communities

The following is an updated re-post of a 'blog' entry I first created years ago. At that time I posted my entries to my university website. Rather than continue to update those posts, I thought it best to transfer them here. I will do the same for several other posts in the coming days. The original post is here. 

More and more neighbourhoods in Canada suffer from pollution due to wood-burning fireplaces or stoves. Normally people burning wood are not aware of the negative impact. They may even think they are being environmentally conscious by burning wood.
          
However, wood is far from benign; the particulates and other components of wood smoke generally cause more harm than emissions from other heating sources, especially with certain types of installations and if the wood is not very dry hardwood.

The following references provide lots of information about this topic:
  • The Canadian Lung Association. They say: "Wood smoke exposure can disrupt the cellular membranes, depress immune system activity, damage the layer of cells that protect and cleanse the airways, and disrupt enzyme levels. The health effects of wood smoke exposure include increased respiratory symptoms, increased hospital admissions for lower respiratory infections, exacerbation of asthma, and decreased breathing ability." They also provide an extensive list of advice, including a pdf file of a model municipal bylaw, originally produced by Environment Canada.
  • The Canadian Clean Air Alliance. They have a petition you can sign to ban wood burning.
  • Environment Canada
  • Health Canada 
  • Burning Issues, a non-profit group that focuses on the wood smoke problem
  • Update: Woodburnersmoke. Another excellent site with numerous resources. The sites owner had to fight in court to deal with a problem neighbour.
  • From the Government of British Columbia
  • City of Kelowna BC
  • News report of severe problems suffered in Quebec from wood stoves
  • From WoodHeat.org. Their key advice is to use seasoned wood, the latest technology and have a chimney that rises straight up, inside the house. My observation is that if you need to burn wood, these are the key pieces of advice. In particular, the kinds of stoves that just push the chimney out the side wall are the worst.
  • Australian EPA
  • New South Wales, Australia
As the references indicate, wood burning may cause more pollution in a city than vehicles. Even one family burning wood in a neighbourhood can cause health symptoms for people downwind. You may know someone who has mentioned that their eyes water or their throat stings when they go out for a walk or run on a winter's night. This may be caused by improper wood burning. Some of the pollution is undoubtedly making its way inside homes as well.

In addition to the pollution problem, wood burning fireplaces and stoves vent a large amount of warm air from inside your home. If you are using one to try to reduce your heating bill, you may find that it doesn't have the desired effect.

If you decide to continue burning wood, please consider the following:
  • Do you only burn very dry (old) hardwood? ? It is best if wood has been split and left to dry under a shelter for an entire year.
  • Do you make sure your fireplace or stove burns at the right temperature and with the right ventilation to reduce harmful emissions? (see the above references for details about this)
  • Is smoke carried up and away by a tall chimney?
  • Have you considered replacing your fireplace with a natural-gas insert that looks like a fireplace? (These give the ambiance of a wood fireplace, without sucking warm air out of the home)
  • Have you walked around your community from time to time while you are burning your wood to ensure you cannot smell your fireplace or stove? Have you asked your neighbours down-wind whether your wood smoke ever bothers them?
Improper wood burning may also cause fires. In Sandy Hill, Ottawa, where we used to live, a family started burning freshly delivered wood one autumn. A few months later they had a chimney fire caused by the creosote buildup.

While enjoying the warmth of our fireplaces in Canada's winters, let's all make the best decisions for our safety and the health of our community.

Saturday, July 2, 2011

On environment, finite resources, and the inevitable cessation of economic growth

The following is an updated re-post of a 'blog' entry I first created in the mid 1990's before blogging became really popular. At that time I posted my entries to my university website. Rather than continue to update those posts, I thought it best to transfer them here. I am doing same for several other posts at the beginning of July 2011. The original post is here.

We have our heads in the sand regarding the environment. Whenever people point out problems such as pollution, destruction of forests etc., the response from many people is: We have muddled by so far, and we have to make sure that the economy keeps growing, so the environment should not be a big concern. The response from typical politicians is much the same. However, they might add: "we will study the problem -- we will do something when we have proof that damage has occurred".

But do we want to wait for irreparable damage to occur before doing something? This is like the proverbial ostrich with its head in the sand, waiting until the predator starts eating it before it admits there is a problem.

On economic growth and globalization: I am in favour of these! If economic growth comes because we are becoming more productive, and if globalization means that freer trade redistributes wealth better and reduces regional disparaties, then these are good things. What irks me is that the perpetual political debate is between those who care about the environment and hate globalization, and those who care about economic growth and think there is no environmental problem. Unfortunately, there is little place in the middle for people like myself. Business leaders have a responsibility to increase shareholder value, so they will naturally be drawn to the second camp, even if they do feel a sense of environmental responsibility. On the other hand, an environmentalist who claims to favour globalization may be ostracized by his peers! The only solution is strong political leaders who can promote globalization, with tough rules attached to it for the protection of the environment (and to prevent exploitation of people too).

Economic growth cannot continue forever at the rates we have grown accustomed to. It can only continue if productivity increases or the population increases. The population cannot grow beyond a certain level, and productivity increases are likely to get smaller and smaller. Unfortunately, we measure economic growth as a percent of increase, which implies exponential growth (with a small exponent). It would make more sense for us to strive for a stable, steady-state and sustainable economy. We should define recession as a significant drop in output, not any drop.

A few final words about this: It should be obvious to people that resources are finite. We will run out of oil and other fossil fuels. We will run out of cheap oil relatively soon. We will also run out of all other non-renewable resources. And we will run into increasing environmental problems through short-term thinking. Although business leaders are forced by economics to think only about the short-term effects of what they do, politicians must take a longer term view. Unfortunately, most politicians seem utterly unaware that a bad environment will affect every aspect of our lives (including business), and that the environment will only get worse unless they educate themselves about the science and economic issues, and then take bold action.

Friday, July 1, 2011

Elementary education in reading and writing: Canadian schools need to improve their methods

The following is an updated re-post of a 'blog' entry I first created in the mid 1990's before blogging became really popular. At that time I posted my entries to my university website. Rather than continue to update those posts, I thought it best to transfer them here. I will do the same for several other posts in the coming days. The original post is here.

The public issue that I been interested in for probably the longest time is elementary education. Frankly I think that we are wasting future opportunities by not adequately educating our children how to read and write well in the early grades, here in North America.

My opinions hae been moulded via several influences:
  • I compare the education in Europe to that in North America, including
  • my own experiences in both systems.
  • I observe how youth are educated today (I have three children).
    I observe the arrival in university of those who are the product of
    the educational system.
  • I look at how we have to shape higher education to make up for the deficits of elementary education.
For me,  the biggest problem is that students are not stimulated enough in their elementary years. They read far too little (there is no reason why they should not be reading numerous books by the time they
are in grade 4).  And they do even less writing: They should be writing essays and lengthy pieces of fiction three to four years before they currently do.

I intend to post more about this topic as I encounter additional evidence and ideas. I will use the Elementary Education tag.

People say that we have too many things to teach our children, and that this is the root of the problem. I say rubbish! If we teach children to read and write well, we will maintain their natural yearning for knowledge. They will learn on their own, and will pick up what they are taught later
much faster.

What we do now is teach them lots of little facts in the early years – most of which they forget. Reading and writing, however, are skills that are never forgotten.

I don't want to diss elementary education entirely: I have been very impressed by the teaching skills of some of the teachers who have taught my children. However, my oldest child (and other children in her class) has progressed in reading and writing much more slowly than I did at the same age. She has been at the 'I can read because I can guess or memorize what it says' stage for a year-and-a-half. I remember lots and lots more individualized drills, plenty of gentle correction, and then the rapidly increasing joy of being able to read simple books, all when I was five. I have very, very vivid and detailed memories of this, right down to some individual books and words I learned, and where I was when I learned them.

To some extent, my wife and I are taking matters into our own hands regarding reading and writing. We know other enlightened parents do too. I think, however, that the educational system needs to wake up and realize that getting kids going early and more effectively on reading and writing will set them up for life. When I was a kid in Europe, the teaching methods in school were enough; my parents didn't need to do much more than read to me.

Thursday, June 30, 2011

The benefits of value-added taxes like the HST, and the folly of referendums on taxes

I really hope the referendum on the HST in British Columbia ends up with a decision to keep the tax.

The Globe and Mail reports on a study by the C.D. Howe Institute that shows the HST has resulted in a better environment for business (and hence employment) while not affecting consumers negatively.

It is clear to anyone who understands the economic principles involved, that value-added taxes are far more efficient than 'flat' sales taxes that tax the entire sales price multiple times. A VAT taxes just the increase in value, and allows exporters to export without having foreign consumers indirectly pay taxes to support Canadian government services. Such taxes therefore help support jobs in Canada.

Also harmonizing the GST and PST will cut red tape and simplify things for business and consumers alike. Surely a win-win.

Putting a complex economic issue to a referendum, as was done in British Columbia, is just plain silly. The 'opposers' who forced it are populists who have an axe to grind and don't understand economics. The problem really lies with the original legislation that allowed such matters to be taken to a referendum via a petition.

I am glad I don't live in BC: The Vancouver riots and the high cost of real-estate give a negative impression, but this kind of "nonsense-onomics" will just add to my feeling that I would never want to live there. Too bad; it's a beautiful province.

Wednesday, June 29, 2011

Usability Blooper: Microsoft Excel claims it can't find things when multiple cells are selected

This blooper has been annoying me for many years. I would have thought that Microsoft would have fixed it, since it is so obvious, but it has persisted from version to version. In the following it I am using Excel 2011 for Macintosh (any version).

Enter a spreadsheet such as the one shown below, and select more than one cell. I have selected 'Dog' and 'Cow' (two cells in total).

 

Then use any method of invoking the 'find' command to search for something outside the selection. For example, 'Cat'. Your search method could involve typing in the search box at the top, or using command-F to bring up the 'Find' dialog box.

No matter how you invoke the find command, the result is the following absurd modal dialogue:






What? Excel can't find it? The exact word is in an adjoining cell!

Of course, the experts among you will say: Excel searches only within the selection, when more than one cell is selected. But this is just not usable:
  • Beginners will not know this somewhat-arcane rule.
  • Users often invoke search when the selected cells are not visible (the user has scrolled the sheet) and  doesn't know how many cells are selected.
  • Even an expert might think that one cell is selected, and make a wrong decision when they see the error message.
  • The error message gives the user false assistance. It suggests re-typing. But the user will get the same response!
A more usable solution would be to:
  • Tell the user the response was not found in the selected cells, but that there is a result somewhere else (if there is) and ask if the user wants to search the entire sheet.
  • Not use a modal dialog in any case. The error message should appear non-modally without the user having to 'OK' it to proceed. The user should be free, for example, to immediately type some other search term, or execute any other command.