Tuesday, 30 June 2015

Reboot your car

We used to tell jokes about what cars would be like if they worked as badly as computers. That's starting to be the reality now. I've heard stories of entire cars refusing to run because the computer that controlled the headlight washer fluid broke down. One company recently decided to install DRM on their batteries on a permanent rental scheme. Pretty soon, yes, you might have to stop on the highway to reboot your car to get it working again, and it's not a joke. Welcome to the future, where nothing works quite properly, but it's all supposed to be awesome.

Mokalus of Borg

PS - That's kind of the bleak side of robot cars, I guess.
PPS - Google tends to do good work, though, so theirs might not suck.

Monday, 29 June 2015

Declarative programming for tomorrow

I strongly suspect that, in the future, there will be much less imperative programming and more declarative. That is, we will spend less time, as programmers, telling our computers "this is how to do this task" and spend more time telling our computers "this is what the task is". Defining the conditions around the task at hand is a powerful mechanism, and is very well suited to, say, manipulating large sets of data in one go, or running in massively parallel circumstances.

My honours thesis at university was written in a declarative language called Prolog. It was designed to do calculations on certain types of code conditions which, in time, could have become part of a compiler that would tell you if your real-time conditions were likely to be met by your code. Complicated stuff, and we expected it to function only if it had certain solid numbers to work with. However, because of the way Prolog works, when we fed it symbolic data instead of concrete data, it managed to swallow the whole thing and still produce results. In computing terms, this is like teaching a child basic arithmetic and finding out later that they've conquered algebra all on their own, based only on your arithmetic lessons.

That's another kind of power declarative programming has. It can sometimes go beyond your expectations in perfectly valid and logical ways. It didn't make any difference to my program if it was manipulating "x" or manipulating "2". They're all symbols at some level. We need that kind of power, natural parallelism and simplicity of expression to conquer tomorrow's programming problems. We might not be able to expand today's most popular languages to handle these problems, though.

Mokalus of Borg

PS - It's likely there will still be declarative parts of these new languages.
PPS - It's difficult to avoid them.

Friday, 26 June 2015

Games on smart watches

I'm starting to wonder what games will look like on smart watches. On phones, we got things like Angry Birds, although now there are a lot more desktop-like games for phones just because the power has increased so much. Smart watches will increase in power, but the size of the watch is likely to remain a very tiny touch target. "Idle games" might be a viable option, since they require little to no interaction, and it's possible that the ready accessibility of the watch screen could result in more "running around" games that only require occasional screen interaction. If your game is heavy on touch interaction, on the small screen, that is going to prove both difficult to use (because precise touch is difficult on such a small target) and no fun (because half the time your finger would get in the way).

You know what might work? Sliding puzzles where an edge-to-edge swipe now and then works well, or possibly slow card games, whether played online or against the watch.

Mokalus of Borg

PS - Something you can look at for a few seconds, then put down for an hour.
PPS - Someone will do it right, I'm sure.

Thursday, 25 June 2015

Enjoying board games

I don't seem to enjoy board or tabletop games much, or at least not all the time. I'm not sure why this is. Part of it might be that I kind of suck at them, and losing all the time has a way of draining the fun out of games. For me, the process of playing has to be fun, regardless of whether I win or lose, and I don't see that many games with fun-to-play mechanics. The fun is meant to come from winning, but that can only happen for one person, usually. If your board game is only fun when you're winning, then, for a four-player game, that means your audience is 75% not having fun.

Now, for some people, trailing behind has this kind of invigorating effect. Their response to losing is "Must Try Harder, Must Play Better", and that push - the pressure to do better somehow - is a thrilling kind of fun for them. For me ... I don't know. Maybe I'm over-competitive in my own way, but losing at a board game and knowing that I'm losing is pretty disheartening. It doesn't spur me on to greatness, it puts me down in my place. "Look, you're losing! See how much you suck? This is how much you suck." It might be and expression of depression, too. Even knowing that depression lies, though, is not enough to pull me out of the losing-and-sucking funk.

