Array, and that functions are also implemented as objects.
Before we can leave the playground and head off into the world of the browser, we just have a few more loose ends to tie up, which we’ll take care of in this instalment.
Now that we know about objects, we need to re-visit the
A function is a collection of statements that is given a name so it can be easily re-used. We’ve already used functions, but without knowing that’s what we’ve been doing.
Arrays store a list of related data in a single variable, and loops allow us to apply the same action over and over again. To process an arbitrarily long array, you need some kind of iteration, and loops are the simplest way of achieving that.
Since my initial, rather negative, reaction to Smile’s release of Text Expander 6, with it’s move to subscription pricing and forced use of their un-encrypted in-house cloud, Smile have announced some important changes.
Critically, they will continue to sell the non-cloud versions of their OS X and iOS apps (TE5 & TE3 respectively). This means that users can continue to use TextExpander for the foreseeable future, without having to trust their data to an un-tested and un-encrypted cloud. Smile have also addressed the cost issue by extending the 50% discount for existing users from 1 year to a lifetime.
It’s great to see Smile responding to their customers, and I think the price-drop for existing customers will resolve the cost issue for many people. It does for me.
Personally, I would like to be in a position to move to the new subscription version of the apps in the future, but I’m not going to feel comfortable doing that unless and until they address the privacy concerns I have about their current cloud design. I’m hopeful that they have heard that feedback too, and that encryption will show up on their cloud offering within the next year or so. If that comes to pass, I’ll happily make the switch.
I’m also hopefully that as Smile conduct their postmortem of this troubled launch, that they look again at how they use data from their support inbox when planning product changes. Support requests can serve as a good metric for what new features would be of the most value, but they provide no information at all about the relative importance of existing features. Text Expander 6 removed an existing feature, DropBox/iCloud sync, to facilitate the addition of a new feature, sharing. The support mailbox provided evidence of the desire for the new feature, but the value of the old seems to have come as a complete surprise to Smile! You simply cannot infer the value of existing features from support inboxes of Twitter feeds – the only way to figure that kind of thing out is to ask users, or to run betas. Smile kept all this totally secret until they had made a massive investment of time and resources. A mistake IMO, but then again, I am only an armchair CEO, and it’s not my livelihood that’s on the line!
The bottom line is that Smile have clearly been paying attention to the feedback, which can only be a good thing.
false?), we’ll learn about some comparison operators that result in boolean values, and we’ll learn about some logical operators. At that stage we’ll have all the knowledge we need to learn about our third fundamental programming concept – branching.
For many years now I have been an avid user, and eager evangelist for, a Mac app called TextExpander. TextExpander allows you to create snippets that you can invoke with shortcuts, and those snippets can range from the simple to the very complex, as in the URL conversion snippet I blogged about recently.
TextExpander has worked really well for me on all my Macs. I have it configured to sync my snippets over DropBox, and it just works. I have years of problem-free text expansion under my belt now with TextExpander. From my point of view, there was no problem to be solved – the app just worked!
The app was sold as a standard app – pay full price once, then pay a reduced price for future upgrades. I bought in at version 3, and have paid to upgrade to versions 4, and then 5. I’m in Ireland, so I do everything in Euro, so after currency conversion, my total spend on TextExpander for the last five years is a little under €65. Not a €0.99 app by any means, but a reasonable and fair price IMO.
Yesterday, TextExapnder 6 was launched, and it comes with an unexpected surprise – a whole new business model! The app has gone subscription – all syncing is now through their private cloud, whether you like it or not, and, you have to pay a monthly fee to use the app. If you pay the monthly fee annually you get a bit of a discount, so you can get the app for $47.52 per annum. Existing users get a 50% discount for one year.
So – is this a positive development for long-time and very happy users like myself?