Archive for the 'browsers' Category

Friday, December 21st, 2007

XML 2007 buzz: XForms 1.1

One whole evening of the program was devoted to XForms, focused around the new 1.1 Candidate Recommendation. I admit that some of the early 1.1 drafts gave me pause, but these guys did a good job cleaning up some of the dim corners and adding the right features in the right places. This is worth a careful look. -m

Monday, November 19th, 2007

Kindle my disappointment

Where’s Project Gutenberg? One difficulty in launching an ebook platform is the lack of available titles. I keep hearing about 80,000+ titles, but expressed as a percentage of Amazon’s book catalog, it’s minuscule. There should be all kind of public domain titles ready to go on day one. And where’s the Creative Commons books?
There’s some public domain books to be found, but none are free. Take, for example, A Connecticut Yankee in King Arthur’s Court, a book (in paper form) sitting just out of arm’s reach as I write this, waiting to be read. If I had it on a device, particularly one with a good screen, I’d be more inclined to keep it, and dozens others, on hand in my backback and be ready to read at a moment’s notice. But no.

The problem is the the “we take care of the wireless delivery” part, called Whispernet(tm). It’s not really free, nor bundled in the service price. It’s bundled in to the cost of every media access. Is it fair to pay $9.99 for a New York Times bestseller? Sure. But it sucks to pay $1 for an A-list blog that’s free everywhere else, or to get literally nickeled and dimed for the privelege of “converting” and delivering your own content to your own device.

By the way, who gets the money paid for accessing, say, a CreativeCommons non-commercial licensed blog via the Kindle? Somebody should look into that.

I applaud Amazon for pushing to innovate in a space that badly needs it, but the financial model behind the wireless access encourages the wrong kind of things. Exceptions, like unlimited Wikipedia access (be still my heart!) still need to be hand approved by the gatekeeper. Information wants to be free, it doesn’t want to be a service, though that’s hard to see when the dollar signs get in your eyes.

Many folks are comparing this to the original iPod launch–remember, the huge klunky one with a tiny capacity, black and white screen, and a mechanical click-wheel? There’s some strong points of similarity, but stronger differences. For one, anyone with an iPod can easily rip their existing CDs, not to mention obtain MP3s from other methods (so I hear). There’s nothing like that yet for books.
Where’s the documentation for the new, proprietary ebook format? I don’t care about the DRM crap. I care about being able to create new content, or repackage existing content for which I have the rights, and for that, I’m having trouble coming up with a rationale for an entire new format. I would love to do some cool things with this platform. Perhaps I will some day, though my enthusiasm is somewhat lessened by the difficulties I would face getting anything cool onto the devices. -m

Tuesday, November 13th, 2007

Representing structured data on a web page

OK, let me take a step back from specific technologies like RDFa, let’s go through a really simple example.

On a certain web page, I refer to a book. That book has a price of 21.86 US dollars. The page is intended as primarily human-readable, but I want to include machine-readable data too, for a global audience.
What would you do? What specific markup choices would you make? What specific markup would you use? -m

Monday, October 15th, 2007

XForms evening at XML 2007

Depending on who’s asking and who’s answering, W3C technologies take 5 to 10 years to get a strong foothold. Well, we’re now in the home stretch for the 5th anniversary of XForms Essentials, which was published in 2003. In past conferences, XForms coverage has been maybe a low-key tutorial, a few day sessions, and hallway conversation. I’m pleased to see it reach new heights this year.

XForms evening is on Monday December 3 at the XML 2007 conference, and runs from 7:30 until 9:00 plus however ERH takes on his keynote. :) The scheduled talks are shorter and punchier, and feature a lot of familiar faces, and a few new ones (at least to me). I’m looking forward to it–see you there! -m

Friday, October 5th, 2007

Playing with microformats

I’ll be doing some experimenting around here over maybe the next week or two. Specifically, setting up hAtom within these pages. Watch for falling debris and report any unusual observations. -m

Monday, October 1st, 2007

simple parsing of space-seprated attributes in XPath/XSLT

It’s a common need to parse space-separated attribute values from XPath/XSLT 1.0, usually @class or @rel. One common (but incorrect) technique is simple equality test, as in {@class=”vcard”}. This is wrong, since the value can still match and still have other literal values, like “foo vcard” or “vcard foo” or ” foo vcard bar “.

The proper way is to look at individual tokens in the attribute value. On first glance, this might require a call to EXSLT or some complex tokenization routine, but there’s a simpler way. I first discovered this on the microformats wiki, and only cleaned up the technique a tiny bit.

