Wednesday, August 31, 2011

Helium: Of incredible value for the future, yet in short supply - Don't use for party balloons

One thing the public seems completely oblivious of is the situation regarding helium. Currently, we are experiencing a supply shortage, and although suppliers may be able to increase output somewhat, it is a rapidly depleting resource. Supplies will ratchet down rapidly over time.

Certainly, I suggest that everybody seriously consider not wasting helium on party balloons. As a matter of principle, my family have strictly avoided using helium in such a wasteful manner.

At one time Helium was produced as a byproduct of the nuclear weapons industry. Today it comes from certain natural gas deposits. However, they are projected to run dry in the coming decades.

We have all heard of shortages of resources that will in time cause problems for our civilization. Oil and other fossil fuels are one problem; we all hope renewable energy will replace them by the time they run out (i.e. the remaining supplies become excessively expensive).  Metals are another problem: Mines are running out. We all hope that recycling and advanced materials will solve that problem.

The trouble with helium though is that it is small and light. It leaks out of all but the most elaborate, and hence expensive, containers. And when it leaks, it goes up, to the top of the atmosphere, where recovery would seem essentially impossible. It can't be collected in recycling depots like junk metal or electronics, and can't be manufactured (since it is an element) other than through nuclear reactions. We have a small supply so it is absolutely critical not to squander it.

I was aware of the shortage from reading articles over the past decade, however it really hit home this past summer when we received a bulletin at the university telling us that our contractual supply of helium for scientific work likely could not be met.

Helium is needed in various industries. It used in extreme cooling, and hence in modern medical devices like MRI machines. It is hard to cool things as low as helium can. It is used in radiation detection, hence is important for nuclear securityIt is also used in other areas of medicine. And in the future it may extremely valuable as a fusion fuel. Our decedents will curse us if we have wasted it all. We should be thinking in terms of the supply needed for centuries or millennia. The current shortage is nothing compared to what is to come.

Here is a very interesting article at Wired on the Helium shortage. It points out that there is likely a plentiful supply on the moon.  However, sending spacecraft to retrieve it will be staggeringly expensive.

Tuesday, August 30, 2011

Stores should have apps to locate products on their shelves

Here's an idea I have wishing was implemented for many years:

How many times have you visited a grocery store or hardware store and had a hard time finding needed items? It may be because you are unfamiliar with the store's layout, or because the items you want are obscure, or can fit into multiple categories. I find the problem particularly pernicious in huge hardware stores, when you are looking for items you may only ever buy once, and have no idea how the store is arranged.

Therefore, in every grocery store or hardware store, you should be able to search to determine if the store stocks the product and exactly where it is located.

This would be an ideal mobile app. Your Android or iOS device could quickly lead you to where a needed product is located. Furthermore, you should be able to plan your shopping on your home computer even before leaving to go shopping.

The challenge for store owners would be indexing their shelves, assuming they don't already do this for inventory-management purposes.. However consider the following analysis. Imagine a typical grocery store: Shelves have to be stocked constantly, and staff have to be knowledgable about where items are located. A certain amount of staff time is dedicated to helping customers find items. Also, customers would be attracted to a store with a good index, since they would be able to more rapidly locate items. All this argues in favour of it being a net-postive investment to have staff index shelves.

How much time would staff need to index shelves? Imagine there was a device available that could scan bar codes and using enhanced GPS, automatically enter the location into the store's index. Imagine then that someone could scan one product type every 10 seconds, and there are 6 product types per meter of shelf space, five shelves high, and 250m of shelves in the store overall. That would result in the 7500 products being indexable in about 25 hours of work - only a little more than half a work week. If indexing were redone only every 3 months, then the overhead would be 1 20th of a full-time-equivalent person. The indexing overhead could be reduced even further if it was tied to the restocking process (whenever someone is restocking the shelves, they scan the item).

Interestingly Tesco in the UK is making it possible for people to plug their iPad's into grocery carts! Why to add search to this.

The possibilities for enhancing this service are endless:

  • People could create a customized list of the products they buy (perhaps by scanning barcodes), and then check off the items from this list that they have run out of. The system could then give customers an optimized route through the grocery or hardware store that would lead them to pick up each item in sequence, alerting them to when they have arrived at the location where needed items can be found on the shelf. This would make shopping significantly faster. I suppose it would also reduce impulse buying, which may be one reason such a system has not yet been deployed.
  • If this mechanism were standardized across the industry, and a database of current prices was also maintained, people could do zero-thought comparison shopping, create multiple customized lists, allowing them to visit the shelves of several stores to achieve the overall lowest combination of prices. Of course, this would increase competition, and result in downward pressure on prices, which may be another reason why such a system has not yet been widely deployed my merchants.
  • Even if a store itself doesn't maintain such a database. perhaps an external enterprise could do it for the stores in a given city. The cost would be low enough that a low subscription fee ought to pay for the service. I would be willing to pay, for example $20 per year for access to indexes of the 10 grocery and hardware stores near me. It would require 750 subscribers to break even if someone is employed at $30,000 per year and full indexing is every three months. However if indexing was done in full only yearly, with incremental indexing for seasonal items less frequently, then costs could be substantially reduced. Of course, stores may raise legal challenges, asking people to leave who are not buying. However, all it would take would be fore one or two stores to allow indexing before the others would have to permit it, lest they be left out.
  • And what about crowd-sourcing? If enough people sign up to index a few items using their smartphones, every time they go to a store, the indexing problem may be solvable at a very low cost.
The user interface for search in such a system would have to be well designed. Many products have near synonyms, or are hard to spell. For example a search for 'spaghetti sauce' should find pasta sauce as well, and a a search for 'spagety source' should also find it, since not everyone can spell.

Other challenges relate to creating usable shelf maps with precise-enough positioning information. However I strongly believe that these are technology challenges for which good software engineering can really provide the solutions, and for which the hardware embedded in today's mobile devices would be sufficient.

There are some people already working on this kind of application: For example this article talks about ongoing work at the University of Washington, outlining some of the challenges. This article talks about planograms, which are the shelf maps that are already in use in the industry to assist with product placement.

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.