Simon Willison’s Weblog

Subscribe
Atom feed for mobile

39 items tagged “mobile”

2024

What’s New In Python 3.13. It's Python 3.13 release day today. The big signature features are a better REPL with improved error messages, an option to run Python without the GIL and the beginnings of the new JIT. Here are some of the smaller highlights I spotted while perusing the release notes.

iOS and Android are both now Tier 3 supported platforms, thanks to the efforts of Russell Keith-Magee and the Beeware project. Tier 3 means "must have a reliable buildbot" but "failures on these platforms do not block a release". This is still a really big deal for Python as a mobile development platform.

There's a whole bunch of smaller stuff relevant to SQLite.

Python's dbm module has long provided a disk-backed key-value store against multiple different backends. 3.13 introduces a new backend based on SQLite, and makes it the default.

>>> import dbm
>>> db = dbm.open("/tmp/hi", "c")
>>> db["hi"] = 1

The "c" option means "Open database for reading and writing, creating it if it doesn’t exist".

After running the above, /tmp/hi was a SQLite database containing the following data:

sqlite3 /tmp/hi .dump
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE Dict (
    key BLOB UNIQUE NOT NULL,
    value BLOB NOT NULL
  );
INSERT INTO Dict VALUES(X'6869',X'31');
COMMIT;

The dbm.open() function can detect which type of storage is being referenced. I found the implementation for that in the whichdb(filename) function.

I was hopeful that this change would mean Python 3.13 deployments would be guaranteed to ship with a more recent SQLite... but it turns out 3.15.2 is from November 2016 so still quite old:

SQLite 3.15.2 or newer is required to build the sqlite3 extension module. (Contributed by Erlend Aasland in gh-105875.)

The conn.iterdump() SQLite method now accepts an optional filter= keyword argument taking a LIKE pattern for the tables that you want to dump. I found the implementation for that here.

And one last change which caught my eye because I could imagine having code that might need to be updated to reflect the new behaviour:

pathlib.Path.glob() and rglob() now return both files and directories if a pattern that ends with "**" is given, rather than directories only. Add a trailing slash to keep the previous behavior and only match directories.

With the release of Python 3.13, Python 3.8 is officially end-of-life. Łukasz Langa:

If you're still a user of Python 3.8, I don't blame you, it's a lovely version. But it's time to move on to newer, greater things. Whether it's typing generics in built-in collections, pattern matching, except*, low-impact monitoring, or a new pink REPL, I'm sure you'll find your favorite new feature in one of the versions we still support. So upgrade today!

# 7th October 2024, 7:36 pm / beeware, sqlite, python, mobile, ios, android, russell-keith-magee, lukasz-langa

2023

You can stop using user-scalable=no and maximum-scale=1 in viewport meta tags now. Luke Plant points out that your meta viewport tag should stick to just “width=device-width, initial-scale=1” these days—the user-scalable=no and maximum-scale=1 attributes are no longer necessary, and have a negative impact on accessibility, especially for Android users.

# 4th August 2023, 11:41 pm / lukeplant, html, accessibility, mobile, mobileweb

Cellphones are the worst thing that’s ever happened to movies. It’s awful. [...] I think you could talk to a hundred storytellers and they would all tell you the same thing. It’s so hard to manufacture drama when everybody can get a hold of everybody all the time. It’s just not as fun as in the old days when the phone would ring and you didn’t know who was calling.

Steven Soderbergh

# 12th June 2023, 6:13 pm / screenwriting, mobile

2022

viewport-preview (via) I built a tiny tool which lets you preview a URL in a bunch of different common browser viewport widths, using iframes.

# 26th July 2022, 12 am / css, testing, projects, mobile, iframes

2020

Learning from Mini Apps (via) WeChat, Baidu, Alipay and Douyin in China are all examples of “Super apps” that can host “Mini apps” written in HTML and JavaScript by other developers and installed via in-app search or through scanning a QR code. Mini apps are granted (permission-gated) access to further system APIs via a JavaScript bridge. It’s a fascinating developer ecosystem, explored in detail here by Thomas Steiner.