The solution involves three XPath 1.0 functions, contains(), concat() to join together string fragments, and normalize-space() to strip off leading and trailing spaces and convert any other sequences of whitespace into a single space.

In english, you

  • normalize the class attribute value, then
  • concatenate spaces front and back, then
  • test whether the resulting string contains your searched-for value with spaces concatenated front and back (e.g. ” vcard “

Or {contains(concat(‘ ‘,normalize-space(@class),’ ‘),’ vcard ‘)} A moment’s thought shows that this works well on all the different examples shown above, and is perhaps even less involved than resorting to extension functions that return nodes that require further processing/looping. It would be interesting to compare performance as well…

So next time you need to match class or rel values, give it a shot. Let me know how it works for you, or if you have any further improvements. -m

Saturday, September 8th, 2007

Steven Pemberton and Michael(tm) Smith on (X)HTML, XForms, mobile, etc.

Video from XTech, worth a look. -m

Wednesday, August 8th, 2007

New W3C Validator

Go check it out. It even has a Tidy option to clean up the markup. But they missed an important feature: it should include an option to run Tidy on the markup first then validate. This is becoming the defacto bar for web page validity anyway… -m

Wednesday, April 11th, 2007

James Clark blog: do you read the web or feed version?

James Clark is blogging. A few zillion people have already mentioned this.

A slightly tangent observation: I had trouble reading through an entire article in web form, but had no problems returning later to the atom feed. At first I chalked it up to early morning grogginess, but it seems to be a repeatable phenomenon at all hours, at least for me.

So a double thanks to James for publishing a full feed.

How about you: do you have an easier time reading long form articles in a feed reader vs. a browser?  Do you prefer feed reader vs. browser for this blog? Comment below. -m

Thursday, March 29th, 2007

Mobile search compared

Here’s a great comparison site. Try out some searches you might run from your phone and let me know: which one did you prefer? Why? -m

Monday, March 19th, 2007

Yahoo oneSearch launches on mobile web

Today Yahoo! launched oneSearch on their other front page, OneSearch has been available for a while, but only from within Yahoo! Go. Now it’s available to millions of mobile devices equipped with a data connection and XHTML browser.

The basic premise behind oneSearch is to replace the tri-modal search box, where you have to say whether you are searching the web, local, or images, with a single all-knowing search box. Available context information, such as your zip code, is used to guide the search. Internally, the application is smart about figuring out what kind of things you might be looking for. For example, someone searching for “pizza” in a mobile context is probably more interested in a list of restaurants (with reviews) than in a list of hyperlinks. Behind the simplicity of a single search box, there is a great deal of work going on to make your life easier.
Ever since Yahoo! Go betas (and gammas) started coming out, folks have been asking me how else they could get access to this application. Now it’s easy.

Not too long ago, the front page relaunched simultaneously in 19 countries. The new design was simple, and based on a new platform called Sushi, as mentioned in published sources. OneSearch shows off the power of this approach, even though this launch didn’t cover 19 countries…yet. (Getting access to local data for movies, restaurants, sporting events, and so on is no small feat.)

As I said before, this is only a small part of an overall strategy that has been years in the making. Much more to come. Watch this space. -m

Thursday, March 15th, 2007

Feed readers get namespaces wrong

Big surprise, huh? More evidence that the XML namspaces spec is out of touch with the reality of developers ‘on the street’, a.k.a. it has cracks in the foundation.

I disagree that aggregator developers are “bozonic”, as the title of the first cited article indicates. Why should any developer need to keep all that extra complexity bouncing around in their head? Optimize for people first, machines second. -m

Friday, March 9th, 2007

HTTP question

OK, RESTafarians and HTTP experts, here’s a question. Is it kosher to send a Location: header back with an ordinary, say 200, response?

Scenario: the server knows better than the client what the client needs. ‘I realize you asked for, but instead I’m sending you — ready or not, here it comes..’

Tuesday, February 13th, 2007

Windows Live Search for Mobile

Spotted under the headline Windows Live Search for Mobile Goes Final, Still Great (like they were expecting it to suddenly plummet in quality?) on Gizmodo. It’s a 114k jar file that runs on my SLVR, where Yahoo! Go isn’t yet available yet, so points for that. Search suggestions show as you type, hugely useful on a klunky 9-key entry situation. They use an interesting UI to hold search results, densely packed–6 down the screen–with a status bar on top, and each search result marquee-scrolling back-and-forth as needed. A detail page can zap you in to map mode or set up a call.

My standard test search–a little offbeat but still plausible–for mead near Sunnyvale produced disappointing results. The meadery within walking distance didn’t show, and of the top 6, two were duplicates. Scrolling down to the 10th result, though, did show an interesting, useful result, albeit 60.15 miles away: Knowne World Meads. I wanted to visit the web site, but here lies another problem: there’s no web integration. None of the search results include a URL or clickable link.

For all the hassle, I’ll stick with Opera Mini and my favorite search engine, thank you. -m

Thursday, February 1st, 2007

Is HTML on the web a special case?

Some random thoughts and responses to lots of blog discussion sparked by the XML2 article, where I asked “Is HTML on the Web a special case?”

By which, I mean, if you go through all the effort of writing down all the syntax rules used by the union of browsers that you care about, then go through the pain of getting consensus within a standards body, will the resulting document be useful beyond HTML on the Web, much like how XML is useful beyond being a vehicle for XHTML?

I don’t know if Tim Bray had that same version of the question in mind, but he answers “obviously ‘yes'”.

But I don’t think so. Once you have that set of rules, wouldn’t it be useful in other areas, say, notoriously RSS on the web? SVG? MathML? In fact, I’d go as far as saying that any hand-authored markup would be a candidate for XML2 syntax.

What about mobile? Anne van Kesteren responds:

in that article Micah Dubinko mentions mobile browsers living up to their premise and all that. What he says however, isn’t really true. Mobile browsers and XHTML is tag soup parsing all the way.

He links to this page, which does a rather poor job of making a point the author seems to have decided upon before starting the experiment. If you look at the specific test cases, one tests completely bizarro markup that no author or tool I can imagine would ever produce. Another test checks the handling of content-type, not markup. On the other axis, the choices there seem a bit jumbled: lists of user-agent strings, one for stock Mozilla, and a footnote indicating confusion about what browser is really in use. If anything, this page shows that the browsers tested here, with the exception of Opera Mini, are crap. If you spend more than a few minutes in mobile, you’ll discover this widespread trend. (And I’m working on a solution…watch this space).

Look at this from a pragmatic viewpoint. Check the doctype used on Yahoo! front page vs mobile front page. Despite the poor browsers, XHTML adoption is still farther ahead on the mobile web then the desktop web.

The last thing nagging at me (for now) is whether XML2 will have an infoset. Will it be possible to use XPath, XQuery, and XML tools on XML2 content? How well will these map to each other? In the strict sense, no, XML2 won’t have a conforming infoset because it will never include namespaces. But might it support a subset of the infoset? (Would that be a infosubset?) That’s a huge open question at this point. -m

Wednesday, January 10th, 2007

Open Questions

And a few not so open…

Q: Does the iPhone (or specifically the desktop-grade Safari browser) make the “mobile web” obsolete?

A: The “mobile web”, as we know it today, will become obsolete without any help. Things change. Devices improve. That said, the context in which one uses the web is different, and there will always be a need for some sites to have mobile-specific versions, even after the day every mobile browser is desktop-grade.

Q: Does the advent of desktop-grade mobile browsers mean that today’s mobile development is meaningless?

A: No. The race is on today, and the winners will be those who can make the most users happy. That includes users who–for several more years–won’t own hardware capable of desktop-grade browsers. The winner on this playing field will have any easy momentum play to carry over to the next one.
Q: Will the iPhone “cannabalize” iPod sales?

A: Goodness, no. People who buy one will be either 1) buying it instead of an iPod, or 2) not. The Cingular CEO said it was a “multi-year exclusive” deal, signed sight unseen. In other words, Apple had incredible leverage to get a good deal. Their subsidy on the 2-year contract is probably significant, maybe in the $300 range, possibly a lot more. So would you call selling a $800-900 device instead of a $200 one cannabalization?

