Posts Tagged ‘Web’
The tracks which interested me today were “How do you test that?”, which dealt with scenarios where testing (especially automation) is particularly challenging, and “Browser as a Platform”, which is self-explanatory.
I didn’t make it to this talk, but Bespin looks very interesting. It’s “a Mozilla Labs Experiment to build a code editor in a web browser that Open Web and Open Source developers could love”.
I experimented briefly with the Mozilla hosted instance of Bespin. It seems mostly oriented for web application development, and still isn’t nearly as nice as desktop editors. However, I think something like this, combined with Bazaar and Launchpad, could make small code changes in Ubuntu very fast and easy to do, like editing a wiki.
Why Mobile Apps Need Real-World Testing Coverage and How Crowdsourcing Can Help
Doron explained how the unique testing requirements of mobile handset application are well suited to a crowdsourcing approach. As the founder of uTest, he explained their approach to connecting their customers (application vendors) with a global community of testers with a variety of mobile devices. Customers evaluate the quality of the testers’ work, and this data is used to grade them and select testers for future testing efforts in a similar domain. The testers earn money for their efforts, based on test case coverage (starting at about $20 each), bug reports (starting at about $5 each), and so on. Their highest performers earn thousands per month.
uTest also has a system, uTest Remote Access, which allows developers to “borrow” access to testers’ devices temporarily, for the purpose of reproducing bugs and verifying fixes. Doron gave us a live demo of the system, which (after verifying a code out of band through Skype) displayed a mockup of a BlackBerry device with the appropriate hardware buttons and a screenshot of what was displayed on the user’s screen. The updates were not quite real-time, but were sufficient for basic operation. He demonstrated taking a picture with the phone’s camera and seeing the photo within a few seconds.
Things got better as more browsers came on the scene, with better implementations of CSS, DOM, XML, DHTML and so on. However, we’re still supporting an ancient implementation in IE. This is a recurring refrain among web developers, for whom IE seems to be the bane of their work. Dylan added something I hadn’t heard before, though, which was that Microsoft states that anti-trust restrictions were a major factor which prevented this problem from being fixed.
Dylan believes that web applications are what users and developers really want, and that desktop and mobile applications will fall by the wayside. App stores, he says, are a short term anomaly to avoid the complexities of paying many different parties for software and services. I’m not sure I agree on this point, but there are massive advantages to the web as an application platform for both parties. Web applications are:
- fast, easy and cheap to deploy to many users
- relatively affordable to build
- relatively easy to link together in useful ways
- increasingly remix-able via APIs and code reuse
There are tradeoffs, though. I have an article brewing on this topic which I hope to write up sometime in the next few weeks.
Dylan pointed out that different layers of the stack exhibit different rates of change: browsers are slowest, then plugins (such as Flex and SilverLight), then toolkits like Dojo, and finally applications which can update very quickly. Automatically updating browsers are accelerating this, and Chrome in particular values frequent updates. This is good news for web developers, as this seems to be one of the key constraints for rolling out new web technologies today.
Dylan feels that technological monocultures are unhealthy, and prefers to see a set of competing implementations converging on standards. He acknowledged that this is less true where the monoculture is based on free software, though this can still inhibit innovation somewhat if it leads to everyone working from the same point of view (by virtue of sharing a code base and design). He mentioned that de facto standardization can move fairly quickly; if 2-3 browsers implement something, it can start to be adopted by application developers.
Comparing the different economics associated with browsers, he pointed out that Mozilla is dominated by search through the chrome (with less incentive to improve the rendering engine), Apple is driven by hardware sales, and Google by advertising delivered through the browser. It’s a bit of a mystery why Microsoft continues to develop Internet Explorer.
Dylan summarized the key platform considerations for developers:
- choice and control
- taste (e.g. language preferences, what makes them most productive)
- performance and scalability
and surmised that the best way to deliver these is through open web technologies, such as HTML 5, which now offers rich media functionality including audio, video, vector graphics and animations. He closed with a few flashy demos of HTML 5 applications showing what could be done.
Science fiction writer Isaac Asimov envisioned a computer called Multivac, powerful enough to process all of the planet’s data. Humanity painstakingly collects massive quantities of information to submit to Multivac on a daily basis, in exchange for the opportunity to ask questions of it.
With so much information at its disposal, Multivac is capable of amazing feats of analysis and prediction, which guide humanity to resolving global problems of war, poverty and so on.
The corporate mission statement of Google, Inc. is to organize the world’s information and make it universally accessible and useful. Google constantly processes information from the web, books, and photographic imagery from space and from the surface of the planet. Its famously simple search interface invites humans to ask it about anything, and it provides instantaneous answers in the form of references to information it has collected.
Google is not yet capable, in general, of providing meaningful answers to natural language questions, though research is ongoing, and systems like Wolfram Alpha hint at more abstract manipulation of data at a global scale.
We seem to be edging closer to Asimov’s vision of Multivac. What would you ask Multivac, given the opportunity? How will our future reality differ from science fiction?
I’ve been experimenting with Google Voice while traveling in the US. I would have tried it sooner, but it isn’t very UK-friendly at present.
- Free SMS to US mobiles from the browser
- Convenient browsing and searching of received/placed calls, SMS and voicemail
- Initiation of phone calls from the browser
- Unified contacts database with my Android phone (and GMail, though I don’t use it)
- Simple call routing, so I can use a fixed number when I’m in the US even though I usually pick up new a prepaid SIM on each trip
- Ability to choose a phone number through searching, to find one which is easy to remember
- Speech-to-text of voicemails (maybe just good enough to be useful)
The bad or missing:
- Requires a data connection on Android (problematic e.g. when roaming or using a prepaid/pay-as-you-go SIM), though it falls back gracefully to non-Google-Voice service
- Calls outside the US cost money (Vonage and other VOIP providers offer this for free)
- Calls can apparently only be placed between POTS lines (no softphone functionality)
- Yet another place to set my time zone. Being able to selectively block calls while I’m asleep abroad would be the killer feature for me
- Caller ID doesn’t seem fully integrated in Android: it sometimes looks like I’m on a call with myself
- Free calls within the US: people still pay for this?
- Voicemail: people still leave voicemail?
The “ah” moment came when someone gave me a phone number on IRC, and I copy/pasted it into my browser to call them.
I’ve lived in many different places in my life, and spent a lot of time online. As a result, my friends are dispersed around the world. We see one another rarely, and stay in touch through short letters, text conversations and phone calls. Through these occasional communications, we learn about what is going on in each other’s lives. We share anecdotes about where we’ve been, what we’re thinking about, what we’ve done, read, heard and watched.
At least, that’s how it used to work.
Now, when I travel, it appears in my Facebook feed. When I do something interesting, I mention it on identi.ca and Twitter. When I read something I like, I share it on Google Reader. If I watch a video which reminds me of a friend, I send them a link. If I have an idea I think is worth sharing, I write about it on my blog.
The end result of all this is that when I catch up with friends who use social media, I don’t have much to say. They’ve already heard it all, and there is very little “catching up” to do. It’s awkward when I start to tell them about something which has happened to me, and they remind me that they’ve already heard about it.
I would have expected this to make me feel closer to people, but it doesn’t. It makes the relationship feel less intimate. Reading something on a feed is not the same as hearing about it first-hand, but even so, the first-hand account feels a bit redundant because it’s not new.
Is anyone else having the same experience?
While on holiday for the weekend, I have been browsing RSS feeds using NewsRob, a convenient offline RSS reader which synchronizes with Google Reader. I came across an article on Kirrily Robert’s blog on the use of the word “offense” in the context of sexism. The RSS content indicated that there were several comments on this post, and so I clicked through to check it out. The result was this:
My phone was connected to the hotel’s WiFi, which apparently has a SonicWALL content filter installed. This filter seems to think that Kirrily’s blog is “Adult/Mature Content”. I’m not sure why this is. Perhaps because the word “sexism” has “sex” in it?
SonicWALL has a web site where one can view their ratings for arbitrary web sites, and it confirms that infotrope.net (apparently the whole site) is classified as Category 6: Adult/Mature Content and Category 41: Society and Lifestyle. There is no explanation of what these categories mean, or how the classification process works.
They provide a form to request that they reevaluate their rating of a particular site, so I did that. Without knowing why they classified this site the way they did, I don’t see how a reevaluation will help, though. They asked me to suggest better categories for it, but none of them made sense. They can’t be serious about using a list of a few dozen static categories for all of the content on the web. Can they?
I wrote them a short note explaining that I did not think the site merited an “Adult/Mature” content rating, a euphemism usually reserved for pornography. I have very little hope that this action will ever elicit a response, and it certainly won’t restore my access to the site this weekend while I’m here. I am not a customer of SonicWALL, and don’t expect ever to be.
I will mention to the hotel that their system caused this problem for me, but I don’t expect them to act on this complaint either. Companies which install content filtering systems don’t plan to spend time maintaining them to make sure that they provide a good quality of service, and this is sure to seem like an unnecessary hassle to them.
This is why I hate content filtering systems. They disenfranchise end users by making content decisions on their behalf, and make it their responsibility to work through the bureaucracy when it goes wrong.
Apparently, there are still some 1990s-era websites which haven’t noticed that the web is not Windows. I realized this today when attempting to check in for an Iberia flight using my Ubuntu system and Firefox.
…and refuses to continue. After all, if you might not have Adobe Acrobat Reader installed, why bother trying to check in? I’m glad you asked. Because it’s not the only program capable of reading and printing PDF files!
You may have noticed that the message offers us some information, just in case the script got it wrong. Perhaps it tells us how to continue checking in despite having different application preferences than their developers? Unfortunately, no. Instead, it explains how to configure Windows to use Adobe Acrobat Reader as the default PDF viewer:
I’d like to bring your attention to a little-used feature of Ubuntu which helps connect the web to the vast repository of software which is packaged for Ubuntu: apturl. It has been included in Ubuntu installations since 7.10 (Gutsy), but isn’t yet widely used on the web. Have a look at it and see if it might be useful to you.
Here are some examples of how you can use it:
- If you’re the maintainer of an application which is packaged in Ubuntu, add an apturl link to your site so that Ubuntu users can simply click to install it: If you’re running Ubuntu, check out Banshee
- If you’re the author of a how-to document, replace apt-get commands or Add/Remove instructions with a simple hyperlink: Step 1: To get started making screencasts, install gtk-recordmydesktop
- If you’re writing a blog post or other content where you make reference to an application, include an apturl link so that readers can follow along by installing it: I’m eagerly following the development of Gwibber in Karmic
It would be fantastic if someone came up with a “Get it for Ubuntu” image and a small, embeddable HTML fragment which could be used for these sorts of links. Meanwhile, please try it out and let us know what you think of it.
Update: WordPress completely destroys the apt: links in this post. Boo! Refer to the wiki pages for syntax examples.
I’ve only been micro-blogging for about a month now, and already, it’s gotten complicated.
- I have five views of the micro-blogging world: identi.ca (web), Twitter (web), Gwibber (client), Twidroid (client), Facebook (web)
- I use two different micro-blogging services, identi.ca (which the free software community seems to prefer) and Twitter (which everyone else seems to prefer). Many people seem to be on both. Some of them relay their updates from one or the other to Facebook, some don’t.
- Most of the time, I watch identi.ca, but I occasionally need to check the other places or I miss something.
- identi.ca can relay my updates to Twitter and Facebook, but @replies don’t come back. People on Twitter can hear me, but I don’t often hear them until much later (when I check Twitter)
- Twidroid can send and receive both identi.ca and Twitter messages, but can only connect to one of them at a time (dashed lines).
- Gwibber talks to everything every way, but crashes a lot
- identi.ca uses #hashtags and !groups, and I never know which is right. Twitter uses #hashtags. In both cases, there’s no feedback about whether you’ve correctly guessed a hashtag which other people are using
I’m sure some of you, dear readers, have managed to bring this mess under control. How?
P.S. The diagram was originally an SVG, but WordPress doesn’t seem to support them. Shame…
I’ve written briefly before about how our lives are digitized at an increasing rate and wondered about the impact this has on our social behavior. One particular arc which interests me is how we engage in discussion.
In the early 1990s, newsgroups were the norm for discussion. They were multiplying daily, and for almost any topic, chances were good that there was already a Usenet newsgroup, whether you were a recovering system administrator or a kibologist. The killer feature of newsgroups was their universality: anyone could get access to a Usenet feed via their ISP, and in one shot be connected to the full spectrum of discussion groups. Their weakness was that, despite the vast namespace, there wasn’t room for everyone. There were already too many groups, and ISPs grumbled about the time and expense of shipping all of this data around. Why should you have your own newsgroup? Newsgroups existed everywhere and nowhere, and authority was questionable at best. To create a new newsgroup, you might be expected to discuss it in a certain place, ask a local administrator, participate in a voting process, or all of these and more. Even if you did it all right, someone who disagreed could delete your group at any time by posting a control message from anywhere in the network.
It took some time for a new message to propagate through Usenet, and most people didn’t read their news all that frequently, so discussions progressed at a moderate pace. A typical discussion lasted for days, and a popular thread might go on for months as it spiralled away from the original topic. News reading programs developed advanced features for filtering out irrelevant discussions.
FAQ editors distilled the accumulated wisdom of newsgroups into documents, and posted them to the group periodically as they were revised. People worried about the signal-to-noise ratio of popular groups, and predicted that Usenet would become worthless when it dropped too low. This was a constant perceived danger as more and more people began to participate, having no idea how to behave appropriately, and were rebuked. Some groups appointed moderators to filter out inappropriate content.
The next dominant pattern was that of email discussion via mailing lists. These were hosted in a definite “place” within an Internet domain, and any system administrator could set up a new one without stepping on anyone else’s toes. They were a bit harder to find, as there was no complete index of mailing lists, but this too was an improvement. If “newbies” couldn’t find your mailing list, they couldn’t post irrelevant content or otherwise misbehave. The barrier to entry provided a useful constraint on growth.
Mailing lists propagated messages more quickly, and people read email more frequently, so the pace of discussion increased. A misstep on a mailing list could get you “flamed” within minutes. Content posted to the list was only sent to individual members, and (unlike Usenet) was not copied to every ISP’s news server. The cost of a message, instead, was measured in terms of the attention of its readers. People worried about the signal-to-noise ratio on their mailing lists, and appointed moderators. The FAQ pattern became decoupled from the discussion group as the web became a more convenient storehouse for this information.
Keeping up with multiple or high-traffic mailing lists required sophisticated software to sort mailing lists into separate folders, set appropriate headers on replies, scan or read many messages quickly, and so on. Joining a mailing list required sending specially formatted control messages to a certain address. People with only basic email capabilities found mailing lists difficult to use, and the people on mailing lists generally considered this to be a good thing, because they would probably just make a nuisance of themselves anyway (not knowing the appropriate etiquette).
Forums filled a vacuum for people who wanted to participate in discussion, but found mailing lists and the associated software too complex and cumbersome. Setting up a new forum was still moderately complex (a task for system administrators or webmasters) but anyone could participate in a forum with very little effort or technical expertise.
Without the underlying standardization of news or mail, forums vary widely in their capabilities, social patterns and content. In general, they seem to be less linear than newsgroups or mailing lists, where the usual pattern is to scan all of the new messages since the last visit. Visitors to forums instead look at “what’s newest”, or “what’s hot”, or search for a specific topic.
Forums have evolved fairly sophisticated mechanisms for managing the signal-to-noise ratio. Very active forums tend to be moderated by visitors, who vote content (or other visitors) up or down according to relevance. Participants maintain a visible and persistent identity within the forum (an avatar), in contrast to the simple email addresses used on Usenet and mailing lists, and forum content can be deleted (an impractical task in mail and news systems).
On the other hand, some types of noise (like “me too” messages) seem to be tolerated well enough in forums, while this is considered disruptive on a mailing list. I suspect that etiquette varies widely depending on the capabilities and culture of the particular forum.
The key advancement of blogs was that anyone could set one up, without any technical expertise, and make it available to everyone. Originally, blogs weren’t discussion-oriented at all, which I think contributed to their slow growth early on. Over time, through comments, trackbacks and web-based aggregators, they have grown some discussion capabilities. Most people seem to read blogs through an RSS reader of some sort, though, and rarely visit the originating site at all. Few blog posts attract more than a small number of comments or responses on other blogs, and these often receive a disproportionately small amount of attention compared to the original post.
The blogosphere moves quickly, but is largely incoherent as a whole. Bloggers read each other’s content, and it influences their opinions and their writing, but there is very little direct response or feedback compared to the earlier examples above. Etiquette is all but inapplicable to individual blogs, as readers can be assumed to be “tuning in” to the author’s intended content. If they don’t like it, they simply don’t return.
It’s even more difficult for third parties to observe blog discussion. It can be challenging to find responses, and inconvenient to display them on-screen at the same time. The present infrastructure still seems much better suited to a singular “speaker” or “listener” role than to multi-directional discussion. It will be interesting to see whether it becomes more discussion-friendly in the future.
I don’t think I fully “get” micro-blogging yet, as I haven’t used in enough myself. It seems much more discussion-oriented than blogging, more like a very fast-paced mailing list than a small blog. Short, unstructured discussions can be held, two-way or around a topic, and broadcast content is acceptable as well. It would be nice to see more of a threading model, to make discussions easier to follow.
The real-time nature of micro-blogging seems to show obvious promise for discussion, but I’m not sure that the current formats support this very well. I’d be interested to hear from more experienced micro-bloggers about this.
I think a “best of all worlds” online discussion system would combine:
- the clear threading of mailing lists
- the universal accessibility of blogging
- the mobile/real-time nature of micro-blogging
- collaborative filtering (something better than what I’ve seen in forums)
- a balance between “pull” (everything since I last checked) and “push” (whatever you want to tell me right now) models
- decentralized infrastructure, which can be hosted by anyone anywhere, and improved upon through open development
Taking things even further, I’d like to have all of the advantages of a face-to-face conversation (time-efficiency, rich expression, personal connection, well-understood etiquette, etc.), and the advantages of online discussion (spanning long distances, interacting with large numbers of people, careful organization of thoughts, flexible starting and stopping, background and context). As long as I’m making a wish list, how about a seamless connection between public and private discourse?
If you know of experiments happening in this area, please post them in comments here.