# 5th November 2020, 5:21 pm / mobile, javascript

2019

Machine Learning on Mobile and at the Edge: 2019 industry year-in-review (via) This is a fantastic detailed overview of advances made in the field of machine learning on the edge (primarily on mobile devices) over 2019. I’m really excited about this trend: I love the improved privacy implications of running models on my phone without uploading data to a server, and it’s great to see techniques like Federated Learning (from Google Labs) which enable devices to privately train models in a distributed way without having to upload their training data.

# 30th December 2019, 10:17 pm / machine-learning, mobile

Announcing Envoy Mobile. This is a fascinating development: Lyft’s Envoy proxy / service mesh has been widely adopted across the industry as a server-side component for adding smart routing and observability to the network calls made between services in microservice architectures. “The reality is that three 9s at the server-side edge is meaningless if the user of a mobile application is only able to complete the desired product flows a fraction of the time”—so Lyft are building a C++ embedded library companion to Envoy which is designed to be shipped as part of iOS and Android client applications. “Envoy Mobile in conjunction with Envoy in the data center will provide the ability to reason about the entire distributed system network, not just the server-side portion.” Their decision to release an early working prototype and then conduct ongoing development entirely in the open is interesting too.

# 18th June 2019, 6:42 pm / microservices, mobile

When should you be using Web Workers? 85% of worldwide mobile devices are massively less performant than high end iPhones. Surma argues that we should be making aggressive use of Web Workers to keep as much of our JavaScript as possible off the main UI thread, to avoid freezing up the entire interface.

# 15th June 2019, 4:31 am / webworkers, web-performance, mobile, javascript

2018

Sunsetting React Native at Airbnb. “Due to a variety of technical and organizational issues, we will be sunsetting React Native and putting all of our efforts into making native amazing.” Fascinating write-up from Airbnb (part of a series) based on two years of working with React Native. It’s worth reading this in full: 63% of their engineers they surveyed would have chosen React Native again given the chance and 74% would consider it for a new project—but the larger technical and organizational challenges (in particular the fact that React Native remains a polarizing choice in the mobile world, making it harder to hire great native engineers) mean that Airbnb are migrating back to pure-native for their iOS and Android apps.

# 19th June 2018, 9:03 pm / react, mobile

2013

Are there any good bootcamps, such as Code Fellows, DevBootCamp for mobile (iOS/Android)?

Big Nerd Ranch have been offering iOS and Android for several years now. A friend of mine went in the iOS course a while ago and spoke highly of it—he has since released an app to the App Store.

[... 62 words]

Do you need the feature in Dropbox mobile app that allows using the chosen files in offline mode? Why?

I use this all the time. It’s especially useful for travelling (when you’re abroad you often don’t have inexpensive cellular data or access to WiFi). I use it for:

[... 117 words]

Is it possible for anybody to be expert in all areas of software development, that includes database, backend, web frontend, mobile apps, and graphic design?

It isn’t possible for someone to be expert in “all” aspects of software development—that would include everything from writing safety critical control systems for nuclear power plants in Fortran to high frequency trading algorithms on Wall Street. The world of software development is simply too big for that now.

[... 167 words]

What are the best ways to find online serious partners ready to outsource mobile app development company?

If you want to do long-term outsourcing deals with “serious big companies”, you need to get on a plane and meet them in person.

[... 47 words]

How can I produce an animated prototype out of designs for an iOS app?

Keynote is a surprisingly good tool for this kind of things, especially since they added path based animations to it a few years ago.

[... 55 words]

Getting the most out of technical conference as a services provider?

Leaving flyers out if you are not a sponsor will annoy both the event organiser and the other sponsors, and may give a bad impression to other attendees as well.

[... 78 words]

Can I pitch my app idea to google?

You could pitch it to Google Ventures, but you’ll need a lot more than just the idea.

[... 31 words]

What new apps were used most at SXSW 2013, and why?