So what do I do? We only have about 4 games that even work with two players, which is how we find ourselves most of the time, and most of those fall into the "win or no fun" camp. Many of the games we play also seem to derive their fun from composing and enacting a complex and cunning strategy for winning, and I guess I'm not quite there yet, either. I need more games that are just fun to play, win or lose, or at least games that could be won or lost right up to the very end, and it's anyone's guess who the winner might be until then.

Mokalus of Borg

PS - I also don't seem to play many video games.
PPS - That's probably more because I have so little time at home on the computer.

Wednesday, 24 June 2015

All for 'naut

Although the terms "astronaut" and "cosmonaut" were coined independently during the Cold War space race and don't really mean anything different, we seem to have adopted both of them in English, plus some others like "taikonaut" so that we can't talk about a space traveller without also designating their nationality. That seems counter-productive if we're forming a worldwide society, to me.

Mokalus of Borg

PS - Although, of course, we don't yet have a worldwide space program, either.
PPS - Unless you count private enterprises, but those seem less global, to me.

Tuesday, 23 June 2015

Why phone companies won't take excess data charges from unused call credit

You know what would be awesome? If my additional data charges could be taken from my unused call credit on my mobile phone plan. See, I get about $300 of call credits on my phone every month, and I use maybe $20 of it on average. I also get 300MB of data and use about 700MB which, on my provider (Vodafone) means I get a $10 charge for an additional 1GB of data credit. So, I'm just thinking, why can't that $10 charge come from my unused call credit? I'll even let you triple the charge if it makes you feel better.

Of course I know why this doesn't happen: revenue. If you start letting customers flex their charges between call credit and data, well, phone company revenues would take a hit. The only way to make it up would be if that type of plan attracted all the customers of other companies, too. Then, of course, they'd start doing the same thing and the only winners would be the customers.

Mokalus of Borg

PS - And that sentence is board-room poison.
PPS - Still, it's nice to dream.

Monday, 22 June 2015

The Smart Whatever of the Future

I don't know if we need to build "The Smart Home of the Future ... Today!", or any kind of item you can name in place of "Home" there - car, bike, kitchen, fridge, whatever. I think we're just going to keep making things a little bit smarter as time goes on. Cars are getting self-parking routines built in now, and it doesn't seem like it will be long before they're driving themselves in some places. Houses are getting smart appliances like self-learning thermostats, programmable light switches and power points. We will keep building these devices and attaching them to existing infrastructure, and the best ideas will be built in to the next generation. Going whole-hog from the beginning seems like a recipe for over-complication.

What we should do, as much as possible, is to build our homes, cars and other devices or structures with the capacity to be improved, to add on, to upgrade. Ease the transition into the future by allowing today's devices to be tinkered with.

Of course the flip side is maintaining security, which is another problem, often with conflicting demands.

Mokalus of Borg

PS - And history has shown that erring on the side of convenience over security will bite you in the end.
PPS - We need adequate security when our very homes and cars are online.

Friday, 19 June 2015

Being the infrequent grown-up

Remember how your parents used to hang around with weird people their own age who were always trying to talk to you or tell you how big you've grown, and then you don't see them again for about six months? Well, you know how your friends now have kids of their own and you only see them once in a while?

Congratulations. You're now the weird older people your friends' kids only sort of recognise.

Mokalus of Borg

PS - The other thing I remember is being told often how much I'd grown.
PPS - Which might be interesting to the adult, but kind of pointless to the child.

Thursday, 18 June 2015

Mature software project management

I have a feeling and a hope that, as the software development industry gains maturity, it will also gain some better, more solid theories and practices of project management. We have had some false starts in this area, I think, and also some very good developments, too. New languages and new tools are always being advanced, enabling new features that let us set up some really solid patterns of architecture. However, I still run into as many bad managers as good ones - those who don't understand software projects in general, or those who don't understand programmers. The clients, also, underestimate how long it takes to get something done, so unrealistic expectations are set. There is as much bad software as good in the world, or probably even more.

