The Wikimedia Commons uploader app we’re working on is coming along… Here’s the iOS UI as of yesterday:
When trying to post about behavior of web or mobile applications, a picture is worth a thousand words… but a video can be worth a thousand pictures. Videos can capture complex behaviors that are hard to fit into a screenshot, can be narrated, and show actual performance as well as the look of something.
Here’s a screencast of the upcoming Wikimedia Commons app importing a PDF from Keynote on an iPod Touch:
I’d stumbled upon some references to a performance monitoring tool called Eideticker that Mozilla’s using for the Android version of Firefox. This uses an HDMI video capture card to record live video output from a Galaxy Nexus or other phone, and can then mark timing of various on-screen events down to 1/60 second precision.
‘Blackmagic’, the company that makes the PCIe card Mozilla uses, also makes Thunderbolt-connected standalone widgets that are easier to connect to a MacBook Pro. I picked up the “Intensity Extreme“, which hides the (for me) unneeded analog video ports behind a breakout cable that I can stuff in a drawer.
See details on which devices I’ve gotten to work and more sample casts.
- Capture works in their utility program and various high-end editing programs via plugin, but it doesn’t appear as a camera to other apps. So it’s not ideal for live screencasting on a Google Hangout or such, but could probably be pressed into service.
- Captured video is uncompressed, so files are large!
- No 1080p60 capture — they have a higher-end model that can do this, but I didn’t shell out the dough. Most devices I’ve tested output at 720p60 or 1080p30 though, so that’s not a problem.
- No autodetection of the resolution — you have to pick the right resolution in the capture utility, possibly by trial-and-error.
- No passthrough for the Thunderbolt connection.
- Must purchase HDMI and Thunderbolt cables separately.
It’s January 15 — Wikipedia Day. 12 years ago, the original version of Wikipedia was unleashed on the world. Still going strong; still insane but still cool and still trying to find new ways to be awesome.
Next year Wikipedia will become a teenager… what will we see it innovating on then? More mobile interfaces? Better user-to-user interaction and notifications? Sweet sweet wysiwig editing? Hopefully, if schedules are met! Meet us next year and we’ll see…
In related news — today Wikivoyage officially comes out of beta. Wikivoyage began separately but its users recently agreed to merge into the Wikimedia family. Awesome! Welcome everybody!
So we got a Firefox OS test phone at Wikimedia, and of course as the resident Firefox-lover I took it for testing.
This isn’t the final hardware — it’s a reflashed Android phone — but apparently specs are close.
Mozilla is currently aiming at the lower-end market in developing nations rather than trying to battle it out with Apple and Samsung etc at the high-end. The test device is a lower-end Android phone (built by ZTE for the Turkish market) with a medium-resolution screen (320×480) like the pre-Retina iPhone, and a slower processor than the latest whiz-bang phones have.
UI smoothness ranges from “pretty good” to “sluggish” depending on what’s running. There’s definitely still room for optimization and I’m hoping to see performance improve, but it’s usable enough for a low-end device.
I can’t seem to get on T-Mobile’s 3G network, so I’m stuck on Edge when out of wifi range… brings back memories of my original-model iPhone.
Firefox OS uses a single hardware “home” button, like iOS. The test device has the full set of 4 Android hardware buttons, so I had to get out of the habit of going for the ‘back’ button… but this won’t be a problem on final devices. Long-pressing the home button opens a “card view” application switcher, which reminds me of WebOS or the BlackBerry PlayBook — you can explicitly close out an app by flicking it towards the top of the screen.
The home screen is relatively straightforward; there’s an iOS-like page grid of applications off to the right; on the left is an “everything.me” tab with lots of links to popular web sites… none of which load. I’m sure this will be fixed shortly. In the meantime I’m ignoring those links and using the browser, installable apps, or making my own homescreen bookmarks from the browser.
The browser app has a nice proper Firefox icon and looks much like Firefox on Android but with fewer options. Multiple tabs are available as expected from the upper-right corner, and back/forward and bookmark buttons are available on a toolbar at the bottom. There’s a bug where sometimes the toolbar covers up part of a web page, but it looks like this is being fixed.
You can bookmark a page either within the browser’s bookmarks or to the homescreen — a homescreen bookmark opens fullscreen like a standalone app (but with a collapsed toolbar available for back/forward navigation) instead of in the browser app. This is usually ok, but links opened from those apps tend to open in a “popup”-like closable window instead of opening the browser… so you can’t bookmark an opened link easily.
An ‘application’ on Firefox OS is basically a web page running in an isolated process… you can kind of think of it like separate browser tabs, sorta. It’s a clean-sounding model, but there are some lifecycle issues.
When memory runs low, background apps may get closed. As far as I can tell they don’t get any sort of warning or have a chance to set relative priority; I’ve seen the Music app get auto-closed while playing music because I opened two other apps, which is kinda not cool.
In contrast, iOS for instance sends explicit low-memory warnings to apps, and gives a backgrounding app the chance to declare that it’s running audio or a download that needs to continue… Android also seems to not kill active background tasks so aggressively in my experience.
Hopefully this will be improved… added a note on a bug.
Apps don’t seem to be very consistent about saving state when they background either, so for instance you can’t just reopen Music and have it continue from where you left off.
Sync appears to be missing currently. This is a shame, as bookmark/history/tab/password syncing between desktop/laptop devices and with my Android devices is the killer feature that gets me to use Firefox on a phone.
Hopefully this will come in the future… filed an enhancement bug.
Most built-in apps appear to be stored on the actual phone, but some like the Marketplace must be online and will just fail out when loaded offline.
A lot of the third-party apps I’ve tried, including games and utilities, seem to be hosted on web sites and don’t have offline manifests, so you can’t play Galactians on the subway unless it’s been cached recently.
App developers will need to get used to doing offline AppCache manifests properly…
Software to live by
I picked up a prepaid T-Mobile SIM card so I can use the test phone on my daily commute. This is about 10-15 minutes of walking, 10-15 minutes of streetcar, and then another few minutes in the subway — a nice workout for wireless connectivity and disconnectivity…
- We’re still working on our Wikipedia app, ported over from the PhoneGap-based Android/iOS one — I have a copy running at http://ff.leuksman.com/ but it doesn’t work offline yet. Needs a little more work. Our mobile web interface also works just fine, and (since we made some recent fixes) correctly forwards you if you go to the desktop site.
- NextBus works — though the GPS is a bit slow on this device — but doesn’t automatically detect that it’s a smartphone. Filed an evangelism bug.
- Gmail loads up in desktop mode, which is pretty unusable on a tiny screen. Filed an evangelism bug, but not much hope right now as Firefox for Android gets a horrible primitive interface instead of the nice one that iOS and Android browser/Chrome get.
- Also tried setting up my Gmail account with the built-in mail app; initially had some problems with the setup but got it working. Since I’m using 2-factor auth I had to set up an app-specific password. Sends and receives ok, but the interface is a bit primitive and I can’t easily switch to use my alternate ‘from’ addresses.
- Twitter has an official app available in the Mozilla Marketplace. It doesn’t seem to work offline, but for catching up on friends’ tweets while connectivity is there it seems to work just fine and looks nice.
- Facebook doesn’t have an app, but its touch-friendly web interface now works pretty nicely in Firefox, and can be easily bookmarked to the home screen. There are a few bugs on the board (link me) but I’ve had no troubles reading and posting basic updates. Facebook’s apps don’t work offline anyway, so this seems fine.
- There’s not a default note-taking application… I ended up installing a little open-source app ‘Prio Note’ which lets you save short notes and filter by priority; handy enough for typing notes like “Kindle didn’t work” but it’s a bit flaky offline. On the plus side it’s open source so I may submit patches.
- There’s also an official Evernote “app” in the Marketplace… but it just points to their web interface, which doesn’t fit on a mobile phone screen once you get past the sign-in screen. Gave them a 1-star review. >:(
- I tend to use my phones for reading, so I went looking for a Kindle app… no app available, but Kindle Cloud Reader sortof works. Unfortunately it’s designed for tablet and laptop/desktop screens and the UI doesn’t fit on the phone, so it’s not actually usable although I can download books and read them (as long as I only need the upper-left quarter of the page). With some UI work by Amazon this could make a fine Firefox OS app though.
- Pandora has no app, and the web interface should work but just kicks out an “upgrade your browser or Flash” message. As an alternative, there’s a built-in app that’s an FM radio tuner. o_O Remember radio? It’s like Pandora but you can’t skip bad songs. Filed an evangelism bug.
- Built-in Music app plays .mp3 and (non-DRM’ed) .m4a files copied to the SD card with no trouble. Whee! UI is a little sluggish but works… but often pauses or dies while in the background.
There’s some way to hook up the Firefox web inspector and debugger but I haven’t gotten into that level of detail yet. You can use the Android SDK tools for some basic things like watching the device log, taking screen shots, and getting a shell.
This device has a couple free gigs of device storage (for apps and data) and a micro-SD card with a few gigs for media storage — photos and videos taken with the camera save to the SD card, and the Music app looks for music there.
The SD card can be mounted over USB by enabling USB Mass Storage, and all seems to work as you expect — iPhoto on your Mac will slurp in the images, or you can copy files manually, whatever.
As a phone
Seems to work — I’ve made some calls to myself and it makes noise. Plan to use it some more just to try it out, but I’m not a big phone talker.
I’m a sucker for gadgets and like having new things to test and develop on, so I preordered myself a Microsoft Surface tablet. It arrived yesterday, and most importantly I’ve confirmed that it runs my Windows 8/RT Wikipedia app correctly.
First things first
Screen resolution is noticeably lower than the Retina iPad. I’ve run Windows 8 at full res on my Retina MacBook Pro so you can’t fool me, I know how much better it would look. But it’s adequate enough, and I know more devices are coming with 1080p panels, hopefully to be followed by 2560×1440 panels… we’ll forgive this for a first-gen product perhaps.
As a tablet
I’ve already grown accustomed to the swipe and touch gestures on Windows 8; little in Windows RT is a surprise here. Switching and launching apps, tuning settings, the onscreen keyboard, all that’s pretty good.
The current application availability is limited; some players are there like Netflix and Evernote, while apps like Pandora and Gmail remain missing. Expect to use the browser and web apps as stopgaps.
There seem to be enough games to keep me occupied, both new ones for Windows 8 and ports like Cut the Rope and Angry Birds Space.
As a desktop
One of the advantages of Windows 8 over iOS and Android is the classic Windows desktop, available awkwardly on a touchscreen or in its full glory with a keyboard, mouse, and monitor attached.
The Surface has a real USB port and Bluetooth support for keyboards and mice, and a micro-HDMI port that can be hooked up to HDMI, DVI, or VGA monitors with an adaptor (not included, but I already own some). So you might be tempted to use this Windows RT machine the same way as a “real PC” when docked.
Unfortunately this is where Windows RT’s limitations strike. There’s no compatibility with x86 Windows apps, and ARM-based software for the desktop is limited to what Microsoft chose to ship for you:
- Internet Explorer
- MS Paint
- Task Manager
And that’s about it. You can’t install Chrome or Firefox. You can’t install LibreOffice. You can’t install git. You can’t even install an IRC client that’s not a full-screen Metro app.
Here’s where the Surface RT falls down for me as something I could use for work:
- No ability to install native programming environments. Maybe web IDEs work for some purposes…
- IE doesn’t allow plugins except Flash, so can’t be used for Google+ Hangout video chats. We use these extensively in Wikimedia’s mobile team, which is distributed.
- Gerrit, the code review tool we use at Wikimedia, barfs on IE 10 due to sloppy version checks. I can’t read diffs or make reviews and can’t just switch to another browser.
- Pandora runs in IE, but to run music in the background you have to open it on the desktop explicitly. Metro IE stops playback when you switch away.
In general, Metro-style apps are nice on the small tablet screen but get more awkward to work with on an external monitor. Evernote is just icky at 1920 pixels wide!
For people whose school or work requirements fit with what Word, Excel, and PowerPoint provide, Windows RT may be an adequate ‘dockable tablet’ to work on. For me it’ll mostly be for web surfing, games, media and testing.
Of course in theory people could create IDE apps for the Metro environment that ship a mini web server, editor, PHP, and goodies, and make it run on ARM… but so far that doesn’t appear to exist.
If you expect to do software development on a Surface or other Windows tablet, *do not* get a Windows RT device: you will be disappointed. Wait for the Windows 8 pro version or otherwise get something with an Intel inside.
The touch keyboard cover
This was one of the unique selling points of the Surface when it was announced; you can get it with a magnetically attached folding cover which doubles as a keyboard and trackpad. I’m mixed on this; it works but the keyboard is not great, my accuracy is about as bad as with the onscreen keyboard but with worse spelling correction being applied. Possibly getting used to it would improve my typing.
On the other hand it takes up no room on screen which has a certain advantage!
The touch cover only really works when you have the tablet down on a flat surface using the kickstand; sitting on the couch you’ll only be able to use the cover as a cover very well.
I’m curious to see how this ensemble fares on an airplane: will there be room for the cover and kickstand on my little tray table? We shall see.
Until next time!
It also now supports the window.devicePixelRatio interface which my in-progress high-DPI image support for MediaWiki uses to determine which resolution images to load. It looks great on my Retina MacBook Pro! This should land in the final Firefox 18 release in a couple months for those not on the bleeding edge of the upgrade treadmill.
I’ve been working on support for natively showing suitable images for high-DPI displays in MediaWiki, starting with basic content images.
On desktops and tablets there’s just a few devices like the Retina MacBook Pro that need this, but in the mobile world there are loads of devices at 1.5x or 2.0x the traditional resolutions.
You can see a live demo of this patch in action on these test articles:
Here are some screenshots from an iPhone 5 simulator showing fragments of the San Francisco Wikipedia article as currently displayed on en.m.wikipedia.org and with my responsive images patch…
These maps are absurdly sharper on the right side:
And this photograph is visibly much sharper on the right, showing detail of the building’s texture and patterns that wasn’t previously visible without clicking through to the detail page:
Patch in gerrit:
- https://gerrit.wikimedia.org/r/#/c/24115/ (core)
- https://gerrit.wikimedia.org/r/#/c/24147/ (MobileFrontend)
The current version has been tested with a number of devices and browsers, including:
- iPhone 3Gs, Safari (low-res 1x)
- Nexus One, Android browser (medium-res 1.5x)
- iPod 5th-generation, Safari (high-res 2.0x)
- Galaxy Nexus, default browser (high-res 2.0x)
- Galaxy Nexus, Chrome (high-res 2x)
- Galaxy Nexus, Opera Mobile (high-res 2x)
- BlackBerry 10 dev alpha, default browser (high-res 2x)
And on a Retina MacBook Pro:
- Mac OS X, Safari (2x)
- Mac OS X, Chrome (2x)
- Windows 8, IE desktop (2x, with desktop zooms set to 200%)
- Windows 8, IE Metro (2x)
and on an 11″ 1366×768 Windows 8 tablet:
- Windows 8, IE Metro (1.5x)
- Opera Mini (we don’t serve any JS)
- Firefox (can’t yet detect resolution)
- Windows Phone IE (can’t yet detect resolution)
Mostly poked at mobile today - switched it from an iframe to loading into a div, fixing some of our scroll & click through issues and fixing it for Android 4.
Experimented with iscroll 4 library to handle the scrolling and add zoom, but too slow for now.
A little more poking at EmbedScript experiment; I have a sandbox domain temporarily on a Wikimedia Labs VM. Will show off more on this later.
I’ve been doing some experiments with finding ways to bring more interactive features into Wikipedia and other wikis. Articles can be spruced up nicely in many ways — interactive maps that let you zoom or change time, graphs that allow you to change the parameters, diagrams showing moving parts…
Will try to set up a publicly-usable sandbox page on Wikimedia Labs next week and play with it some more; maybe a gadget to do live-wiki testing with an opt-in.