Monday, December 30, 2013

A reminder to developers: don't take encryption lightly

There aren't many details published at the moment, but this chat app recently rejected by Apple is a reminder that the powers that be don't take encryption lightly. (The reason for rejection appears to have been encryption related and as developers will be aware, Apple does "make more of a fuss" around submissions of apps including encryption, apparently due in turn to the company's legal obligations.)

Is there a market for a 13 inch iPad?

Articles have re-emerged over the past few days about the possibility of Apple releasing a larger iPad, primarily intended for educational applications (or possibly other cases where what is required is a "semi laptop" replacement). The rumour was apparently started in May 2013 by this web site claiming that Apple was to release a so-called "iPad Maxi".

So far, Apple has stood out from other manufacturers in limiting the number of form factors that iOS apps must cope with, much to the delight of developers. (This situation contrasts with Android, where it is almost impossible to test apps with all available form factors, leading to occasional incompatibilities with some applications on certain devices.) The most major change of form factors so far for developers was from the iPhone 4 to iPhone 5, involving a change in screen resolution in addition to a change in physical size. More conveniently for developers, the change from the classic iPad to iPad mini did not involve a change in resolution (bearing in mind that to the developer, supporting retina vs non-retina usually involves at worst minimal code changes). The iPad's "retina" resolution could presumably be scaled up to a 13 inch screen without affecting quality too much so it would be interesting to see if that is the way Apple would go, or if they would feel compelled to increase the screen resolution despite the burden for developers.

But I wonder how much of a market there is for a larger iPad as such. A strength of the iPad is its portable, lightweight design and the recent focus of its development has been on miniaturisation. There are definitely cases (software development is a case in point!) where the screen size of the iPad is a limiting factor. However such applications tend to go hand in hand with needing the facilities of a "full" laptop and for a "semi lightweight" solution, Apple already offers the Mac Air range. With the introduction of iCloud integration, the company appeared to be making efforts to establish the tablet vs the laptop as their main way of differentiating form factors (remember the adage that the laptop is "just another device"?). It seems to me that if another size of iPad was introduced, it would be backtracking a little on this philosophy.

Time will tell how much veracity there is behind the iPad Maxi rumour...

Saturday, December 28, 2013

SimCity: An idea still going strong

SimCity was one of the original sim games and a classic in its genre. But when looking at versions such as SimCity for iPhone (which I review here), what stands out is how the game hasn't evolved compared to other titles in the genre. Whereas other titles have focussed, as is the trend with various mobile games, with asset-building and the opportunity to incessant in-app purchases, SimCity remains true to the original: it is heavily strategy focussed and asset-building is not a straightforward process that will happen by "default" as you progress with the game.

Developers re-gain access to iTunes Connect this weekend

As is traditional, Apple's app control panel "iTunes Connect" was shut down for a few days over Christmas (yes, computers need quality turkey-eating time too, apparently!) and re-opens today. Today is the day when we find out how app sales did over Christmas in the temporary absence of control over their price and respective iAd campaigns.

Sunday, December 22, 2013

Two examples of gameplay over graphics

OK, so it's holiday season and I've been idly checking out a few more means of wasting time on my iPhone. Compared to the early days of mobile gaming, modern titles often require all of the graphics resources behind them as desktop titles. But I was struck by two examples (both from the same publisher) showing how the graphic simplicity of the mobile games of yesterday can still work in an iPhone game. Pocket Planes and Tiny Tower are an example for small developers of how games from small teams whose development is focussed primarily on the strategy of the game rather than fancy graphics can still work!

Friday, December 6, 2013

More PHP security mayhem

The theme of this article in eWeek follows on from my earlier post about the trouble of securing the "computers" we forget about such as routers, etc. Earlier versions of PHP have a severe security risk, effectively allowing an attacker to run unauthorised commands, install malware etc on servers running PHP scripts. This issue gets severely compounded when we have a plethora of connected devices running PHP (needlessly IMO) with no clear system or mechanism for applying security patches to them ("when did you last upgrade your router's firmware?").

Thursday, December 5, 2013

Pyramid 13 Free for iPad now includes Spanish translation

An update to my free Pyramid 13 Solitaire app for iPad was released to the App Store today and now includes Spanish translations of all in-game instructions, hints, captions etc. Apple's turnaround time from submission to release was surprisingly quick on this occasion, making me wonder if updates that simply include new translations are allowed a simpler, expedited review process?

Thursday, November 28, 2013

Is HTML5 a 'no brainer'?

In a recent article on develop-online.net, the article's author Andrey Kovalishin speaks of the benefits of HTML5. It's true that from some practical perspectives, HTML5 (and effectively, its Canvas and media elements programmed in Javascript) appears to be a good choice: it is a cross-platform solution that works 'out of the box' on many devices and which has now reached maturity in various ways (not least performance in addition to degree of support).

A couple of issues I do see still with HTML5:

  • From a serious developer's perspective, let's face it: JavaScript is truly truly dreadful. By rights, it really should have been allowed to die its death in peace. Many developers, including myself, reluctantly put up with it for some tasks because it has gathered such industry momentum as a cross-platform solution. It 'runs in the right places' but from a developer's perspective, it's really not very apt for remotely complex applications and, were there a choice, not really what you'd like to be using in most cases.
  • HTML5 doesn't solve the problem that native apps still have a privileged position on many devices in terms of App Store discovery and access to some native functionality. The latter may not be huge issue for many apps such as simple games, but the former may be. (It's probably true that raw performance isn't the issue it used to be, on the other hand.)


Securing the "computers" we forget about...

While we're all preoccupied by the security of our laptop and desktop machines, dutifully ensuring that we apply updates and patches and run regular virus checks where appropriate, it's easy to forget that various other pieces of infrastructure such as routers and broadband modems are, at a basic level, full-fledged computers. When did you last update the firmware to your broadband router? Does your ISP or manufacturer of your router even offer such a facility? The issue is illustrated quite pertinently by this report on a recent Linux worm apparently doing the rounds.

Saturday, November 23, 2013

Trusting "open source"

A major benefit of open source software, at least in principle, is that any sufficiently competent programmer can audit the code and gain a level of confidence that the code does not contain security loopholes or backdoors or does not constitute malware more generally. We know that in practice, the idea that "the community at large" has the competence and motivation to audit the source code of a complex project is something of an ideal (you only need to look at the number of security flaws that are found in Linux distributions on a weekly basis). But in principle they could at least gives us a level of confidence about the software writer's intent and it's certainly better than not having the source code at all.

Of course, even if the published source code of a mainstream project is audited, there still remains the issue that in reality, all but the ultranerdiest of übergeeks will actually bother to obtain the software by compiling it from source. Most people will simply download the ready-compiled binaries without taking the time or having the expertise to check whether the binaries they are merrily installing on their computer actually match the published source code.

Recently, master's student Xavier de Carné de Carnavalet decided to attempt such a feat for popular file encryption tool TrueCrypt. His report demonstrates that checking that a published binary actually matches the published source code for a given project is something of a labour of love, and that various assumptions need to be made. Luckily in the case of TrueCrypt, the result does give us a level of confidence that the binary does not hide any malicious code (assuming none is hidden in the published source code). What is slightly alarming is that this type of basic security check is far from being a routine process that any user or even developer could accomplish.

TrueCrypt has come under the spotlight because its authors are an anonymous foundation and it is an obvious target for backdoors on the part of hackers or intelligence agencies. But there is surely much more mainstream software (such as free, open source antivirus programs) that should be given such attention.

As far as an audit of the TrueCrypt source is concerned, at least earlier versions have been subject to a basic security audit, but apparently from the point of view of detecting accidental security flaws in the source code rather than deliberate backdoors or vulnerabilities. This is why cryptography Matthew Green, for example, has recently called for a public, properly funded audit of TrueCrypt. In the light of recent revelations on how intelligence agencies have been compromising mainstream software such as antiviruses, I wonder how many more popular open source projects should be subject to the same scrutiny and haven't been.


Wednesday, November 20, 2013

How effective are the different mobile app stores for app discoverability?

Modern mobile operating systems, and notably Apple's iOS, have fundamentally changed the way most apps are purchased on such devices. With users now locating and purchasing apps directly from the device's built-in app store, the discoverability of apps in such stores is of paramount importance for app developers and marketers.

A recent report drawn up by Pfeiffer Consulting puts Apple, Google and Amazon's app stores head to head, comparing them with reference to various criteria such as the sophistication of their search options. Apple's App Store comes out on top, though arguably not by a resounding margin. But none of the three stores compare well to the theoretical target set by the report's authors: fundamentally, they criticise a lack of features such as natural language search in all three app stores.

The authors raise some interesting points, although the basis of their theoretical benchmarks isn't always clear. It's hard to imagine that a company such as Apple, with an app store that is now well beyond its teething stage, has not at least conducted a feasibility study on the inclusion of natural language search or that its programmers would be incapable of producing one. It seems more likely that the companies have decided that such a feature is not appropriate for app store searching on a mobile device.

Nonetheless, the report may be useful reading for those marketing cross-platform apps who aren't familiar with the discoverability features provided by all three stores.

Friday, November 15, 2013

Internet Security: IETF technical plenary explains "how we got where we are"

This recent Internet Engineering Task Force plenary provides an illustrative summary of the history leading to the current state of affairs regarding Internet security and how it has come to be compromised by intelligence agencies, along with a discussion of potential steps to mitigate the situation in the future. I recommend you start viewing with Bruce Schneier's presentation approx 20 minutes in.

Is Apple really going to release a curvy iPhone?

We're constantly bombarded by spurious "rumours" that Apple is poised on the brink of releasing this-that-or-the-other. If all of them came true, my iPad would be unlocked with an iris scanner and by rights, I should have been wearing an iWatch for at least the past 7 years or so...

I would have taken the rumours about curvy iPhone screens with similar barrels of salt were it not for the fact that one of the reports comes from Bloomberg. This doesn't mean that they're perfect at checking and vouching for their sources, but probably better than some other random student-grown web sites.

So, is a curvy iPhone really what the universe wants right now and would Apple make one? As the Bloomberg article points out, a curved form factor for a mobile phone isn't unprecedented. But I would posit that it's of dubious utility overall: yes, it may fit your face better, but most of the time, your phone is essentially an information presentation and manipulation device nowadays, not a device for making telephone calls. Is a curved screen really the thing you need to read a word document or play Elephants vs Zombies?

Unlike other manufacturers, Apple have the issue of homogeneity: this year they took the brave step of releasing two iPhone models and the market is letting them know what they think of their green plastic iPhone accordingly. But is it really a viable option to roll out a separate line with a curved screen? (They presumably wouldn't take the gamble of releasing a curved form factor across the board.)

So, I'm skeptical but as ever, prepare myself to be proven dismally wrong...

With all this tech talk of security: the simple stuff still matters stoopid!

The major tech story of 2013 will surely be that this is the year that it came to light to just what extent the NSA have been compromising basic Internet and security infrastructure at a technical level. However, as this report points out, we shouldn't let that overshadow the fact that as a race, we are still  really bad at security infrastructure on a social level. It seems that the best way to find out the password to an employee's computer is still to stand at Waterloo Station with a clipboard in your hand and ask them, "What is the password to your computer?"...

Thursday, November 14, 2013

Game Design: "squishy physics"

I recently reviewed Cyto's Puzzle Adventure for iOS: I think it's an interesting idea of a "2D physics" based game that includes a "squishy" element compared to "blockier" games of the genre.

Microsoft reportedly to launch native .NET compiler

According to this article on ZDNet, Microsoft is to launch a new native .Net compiler, codenamed "Project N", allowing C# developers (among others?) to benefit from some of the optimisations used in Microsoft's C++ compiler. One benefit will apparently be quicker launch times. I'm slightly skeptical about the benefit for run times (are lots of people using .NET for applications that will benefit from up-front native compilation as opposed to JIT compilation?), but I guess watch this space...

New tools for 2D games

This year, Apple added a new 2D game framework to Mac OS and iOS, which will hopefully allow smaller developers in particular to create more visually impressive 2D games over the coming months for Apple devices.

Another welcome addition to the 2D gaming scene will be the latest version of the Unity game development kit. Normally a 3D game engine, the latest version (Unity 4.3) now includes a 2D toolset. If it takes off, this should lead to some interesting cross-platform 2D creations from smaller developers.

Tuesday, November 12, 2013

Apple gives developers 50 extra promo codes per app release

Apple has apparently made an update to its developer site today which gives developers a total of 100 promo codes per app release (previously 50). In effect, this allows developers to give away a total of 100 free review copies of their app rather than the previous 50 and will help them to promote their apps to a wider audience.

iPad Air Benchmarks

Performance benchmarks for the new iPad Air (while being aware of the appropriate pinches of salt that must be taken with such "raw" benchmark data) suggest that the device delivers around twice the CPU performance overall compared to its predecessor. For developers, the question is always at what point it is worth developing to the facilities of the newer device.

Friday, November 1, 2013

50% off O'Reilly Java e-books

Users of the Javamex site may be interested in various Java e-books published by O'Reilly which are currently being offered at a 50% discount. See here for more information.

That said, I confess that the raison d'être of an e-book version of a "pocket guide" (see the Java 7 Pocket Guide which features among the offering) is a little suspect!

Thursday, October 31, 2013

Mobile apps: deciding which platforms and localisations to target

Mobile analytics company distimo.com has recently published a report on revenue from games in Apple's App Store and the Google Play store.

Some interesting findings emerging from their study (which relates to data from September 2013) for game developers include:

  • When considering the combined revenue from the App Store and Google Play, almost two thirds (63%) of games revenue comes from the Apple platform;
  • A single iOS device form factor (either iPhone or iPad) single handedly generates roughly the same amount of revenue as all devices on Google Play, according to these figures;
  • 52% of apps in the App Store (namely games) are generating 79% of App Store revenue;
  • The share of revenue from games differs somewhat from country to country, going from 59% of App Store revenue in Germany to over 80% of App Store revenue in Taiwan, for example;
  • Not all app stores are equal in terms of revenue-generating genres: Apple players appear to generate more revenue in RPGs, compared to Arcade & Action games which are the predominant genre in terms of revenue on Google Play-- though it should be noted that on the Apple platform, there was more uniformity in the spread of revenue among genres.

One strong take-away message from the figures for developers and localisers appears to be: if your genre fits, do not neglect the Asian market!

Sunday, October 27, 2013

New free solitaire app for iPad

Klondike Solitaire Collection, recently released to the App Store, features one of the most classic solitaire games, Klondike, along with 2 interesting variants Agnes and Whitehead.

The app is completely free of charge and available now from all iTunes App Stores.

This is the first my solitaire apps for iPad to be translated into Spanish. Other languages and translations of Klondike Solitaire Collection's sister apps are planned for the near future.

Tuesday, October 22, 2013

Apple updates and diversifies the iPad range

Unless you've been sitting under a rock with a blindfold and ear muffs on, you will be aware that Apple today announced various updates to its hardware and software. Updates to the iPad were on the whole fairly predictable and represent more of a gradual improvement than a revolution as such: the iPad Mini now sports a retina display, and the 64-bit processor recently incorporated into the latest models of iPhone is now incorporated into the iPad. In what is becoming an ever so slightly obsessive preoccupation with this dimension, 20% is shaved off the iPad's thickness.

Interestingly, Apple have clearly made a conscious decision to diversify the iPad range in the mind of consumers. The latest crop has, for no obvious technical reason, had the spurious label "Air" attached to it. Despite Apple's mantra that the technological breakthroughs of the new generation are so colossally huge as to warrant this new branding, it's not clear that perceptually at least, the new iPad is anything more than a slight incremental upgrade. Even the CPU change has essentially been "bedded down" with the prior iPhone release. But in introducing this new label, Apple are effectively making a perceptual split between "Mini", (um....) "Normal" iPad 2 and "Air". This, combined with a price reduction in the existing iPad Mini to $299 (that's actually quite a lot of hardware for your buck!), may be an attempt to encourage new adopters with less deep pockets without making them feel they are opting for an 'inferior' version as such.

I'm not sure if, as rumoured, Apple are indeed intending to add a fingerprint sensor to the device at some stage. But I have to say that I find the case for needing to shave a couple of seconds off the login time less compelling than with a a phone, where several times a day, one typically needs to get the device out of one's pocket and quickly check something for a moment.

Anyway, now with this new, diversified range of iPads available, it will be interesting to see how adoption rates go of the various devices.

Saturday, October 19, 2013

Security of iMessage

In view of recent revelations on the tactics used by the NSA to undermine basic Internet infrastructure, the security of on-line messaging systems such as Apple's iMessage has come to the fore. As explained by cryptographer researcher Martin Green on his blog, such an application inevitably involves some kind of trade-off between usability and security. (As indeed do airports, e-mail, ...) The dangers are in a sense social rather than technical: as users, do we have sufficient information to assess the trade-offs being made, understand where their weaknesses or loopholes lie and remain aware of their consequences?

The iMessage system employs what is sometimes termed end-to-end encryption. In other words, asymmetric encryption by each participant in the conversation, and each participant knows how to encrypt data so that the other participant-- and only them-- knows how to decrypt the message once it reaches the other end. Some key weak points in such a system are then:

  • Is the encryption system secure in itself if perfectly implemented? We can usually assume this is the case. Where agencies such as the NSA have advocated a particular scheme, an assumption we have to make is that the NA etc haven't deliberately advocated use of a scheme that they secretly know how to break. This was more plausible a few decades ago when there were fewer independent security researchers. Nowadays, every mainstream encryption scheme used has been scrutinised to some degree or other by the cryptography community.
  • Is the encryption system actually properly implemented? There are a couple of sources of danger here: (a) mistakes made by programmers (implementing cryptography correctly is actually quite difficult), and (b) insecurities (e.g. weak key generation) deliberately introduced by a body such as the NSA enforcing or encouraging a particular implementation. In the case of a company with the programming resources of Apple, we can probably trust that (a) isn't a problem for the iMessage system itself, though Apple appear to have introduced a loophole in the form of backed up iMessages in iCloud. We now know that (b) is a problem with various other large companies such as Skype and major antivirus companies. As far as I'm aware, it's not yet clear whether Apple has also succumbed to this type of coercion.
  • How easily can the system be compromised on the local machine by a third party (or indeed the NSA etc) via a virus, etc? In the case of iMessage on a non-jailbroken device, since iOS is a relatively "locked down" system, we assume that the situation is better than average.
  • How easily can the key distribution system be compromised remotely? This basically boils down to: what opportunities are there for a "man in the middle" to persuade one of the participants in the conversation to encrypt messages using the public key of somebody other than the intended recipient? On this point, it has recently been reported that an Apple insider could do so, but I am not yet aware of any published report that this would be feasible for a third party outside Apple.

The latter weakness then becomes a social issue. For example: (a) do we trust Apple to have measures in place so that it is not feasible for a rogue employee to compromise the system? (b) if the NSA were to compel Apple to deliberately break their key distribution system in order to eavesdrop on messages, would they openly go through due legal process in order to do so?

Security update to Java this week

The version of Java released to Mac OS this week fixes a number of security issues, including a fix to an issue that allowed security manager to be bypassed, allowing malicious apps on web pages to execute arbitrary code. Mac OS users are advised to apply the update as soon as possible!

Updates to Solitaire Whizz

Two small updates to Solitaire Whizz for iPad are in the pipeline:


  • Firstly, a small bug in Baker's Dozen has been found in the version included with the full Solitaire Whizz app: erroneously, the game allows you to move whole sequences from one column to another whereas only single cards should be moved.
  • Secondly, a new, free, app is shortly to be released. Klondike Solitaire Collection will feature Klondike plus the two variants Agnes and Whitehead. More details will be released shortly.


The new Solitaire Whizz Facebook page will provide updates on this and other Solitaire Whizz news.

Tuesday, September 24, 2013

Solitaire Whizz Version 1.3 Released

The latest update to the Solitaire Whizz compendium for iPad has just been released. The update features 4 new games (Baker's Dozen, Nestor, Osmosis and Windmill), bringing the current total to 24 games in a single app.

Interestingly for developers, this was the first time that I have seen an app reviewed and approved within a few hours submission, and suggests that Apple may be pulling out all the stops with app reviews in order to get updates with iOS 7 fixes into the App Store as soon as possible. (The update to Solitaire Whizz does not specifically include any iOS 7 changes.)

Play Pyramid 13 on line.
Get Pyramid 13 free for iPad.
Download Solitaire Whizz from the App Store.

Wednesday, September 18, 2013

iOS 7 Released Today

After much anticipation, the first public release of iOS 7 was rolled out to iPhones, iPads and iPod Touches today. After a little perhaps unsurprising overloading of Apple's servers during the day (I received reports of people being told it would take 12-24 hours to download!), things appear to have smoothed out.

A notable number of updates to apps in the App Store over the last few days have included compatibility fixes as publishers stepped up for the imminent iOS 7 release. Developers have, as usual, had access to beta versions of iOS 7 over the last couple of months in order to root out and resolve any such issues. On the surface, Apple in the meantime appear to have ironed out instability issues that were present in the initial beta releases.

From this point of view, I don't have too many fears that the iOS 7 release will cause too many issues, and don't share other commentators' views that users should be too anxious about upgrading.

One aspect that will be interesting to watch is how flawlessly iOS 7 behaves on the iPhone 5S, Apple's new 64 bit device, given that public beta testing has been on 32 bit devices.

Saturday, June 29, 2013

Free Pyramid 13 Game for iPad

Patience game (solitaire) addicts may be interested in a new Pyramid 13 Game for iPad that I released the other day. The app features two variants of the game (1 redeal and 2 redeals) allowing you to play Pyramid 13 in two different modes depending on whether you prefer a more 'strategy' or more luck-focussed game.

This free Pyramid 13 app features the same high-quality retina graphics as its sister app Solitaire Whizz, featuring a total of 20 different solitaire games for iPad.



Tuesday, June 4, 2013

Update to LetterMeister beta to improve animation/transition speed

Various App Store reviews of LetterMeister, while on the whole very positive, complain about slow menu animation speeds.

LetterMeister for desktop now contains an additional startup option to use fast animations. As the animation speed had been mentioned as a sticking point by a number of people, this option is on by default.

After more testing with the desktop version, the plan is to roll out the faster animations to the iPhone version.

Monday, June 3, 2013

2D game physics with Blosics

I recently reviewed a fun game for iPhone, Blosics, based heavily around "2D game physics", and a good example for developers thinking of devising such a game. As you'll see if you try it, the results can be quite addictive.

Oracle on security fixes to Java

At the end last month, Oracle's lead Java platform developer left a blog post giving an overview of previous and upcoming security fixes to Java. While this focus on security is promising (and necessary if Java is not to lose significant traction), the actual number of security issues still being discovered is still staggering for a supposedly mature platform.

A key change to the Java security strategy revolves around the behaviour of Java in browsers: signed applets will not automatically be "unsandboxed". Further more, Oracle is reportedly phasing out the use of unsigned and self-signed applets, combined with improvements to check the revocation status of certificates. This latter change is potentially significant for developers (myself included) who have been "lazy" with signing their apps, but probably a necessary step in the long run. (However, it is still important to have in the back of one's mind that knowing somebody's identity does not necessarily reveal anything about their intentions...)

Oracle are also addressing the issue that companies are being put off using Java server-side because of the recent reports of security issues with Java in web browsers. Technologically speaking, many of these fears are probably unfounded. But from a business point of view (read: how many programmers will be using Java in the future), Oracle does apparently understand the need to address perceptions of security as well as actual security issues.

In the meantime, a significant proportion of web traffic nowadays is coming from devices and browsers that do not support Java. I suspect that for client-side applications, many developers have already begun to adopt alternative solutions in any case.

Three vulnerabilities in IBM Java Runtime

I don't know how many companies are using the IBM Java Runtime nowadays (it was once a popular option on Linux). However, if you are, note the three vulnerabilities reported here. Unfortunately, it seems to me that the descriptions of these vulnerabilities are somewhat difficult to assess...!

Saturday, June 1, 2013

A case study in the modernisation of an old gaming classic: Tetris

The game of Tetris represents an interesting example of how a classic can survive into contemporary gaming. As I mention in my recent review of Tetris Blitz, there are a few key gameplay tweaks that make the genre suitable for current mobile gaming. EA's somewhat aggressive selling of in-app features may put some players off, but the app will also serve as a lesson to would-be developers porting retro games to the smartphone platform.

BBC on the difficulty of targeting the Android platform

The BBC trust recently responded to a complaint that "the BBC had favoured iOS (Apple) over other mobile platforms with greater market share". The response essentially exonerates the BBC, concluding that "there was no evidence that the BBC had unfairly favoured the iOS platform when making development decisions and allocating resources". The apparent favouring of iOS was in a fact found to be for "objective" reasons in their parlance: essentially, the BBC's argument (upheld by the BBC Trust) is that it has so far been a more practical choice to focus on iOS because of the currently higher up-take vs development effort compared to development on Android, a less homogeneous platform and one with lesser rates of "engagement" as they put it.

From comments I have read from developers, it appears that some agree with this sentiment. But other Android developers apparently see the lack of homogeneity among Android devices as less of an obstacle than the BBC does. Some of the issues faced by small developers, without the resources to have multiple test devices, should be less of an issue for the BBC.

As Apple CEO Tim Cook has been keen to point out in a recent interview and in other conference presentations, Apple devices are responsible for proportionally more web traffic generally than other devices put together, possible supporting the BBC's "engagement" argument.

It will be interesting to see how this situation changes in the near future...

Solitaire Whizz free of charge this weekend

Card game lovers may like to know that Solitaire Whizz, my compendium of 16 patience games for iPad, is complete free this weekend.

Take advantage to download your copy now while the offer is still on!

Friday, May 10, 2013

Solitaire Whizz 1.1 released

An update to Solitaire Whizz for iPad has been released to the App Store. This update features a few small changes and fixes to some of the solitaire games included in the compendium. In particular:

  • the version of Pyramid (also known as Pyramid 13) included now allows for up to 2 redeals instead of just 1 (different sources suggest a different number of redeals, but with 1 it was decided that the game was too difficult to solve most of the time)
  • a fix for FreeCell to allow any card to fill and empty column (effectively turning an empty column into an additional free cell under many circumstances), in line with the usual rules

For more information about the changes, please see the Solitaire Whizz entry in iTunes.

Thursday, April 18, 2013

The history of Freecell: a solitaire game made for computer implementation

Freecell, as implemented in Solitaire Whizz for iPad
EDIT: The How to play FreeCell page of the Solitaire Whizz documentation now contains a screenshot of the original 1978 FreeCell game. There is also a screenshot of the main menu screen in the site's solitaire FAQ.

I'm currently adding some on-line documentation for my recently released Solitaire Whizz compendium for iPad. Solitaire games (or Patience games, as they are still commonly referred to in the UK) have borrowed ideas from one another over the years and different games have become popular with the publication of particular different magazine and book articles describing them. Solitaire games lend themselves well to computer implementation, and indeed to a device such as the iPad, as they are based on relatively simple principles and are fun to play, but are sometimes tedious to set up. But compared to a computer screen, playing on the iPad gets you a little closer to the feel of manipulating real cards on a flat surface. (As I have argued before, the same is true of board games in general.)

Practically all of the solitaire games commonly played on computer, including the omnipresent Klondike, started life as a traditional card game. But one notorious solitaire game, Freecell, has a curious facet to its history: to all intents and purposes, it actually started life as a computer game.

Freecell essentially started life as a game for the PLATO computer, a mainframe system developed for education in the US in the 1970s. The original PLATO version was developed by medical student Paul Alfille and was apparently popular among US university students at the time. In an interview, Alfille discusses how Freecell was loosely based on recollections of other solitaire games he had read about as a child, but not formally based on any prior description of an identical game, and originally played as a card game only by himself. So essentially, the incarnation of Freecell was as a computer game.

Various games that were popular in the 1980s, such as Elite, Battle Zone and simple RPGs, appear to have had their origins in games developed for PLATO in the 1970s (the original 1970s games appear to have been slightly more educationally oriented with less of an arcade style to their gameplay: see this video for examples of some games in action). It is probably not too surprising that games played by computing students of the 1970s had spin-offs in commercial games in the 1980s as the respective programmers developed their careers. And so, Freecell as it appeared in Windows appears to have been a spin-off of the PLATO version of Freecell-- even though the Microsoft developers had no connection as such with Paul Alfille.

The original PLATO version of Freecell appears to have been highly configurable, with varying numbers of columns and cells. Following its Windows incarnation, modern versions of Freecell tend to be played, as with the version included in Solitaire Whizz, with eight columns and four cells. But Alfille describes another popular variant at the time, with four columns and ten cells, which was frequently winnable. Another feature of the original version appears to have been that it made moves automatically: specifically, when there was only one possible 'useful' move at a given time, the computer would make it automatically.

In the Solitaire Whizz version, moves are not made automatically. However, when you press the 'Hint' button (or turn on automatic hints), only 'useful' moves are presented to you. If there is sufficient interest, I may add an option to make moves automatically in a future update to the app.

Friday, April 12, 2013

New iPad app: Solitaire Whizz

You may be aware that, as well as writing articles about programming, I also get to do some programming from time to time :)

And so, I am pleased to announce that the first version of my new app, Solitaire Whizz for iPad, was released to the App Store the other day!

Solitaire Whizz currently features a total of 16 solitaire (patience) card games and variations. It includes classics such as Klondike and Freecell, along with various other games chosen because they are fun to play and lend themselves to the iPad format. So, for example, if you are looking for Pyramid 13 or Yukon for iPad, do check out the app.

Additional games are planned for coming updates: for more information, check the Solitaire Whizz web site.

Friday, January 11, 2013

Serious vulnerability found in latest version of Java

A serious vulnerability in Java has been reported, present in the latest update of Java (Java 7 Update 10).

As with some previous vulnerabilities discovered and patched in earlier months, it allows arbitrary code execution by Java code downloaded to the Java plugin in a web browser.

If you have not done so already, the current advice is to disable Java in your web browser until further notice or at least only let Java run on a site-by-site basis.

Sunday, January 6, 2013

Google translate bad

I have written before on the perils of machine translation, as have other linguists.

Recently, Google translate, or at least associated technologies such as its Text To Speech (TTS) system, seem to have been experiencing some slightly hilarious bugs or instances of data corruption. In this example, the TTS engine appears to spuriously change certain sentence-final word combinations to the curiously ludicrous phrase "praise the iPad".

It appears that Google have been working on some emergency fixes for this problem which have not yet been altogether successul. In this example, notice how "filled with" is apparently spoken as "filled bad" when rendered with the TTS engine! The translation (although still incorrect) is apparently not affected by this specific bug.


Saturday, January 5, 2013

A disturbing bug...

You may have been rudely awakened the last couple of nights to a curious bug that has become apparent in iOS. The bug manifests itself if you have the Do Not Disturb feature scheduled to come on. A surprising omission before iOS 6, the feature allows you to suppress the various bleeps, bloops and vibrations that would otherwise wake you from your slumber. (Or for those of us whose brain has nerdily trained itself to sleep through such disturbances over the years: avoid waking your lighter sleeping partner, thus preventing the grunts of irritation that would otherwise wake you from yours...) One of the many (ahem) miraculous innovations of iOS 6 was to allow you to set a period of time during which your phone would refrain from pestering you in any way about incoming e-mails, phone calls or requests to feed your Sims' goldfish. So far so good.

But iPhone users may have noticed recently that Do Not Disturb is not working properly: effectively, scheduled Do Not Disturb has failed to kick in since 1 Jan of this year. (This is how I have experienced the problem; I have also seen the problem described as the device failing to exit Do Not Disturb and I am supposing that how the problem manifests itself depends on when you have DND scheduled.)

You will be forgiven for thinking that this is a simple bug for which a fix will be duly released. But Apple's response to the issue has been curious to say the least: according to their description, it appears that the problem will magically fix itself on 7 January. Not even the Mayan apocalypse-seers could have predicted that.

So that got the programmer in me wondering: what precisely is the bug that would cause this to happen? In a natural implementation of a scheduling feature, at what point would you have a different code path for when the date is between 1 Jan and 7 Jan of a particular year? (Or, say, some arbitrary number of days after the beginning of a new year following a leap year or whatever the condition turns out to be...)

And if that's not the case, what precisely is the component or setting that Apple are able to magically update "behind the scenes" to fix this without an actual OS update?

In the meantime, you have at least three solutions to the problem: (a) locate your iPhone overnight in a different room where the bleepings and buzzings won't disturb anyone; (b) re-configure your iPhone so that it produces fewer alerts about your Sims' goldfish and Nigerian lottery offers (time-consuming, though would have the advantage of fewer interruptions during the day as well); (c) remember to turn "Do Not Disturb" off and on manually (in reality, this means missing a few phone calls in the morning as you inevitably fail to remember to turn it off).

Or perhaps the best high tech solution is to buy your partner a pair of ear muffs?