Would it help to teach everyone to program as part of the school curriculum? Yes, of course. It doesn't mean it's something we really need to do, though. I'm sure there are plenty of accountants, pastry chefs, firefighters and jet pilots who wish everyone knew more about their jobs to better appreciate how hard they are and how to set realistic expectations. It's probably better to develop a specialised course - "Programming For Non-Programmers" - to instill some of the necessary skills and knowledge for people when they need it.

Mokalus of Borg

PS - I've made it as far as that title before.
PPS - Maybe someday I'll put together at least a hypothetical course outline.

Wednesday, 17 June 2015

Smart watches need a new mode of UI design

The smart watch proliferation is interesting. It's a new kind of device, for which a new theory of UI design will be needed. Where a phone can be used with two thumbs at once and can show a fair number of items on screen at a time, a smart watch, because it's worn on one wrist, can only be used one-handed, and can probably, in a pinch, show up to four touch targets at once. It's hard to write software in those constraints, but it's possible.

Is it good enough for most interactions for most people most of the time? Probably not. I think smart watch owners won't ever be able to use it as their primary computing device, unless their needs are very limited. If you just make calls and get reminders, maybe that would work. If you send lots of texts, though, I don't think it's going to work very well without an alternative keyboard. This might finally be the format where we have to do away with QWERTY and go to dictation for most tasks. So maybe you could get away with a watch and headphones. Maybe. I think you'll still have a computer, the way most people don't just own a phone or a tablet. A watch is a terrible primary screen.

I'm prepared to see that change in time, though. Maybe, as smart watches get people used to the idea of wearing their computers on their wrists, we'll start seeing sci-fi-like forearm computers with bigger screens, or maybe some other form of interaction will take over.

Smart watches can do a lot, and I'm glad they exist, but we can't think of them as little phones. I think they need a different mode of thought for them to work properly.

Mokalus of Borg

PS - By my count, this makes at least five basic form factors to design UIs for.
PPS - That's watch, phone, tablet (touch), desktop/laptop (mouse & keyboard), television (remote).

Tuesday, 16 June 2015

Will Netflix force Foxtel to unbundle channels?

I think the most interesting effects of disruptive services like Netflix will be the responses of traditional pay TV companies like Foxtel. When on-demand streaming TV is so popular that it's basically the Millennial version of pay TV, how does Foxtel respond? They've started offering on-demand services via their "Box Sets" service, but to compete on price and choice, I wonder if they will finally have to start offering a-la-carte channel choices.

Since the beginning of their existence, Foxtel (and basically every pay TV provider in the known universe) have gouged their customers by separating high-demand channels into different "bundle" packages. This means subscribers, who might just want Fox8, the Comedy Channel, Discovery and movies, need to pay for the "Basic" package, plus "Comedy", plus "Documentary", plus "Movies", all for significant additional monthly costs. But now that so much content is available on demand, and even individual channels like HBO are being sold as a stand-alone streaming service, the only way to compete with that is to offer individual channels for reduced prices or else die as a company.

They've already cut their subscription fees in half. I wonder how long it will take until The Great Unbundling.

Mokalus of Borg

PS - Or whether they will choose to die instead.
PPS - Or focus all their energy on building up Presto, their own streaming service.

Monday, 15 June 2015

Home power management

I've seen videos of new home power systems including power usage monitoring and reporting, which is said to allow people to check their power usage and change their behaviour in response. With these newest systems, including solar power and backup batteries, people are able to switch to batteries and solar when it suits them, to minimise their bills.

This is all good stuff, but it assumes that people will be willing to keep checking on their power and make decisions about whether they should be on battery power, solar or grid supply at any given time. The assumption behind such a system is that people are merely unable to do this, not unwilling. I think you'll find, though, that most people would rather have a system that attempts to minimise their power bill automatically, as long as it delivers reliable power.

Mokalus of Borg

PS - Well, that's what I would want.
PPS - I prefer automation over manual tasks in most things, where possible.

Friday, 12 June 2015

The Cleverness in The Fear

