Apps should be conduits for web services

Beautiful designed apps should be conduits for web services. Or provide some form of “desktop” capability. Sync is important.

Brent Simmons recently wrote of Marco Arment

You know him from Tumblr, Instapaper, The Magazine, and (coming soon) Overcast.

You may think of Marco as an iOS developer – but every single one of those apps is a web service.

This thought process works very well with a presentation John Gruber gave at Web 2.0 Expo NY – watch the 10 minute video on Apple and the Open Web. He describes Apple as a “ht” company: they’ve embraced HTML and HTTP.

I look at my iPhone and think to myself what apps I use (i.e. have an icon on my screen) that are web apps:

  1. Google Calendar (direct web app, opens a browser window)
  2. RunKeeper
  3. Fitbit
  4. Withings
  5. Cardiio
  6. MyFitnessPal
  7. Chrome
  8. Mail
  9. TripIt
  10. Evernote
  11. Instapaper
  12. Kindle
  13. NewsBlur
  14. Hello (by Evernote)
  15. Skype
  16. Instagram
  17. Vine
  18. Rdio
  19. Spotify
  20. Google
  21. Reminders (stock Apple app, wonderful sync at work)
  22. Safari
  23. Facebook
  24. Foursquare
  25. Twitter
  26. KakaoTalk
  27. Line
  28. Messenger
  29. Hangouts
  30. Telegram
  31. Tweetbot
  32. Google+
  33. Dropbox
  34. 1Password
  35. Expensify
  36. MyTeksi
  37. Uber
  38. YouTube
  39. Paper
  40. Bloomberg

What isn’t a web app? Photos (though there is an iCloud Sync that I don’t use – I prefer it going to Dropbox), Camera, most of Apple’s standard apps (of course, FaceTime, Notes, Calendar – they all sync), DocScanner (syncs to Dropbox, but has no web app behind it), Snapseed, Camera+, 360 (has a web component though I never use it). Music/Podcasts theoretically sync with the web, but again, not my use case. I don’t consider Google Authenticator a web app either though I use it in conjunction with the web. Messages has iMessage but there isn’t a web interface (yet?).

We can argue that the messaging apps aren’t really web services. KakaoTalk/Line have desktop clients. Whatsapp is notoriously mobile-only. Viber/WeChat seem to be mobile only for me. Telegram leads the way by having a nice Chrome browser plugin. Skype is a desktop app.

That makes the majority of my apps that I use, really, web apps. My phone is a conduit to the Internet. This is why I consume data and WiFi.

My iPad is not much different – I use it a lot more for reading, and that includes the FT (fully HTML5 web + mobile app), WSJ, NYTimes, New Yorker, The Economist. OK, there’s GoodReader, iBooks, Zinio for offline reading too, a lot more magazines, and some office software – the iWork suite (which syncs to iCloud). A cool app like Penultimate (now free after Evernote purchased them – again syncs online).

This is the success metric for an app. No point building an application to have a F1 racing timetable (I get that from F1.com or a simple Google search). No point building an application that collects Malay proverbs (I can search for that if I was interested; or if it was the English context, I’d just look up wikiquote).

Games seem to be an exception to this, but as I have never played games and don’t intend to start (I don’t grok the mind of a gamer, sorry), I’ll pass on overall commentary. 

Congratulations Ubuntu, for the wide choice!

Inspired by Yngve Svendsen’s post, I too think it makes absolute sense to congratulate Ubuntu on the 14.04 LTS release (some server notes – MySQL has a section dedicated to it). Ubuntu users have a lot of server choice today (that’s from all major MySQL ecosystem vendors):

  • MySQL 5.5.35 ships in main. It is the default MySQL. Oracle has committed to providing updates to 5.5 throughout the LTS release cycle of Ubuntu (which is longer than the planned EOL for 5.5). This is why the grant of a Micro Release Exception (MRE).
  • MySQL 5.6.16 ships in universe
  • MariaDB 5.5.36 ships in universe.
  • Percona XtraDB Cluster 5.5.34 ships in universe

Ubuntu’s pitch is being the cloud platform of choice, with OpenStack support. This explains why Percona XtraDB Cluster (the only shipping Galera Cluster variant – no upstream Codership release, and no MariaDB Galera Cluster) is critical infrastructure as its used widely in OpenStack deployments. 451Research estimates that the OpenStack distributions market is worth $82 million in 2014 and $119 million in 2015.

Press release had a choice quote from Percona CEO, Peter Zaitsev:

“We are very pleased that Percona XtraDB Cluster is included in Ubuntu 14.04 LTS. Many organisations that use MySQL need high availability solutions to ensure that their applications meet the expectations of their users. Percona XtraDB Cluster is an easy to use, open source solution for MySQL clustering which addresses these high availability needs. We continue to see growth in Ubuntu usage by our customers and our open source software users so we are confident that the inclusion of Percona XtraDB Cluster in Ubuntu 14.04 will help spread the adoption of cost-effective, high availability MySQL.” Peter Zaitsev, Co-Founder and CEO at Percona

 

SSL and MariaDB/MySQL

With the recent Heartbleed bug, people are clearly more interested in their MariaDB/MySQL running with SSL and if they have problems. First up, you should read the advisory notes: MariaDB, Percona Server (blog), and MySQL (blog).

Next, when you install MariaDB (or a variant) you are usually dynamically linked to the OpenSSL library that the system provides. Typically on startup of MariaDB 10.0.10 on CentOS 6.5 (packages from the MariaDB repository), you can check what your status of SSL is.

