Android app updates – a proposal

Android’s app update system drives me around the bend.

I guess it’s fine for the people living in the world of fast, uncapped internet; but for us mortals with slower ADSL lines and small caps, the data-hoover that is Android is made so much worse by having to effectively re-download and reinstall each app every time there’s a small change. Not just because of the wasted bandwidth, but because the downloads clog your connection and slow down everything else you’re trying to do.

To be fair, you can choose which apps you don’t want to update… but the next time you go to market, they’re all in your face, pleading with you to update them. You can’t tune them out, and you don’t know if they’re bugging you for the same update or a new one.

I suggest the following simple approach to helping address this problem. I’m sure there are better solutions, please comment if you’ve got one. Give users the option to not install a specific update (rather than just ignore it), and augment each app’s icon with some sort of marker to distinguish the following cases:

  1. App is up to date (i.e. no updates available)
  2. App is not up to date, and there are unreviewed updates
  3. App is not up to date, but all new updates have been declined

Other statuses such as “app is being updated” are probably possible, but I’m sure can be handled similarly. Of course, users should have the option to change their mind about a declined update if a feature they decided they didn’t want suddenly becomes useful to them.

That’s pretty much it.

Here’s an afterthought: an option to update at a certain time of the day would be pretty awesome.

Posted in Bureaucracy, Efficiency, Hassles, Idealism, Maintenance problems, Pipe dreams, Programming, Suggestions, Technology, Updates | Leave a comment

Improving call centres

Dear call centre designer/implementer/manager.

I would like to respectfully suggest that you pay attention to the following to enhance your clients’ experience of the call centre:

  1. Eradicate dead-ends from your menu system. To make this easier, always provide “none of the above” and “return to the previous menu” options.
  2. If you’re going to make clients enter information or selections on the keypad, respect it and where appropriate, collect it and provide it to the consultant. In particular, if you ask for a language preference, use it, or at least indicate when you will not be able to. Similarly, when the caller types in a client code and other information, do not make it necessary for the consultant to request this information again.
  3. Provide more information to people waiting for consultants: what is the caller’s position in the queue, and how quickly is the queue moving. This is basic information available in real-life queues!
  4. Provide a call-back facility when call volumes are high: customers on hold for over a certain (preferably short) amount of time can provide contact details to be called back when the capacity is available. This allows urgent callers to stay on the line in a shorter queue, while less urgent calls can be serviced at more convenient times to you (and the clients don’t need to wait as long).
  5. It is not necessary to replay the same adverts and announcements repeatedly to callers – they’ll hear them the first time. Shift callers from the announcement “loop” (assuming you use a loop) onto an announcement-free loop after they’ve heard all the announcements during their call.
  6. Finally, provide an email address as an alternative to the call centre (and advertise it on the announcement loop). Many people do not require immediate feedback, and this allows them to make the queries when convenient to them, and for you to (at least partially) resolve their queries when convenient to you.

Thanks,
Steve

[Agree with this and know anyone in call centres? Please forward to them, too!]

Posted in Bureaucracy, Idealism, Suggestions | Leave a comment

Expanding my vocabulary

Some new words and phrases I’ve encountered lately:

  1. parlous – meaning perilous or dangerous. Encountered on an article about a dwindling bird population in a parlous state.
  2. atavistic – based on the noun atavism, which refers to a reversion to a more primitive state. Encountered in Sandworms of Dune, by Kevin J Anderson and Brian Herbert.
  3. Fiddles and tunes – at a recent farewell party I attended, men and women were given complementary parts of proverbs as part of a matchmaking exercise. One of the resulting proverbs seems to have been “an old fiddle can play new tunes”, presumably a counter to the adage about old dogs and new tricks. However, the internet seems to indicate that the actual proverb is “There’s many a good tune played on an old fiddle”, or the Irish version “The older the fiddle the sweeter the tune”. Both seem to indicate an improvement of life with age, rather than degeneration.
  4. cerulean – sky-blue
  5. bête noire – something particularly reviled, a pet hate. From the french for black beast.
  6. bergamot – a pear-shaped orange whose rind is used in perfumes; also a type of herb with the same smell. Encountered in a cryptic crossword – forgotten the clue though – how about “Some herb made wizard grab tome.”?
  7. gadjo – a derogatory word used by gypsies to describe non-gypsies. Picked up in a game of Scrabble.
  8. arilli – plural of arillus, which is an alternate form of aril. The most well-known kind of arils are so-called false-fruits, like lychees and the arils in a pomegranate. These develop from the seed covering rather than the ovary, if I understand it correctly.
  9. panoply – a dazzling display.
  10. habergeon – a type of armor, specifically a light sleeveless coat of mail.
  11. carcanet – nowadays an ornamental women’s circlet, often adorned with gemstones; but in medieval times referred to a necklace or choker. These last three I picked up in Bilbo’s song in the Hall of Fire in Rivendell during my current re-read of Lord of the Rings.