Lanyrd will be at SXSW again this year, and we’ve continued to refine our unofficial schedule guide and session planner for SXSW Interactive. Here’s our site for this year:

[... 367 words]

2012

What are the top Apps/Mobile conferences & events for 2013?

The biggest is still Mobile World Congress in Barcelona in February—tens of thousands of attendees and representatives from pretty much every mobile company.

[... 68 words]

How do you make an existing web application more mobile-friendly without rebuilding it?

Learn about responsive web design. Provided your site is built reasonably well using CSS for layout there is a TON of stuff you can do with CSS media queries to make your site work better on small screen devices. For example, using media queries to detect small screen (mobile) devices you can...

[... 147 words]

Mobile World Congress: Is it worth going?

It depends on what you want to get out of it. I haven’t been myself, but from what I’ve heard MWC is the Mobile world’s equivalent of something like SXSW—huge (49,000+ people), sprawling, bewildering and full of everyone you could possibly want to meet from the mobile world.

[... 75 words]

2011

US iPhone Data for International Visitors: A Guide. AT&T will swear blind that their pay-as-you-go data plan doesn’t work with iPhones or other smart phones. Here’s how to prove them wrong.

# 13th January 2011, 3:51 am / mobile, recovered

What makes mobile application backends different from Webapp backends?

Nothing at all.

[... 18 words]

2010

What are the most recommended upcoming  mobile tech conferences in North America?

Our site, Lanyrd.com, is relatively new but already has a pretty good list of mobile conferences in the USA. Try this page: http://lanyrd.com/topics/mobile/...

[... 43 words]

Unlocking the Huawei E5830 aka 3 Mifi. 3 will post you an unlocked replacement for your MiFi for £15, if you can figure out how to ask them to do it. Reports on the internet are that it can take several weeks and they sometimes forget to unlock the one you send them, so I went the self-unlocking route. These instructions (involving Windows running in VMWare Fusion, Firmware updates, PayPal, some very dodgy looking software and a PDF file half-written in Japan) ended up working a treat.

# 17th June 2010, 10:57 pm / 3g, mifi, mobile, unlocking, vmware, recovered

Flash was created during the PC era – for PCs and mice. Flash is a successful business for Adobe, and we can understand why they want to push it beyond PCs. But the mobile era is about low power devices, touch interfaces and open web standards – all areas where Flash falls short.

Steve Jobs

# 29th April 2010, 3:22 pm / flash, adobe, apple, steve-jobs, mobile

2009

Notes on designing the Guardian iPhone app. By John-Henry Barac, the principal designer of he iPhone application who also previously worked on the Guardian’s print transition to the Berliner format.

# 20th December 2009, 12:55 pm / iphone, guardian, design, john-henry-barac, mobile

We're at a critical juncture in the evolution of software. The web is still here and it is still strong. Anyone can still put any information or applications on a web server without asking for permission, and anyone in the world can still access it just by typing a URL. I don't think I appreciated how important that is until recently. Nobody designs new systems like that anymore, or at least few of them succeed. What an incredible stroke of luck the web was, and what a shame it would be to let that freedom slip away.

Joe Hewitt

# 15th November 2009, 8:50 am / iphone, joe-hewitt, mobile, gatekeepers, sharecropping

Correct way to handle mobile browsers. If your site has an equivalent “mobile” version running on a different subdomain, how and when should you redirect mobile users to it and how should you let them opt in or opt out?

# 10th November 2009, 8:57 am / mobile, usability, django, eric-holscher, redirect

WebKit, Mobile, and Progress. Alex Russell responds to PPK’s analysis of the many different WebKit variants in today’s mobile phones, pointing out that the replacement cycle and increasing quality of WebKit in more recent phones means the situation still looks pretty good.

# 10th October 2009, 12:28 am / alex-russell, ppk, webkit, mobile, browsers

There is no WebKit on Mobile. PPK ran 27 tests against 19 different WebKit-on-mobile implementations and found enormous disparities between the levels of support in currently available mobile phones.

# 7th October 2009, 12:23 pm / webkit, mobile, ppk, testing, standards