I know it's an older song now, but I just realised that there's a bit of a clever lyric in Lily Allen's "The Fear":

"I look at the sun and I look in the mirror,
I'm on the right track, yeah I'm onto a winner."

So just this week I figured it out. She's not just talking about vague self-reflection, gazing off into the distance or examining herself, although it's that, too. Because, you know what? The Sun and The Mirror are tabloid newspapers in the UK. She's talking about getting tabloid-famous! How did I miss this? Well, probably because I don't live in the UK and I don't read newspapers at all.

Mokalus of Borg

PS - I like discovering that kind of layer in music.
PPS - Or in anything, really.

Thursday, 11 June 2015

Democratic work approvals processes

Could you run a business where a team's approvals are democratic? I'm thinking of things like timesheets and leave approvals, and using online tools to keep visibility for everyone. That way, everyone can see what days everyone else wants off work and can approve or reject it based on that, or can see what time everyone has spent on which projects, and whether that might be a problem.

Mokalus of Borg

PS - Of course, it gives everyone more work to do, too.
PPS - And doesn't relieve the need for managers entirely.

Wednesday, 10 June 2015

Over-structured data

Data can be overstructured. That's as bad as too little structure, because it doesn't take exceptional circumstances into account. For instance, say you've decided that a postal address always consists of a street number (strictly numeric), a street name, a street type (eg "Road", "Street", "Avenue"), a suburb, a state and a postcode. Well, in this case, maybe you missed a street type in your list, which means a certain type of street (eg "Place", "Esplanade", "Boulevard") is excluded. Or what about unit numbers? They all share the same street address, but delivering to unit 7 is very different to delivering to unit 17. You get the point. You need to strike the right balance between structuring your data to give it meaning and consistency, and leaving it unstructured to allow for unforseen circumstances. It can be a tricky balance to strike.

Mokalus of Borg

PS - The worst part is that the right structure is always changing.
PPS - Everything is always changing.

Tuesday, 9 June 2015

I don't channel-surf online

