(Testing out our new 3rd party library vetting:
Early today I interviewed BlocksKit for a potential position in our
codebase (Specifically BlocksKit/Core).
BlocksKit is a popular functional veneer for the cocoa frameworks. You can
find out more about BlocksKit here:
Read BlocksKit's responses to our interview questions below:
- Is the license permissive?
Yes, I have an MIT license! Use me how you will.
- Is the library ubiquitous?
I have 3,100+ stars and 407 forks on Github - people like me.
- Is it installable via CocoaPods?
- What is the impact on binary size?
Negligible, I don't contain any assets and consist mostly of small
- How severe, if at all, are inbuilt subdependencies?
I don't need no stinking dependencies.
- Will this make the code more, or less, understandable for volunteers?
Depends on the volunteer - Those with with functional programming skills
will be more comfortable with my syntax. I am however a pretty well
documented and lightweight library, so I should be easy to understand for
anyone how to use me.
- What are the performance ramifications of using this library?
None, I use foundation classes to perform enumerations so I get all the
performance benefits of the Cocoa collections.
- What are the complexity ramifications of using this library?
My primary purpose is to remove boiler plate code and make developer intent
more clear. I should decrease complexity of your code.
- Is it actively maintained?
Yes - I am very well cared for and have a nice test suite.
- Is it compatible with current deployment targets?
Yes - I still have a soft spot for iOS 6.
- Does it hinder interop (e.g., with Swift)?
I love and Obj-C and Swift (but Swift does include some of my functionality
in the standard library)
- What is the exit plan if the library becomes unmaintained?
Since I am pretty lean and have good test coverage, your team should be
able to maintain me if needed. If you decide to not maintain me, you can
move some of your codebase to swift to replace some of my functionality.
Thanks for reading… If you have any other questions for BlocksKit, be sure
to leave them here and we will forward them on.
The apps crew is going to be having a meeting to go over third party
library usage in iOS. We're currently use CocoaPods for package management.
In advance of that meeting tomorrow, anybody have advice we should consider?
Podcast interview with Hampton Catlin, who in 2008 "was brought on
board to lead the development of Wikipedia’s mobile project. ... Upon
his departure, he assumed that Wikipedia would do a responsive
rewrite, but noted that the mobile site he created is still being
used, although with a few new features." [disclaimer: haven't actually
listened to the audio]
IRC (Freenode): HaeB
I’m excited to announce Moushira Elamrawy has (re)joined the Wikimedia
Foundation yesterday as Community Liaison with the Mobile Web and App
teams. Moushira will be working with communities and the mobile product
teams to communicate feedback from users, explain development and product
changes, and act as a bridge between mobile users and the Foundation. She
is mostly based in Alexandria, Egypt.
Her background with the wikimedia movement and with the use of mobile in a
broader context, brings a solid mix of our current systems and new
In her own words:
“I have a diverse design/community/management background. I met Wikipedia
through the filming of “Truth in Numbers” back in late 2007, then I was
among Wikimania 2008 organization team, then gradually moved to being an
editor on wp-ar, then I moved to Linux, etc. In late 2010 I joined the
foundation as part of the fundraiser team, then I moved to a role that
focused on chapters relations, then for a year, I focused on managing
strategy and pilot programs for WIkimedia in the Arabic speaking countries
--(one of the global south programs that operated back then). I left the
foundation and moved to graduate school in Barcelona for an interaction
design masters program, currently I do consultancies that focus on the
enabling technology and changing the user base of tech through mobile. I
recently got my open water diving license and I quit coffee after 14 years
of extensive usage, which was such a terribly very bad idea.“
Please join me in welcoming Moushira to Community Engagement, and back to
the Wikimedia Foundation!
Director of Community Engagement (Product)
Rdicerb (WMF) <https://wikimediafoundation.org/wiki/User:Rdicerb_%28WMF%29>
One of the frustrations I have heard so far is that the audience there
is too small to get meaningful data around various experiments.
Currently people have to opt in by going to
https://en.m.wikipedia.org/wiki/Special:MobileOptions which is hidden
away in the mobile interface. They can do this whilst anonymous or
Have we thought about automatically opting people into beta mode e.g.
a sample of our users in a certain geographic region / certain zero
enabled area/ all users in a certain bucket based on their user id ?
How many users could beta actually handle?
Is this technically possible?
If someone was bucketed into beta would they be able to opt out into
stable again under any of the above situations?
Some of the Mobile Apps Team engineers met to discuss the scope of the MVP
for a mobile apps content service.
Firstly, we enumerated our goals for this content service:
- Minimise number of requests the app has to make to generate a page
- Reduce payload size of requests
- Abstract away from of the API logic contained in the client into the
- Do some of the transforms that are currently done on the client on the
server instead, where appropriate
We decided that the scope of the service should be feature parity; the
service should be a drop-in replacement for our current API calls. More
concretely, this means it should give us:
- Data from mobileview
- Wikidata description
- Revision ID of page
- Wikibase ID
- Image meta data for all images in the page
- Includes the URL for the high resolution version used for the lead
- Exclude unused HTML
- Navboxes, etc.
- Exclude hidden elements
- CSS: display: none; unless if we display later
- Related articles suggestions from full text search API
Things which we want to add, but are out of scope for the first iteration:
- Arbitrary Wikidata properties
- Disambiguation (already "transcluded", following the chain of
disambiguation pages and returning a JSON array of those links)
- Page issues
- Interwiki links
- Table of contents (as a JSON array)
- Versioning? What if we add or remove a field from the response? We
should version this. Can we do this easily?
Associate Product Manager, Mobile Apps
The mobile web team and contributors met while in San Francisco and had a
session on tools, workflows, and useful things to know when developing that
was pretty awesome.
We took notes, and I've structured and published them in the Dev sessions
I've probably missed something we talked about, so if I missed something,
please complete it.
We plan on having this session monthly, so hopefully we'll keep on filling
If you try any of the items and have any doubts do not hesitate and ask on
the talk page or via email to mobile-l.