Posted in Language | Leave a comment

How not to do customer service…

Yesterday, I emailed SANParks with 3 fairly specific queries about renewals for their Wild Card program. This morning (good response time), I got the following reply:

Hi Good day the best way wait until they other cards expired then will buy the new card so now update details so we can kept your records .

Besides being fairly incomprehensible, this answer also did nothing to help me find my answers to my 3 questions.

I’m fairly sure the person who replied is honestly trying to help me, but somewhere in SANParks a decision was made to have him/her at the frontline for customer queries. Hoe nou gemaak?

Posted in Uncategorized | Tagged , , , , | Leave a comment

Flattr – good idea scuppered by TOS

Flattr.com seems to be a really cool new service to facilitate internet users rewarding content creators by means of microdonations. With one of the masterminds behind the project being Pirate Bay co-founder Peter Sunde, you’d think they’d be wary of ridiculous legalese. But it seems even visiting Flattr’s site (did YOU click on the link?) constitutes acceptance of their terms of service:

These terms and conditions (“Terms of Use” or “Terms”) outline your obligations when using the Flattr service (“Service” or “Services”), which includes the use of our website or the web pages available at Flattr.com …..

PLEASE READ THESE TERMS OF USE CAREFULLY BEFORE USING THE SERVICES. BY ACCESSING THIS SITE OR USING ANY PART OF THE SITE OR ANY CONTENT OR SERVICES (AS EACH IS DEFINED HEREIN) ON THE SITE, YOU AGREE TO BECOME BOUND BY THESE TERMS AND CONDITIONS. IF YOU DO NOT AGREE TO ALL THE TERMS AND CONDITIONS, THEN YOU MAY NOT ACCESS THE SITE OR USE THE CONTENT OR ANY SERVICES IN THE SITE.

Not quite sure how you’re supposed to read those terms of use before accessing the site – they are hosted on flattr.com, after all…