MariaDB [(none)]> show variables like 'have_ssl';
+---------------+----------+
| Variable_name | Value    |
+---------------+----------+
| have_ssl      | DISABLED |
+---------------+----------+
1 row in set (0.00 sec)

This means that SSL options are compiled, but mysqld didn’t start with it. You can verify SSL is linked dynamically:

ldd `which mysqld` | grep ssl
	libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007ff82d1b1000)

If you are running with SSL enabled (some documentation at MySQL) you will have different options naturally. You can do this via: /etc/init.d/mysql start --ssl. Output now changes:

MariaDB [(none)]> show variables like 'have_ssl';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_ssl      | YES   |
+---------------+-------+
1 row in set (0.00 sec)

The value NO will be displayed if the server is not compiled with SSL support. See SSL Server System Variables for more.

Ai Weiwei – Evidence

I was fortunate enough to have some free time earlier today evening, and headed over to the Martin-Gropius-Bau to catch the Ai Weiwei (@aiww)exhibition titled Evidence. This is the first time I’ve seen Ai Weiwei’s work as I missed it at the Tate Modern in London a while back.

He is a modern artists. Playing around with a lot of different materials to come up with his artwork. And he makes use of the Web. I guess his claim to fame is that he’s all for freedom of speech & expression (something that’s hard to do in China – a dissident he is, if you must), and the fact that he’s a documenter of modern happenings (everyone is interested at the amazing pace of growth in China – he shows that by video recordings of highways, or driving around and recording his journey as an example).

For me, I was really moved by Zodiac Heads (Circle of Animals). I would so grab the rat, tiger and dog as examples! 

China in ten years (I first went to Beijing in 2004 – it has changed a lot in a decade) has become a lot more materialistic. The car of choice used to be the Audi; it still is, but you find a lot of other luxury vehicles on the roads nowadays in Beijing. So the Han Dynasty vases painted with metallic paint from BMW & Mercedes was great for cultural insight. Culturally, the want of antiques is also high and the Table & Chest with stripped chairs was also interesting – remove 1mm sheen from Ming Dynasty furniture and they look like new. What is the purpose of antiques again?

I enjoyed his Study of Perspectives (a selection at moma) as well. He goes to famous landmarks and takes a photo with his left middle finger.

He portrays the disputed islands (between China & Japan). I loved the stools because they each tell a story (6,000 of them). I enjoyed his re-enactment of how he was held captive by the Chinese authorities for some time. It’s shocking to see how you would sleep with a light on, always be watched by security guards and have everything covered up – where you have to do your own laundry and the only thing you get are 6 hangers. Its sad to see that his studio in Shanghai was demolished at a moment’s notice – but he made artwork out of it. He showed the evidence that was confiscated (lots of laptops/video recorders/PCs).

A protest pre-demolition involved river crabs (he xie). Guess that’s the beauty of the Chinese language :)

If you get the chance to check Ai Weiwei’s work out, its well worth it and will take you a good 2 hours (read a review in The Economist). You can’t take photos inside, but you will leave with a lot of memories. If you can’t see this one in Berlin, check out a video: Ai Weiwei – Dumbass. At five minutes long, it makes my video of the week.

Korean MySQL Power User Group

If you are a MySQL power user in Korea, its well worth joining the Korean MySQL Power User Group. This is a group led by senior DBAs at many Korean companies. From what I gather, there is experience there using MySQL, MariaDB, Percona Server and Galera Cluster (many on various 5.5, some on 5.6, and quite a few testing 10.0). No one is using WebScaleSQL (yet?). The discussion group is rather active, and I’ve got a profile there (I get questions translated for me).

BBQ starters for tonight's DBA dinner in SeoulThis is just a natural evolution of the DBA Dinners that were held once every quarter. Organised by OSS Korea, and sometimes funded by SkySQL, people would eat & drink, while hearing a short message about updates in the MySQL world (usually by me, but we’ve had special guests like Werner Vogels, CTO Amazon; recently we’ve seen appearances by Monty, Patrik Sallner, Michael Carney where mostly all we do then is eat & drink).

So from meetups to getting information online, in a quick fashion. Much hunger for open source in Korea, very smart people working there on services feeding the population (where some even make it outside of the local market). The future of open source in Korea is definitely very bright.

Amazon EC2 Linux AMIs

If you use Amazon Elastic Compute Cloud (EC2), you are always given choices of AMIs (by default; there are plenty of other AMIs available for your base-os): Amazon Linux AMI, Red Hat Enterprise Linux, SUSE Enterprise Server and Ubuntu. In terms of cost, the Amazon Linux AMI is the cheapest, followed by SUSE then RHEL. 

I use EC2 a lot for testing, and recently had to pay a “RHEL tax” as I needed to run a RHEL environment. For most uses I’m sure you can be satisfied by the Amazon Linux AMI. The last numbers suggest Amazon Linux is #2 in terms of usage on EC2.

Anyway, recently Amazon Linux AMI came out with the 2014.03 release (see release notes). You can install MySQL 5.1.73 or MySQL 5.5.36 (the latter makes the most sense today) easily without additional repositories.

The most interesting part of the release notes though? When the 2014.09 release comes out, it would mark 3 years since they’ve gone GA with the Amazon Linux AMI. They are likely to remove MySQL 5.1 (its old and deprecated upstream). And:

We are considering switching from MySQL to MariaDB.

This should be interesting going forward. MariaDB in the EC2 AMI would be a welcome addition naturally. I do wonder if the choice will be offered in RDS too. I will be watching the forums closely


i