Stanford's iOS Swift Course

on 31 January 2015

For the last week or so I’ve been working through Stanford’s semester-long course on Developing iOS 8 Apps with Swift which is available through iTunes University.

The course is taught by Paul Hegarty, who was an early hire at NeXT Computer and went on to co-found a software company before returning to Stanford to teach. It’s been a real joy to work through the lectures typing code with Paul as he explains both its function, and some the underlying rational behind doing things.

I’ve spent many hours and learned a lot through watching bitesized screencasts like Railscasts or Avdi Grimm’s Ruby Tapas. But there’s something nice about having an entire hour to cover a lot of ground, and for each lecture to build the last.

There are hundreds of amateur educators who are producing fantastic courses online, but seeing an expert teaching is a pleasure.

Microsoft and Apple

on 30 January 2015

Today Apple is worth $683bn, over double Microsoft at $338bn. Apple made a profit of $18bn in the last quarter. My feeling is that Microsoft haven’t even hit their biggest challenges yet.

As a Mac user I don’t have much interaction with Microsoft products, aside from occasionally having to use Excel, and even more infrequently, Word. But last week I installed Windows 8.1 (is that the same as Windows 8?) on a friend’s laptop. Followed by installing Office. I dreaded doing it - I haven’t used windows for three years, and even then I was still fairly lost at sea. My first thought when I touched this new Dell laptop was how flimsy, plastic and breakable it felt. I swear I almost cracked the screen in half trying to open it at the hinge side. The build quality is laughable. This is part of Microsoft’s problem - Apple products ooze quality before they’re even turned on. Microsoft Windows is encased in whatever plastic shell a third party manufacturer can sell. Textured, chrome effect, leopard print - whatever will sell. It reminds me of Nokia’s Xpress-On phone covers.

Windows installed neatly. Obviously I had to go hunting around for drivers for various unrecognised components of this very standard computer. Dell’s Service Code system worked reasonably well, but I cannot believe that the process is exactly the same as it was back in 2001 with XP. Open device manager, right click the little yellow exclamation marks and try to find some sort of driver that will work. SURELY this should be a solved problem by now? At least between Microsoft and Dell???

My friend had moved from XP which would no longer run the versions of Office she needs to deal with accountants and the government. She HATES Windows 8, the start menu is gone and replaced by a context jarring screen full of ill-ordered applications. I genuinely think Windows XP had a close to perfect UI and that XP is closer in experience to OS X now. That’s bad news for Microsoft as users are reaching the end of the road for XP and find themselves standing at a fork: More plastic, marketing bullshit, spyware and salesmen at Bestbuy, or something sleek from Apple that actually seems more familiar to an XP user (especially one that uses an iPhone), and at not a huge premium.

Microsoft have close to zero presence on mobile. No meaningful digital marketplace like iTunes, Amazon (Prime) or Play. Bing is barely used. Hotmail (now Live Mail?) is shit. Office 365? I’ve no fucking idea why 99% of consumers need anything more than Google Docs, and Open Office is bordering on mainstream now. XBox still seems strong. The Surface tablet was a decent attempt at marrying up hardware and software. It seemed to have some fans but completely missed the mass market and got undercut by commodity Android tablets.

Not to say that Apple are doing everything perfectly. I hate the iOS 8 flat, featureless design and iTunes is still a sluggish piece of crap. Still, they’re selling 34,000 iPhones 6 handsets. Every. Single. Hour.

Transacting in Bitcoin

on 29 January 2015

I made three different types of transaction in Bitcoin last night.

First I put $10 cash into a BTC ATM and bought some coins onto a wallet on my phone. This was seamless and fast - a massive contrast from the last time I used a Bitcoin ATM in San Francisco last year. On that occasion I had to scan my passport, my palm print and my face. This time I just inserted a banknote and scanned the QR code of my mobile wallet.

I then bought myself a drink at the bar and paid with Bitcoin. Which was even quicker than buying coins with the ATM. A mobile wallet really is the key to using Bitcoin in the real-world - and this was my first experience of using one. Essentially the sender scans a QR code provided by the recipient and enters the amount to send. The bar I was at had a Galaxy Note as their Bitcoin mechanism. Unfortunately there’s no business case for accepting bitcoin yet - it’s slower and more cumbersome than cash. But certainly on a par with credit cards for ease of use and speed.

My last transaction was to buy some Bitcoin for cash from Felix Weis, who is spending 365 travelling the world using nothing but Bitcoins. This was the least smooth of the transactions as we had to calculate the amount of BTC to transfer for a fixed amount of local currency. Even verbalising amounts of Bitcoin is overly complex. A number like 0.020549201 is almost impossible to articulate. I have no idea where to round it off either to avoid agonising over fractions of a cent, or (even worse) rounding myself out of $10.

It’s important to say though, that none of these transactions was held up by waiting for a confirmation from the Blockchain. This confirmation can take between ten minutes and an hour and basically says that the transaction definitely happened. In the absence of a confirmation, I could have ten friends at ten other bars all sending the same Bitcoin at the same moment. Essentially double-spending. Part of the delay at the Robocoin ATM in San Francisco was waiting for a confirmation on the blockchain.

My feeling is now that Bitcoin and the blockchain has some parallels to email. While email’s core is still sending and receiving messages, it’s at least equally useful as a means of identification and authentication (login). Things like e-ticketing use email but have needed other technology like PDF to come to fruition. For better or worse, identity on the internet is still largely centralised through an email address. Email had some difficult concepts at first, but I’d say the majority of people could now identify an obviously invalid email address. Explaining how to find an @ sign on the keyboard might be compared with showing someone how to scan a QR code.

I still don’t know where Bitcoin’s headed (which is most of the fun). As Felix said to me last night, in five years it will either be a worthless piece of nostalgia or an everyday technology.

The right amount of magic

on 28 January 2015

Developers talk about magic, which is where big, amazing things happen with a disproportionately small and simple piece of code. There’s a whole spectrum of magic - from C which gives you almost nothing, through to using a framework like Ember and writing in Coffeescript.

Too little magic is unproductive and dry. Too much is even worse - it makes it hard to understand what’s going on, and to understand how elements and processes relate to each other.

Rails has the right amount of magic - and Ruby makes it easy to throw a little magic dust on things. I think this explains a lot of their popularity, and is the basis for claims that Ruby allows ‘beautiful code’ and Rail is ‘productive’. I’ve been working in Swift and XCode for the last couple of weeks and it feels like the balance is right there too. In twenty lines I’m able to capture video from an iPhone camera, extract QR codes and parse their data. It’s fast to write, and it’s extremely fast to run. The experience reminds me of the initial sense of power that I got from Visual Basic back in about 1997.

That said, there’s a lot of mystery happening between the Storyboard and swift code that I don’t understand yet. But so far, so good.

Things I just learned about headphones

on 9 November 2014

Headphones might need to be run in

It’s not completely proven, but it does seem probable that headphones benefit from wearing in to some extent. Something around 40-hours of normal usage would seem to be the magic number. The RHA MA750i pair that I’ve just bought apparently need more running in than most.

iOS has a ‘late-night’ mode that makes a huge difference in noisy environments

Under Settings > Music > EQ, there’s a Late Night option which compresses audio into a smaller range which makes it sound better in a noisy environment like a plane, office or streetscape. Unlike the other EQ settings, this mode affects all audio output from the phone, including video and app audio.

iOS EQ only affects the music app

Spotify audio is unaffected by the iOS EQ setting. But Spotify has its own EQ setting under Settings > Playback > EQ.

Newer posts Older posts