So, another seemingly good idea I won’t be signing up for soon :(

Posted in Activism, Computers, Idealism, Legal | Leave a comment

Surely this can’t be legal?

From the EULA (end-user licence agreement) of a Firefox plugin I was considering installing:

Delicious may change this Software License by posting a new version without notice to you. Use of the Delicious Software after such change constitutes acceptance of such changes.

Surely this kind of carte blanche can’t be enforceable? (Informed opinions and pointers to relevant literature welcome.)

Posted in Computers, Legal | Leave a comment

Project Umonya Stellenbosch Python course – thanks!

I feel almost like a groom at a traditional Afrikaans wedding: “baie, baie dankie”. But at least I know any chirps will only be coming at the end of what I have to say.

This weekend, Stellenbosch University hosted a Python programming course I co-organized with a number of members of the UCT algorithm circle. We hosted 85 children between Grade 4 and 12 from around 55 schools. With the dust finally settling, I thought I’d just throw out some thanks to all the people who got involved to make the course (part of Project Umonya) the success it was.

First, the guys from the UCT algorithm circle: Primary thanks go to Marco, who did an incredible amount of remote organizing on the course while busy with his internship at Google’s Zurich office. Robert also deserves my thanks for all his organizational efforts, including taking queries from parents, designing the tutors’ T-shirts and the participants’ flash drives, and lecturing during the course. Kosie, thanks for setting up the resource pack for the learners to take home, and for presenting the intro Maths lecture. Stefano and Vaughn – thanks for all your work with the cameras and video streaming. Michiel, thanks for the co-ordination and monitoring work you did during the course, as well as the photography and video work. Graham: thanks for your lectures, for the visual python session on Sunday morning, and your lunch-time talk on your experience in industry. Thanks to Hayley for giving lectures, helping me with admin during the course, and running the energisers for the kids when their attention was flagging. Henk also deserves thanks for the lectures he gave.

Next, I’d like to thank our sponsors, the MIH electronic media lab, and particularly Gert-Jan, who agreed to sponsor us and Anita van der Spuy, who helped (actually, is still helping!) with the finances. I’d also like to thank our secretary at Computer Science, Azra, for her help with admin, logistics, quotes, and handling queries, and Derick for helping her and me with photocopying and postage.

This course would not have been possible without lab space, and we are very grateful to the administrators of the NARGA computer labs: Ilse, Paul, and Ed. I’d also like to thank the Stellenbosch University Science Faculty representative, Engela, for her help promoting the course in various newspapers, and even arranging a radio interview about the course.

To enhance the course, we had a couple of additional talks and lessons. Besides Graham, who I’ve already mentioned, I’d like to thank Willem Visser, the division head at Stellenbosch University computer science, who spoke on “Why you should all become Computer Scientists”, Andre Scholtz from Derivco, who gave the children a short intro on game development in Python, and Helge Reikeras from the MIH electronic media lab who gave an introduction to Ubuntu, for their talks.

The quality of such a course depends heavily on the availability of enough tutors to help the children when they get stuck. Besides most of the people from the UCT algorithm circle mentioned above, I’d like to thank the other tutors: Gwylim from the UCT Algorithm Circle; Helge, Leendert, and John – students at the MIH electronic media lab; Gideon, Pieter Holtzhausen, Pieter van der Walt, Jan, Gerard, J-P, and Lise – undergrad and postgrad students at Stellenbosch University; my colleague at Computer Science, McElory Hoffmann; Ewald, from S1; Johan, from Juizi web hosting; and Maia, from the South African Ubuntu Loco. [Also, Jock and his friend from Oxford, who McElory roped in as they walked past NARGA!]

I’d also like to thank Andries for tutoring, and both him and my wife, Dalene, for hosting the lecturers and tutors from the UCT algorithm circle who came to help for the weekend.

Our suppliers also deserve a thank-you for delivering timeously despite last minute orders: Curve Concepts for the flash drives, Screen Tee Printing for the T-Shirts, and Fedics Stellenbosch who supplied the packed lunches.

Finally, a thank-you to all the school principals, secretaries, maths teachers, science teachers and computer lab administrators who told their learners about the courses, encouraged them to apply, and sent us motivations for the children who applied to help us in sifting through the applications. Please note that applications for the courses to be held next year are already open (although the dates aren’t finalized yet) – please send your interested learners to http://www.umonya.co.za/apply.

Posted in Community, Computers, Programming | Tagged , | 2 Comments

Alternatives to training dragons

The other day I was considering the movie title “How to train your dragon” (we were considering what DVD to take out), and the title for the sequel aimed at students and dwarves, “How to drain your flagon” just jumped out at me.

This got me pondering what other similar titles this pattern might spawn:

  • How to entertain your vegan – for those who never know what to make
  • How to profane your pagan – turnabout is fair play, after all…
  • How to explain your dodecagon – well, what is it, really?
  • How to abstain from tarragon – I’ve been hooked on the stuff the last while (seriously)

Any more suggestions, or should we restrain this bandwagon before it gets out of control?

Posted in Humour, Movies, Word puzzles | Leave a comment

What technology/science can do

Here are some of the things that I think technology and science can help us achieve (in no particular order):

  • No more cash, and only one card
  • No more bills to pay
  • No more keys
  • No more crime
  • More effective food production
  • Reduce my carbon footprint
  • More effective conservation
  • One handheld device (tricorder all-in-one + uber-smartphone) – preferably not handheld
  • Better medical diagnoses
  • Free medical/legal/tax consultations with your computer assistant online/hologram
  • Effective cures for all known diseases
  • Immortality
  • Better traffic forecasting, eliminating gridlock, and planning road closures better
  • A real Holodeck
  • Contact lenses with automatic information overlays
  • Full-sense recordings of events for later playback
  • More automated computer configuration
  • No more queueing
  • More effective recycling
  • No need to work – the system is productive enough to support anyone who wishes to follow their own pursuits at a good standard of living
  • Lifelike virtual interaction – no more flights for meetings
  • Better weather forecasting (and weather manipulation)

What do you think of the list? What would you add (or remove)?

Another question: how much of this could Science already provide (to some extent) were it not for her being hamstrung by politics?

Posted in Computers, Health, Idealism, Ideas, Pipe dreams, Science, Technology | 1 Comment

IWOCA and StringMasters 2010

The last week of August I was in London for two workshops. The first workshop was the “small conference” type of workshop – the International Workshop on Combinatorial Algorithms (IWOCA). The second was the “break-away groups and problem-solving” type of workshop – StringMasters. Both workshops were held at King’s College in London, with the first running all the proceedings in the Strand Campus Great Hall.

In this hall, they did the registration, put up the posters, had tea and coffee breaks, and also did the presentations of the various papers. Fortunately, we did get out of the building for lunch, which was held at a place called Smolensky’s. The menu was handled cleverly, in that everyone ordered in the morning tea break, thus saving time at the restaurant. The downside was that the waiters hadn’t taken our orders, so they spent lunch wondering between tables shouting “one beef burger”, etc.

The conference organization was, in my opinion, very good, with everything we needed being dished out on arrival. The conference dinner was held on a boat which cruised up and down the Thames, which is a great way to combine sightseeing with a conference when you’re just popping in! At the dinner, which we ate sat in somewhat cramped quarters (we were on a boat, after all), I ended up having a discussion on aspects of apartheid, mistreatment of aborigines, and the caste system, with a woman from Australia and two Indians (one of whom emigrated to USA many years ago).

This was the first conference I’ve been at where I’ve attended all of the talks. Some of the talks I found interesting was work by Karim Douïeb on a data structure called a skip lift (I worked further with Karim at StringMasters), work by Colin Cooper on chains-into-bin processes, and Mohammad Zubair’s presentation on I/O bounds using pebbling strategies.
Alan Frieze’s invited talk on refinements of the Karp-Sipser matching algorithm interested me because it was a new area employing concentration arguments I was not aware of, and Gregory Kucherov’s invited talk was fascinating, since I had previously had no idea how BLAST performs its searches.

In terms of criticism, I think the chairs used were very uncomfortable for tall people: the top of the chairback digs in below the ribcage, which is quite unpleasant if you are supposed to spend most of 3 days sitting on the chairs. The other thing I found (once again) quite mysterious is why we academics continuously surround ourselves with all the ritualism of presenting papers, which just wastes everybody’s time:

  1. Session chair introduces the speaker and topic – despite it being on the program, and presumably already projected up on the screen
  2. Speaker comes up and again tells us who he is and what the topic will be
  3. Speaker notes it’s joint work with X and Y. Again, this is on the program, and usually projected on the screen.
  4. Speaker gives a talk overview, telling us he will “present background”, and that he “will conclude”
  5. Speaker gives talk
  6. Speaker ends talk with something like “unless there are any questions”
  7. Session chair pops up asking people to thank the speaker.
  8. People clap politely
  9. Chair in turn asks if there are any questions
  10. Some questions are asked and answered (possibly zero)
  11. Chair asks people to thank the speaker again
  12. People clap politely

As fairly educated people, we should be able to navigate some of these things safely as a group. How about, for example:

  1. When it’s the speaker’s turn to speak, he loads his powerpoint slides and gives everyone a moment to see the title page.
  2. Speaker gives overview of the main portion of his talk.
  3. Speaker gives talk
  4. Speaker ends talk with something like “unless there are any questions”
  5. Some questions are asked and answered (possibly zero)
  6. People clap politely
  7. Session chair only intervenes in case of (a) technical problems, (b) speaker/questions going over time, (c) large groups clamouring to ask questions, and (d) severe medical emergencies.

StringMasters was quite different: in the (late) morning, we all had coffee in Costas’ office (Jackie – I’m siding with Costas on the apostrophe today, I’m afraid) before breaking away into groups to tackle problems brought by various of the attendees. Most of the StringMasters attendees were at IWOCA, but some others arrived just for StringMasters, including another South African, Bruce Watson. I believe Bruce and I were the only Africans at IWOCA or StringMasters this year. After a bit of working on problems, we were interrupted for a great lunch somewhere close to the college. Although the food was excellent, and I know that conference/workshop meals are important networking events, I found them a bit long – I felt we could have achieved more with a slightly earlier start and shorter meals.

Speaking of achieving something: what did I do at StringMasters? One of the people presenting problems at StringMasters was Zsuzsanna Lipták, who I’d met on the IWOCA 2010 conference dinner boat. She’d worked in South Africa before (at SANBI, as well as at Wits – collaborating with Scott Hazelhurst), and had a string problem with bio-informatics applications. I joined a break-away group to work on the problem, along with Karim Douïeb, amongst others. The problem is basically trying to find an order-complexity improvement on an existing (obvious) quadratic-time algorithm. We have managed two improvements: one reparametrizes the order complexity into something usually better, but still worst-case quadratic, while the other (due primarily to Karim) yields a slightly sub-quadratic algorithm (only a logarithmic factor improvement, unfortunately) using (min,+)-convolution (which I’ve got to read more on).

Posted in Academics, Conferences, Work | Leave a comment