Q: What does this mean for XHTML-MP and XHTML Basic?

A: That’s a tough question. In the end, it will boil down to momentum. Today’s successful mobile development necessarily involves XHTML. Once browsers get better, nobody is going to re-write their sites in worse markup, though some might attempt to merge with the main site. (Another open User Experience Design question is the degree to which it will be possible for one site to work in a different, mobile, context.)

Q: What does this mean for Mobile Web Best Practice and mobileOK?
A: Like the “mobile web” both of these specs-in-progress will become obsolete without help. But now they are going to look increasingly obsolete at an accerated rate.


Tuesday, January 2nd, 2007

inputmode mobile question

I have a question for the mobile geniuses out there. What’s the difference (if any) between inputmode=”latin digits” and inputmode=”user digits”?

Will browsers treat these differently? How so? Which ones? Answer in the comment section below.
Thanks! -m

Monday, December 4th, 2006

UC Berkeley – what I talked about

Last week, I visited Erik Wilde, Bob Glushko, and students up at Cal. No major announcements, just some sharpening of discussion points.

Since this was my first visit to Berkeley, I finally got to tell the joke “thank you for your OS”. Maybe you had to be there.

The intentional web is a formalism for describing “why the font tag is evil”. I often work with 3rd party integration languages, and the markup design is, without exception, crap. I hypothesize that the reason for this is jumping into solution-space before fully understanding problem-space. This seems to apply to lots more than just font tags; I lumped in WML and about half the world’s ajax sites for good measure.