I don't feel like I have "bookmarks" any more for sites that I need to remember to visit every day. I have three places I go for online entertainment: feedly, Facebook and Pocket. The only reason Facebook is on that list is because I can't get my friends' posts in Feedly. Pocket is where I put items from Feedly that I can't (or don't want to) read or watch right away. That's it. If your website doesn't provide a feed I can load into Feedly so that it comes to me automatically, I will probably forget about you forever.

Is this harsh? I don't think so. Is it unusual? Perhaps. The thing is, I'm not looking for my internet experience to be like channel-flipping on a TV. I don't gain any pleasure from hunting around for something new when I could program it all to come straight to me. That makes far more sense, to my mind, plus it means I don't miss anything just because I didn't go to this or that website today. This is important if I want to read certain web comics, because they're telling one long story, in order. Missing one is like missing a chunk of the story, a chapter of a book, and the rest never makes sense again.

Mokalus of Borg

PS - One day, perhaps, I'll have to accept missing out on some articles online.
PPS - The best articles should show up in multiple places, though.

Monday, 8 June 2015

Internet law and order

What should be the law enforcement model for the internet? A police force that patrols and investigates to prevent and fight crime? An armed force that develops an arsenal and deploys troops to trouble spots? A spy agency that secretly infiltrates hostile or potentially-threatening organisations to destroy them efficiently and covertly from the inside? Private fiefdoms with individual guard troops to defend just their own territory? Something else entirely?

It matters how we think of this, because it affects the way we treat the internet as a resource and the threats we find there. If we imagine a war metaphor, we will talk about collatoral damage, attacks, strikes and operations of attack. If we talk about spies, we prioritise exploiting vulnerabilities instead of fixing or reporting them. Right now, we're working with a mix of everything I've mentioned.

Mokalus of Borg

PS - Personally, I believe it should be a combination of police and private security.
PPS - And that unfixed vulnerabilities make us all less safe.

Friday, 5 June 2015

Two kinds of habits

Building a habit of quitting is much harder than building a positive habit. When I talk about a positive habit, I'm talking about, for instance, doing pushups every morning when you wake up. It's a definite action. When you wake up, you do some pushups, then you know you're done. Even if you do it later in the day, that's a kind of success.

To quit something is a much more empty kind of act. Say you're quitting smoking. Today, you throw out your cigarettes and don't buy more, but the victory is when, every single time the urge to smoke rises up, you do nothing. Then tomorrow, when you want to smoke, you do nothing. You continue doing nothing until, hopefully, eventually, the urge to smoke doesn't come up again, and "not smoking" is no longer a goal or a victory but your default state of being. There are certainly rewards to quitting something destructive like that, but they're less tangible and more long-term than the satisfaction and reward of doing something positive.

Perhaps that's something to consider. Instead of aiming just to quit something, you should aim to take up something positive instead, like the pushups. Maybe, eventually, you will associate the same triggers with an urge to do some pushups instead of an urge to smoke. I'd like to see that clinical trial.

Mokalus of Borg

PS - I'm sure it's been done.
PPS - It seems to be common enough advice, anyway.

Thursday, 4 June 2015

Satire of yourself

Playing satire in public where people have to know you to know that you're kidding is a dangerous thing. If it starts to reach enough people, plenty of them won't know you're kidding, just because they don't know you well enough to know that's not "really" you. At that point, the honest defence of your actions - "I was just kidding!" - sounds over-defensive and insincere.

So, to summarise, if you tell a joke by acting out of character, someone won't get it, and then it's very difficult to take it back.

Mokalus of Borg

PS - I'm aware I'm advocating a chilling effect.
PPS - Or, from another perspective, a good PR move.

Wednesday, 3 June 2015

Thick skin

People sometimes excuse their own lack of tact by saying that people need to develop thick skins, and they're only helping out. But needing a thick skin doesn't mean that nobody is ever going to be nice to you again, does it? There are plenty of people being mean in the world, or just being tactless. Be one of the good ones.

Mokalus of Borg

PS - I like to think I am.
PPS - I guess most people want to believe they are the good guys.

Tuesday, 2 June 2015

Too tired for your mental health

Like muscles that are overtired and can't work properly any more, good mental habits can be undone by mental stress or overwork. Those "good mental habits" might be anything you've learned in your lifetime, such as "not having panic dreams about being naked in school just before a test you haven't studied for" or "not slipping into bottomless depression for no reason".

Mokalus of Borg

PS - The funny thing is, sometimes you don't know you have these good mental habits until they disappear.
PPS - And then you don't know how to get them back.

Monday, 1 June 2015

Encoding trust

Security of any form is a system of trust. So what is trust? It involves delegation of authority - I allow you to act on my behalf - and it also implies an alignment of goals or interests, or at least an assumption of such. I believe that the actions you take on my behalf, or the actions you take that will affect me in some way, will be in my best interests, or at least will be a decent compromise I can live with.

Employers trust their employees to act as part of the company. Spouses trust each other to respect boundaries of online accounts or to treat shared finances with respect. Friends trust each other to keep private stories, pictures and other shared secrets private. In many cases, fear of social or professional repercussions are the limiting factor. If we violate this trust, we lose our friends, lose our jobs, put strain on our relationships.

A lot of the time, though, trust is a very difficult thing to codify into a computer system. Real-world trust can be very granular. I trust you in this area but not in that. I trust you only for about half an hour when left alone, and only if I lock up the petty cash. I don't trust either of you alone with these nuclear launch codes, but I trust you together to keep an eye on each other. What you can never account for is secret intent. If I have decided, on my own, that my employer of fifteen years is doing something corrupt and illegal, and that my best course of action is to take some evidence to outside authorities, how can you tell what I'm doing? If I normally copy certain documents every morning for work purposes, and today I'm copying similar documents in the same way but for untrusted purposes, the computer system won't know that, no matter how it is coded.

Mokalus of Borg

PS - Whistleblowers will always be a "threat" to corporations.
PPS - Personally, I think whistleblowers are a security feature for society.