Microformats are a formalism for describing “why creating a new markup language for my CD collection” is evil. Could XForms have been done as a microformat? No, microformats require a strong intentional foundation language, and HTML forms ain’t it. Is the proposed W3C approach an instance of “a deadly two-pronged attack”, a la Yahoo! Photos + Flickr? We’ll see. It does seem like that road leads to a namespace apocalypse, highlighting the fundamental difficulty namespaces hoists on attempts to usably extend HTML and XHTML at the same time. A namespace apocalypse may not be a bad thing.

On namespaces, I went over most of the points from my recent article. I won’t rehash that here.

What are some practical and implementation issues around XForms or the lack thereof? Focusing on mobile, as reason #1 I gave the lack of commercial-grade java browsers, discussed here previously. The state of mobile browsers is appalling, other than Opera and S60. Terms like “model” and “field” are troublesome, because the confuse the problem domain (the real world) and the solution domain (the computer). Browser vendors have been too inwardly-focused, both now and during the first attempt at salvaging HTML forms, leading to a premature jump into solution-space. But perhaps XForms dwelled for too long in the problem space…

Maybe I’ve mellowed some, but increasingly I’m able to look at both sides of issues. A useful skill for Information School students, wouldn’t you agree? -m

Wednesday, November 8th, 2006

Somebody correct me if I’m wrong…

but there has never been a successful Java implementation of a commercial-grade web browser. (right?)

There exist lots of huge applications including IDEs, and editors of all sorts, but nobody’s been able to nail the whole XHTML+CSS+JavaScript thing in Java. (right?)

Take it a step further–no need to pick on Java–nobody has done this in any VM-based language (right)?

Coincidence or sign of greater forces in the universe? Feel free to post counter-examples in the comments.-m

Thursday, September 14th, 2006

Another iTunes phone arrives, quietly

Check this out. It’s a RAZR V3i, which has a show-stoppingly bad mobile browser built-in. (But overall, it’s still better than the ROKR!) Compared to the huge announcements from Apple earlier this week, this one comes in fairly under the radar. Could this be a trial baloon leading up to an official iPhone?
If this one supports replacing the browser with Opera, this might be a near-term option… -m

Wednesday, September 6th, 2006

Mark Birbeck: ‘Ajax makes browser choice irrelevant’

A must-read posting from Mark Birbeck, who knows a few things about XForms and Web Forms 2.0.

He talks about the respective approaches embodied in XForms and Web Forms 2.0, and concludes that the primary difference between them has little to do with simplicity. He goes on to analyze differences in how developers and users view browsers. Go read it, it’s worth it. -m

Wednesday, August 9th, 2006

My new favorite quote

How hard could this be? A six month project if three engineers are doing it in a garage. Five years if you put one hundred programmers on it.

Guy Kawasaki


Monday, August 7th, 2006

IE7: not CSS compliant

Like with the element counts, the grain-of-salt alarms are going off with this one. But apparently IE7 passes only 54% of the CSS test suite, up from 52% for IE6. (But even Mozilla only scores 93%). It’s not entirely clear how these numbers derive from the source data, and it certainly isn’t weighted for things like how useful or commonly used various features are.
It’s completely silly to say Microsoft isn’t even trying to implement the standard. Every engineer, product manager, or blogger involved with the project will honestly and sincerely describe the huge amount of effort going into standards compliance. To get to the problem, you need to dig deeper.
I’ll end on that enigmatic note. More later. -m

Wednesday, June 7th, 2006

The True Impact of Google Spreadsheet

Lots and lots of blog traffic on Google Spreadsheet, but I haven’t seen anyone make a key point:

The underlying message is: full-blown applications in the browser are now real.

Many smaller players have been doing things like this for years, just as many smaller player were using Ajax before it had a catchy name. But as soon as it had a name and a big player (again, Google) behind it, it left the launch pad in spectacular fashion.

The era of Web Applications has begun. Don’t think that Microsoft Office should be afraid–it’s even bigger. -m

Tuesday, June 6th, 2006

Infopath and “Design Once”

New features in InfoPath 2007 make me smile

  • Design once to work on browser and client
  • Object model the same across client and server

Both things I worked on extensively for Cardiff LiquidOffice in 2003-2004. ‘Cept we had design once and write out to DHTML, PDF, or InfoPath. :) -m

Monday, June 5th, 2006

Ten things that would shake up the mobile industry overnight

For better or worse. In no particular order.

  1. Affordable unlimited data plans
  2. Google getting into the operator business
  3. Yahoo! getting into the operator business
  4. Affordable phones not tied to carriers
  5. The iPod phone
  6. Development of strong AI (yes I say this about everything)
  7. Development of decent agent software
  8. Affordable unlimited voice plans
  9. Collapse of network neutrality
  10. An active mobile WebStandards task force (ok, not overnight, but still important)


Monday, June 5th, 2006

Still crazy after all these years

Part of tech reviewing means dusting off a Windows machine again. I haven’t done more than check email or run Quickbooks online on a Windows machine since I was writing my book in 2003. Remarkably, Windows XP is still the latest desktop OS available. But it needs updates.

Checking my update history, I had 37 updates installed, with Windows Update insisting on installing three more things including “Genuine Advantage”. Reboot. Yay, now I’m advantaged. Apparently the main new feature in Windows Update is a five-minute “Checking for the latest updates for your computer…” screen. Next Service Pack 2, which has to be installed separately.

This is taking a while, so I have time to re-appreciate the nuances of the Windows UI. In the system tray, I see room for six icons, but only four present. (Clicking the little arrow, though, causes a wiggle, with six icons showing in the same space; after a second, another wiggle and back to four). All of the icons are blurry, two of them enough that I have no idea what they’re supposed to represent.

I couldn’t make stuff like this up, but it blue-screened 73 minutes into the ordeal. Unbelievable. On the bright side, it did recognize that the whole Service Pack didn’t need to be downloaded again.

As an aside, the crash tool suggested that I run the Windows Memory Diagnostic tool, so it’s possible the blue screen was hardware related. Amusingly, the Windows Memory Diagnostic tool is exactly 640kb. If you don’t get the tragic coincidence, post a comment and I’ll tell you. :)

The second run through installing Service Pack 2…blue screens again, this time with some USB error. Upon rebooting, a Windows Setup screen draws little dots for several minutes while “restoring previous configuration”, and the desktop warns me ominously that the system is in an “unstable state”, and that I need to go to Control Panel -> Add/Remove Programs and uninstall SP2. The uninstall program helpfully warns me that lots of programs, including “hearts” and “solitaire” toward the top of the list, might stop working, but I bravely press on.

Reboot again. 640×480 resolution, and all kinds of messages like “found new hardware — disk drive”. On the change resolution screen in Control Panel, the “OK” and “Cancel” buttons are off the screen. And another reboot to get networking set up again. At this point I’m three hours wasted, six reboots, and I have nothing to show but an even more unstable system and Genuine Advantage. Wheeeee! At what point does Microsoft throw the “rewrite from scratch” swich? The saga continues, check comments on this post. -m

Friday, May 26th, 2006

XHTML2 and XForms presentations

Steven Pemberton has done several recent talks on XForms,

XForms tutorial at XTech and WWW

The Power of Declarative Thinking – same slides for the talks at XTech and WWW

I attended at least parts of both of the WWW talks, and I can report that they were well-attended and well-received. -m

Wednesday, May 17th, 2006

InfoPath going mobile?

Seen on Bill Trippe’s blog.

Gray Knowlton, who indentified himself as a Senior Product Manager for InfoPath 2007 said the next version of SharePoint will “include InfoPath Forms Services, which will render InfoPath forms to browsers and html-enabled mobile devices, and this will not require InfoPath on the form fillers’ desktop, nor will it require any advance download on the part of the person completing the form.”

This is, as far as I know, breaking news. Nice work, Bill!

Now, the big question is, how well will it work outside of IE? -m

Tuesday, May 16th, 2006

Come Yahoo! with me

The following is a blatant job posting. If you’re not into that kind of thing, feel free to skip.

In Yahoo! Mobile, we’re working on an amazing project which, unfortunately, I can’t say much about just yet. We’re growing, and we need some more talent. All of the following are in Sunnyvale, CA and have the full benefits package. Relocation is always a possibility for the right candidate.

Web Guru/Developer: If you dream in semantic XHTML and prefer command line tools to read and write web pages, this is the job for you.

Release Engineer: On the other hand, if you dream about virtual IPs and consider Apache config files a second language, you’d be happy in this challenging position.
There’s more openings than these; I’m just highlighting a few here. If you’re interested, or just looking for more details, email me. If you’ll be at WWW next week, you could also look me up in person. -m

MicahLogic is Stephen Fry proof thanks to caching by WP Super Cache