<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8378277197615257607</id><updated>2011-11-28T00:46:53.937Z</updated><category term='mobile'/><category term='firefox'/><category term='Atom'/><category term='business'/><category term='content management'/><category term='sensors'/><category term='Mozilla'/><category term='animation'/><category term='maths'/><category term='security'/><category term='SVG'/><category term='music'/><category term='government'/><category term='internet apps'/><category term='browsers'/><category term='GUI'/><category term='binding'/><title type='text'>Chris Jay</title><subtitle type='html'>The internet: business and technology</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default?start-index=101&amp;max-results=100'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>141</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-966404315712201233</id><published>2010-07-25T17:40:00.004Z</published><updated>2010-07-25T17:53:21.129Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='browsers'/><title type='text'>Purchasing in the browser</title><content type='html'>One of the real benefits of App Stores versus the web is that purchases are so much easier - all you have to do is click on a link (and type your password to validate). Contrast that with the web, where every site has a detailed form to fill out - and sometimes you have to fill it out all over again, if "Verified by Visa" has anything to do with it.

&lt;p&gt;Would it be possible to streamline procurement on the web? I think it could, using a browser-based "account store":

&lt;ul&gt;
&lt;li&gt;Browser stores account details and exposes API for giving them to web page
&lt;li&gt;When web page calls API, the user is asked for confirmation (and can select which account to use). E.g. "This site wants to know your account details for a purchase - give them? If so, which account? Type your password to confirm"
&lt;li&gt;Account details are sent to page in standard format and used to automatically fill out form
&lt;/ul&gt;

&lt;p&gt;This approach is simple and would work easily with existing sites, automatically populating all the fields. What's more, it allows the browser to help the user out - for example, listing all sites that have been granted access to their account details.

&lt;p&gt;Unfortunately, once account details have been given out, it's difficult to control what the site does with it - they could be passed on to a bad guy, whether intentionally or not.

&lt;p&gt;Here's a better approach:
&lt;ul&gt;
&lt;li&gt;Banks could generate a new unique account number with each purchase. This account number would only work once and also has a brief expiry time, e.g. 1 hour.
&lt;li&gt;When a site requests your account details, the browser automatically requests your bank for a new account number, which is then given to the vendor. The vendor cannot then re-use the details or leak them to anyone else.
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-966404315712201233?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/966404315712201233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=966404315712201233' title='21 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/966404315712201233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/966404315712201233'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2010/07/purchasing-in-browser.html' title='Purchasing in the browser'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>21</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-6356060048177265206</id><published>2010-07-24T09:15:00.000Z</published><updated>2010-07-24T09:16:43.506Z</updated><title type='text'>Mobile operating systems</title><content type='html'>We’ve gone from mobile operating systems not mattering, to everyone wanting one of their own: Google – Android; Samsung – Bada; Microsoft – Windows Phone; Nokia – Symbian, Meego; Intel – Meego; HP / Palm – WebOS; Apple – iOS. Compare that with the number of desktop operating systems!
 
&lt;p&gt;This is a gold rush into the new markets opened up by the iPhone. There are two reasons to have your own mobile OS:

&lt;ul&gt;
&lt;li&gt;Differentiation from other manufacturers  – providing a unique interface and features to go with your hardware
&lt;li&gt;App Stores – make money by establishing your own App Store, selling apps along with the phones
&lt;/ul&gt;
 
&lt;p&gt;So what happens next? Obviously, consolidation. In fact this is already happening in some areas – for example, Linux and Webkit are the foudation of many of the above operating systems.
 
&lt;p&gt;Manufacturers will always have a need for software differentiation; they’ve learnt this through years of having to using Windows. But I don’t think they can all have App Stores with different development environments. Developers will simply not learn more than two or three.
 
&lt;p&gt;The most obvious way to overcome this problem is to make the development platform be web standards (HTML, JS and CSS), which developers already know. This tactic is likely to be deployed by the weaker platforms, both to gain a foot up and also to undermine their more successful rivals with a common standard. It’s already been pursued by Palm with WebOS, and now Nokia are also using it with Symbian. I would expect only two or three development environments to survive that are not primarily focused on web standards: Apple’s iOS, Google’s Android (ironically, given that companies’ supposed focus on HTML5), and maybe one more.
 
&lt;p&gt;This is likely to lead to even faster development of browser engines in the next couple of years, as mobile investment pours in. The net effect will be that the browser becomes as powerful as any native app – and, ironically, app stores will simply become websites that cost money.
 
&lt;p&gt;One more prediction – Firefox on Mobile will be surprisingly successful. It’s had a very slow start; in fact it’s been written off in favour of webkit by almost everyone. What’s more, it will only be available on Android and Meego for the next year or two. But it’s got one major advantage: it’s not just a browser engine, it’s the chrome as well.
 
&lt;p&gt;The current state of mobile browser chrome is terrible – features that are standard on the desktop (such as automatically remembering passwords, or auto-completing the address bar as you type based on browser history, or blocking adverts, or allowing add-ons) are completely missing on mobile, even though they should be even more important in that environment to help manage limited screen size. So I expect Firefox to take advantage of other’s complacency and inexperience and make a real impression, just as it did initially against Internet Explorer. This will likely happen over a period of two or more years as native browsers lag, then finally notice they must invest to catch up.
 
&lt;p&gt;In a few years, then, the mobile market will have evolved substantially. Common standards based on the web will unite the weaker players against the top two or three platforms. App stores will become more like websites that cost money. And, after a hiatus, browser design will re-establish it’s importance.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-6356060048177265206?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/6356060048177265206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=6356060048177265206' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/6356060048177265206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/6356060048177265206'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2010/07/mobile-operating-systems.html' title='Mobile operating systems'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-6121390153197774015</id><published>2010-05-17T12:23:00.003Z</published><updated>2010-05-17T13:54:17.291Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='government'/><title type='text'>Open source systems in government</title><content type='html'>&lt;p&gt;In 2009 the UK government announced a &lt;a href="http://www.cabinetoffice.gov.uk/government_it/open_source.aspx"&gt;new approach&lt;/a&gt; to open source. It ensures that open source is treated on a level playing field with proprietary solutions. But I think the government should go much further and use open source as the foundation for its core systems.

&lt;p&gt;It's clear that our current approach to government IT is badly broken. Taxpayers have suffered &lt;a href="http://www.independent.co.uk/news/uk/politics/labours-computer-blunders-cost-16326bn-1871967.html"&gt;£26bn of losses&lt;/a&gt; as a result of a string of computing disasters involving massively late, over-budget, and broken systems.

&lt;p&gt;We must move to a new model that avoids the reasons behind this catastrophe: reliance on massive system revolutions rather than incremental improvement, &lt;a href="http://www.computerworlduk.com/community/blogs/index.cfm?entryid=2812&amp;blogid=14"&gt;lock-in&lt;/a&gt; to vendors, a &lt;a href="http://www.nao.org.uk/publications/0506/the_delays_in_administering_th.aspx?alreadysearchfor=yes"&gt;lack of government understanding&lt;/a&gt; and control of IT, and the dominance of large suppliers at the expense of small and medium sized businesses.

&lt;p&gt;Contrast this approach with open source groups such as the &lt;a href="http://www.linuxfoundation.org/"&gt;Linux Foundation&lt;/a&gt; or &lt;a href="http://www.mozilla.org/"&gt;Mozilla&lt;/a&gt;. They also develop complex software used by millions of people around the world, following these principles:
&lt;ul&gt;
&lt;li&gt;An army of developers, from huge corporates to individual developers in their spare time
&lt;li&gt;A community of developers, carefully cultivated and encouraged by the foundation, with shared values
&lt;li&gt;Total freedom from lock-in, using open source licenses
&lt;li&gt;Focus on steady evolution rather then complete revolution
&lt;/ul&gt;

&lt;p&gt;In this approach, the major government departments should set up their own IT foundations, with carefully written missions and a budget to encourage community participation (via public prizes, conferences, and total openness in the technical approach). Individual workers, or small, medium and large businesses alike could volunteer to develop the code, as a charity or in the hope of being hired full time.

&lt;p&gt;There would be two additional benefits to developing open source government systems. Firstly, governments around the world could share development costs by contributing together. This could save the UK government huge amounts in the long term. Secondly, building a community of government IT developers in the UK would provide a huge benefit to the economy - building the skills and experience of volunteers (including students) in just the areas likely to require staffing.

&lt;p&gt;So I believe it's time to get much more ambitious about open source in government. We should be using it not just to purchase cheap infrastructure, but to actually lead the development of core systems. Doing so would help free us from many of the issues plaguing government IT, but also provide a real public benefit to the citizens of this country.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-6121390153197774015?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/6121390153197774015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=6121390153197774015' title='36 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/6121390153197774015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/6121390153197774015'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2010/05/open-source-systems-in-government.html' title='Open source systems in government'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>36</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-8509130746399853605</id><published>2010-05-03T11:04:00.008Z</published><updated>2010-05-03T21:44:31.197Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='SVG'/><title type='text'>SVG can't be part of the web</title><content type='html'>&lt;p&gt;Microsoft's &lt;a href="http://blogs.msdn.com/ie/archive/2010/03/18/svg-in-ie9-roadmap.aspx"&gt;announcement&lt;/a&gt; that IE9 will be supporting SVG brought rejoice to many web standards aficionados. SVG 1.1 was finalised in January 2003 but Internet Explorer's previous lack of support meant that it has never really taken off on the web, despite years of patient enhancement by &lt;a href="http://www.codedread.com/svg-support.php"&gt;open source advocates&lt;/a&gt;.

&lt;p&gt;But although I'm also an open source and web standards advocate, I still don't think SVG can ever be part of the web, because it just doesn't fit. We need a better solution.

&lt;p&gt;Consider the following points:
&lt;ul&gt;
&lt;li&gt;SVG has a totally different coordinate system to HTML - you can translate SVG coordinates but not HTML ones, and vice versa. So SVG and HTML won't sit well in the same document
&lt;li&gt;SVG has a totally different layout model to HTML. It's incompatible with CSS floats, which are fundamental to laying out HTML web pages.
&lt;li&gt;SVG has a totally different version of CSS which overlaps at best with HTML. For example, it has a "fill" property (rather than "background-color"), and it can't be positioned using CSS.
&lt;li&gt;SVG introduces duplicates of many HTML features - most notably, the hyperlink!
&lt;li&gt;SVG has a different DOM to HTML.
&lt;/ul&gt;

&lt;p&gt;If you only want a vector format for image files, SVG is ok (though HTML Canvas can do everything SVG can). But if you want to use SVG to layout and style web pages, it's a terrible kludge.

&lt;p&gt;I believe there's a better way. Going through the SVG &lt;a href="http://www.w3.org/TR/SVG#minitoc"&gt;table of contents&lt;/a&gt;:
&lt;dl&gt;
&lt;dt&gt;Coordinate systems, Transformations and Units
&lt;dd&gt;Already covered by &lt;a href="http://www.w3.org/TR/css3-values/"&gt;CSS3 Units&lt;/a&gt; and &lt;a href="http://www.w3.org/TR/css3-2d-transforms/"&gt;CSS Transformations&lt;/a&gt;
&lt;dt&gt;Paths
&lt;dd&gt;Not possible in HTML
&lt;dt&gt;Basic Shapes
&lt;dd&gt;Rect, Oblong and Circle are possible in HTML using CSS &lt;a href="http://www.w3.org/TR/2005/WD-css3-background-20050216/#the-border-radius"&gt;border radius&lt;/a&gt;. Polylines and Polygons are not.
&lt;dt&gt;Text
&lt;dd&gt;HTML already does text better than SVG
&lt;dt&gt;Painting: Filling, Stroking and Marker Symbols
&lt;dd&gt;Filling and Stroking are possible in HTML using CSS &lt;a href="http://www.w3.org/TR/2005/WD-css3-background-20050216/#the-background-color"&gt;background-color&lt;/a&gt; and &lt;a href="http://www.w3.org/TR/css3-color/"&gt;color&lt;/a&gt;. Marker symbols are not.
&lt;dt&gt;Color
&lt;dd&gt;Already covered by &lt;a href="http://www.w3.org/TR/css3-color/"&gt;CSS color&lt;/a&gt;
&lt;dt&gt;Gradients and Patterns
&lt;dd&gt;Covered by &lt;a href="http://dev.w3.org/csswg/css3-images/"&gt;CSS3 gradients&lt;/a&gt; and &lt;a href="http://www.w3.org/TR/css3-background/"&gt;CSS3 backgrounds&lt;/a&gt;
&lt;dt&gt;Clipping, Masking and Compositing
&lt;dd&gt;HTML allows &lt;a href="http://www.w3.org/TR/CSS2/visufx.html"&gt;clipping&lt;/a&gt; and &lt;a href="http://www.w3.org/TR/css3-color/"&gt;opacity&lt;/a&gt;, but not masking or compositing.
&lt;dt&gt;Filter effects
&lt;dd&gt;Not possible using HTML
&lt;dt&gt;Animation
&lt;dd&gt;Covered by &lt;a href="http://www.w3.org/TR/css3-transitions/"&gt;CSS3 transitions&lt;/a&gt; and &lt;a href="http://www.w3.org/TR/css3-animations/"&gt;CSS3 animations&lt;/a&gt;
&lt;dt&gt;Fonts
&lt;dd&gt;Covered by &lt;a href="http://en.wikipedia.org/wiki/Web_Open_Font_Format"&gt;WOFF&lt;/a&gt;
&lt;/dl&gt;

&lt;p&gt;So, much of what SVG does is actually already possible using advanced CSS and HTML. So why not just extend CSS a bit more and you'd get all the power of SVG inside HTML, but without needing a whole new markup language? What's more, you'd then be able to apply all these techniques to existing HTML elements, not just SVG ones.

&lt;p&gt;For example, imagine a set of CSS properties which allowed you to modify the shape of any HTML element - not just rectangles, but any shape you could think of. That would be better than introducing new SVG markup for shapes, because you could modify existing HTML semantic elements such as headings.

&lt;p&gt;That's why supporters of the open web should not put their hopes into SVG. To be frank, it doesn't do what you want it to do. A much better approach would be to continue to extend CSS so that it doesn't take new markup to achieve better presentational effects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-8509130746399853605?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/8509130746399853605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=8509130746399853605' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/8509130746399853605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/8509130746399853605'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2010/05/svg-cant-be-part-of-web.html' title='SVG can&apos;t be part of the web'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-8755323450032718700</id><published>2009-12-06T17:26:00.006Z</published><updated>2010-05-03T21:39:55.185Z</updated><title type='text'>App Stores and iTunes versus the web</title><content type='html'>&lt;p&gt;The app store or catalog (such as Apple's iTunes) is an alternative model to web apps. It's a closed platform where all the options are controlled by a central provider. However it's getting massively popular, to the extent that every mobile phone provider has to have one, and it's even seen as the saviour to several industries such as music (iTunes) and news (e-Readers or tablets).

&lt;p&gt;I dislike this model. It's a way for corporations to increase their profits by creating artificial limits on what users can see and do. Even those app stores built with HTML and CSS (such as WebOS or Symbian3) remove the great power of the real web: the ability to hyperlink, search, aggregate, and mash-up.

&lt;p&gt;So, why is the app store becoming so successful? A number of reasons:
&lt;ul&gt;
&lt;li&gt;Higher performance apps, using the device's native hardware. Browsers are still slower in many cases than native software
&lt;li&gt;Access to the phone's full features such as camera, accelerometer, etc. Browsers still can't do much of this
&lt;li&gt;Great development and design tools that the web still can't match
&lt;li&gt;An easy way to get paid - compare the user experience of paying for an app versus registering on a new website and then typing in your credit card details
&lt;/ul&gt;

&lt;p&gt;The only way the web can respond is to build on its strengths, and fix its weaknesses. In fact, some of this is already under way. Browser performance &lt;a href="http://www.google.com/chrome/intl/en-GB/more/speed.html"&gt;has&lt;/a&gt; &lt;a href="http://blogs.msdn.com/ie/archive/2010/03/16/html5-hardware-accelerated-first-ie9-platform-preview-available-for-developers.aspx"&gt;improved&lt;/a&gt; &lt;a href="http://www.ghacks.net/2010/02/28/upcoming-firefox-performance-improvements/"&gt;hugely&lt;/a&gt; in the last few years, HTML5 is bringing new APIs including &lt;a href="http://dev.w3.org/geo/api/spec-source.html"&gt;geolocation&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/HTML5_video"&gt;native video&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/WebGL"&gt;3G graphics&lt;/a&gt;, and new developer frameworks such as &lt;a href="http://rubyonrails.org/"&gt;Ruby on Rails&lt;/a&gt; are improving development practices.

&lt;p&gt;There's a long way to go before the web can completely beat proprietary developer frameworks. Perhaps the most important gap is the bottom line: sorting out payments on the web, which are currently so frustratingly difficult. 

&lt;p&gt;Only with concerted effort among all parties - browser makers, web developers and service providers - can the web win against the app store.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-8755323450032718700?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/8755323450032718700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=8755323450032718700' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/8755323450032718700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/8755323450032718700'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2009/12/app-stores-and-itunes-versus-web.html' title='App Stores and iTunes versus the web'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-4984947200137590489</id><published>2009-11-22T22:19:00.002Z</published><updated>2009-11-22T22:23:34.090Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mozilla'/><category scheme='http://www.blogger.com/atom/ns#' term='browsers'/><title type='text'>Identity and the browser</title><content type='html'>&lt;p&gt;Identity is a big problem on the web. People have to set up endless usernames and passwords for each website, type the same basic information (name, address etc) into each one, remember passwords and change them regularly, and a hundred other tasks.
 
&lt;p&gt;Recently there have been some improvements. &lt;a href="http://openid.net/"&gt;OpenID&lt;/a&gt; has emerged as a standard way to assert identity, and &lt;a href="http://oauth.net/"&gt;oAuth&lt;/a&gt; a secure way to share personal data from one website to another. &lt;a href="http://www.google.com/friendconnect"&gt;Google Friend Connect&lt;/a&gt; and &lt;a href="http://developers.facebook.com/connect.php"&gt;Facebook Connect&lt;/a&gt; have emerged as identity hubs to enable users to share basic information.
 
&lt;p&gt;Despite these breakthroughs, the problems remain. In fact, Google Friend Connect and Facebook Connect raise the spectre of monolithic corporate control over people’s identities.
 
&lt;p&gt;Instead, I think much of identity should belong in the browser itself. After all, the technical term for a browser is “user agent”. It knows exactly which websites you are logging on to, and how. It should be able to negotiate account details and passwords on the user’s behalf.
 
&lt;p&gt;Here are some of the aspects of identity I think browsers should handle:
&lt;ul&gt;
    &lt;li&gt;Log on to websites automatically for you, managing passwords and automatically changing them regularly
    &lt;li&gt;Managing basic account data e.g. name, address, bank details, etc, and which websites have access to it
    &lt;li&gt;Presence &amp; syndicating it to websites chosen by the user
    &lt;li&gt;Incoming notifications &amp; managing who can trigger them
&lt;/ul&gt;
 
&lt;p&gt;Mozilla have recently &lt;a href="http://mozillalabs.com/blog/2009/05/identity-in-the-browser/"&gt;begun work&lt;/a&gt; on several of these areas. I think that’s a great move; as a non-profit dedicated to improving the web, they have the right attitude and trust. This could go in two directions; either corporate control over people’s identities, or enabling users to get better control themselves over their online identity. I sincerely hope it’s the latter!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-4984947200137590489?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/4984947200137590489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=4984947200137590489' title='17 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4984947200137590489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4984947200137590489'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2009/11/identity-and-browser.html' title='Identity and the browser'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-7108291288148877713</id><published>2009-11-14T16:47:00.003Z</published><updated>2009-11-14T17:49:22.323Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><title type='text'>Chrome OS and Android</title><content type='html'>&lt;p&gt;I was surprised when Android was announced, because it didn't seem to fit with Google's principles. Not only was it client software, not cloud software to which Google had previously confined themselves, but it also created a new platform, separate to the web. 

&lt;p&gt;Google's search and ads have tied its fortunes to the web, and their management knows it. They dominate their industry so much that the only way to increase their revenues is to get more people using the web all the time. To achieve this, they they need not only to innovate themselves with web apps such as Google Maps or Gmail, but to nurture an ecosystem of Silicon Valley startups to work on web applications rather than on any other platform. They do this using a combination of Google Ads (providing revenues to startups), funding browser developers such as Mozilla, web developer evangelisation (such as spreading the word about Ajax) and careful purchases of the best startups. 

&lt;p&gt;Since Android was announced, this focus on the web has increased. Recently Google announced it is &lt;a href="http://radar.oreilly.com/2009/05/google-bets-big-on-html-5.html"&gt;putting&lt;/a&gt; all its energies behind HTML5, to bring new capabilities to the platform such as video, geolocation and graphics. They have created a new browser, Chrome, and promoted it hugely on the Google homepage.

&lt;p&gt;So why on earth create a new mobile operating system? Now they have to build a new developer ecosystem using the Android Marketplace. These aren't web apps, therefore Google doesn't get the same search or ad revenue. And it takes the focus in Silicon Valley away from the web.

&lt;p&gt;Of course, there were good reasons for Android at the time - fixing the lack of good competition for Apple, persuading the network operators to invest in data networks, and attempting to fix the broken industry structure especially in the US. And Android is increasingly successful. But I still believe that it's the wrong solution for Google to the original problem.

&lt;p&gt;Now &lt;a href="http://en.wikipedia.org/wiki/Google_Chrome_OS"&gt;Chrome OS&lt;/a&gt; is about to be released. It's another client OS, but this time the operating system is simply a web browser. No distractions from the web, no separate platforms, but still a way to shakeup the computing industry in Google's favour.

&lt;p&gt;For once, I think Steve Ballmer was &lt;a href="http://seekingalpha.com/article/163898-microsoft-s-ballmer-chrome-and-safari-are-rounding-errors"&gt;correct&lt;/a&gt; about Chrome OS - "It’s incompatible with the one operating system they have shipped. To me, still, I don’t understand why they needed another one. They must have gotten the first one wrong."

&lt;p&gt;Despite it's current success, I think they did get Android wrong. There must be some huge arguments within Google about the correct model, but Chrome OS is the one that fits with the rest of the company. Time only will tell how the two operating systems sit together, but I wouldn't bet on Android surviving for longer than it takes to get Chrome OS powerful enough to drive a phone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-7108291288148877713?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/7108291288148877713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=7108291288148877713' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7108291288148877713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7108291288148877713'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2009/11/chrome-os-and-android.html' title='Chrome OS and Android'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-9138129870998135790</id><published>2009-03-14T19:48:00.002Z</published><updated>2009-03-14T19:50:29.584Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><category scheme='http://www.blogger.com/atom/ns#' term='browsers'/><title type='text'>Telephony and the web</title><content type='html'>&lt;p&gt;In the last few weeks, the web has finally started to encroach on the last holdout communications medium: the telephone. One day soon, most telephone calls will take place via Facebook, Twitter and Gmail, instead of your phone's inbuilt address book.

&lt;p&gt;Internet telephony has already been through one massive hype cycle without great results:
&lt;ul&gt;&lt;li&gt;Skype is only real global success with consumers. Not web-based. Proprietary.
&lt;li&gt;Back-end infrastructure has been converted to IP, especially for business use and internally in telcos. But from the consumer's perspective it's still a separate network.
&lt;li&gt;Endless Voice over IP start-ups have now failed. There was clearly a missing ingredient - they focused on back-end technology e.g. SIP, not the consumer side, and they couldn't take advantage of network effects. Also, what advantages did they provide from a consumer perspective except reduced cost?
&lt;/ul&gt;

&lt;p&gt;Most revealing for me is the phrase 'unified communications' in the telephony industry - it's been a mirage because they never unified with the web, surely the most important communications medium of all!

&lt;p&gt;A new wave of innovation has started in Silicon Valley and this time I think they're on the right lines. Recent news includes:
&lt;ul&gt;
&lt;li&gt;Native browser support for &lt;a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html"&gt;audio and video&lt;/a&gt;, in Safari 4.0, Firefox 3.5 and Chrome 2.0 is coming very soon. This enables browser-based conversations without plugins such as Flash.
&lt;li&gt;&lt;a href="http://phweet.com/"&gt;Phweet&lt;/a&gt; - integrates phone calls with Twitter
&lt;li&gt;&lt;a href="http://www.mikz.com/"&gt;Mikz&lt;/a&gt; - web-based access to your mobile phone call data
&lt;li&gt;&lt;a href="http://www.twilio.com/"&gt;Twilio&lt;/a&gt; - web platform for making &amp; receiving calls, suitable for integrating into websites.
&lt;li&gt;&lt;a href="https://www.google.com/voice/about"&gt;Google Voice&lt;/a&gt; - web-based call management tool, due to be integrated with Gmail
&lt;/ul&gt;

&lt;p&gt;You can see where this is going. The web is taking over most other communications mediums (TV, newspapers, letters, email) and telephony is up next. Telcos were never able to deliver the vision of a unified suite, centered on the address book, where customers could communicate with each other. It's now the turn of the web and its social networks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-9138129870998135790?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/9138129870998135790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=9138129870998135790' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/9138129870998135790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/9138129870998135790'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2009/03/telephony-and-web.html' title='Telephony and the web'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-3273335999368858335</id><published>2009-02-28T10:56:00.002Z</published><updated>2009-02-28T12:27:14.134Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='browsers'/><title type='text'>Browser competition</title><content type='html'>&lt;p&gt;Of all applications, the browser is now by far the most competitively fought over. Four major organisations are each spending around $50-100 million annually on a free product, with regular upgrades due in the next few months:
&lt;ul&gt;
&lt;li&gt;Microsoft: Internet Explorer 8 with a totally re-written browser engine
&lt;li&gt;Mozilla: Firefox 3.1 with fast performance and new functionality like native audio and video, plus the release of Firefox for Mobile.
&lt;li&gt;Apple: Safari 4 with new standards support such as a native database and fast performance
&lt;li&gt;Google: Chrome 2.0 with a streamlined interface and fast performance
&lt;/ul&gt;

&lt;p&gt;Somehow the browser market has avoided the featuritis that burdened office applications with endless menu options. In fact, browsers have got much simpler; three of the those above don't even have menus. Instead the focus has been on turning the browser into a great platform for developers: javascript performance may soon approach Java in speed, and support for new developer features such as advanced CSS styling and APIs such as geo-location enable new applications.

&lt;p&gt;Most of the browsers above are open source - the only exceptions are Internet Explorer and the user interface of Safari. Browser vendors have cooperated over the HTML5 and CSS3 standards. They also have common test suites and performance tests such as SunSpider. But they haven't cooperated as much as they could.

&lt;p&gt;For example, Firefox and Safari have produced competing web developer tools (starting with Firebug for Firefox, and Web Inspector for Safari). They are writing competing javascript engines and debuggers. 

&lt;p&gt;Perhaps a bit more cooperation would help them both move forward faster. Why not agree on a standard tool for developer help (perhaps based on Mozilla's documentation), or a standard text editor (based on Mozilla's Bespin)? Perhaps Google could take the lead with process separation, and Apple with profiling tools. None of this would prevent further competition in the main browser engine, but it would ensure rapid progression for everyone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-3273335999368858335?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/3273335999368858335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=3273335999368858335' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/3273335999368858335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/3273335999368858335'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2009/02/browser-competition.html' title='Browser competition'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-8642566941258779345</id><published>2009-02-15T23:36:00.000Z</published><updated>2009-02-15T23:37:36.375Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mozilla'/><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><title type='text'>Mozilla's web developer tools</title><content type='html'>&lt;p&gt;Mozilla are best known for their browser Firefox but they're creating a steady stream of great web development tools, the latest of which was unveiled last week. &lt;a id="plev" href="http://bespin.mozilla.com/" title="Bespin"&gt;Bespin&lt;/a&gt; is a new web-based extensible code editor with integrated command line. Although it's a very early version and lots of kinks remain (including too much inaccessible HTML5 Canvas usage), the team have already accomplished one of their first objectives, which is to prove how capable browsers now are. Could web development tools one day provide the second 'arm' of Mozilla?
&lt;p&gt;Other development tools managed by Mozilla include:
&lt;ul&gt;&lt;li&gt;&lt;a id="avjj" href="http://getfirebug.com/" title="Firebug"&gt;Firebug&lt;/a&gt;, for inspecting and editing CSS, javascript and HTML&lt;/li&gt;&lt;li&gt;&lt;a id="c7bd" href="http://www.bugzilla.org/" title="Bugzilla"&gt;Bugzilla&lt;/a&gt;, for release planning and maintaining issues lists&lt;/li&gt;&lt;li&gt;&lt;a id="s8vw" href="https://developer.mozilla.org/En" title="Mozilla Developer Center"&gt;Mozilla Developer Center&lt;/a&gt;, for documenting web standards such as HTML and the DOM&lt;/li&gt;&lt;li&gt;&lt;a id="c4bb" href="http://jquery.com/" title="jQuery"&gt;jQuery&lt;/a&gt;, a javascript library for cross-browser web development&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Tools for web development fit naturally into Mozilla's goals for extending the reach of the open web. In fact it seems strange that Mozilla don't have more competition in this area - there is a surprising lack of offerings from Yahoo, Microsoft, Amazon and even Google, especially considering how tools can be used to bind developers towards vendors.
&lt;p&gt;I hope that Mozilla's plans for Bespin are ambitious, because I see it as the centrepiece for all their development tools. Imagine if you while editing your code you could click once to find help in Mozilla Developer Center, again to visualise the results via Firebug, another time to track your bugs in Bugzilla and finally to resolve DOM issues using jQuery. In this way, Bespin can integrate all Mozilla's tools together.
&lt;p&gt;I would also add additional tools to the slate, all of which should integrate back with Bespin. For example:&lt;ul&gt;&lt;li&gt;Version Control System (e.g. hg, git) integration - create a fork or merge at the click of a hyperlink&lt;/li&gt;&lt;li&gt;Validation / Best Practices - automatically check all your code against standards or best practices such as &lt;a id="x5tt" href="http://jslint.com/" title="jslint"&gt;jslint&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Web design - online tool for visualising and editing site design&lt;/li&gt;&lt;li&gt;Security - automatic checks for common flaws such as XSS&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Such a suite would constitute a second 'arm' of Mozilla. It would perhaps also provide a second source of funding for the organisation, with the support of web companies that use the tools. It could certainly improve the productivity of hundreds of thousands of web developers, while spreading standards and best practices. It's a very ambitious goal, but Mozilla has already proven capable of delivering great tools like jQuery and Firebug that now dominate their markets.
&lt;p&gt;I believe it's time for Mozilla to take a step up and treat development tools as a priority alongside Firefox itself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-8642566941258779345?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/8642566941258779345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=8642566941258779345' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/8642566941258779345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/8642566941258779345'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2009/02/mozillas-web-developer-tools.html' title='Mozilla&apos;s web developer tools'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-7605302407675018621</id><published>2009-01-31T12:08:00.006Z</published><updated>2009-02-01T11:25:15.973Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><title type='text'>Dell and smartphones</title><content type='html'>The latest &lt;a href="http://news.cnet.com/8301-17938_105-10153106-1.html?tag=mncol;txt"&gt;rumours&lt;/a&gt; indicate that Dell are about to introduce a line of smartphones. Despite the incredible competition in this area, Dell's move makes great sense.

&lt;p&gt;That's because of the convergence of computing to common standards. Smartphones are now mini computers, capable of running the same platform as desktops. Vendors should gain economies of scale by copying Apple, who use Mac OS across its product portfolio, from the iPhone to the iMac.

&lt;p&gt;Dell has two choices for platform. It could choose the one it's worked on for the last twenty years - Windows. Or, as rumoured, it could choose Android.

&lt;p&gt;If Dell chooses Android, this would be a reflection of Microsoft's weakness in the mobile space. But it could also be a harbinger of more to come; why couldn't Dell also use Android for netbooks, even eventually PCs?

&lt;p&gt;I've already &lt;a href="http://chrisfjay.blogspot.com/2008/11/nokia.html"&gt;predicted&lt;/a&gt; further consolidation between the smartphone manufacturers and laptop manufacturers. Now the industries are converging, there are far too many companies around. Dell will struggle to achieve smartphone market share on its own before the market consolidates around it. If Dell is serious about becoming a major provider of smartphones, it should acquire to gain scale and expertise.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-7605302407675018621?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/7605302407675018621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=7605302407675018621' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7605302407675018621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7605302407675018621'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2009/01/dell-and-smartphones.html' title='Dell and smartphones'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-2421983120276149519</id><published>2009-01-29T22:24:00.004Z</published><updated>2009-01-29T22:49:51.496Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><title type='text'>Firefox 3.2</title><content type='html'>Well, I know that &lt;a href="https://wiki.mozilla.org/Firefox3.1"&gt;Firefox 3.1&lt;/a&gt; is still a month or two from shipping, but I've already got a wishlist for the next version.

&lt;p&gt;Since last summer, Mozilla has been on a hiring spree and momentum has really picked up. So I've been ambitious and included some big improvements.

&lt;p&gt;Firstly, user interface enhancements:
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://labs.mozilla.com/2008/08/new-tab-concepts/"&gt;Speed dial&lt;/a&gt; for the new tab page. 
&lt;li&gt;Cleaning up history and bookmarks. There's the history sidebar, the bookmarks sidebar, the history menu, the bookmarks menu, the bookmarks toolbar, and places. And none of it integrates with Delicious or Digg.
&lt;li&gt;Get rid of the "file / edit / view ..." menu. Chrome did it, IE7 did it, surely Firefox can do it too.
&lt;/ul&gt;

Second, additional standards support:
&lt;ul&gt;
&lt;li&gt;Support for OS-provided codecs in HTML5 video and audio (e.g. &lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=435298"&gt;Quicktime&lt;/a&gt;, &lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=435339"&gt;DirectShow&lt;/a&gt;) A great way to bring video closer to the web.
&lt;li&gt;HTML5 &lt;a href="http://webkit.org/blog/126/webkit-does-html5-client-side-database-storage/"&gt;client database&lt;/a&gt; support. Another great tool for web application developers.
&lt;li&gt;Browser access to &lt;a href="http://blog.mozilla.com/blassey/2008/09/23/camera-input-tag/"&gt;webcams and microphones.&lt;/a&gt; Extending the web to sensors.
&lt;li&gt;CSS &lt;a href="http://webkit.org/specs/CSSVisualEffects/CSSTransitions.html"&gt;transitions&lt;/a&gt; and &lt;a href="http://webkit.org/specs/CSSVisualEffects/CSSAnimation.html"&gt;animations&lt;/a&gt;.
&lt;li&gt;SVG Fonts, plus SVG via img tags and CSS
&lt;li&gt;Further support for the developing &lt;a href="https://mail.mozilla.org/pipermail/es-discuss/2008-August/003400.html"&gt;ECMAscript 3.1&lt;/a&gt; standard, a.k.a. Javascript Harmony.
&lt;/ul&gt;

Finally, improvements to the browser:
&lt;ul&gt;
&lt;li&gt;DOM &amp; regexp speed improvements. Further extending the new-found speed of javascript.
&lt;li&gt;Native support for &lt;a href="http://labs.mozilla.com/projects/weave/"&gt;Weave&lt;/a&gt;, allowing us to share our history and preferences between computers and trusted websites.
&lt;li&gt;Native &lt;a href="http://radar.oreilly.com/2008/12/getting-openid-into-the-browse.html"&gt;support for OpenID&lt;/a&gt;. What a great way to improve and simplify everyone's online lives.
&lt;li&gt;Process separation between tabs. Chrome and IE have reaped the benefits, including speed and security.
&lt;/ul&gt;

&lt;p&gt;I told you it was ambitious!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-2421983120276149519?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/2421983120276149519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=2421983120276149519' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2421983120276149519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2421983120276149519'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2009/01/firefox-32.html' title='Firefox 3.2'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-550179441467797386</id><published>2009-01-13T19:55:00.010Z</published><updated>2009-01-14T23:24:04.477Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mozilla'/><title type='text'>Announcing about:history</title><content type='html'>Recently I've become convinced that desktop browser interfaces are too complex. Menus, options, tabs and sidebars are a legacy of browser wars, with each side adding many new features; it's also a reminder of how recently we've really started to understand the web. Now, with smartphones with tiny screens and fiddly keyboards finally gaining proper internet access, simplicity is even more important.

&lt;p&gt;So I've developed a Firefox extension to remedy the situation - about:history &lt;a href="http://feedsoft.co.uk/about-history/about-history-1.1.xpi"&gt;(download).&lt;/a&gt; 

&lt;p&gt;It's the first of a series of extensions to fit a new set of principles I've come to believe in:

&lt;p&gt;&lt;ul&gt;
&lt;li&gt;
    &lt;h4&gt;Shrink the chrome&lt;/h4&gt;
    &lt;p&gt;The browser chrome - the menus, options, address bar and buttons around the actual content - should be as small as possible. After all, what users really want to see is their webpage.
&lt;li&gt;
    &lt;h4&gt;The browser as a website&lt;/h4&gt;
    &lt;p&gt;People are used to navigating websites. Clunky browser dialog boxes, sidebars and menus just don't work in the same way. We should replace all of them with webpages. For example, there shouldn't be a history sidebar - instead, there should be a history webpage that opens in a new tab, with a URI, built from HTML, CSS and javascript, and following normal web interfaces like Google search. In this view, the browser chrome is a website.
&lt;/ul&gt;

&lt;p&gt;So, about:history replaces the current history sidebar in Firefox with a browser tab that works similar to a web search engine:
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_EaGnX1wOVNQ/SW5wM4C6fCI/AAAAAAAAEQM/x23C0wTNH3k/s1600-h/about-history-main.jpg"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 282px;" src="http://2.bp.blogspot.com/_EaGnX1wOVNQ/SW5wM4C6fCI/AAAAAAAAEQM/x23C0wTNH3k/s320/about-history-main.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5291289978712259618" /&gt;&lt;/a&gt;

&lt;p&gt;It's actually quite similar to Google Chrome's history page, with a few important differences. Most notably, it's got a URI (about:history). If the web has taught us anything, it should be the power of the URI. Also, of course, it enables you to selectively delete pages from your browser history.

&lt;p&gt;There's an advanced search option too - see the screenshot: 
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_EaGnX1wOVNQ/SW5xKByyb_I/AAAAAAAAEQU/fZ46nFlg-g4/s1600-h/about-history-advanced.jpg"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 282px;" src="http://3.bp.blogspot.com/_EaGnX1wOVNQ/SW5xKByyb_I/AAAAAAAAEQU/fZ46nFlg-g4/s320/about-history-advanced.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5291291029300998130" /&gt;&lt;/a&gt;

&lt;p&gt;All you need to do to open up this page is click on the history link on the bookmarks bar, or press Ctrl-H. Of course, since there is a URI, other sites can also link back to it.

&lt;p&gt;Personally I think this interface is much better. It doesn't introduce any new visual features like the sidebar - instead, it works just like a normal page. It follows normal visual metaphors like web search pages. It's linkable, clickable, you can put it in your favourites or view the source or screenscrape it. And it doesn't require any space in the chrome!

&lt;p&gt;Let me know what you think. If all goes well, I'm going to apply the same principles to other parts of the browser, all in the aim of reducing clutter.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-550179441467797386?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/550179441467797386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=550179441467797386' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/550179441467797386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/550179441467797386'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2009/01/announcing-abouthistory.html' title='Announcing about:history'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_EaGnX1wOVNQ/SW5wM4C6fCI/AAAAAAAAEQM/x23C0wTNH3k/s72-c/about-history-main.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-4891420577438952839</id><published>2009-01-13T19:51:00.000Z</published><updated>2009-01-13T19:52:20.441Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><title type='text'>Unexpected convergence: smartphones and TVs</title><content type='html'>&lt;a href="www.cesweb.org/ "&gt;CES&lt;/a&gt; this year was fascinating. The &lt;a href="http://www.palm.com/us/products/phones/pre/index.html"&gt;Palm Pre&lt;/a&gt; is the perfect example of where I see consumer devices heading. The whole phone is basically a browser; it's built using web standards (HTML, CSS and javascript) from top to bottom. As &lt;a href="http://www.tbray.org/ongoing/When/200x/2009/01/12/Golden-Age-of-Cellphones"&gt;Tim Bray states&lt;/a&gt;, "Speaking personally, as a person who'd never thought I needed the Internet in my pocket, I find myself using my G1 to approve comments and check the weather and fetch maps and so on &lt;i&gt;all the time&lt;/i&gt;." To create the Pre, Palm (like Apple and Google), has focused on creating a browser for small screens. They've had to get rid of all the menus, options and buttons that desktop browsers are infested with, while also removing much of the need for fiddly keyboard entry.

&lt;p&gt;Which brings me to the &lt;a href="http://www.nytimes.com/2009/01/12/technology/personaltech/12cesexec.html?_r=2&amp;partner=rss&amp;emc=rss"&gt;following quote&lt;/a&gt; last week from the CEO of Netflix, commenting on &lt;a href="http://www.readwriteweb.com/archives/the_rebirth_of_web_tv.php"&gt;new internet-enabled TVs&lt;/a&gt;: "Think of Internet on the TV like the Web browser. One view is that the Web, a browser like Firefox, Chrome or I.E., will be right on the television in the next couple years. Another view is, no, a PC-based Web is just too complex. The second one is the phase that we're in now."

&lt;p&gt;I agree that the PC-based browser is just too complex to use while standing metres away with a remote control. But the smartphone-based browser might work perfectly on your TV!

&lt;p&gt;After all, stripping out the menus, options, buttons and keyboard navigation is the first step to getting a working browser on the TV, too. And though you can't touch your TV from the sofa, you can imagine using a control like the Wii to navigate a pointer round the screen in much the same way. Download the &lt;a href="http://en.wikipedia.org/wiki/Internet_Channel"&gt;Wii Opera browser&lt;/a&gt; to see what I mean. Or just imagine the Palm Pre interface on your TV!

&lt;p&gt;It seems odd that smartphones and 50" TVs could share the same interface. But that's the lesson of this year's CES for me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-4891420577438952839?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/4891420577438952839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=4891420577438952839' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4891420577438952839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4891420577438952839'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2009/01/unexpected-convergence-smartphones-and.html' title='Unexpected convergence: smartphones and TVs'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-1645995773508224052</id><published>2008-12-10T22:27:00.002Z</published><updated>2008-12-10T22:30:09.310Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mozilla'/><title type='text'>Mozilla futures</title><content type='html'>&lt;p&gt;A great quote recently from Tristan Nitot, head of Mozilla Europe:

&lt;blockquote&gt;
For years, the Mozilla goal was simple:

       &lt;div align="center"&gt;promote choice and innovation on the Internet&lt;/div&gt;

and the biggest lever we had to achieve this was Firefox. In 2003, there was a monopoly (which leads to lack of choice) and total lack of innovation (why would Microsoft invest in something that did not generate revenue and could threaten its business?). Making a modern, safer, easier to use, cross-platform and extensible browser made sense.

&lt;p&gt;Fast forward 5 years or so. We're in a totally different place. The browser market is in much better shape than before. 2009 seems very promising with Safari 4, Chrome 1.0, IE8 and Firefox 3.1. There is absolutely no doubt that keeping on improving Firefox is the right thing to do, but in this new era, the old Mozilla goal sounds less relevant.
&lt;/blockquote&gt;

&lt;p&gt;Tristan is right. Against all odds, Firefox has achieved their initial goal. Congratulations!

&lt;p&gt;So, what's next for Mozilla and Firefox? Well, I believe they have to extend the web itself:
&lt;ul&gt;
&lt;li&gt;Mobile: Create a full-power browser for mobile phones, even better than Apple's iPhone browser
&lt;li&gt;Sensors: Enable the browser to allow websites control over device hardware such as cameras, microphones, accelerometers, etc.
&lt;li&gt;Graphics: Enhance the browser to give it native control over video, vector graphics, plus 2D and 3D rendering.
&lt;li&gt;Security: Work to eliminate security issues from the web
&lt;li&gt;Performance: Make javascript as fast as C. Use hardware acceleration to speed up graphics until canvas is fast enough to enable modern video games. Take advantage of multi-core machines.
&lt;li&gt;Process: Mozilla has proved that a radically open development model works. All their development software, bugs, internal issues, team meeting notes and working designs are on the web for everyone to see and discuss publicly. That includes working very closely with standards bodies so the web doesn't dissolve into rival models. Their challenge is to ensure this approach beats the closed proprietary model. That means they need more market share!
&lt;/ul&gt;

&lt;p&gt;Perhaps the last point is the most important ... Mozilla have set an example to us all by building a huge community for good around the world. Their task will be to expand it further and use it to influence the development of the web.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-1645995773508224052?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/1645995773508224052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=1645995773508224052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1645995773508224052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1645995773508224052'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/12/mozilla-futures.html' title='Mozilla futures'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-5791599908299683343</id><published>2008-11-26T21:43:00.004Z</published><updated>2008-11-26T23:46:56.661Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><title type='text'>Nokia</title><content type='html'>Nokia is at a turning point. Long the dominant supplier of mobile phones worldwide, it faces new deep-pocketed competitors in Google &amp; Apple, plus structural changes in the industry. Nokia is losing market share and needs a clear strategy.

&lt;p&gt;The mobile phone industry has matured rapidly. Until very recently, companies competed by offering features - a better camera phone, more storage for music, a more colourful screen. The big manufacturers created vast portfolios of phones tailored to different market segments and geographies - camera phones, music phones, children's phones, smartphones, and economy phones.

&lt;p&gt;Smartphones have now converged on a standard set of these features. The next battlefield is the software platform that ties it all together. Apple and Google have turned their phones into general purpose digital devices - in other words, personal computers. They are competing by attracting third party application developers to take advantage of the computing power in their phones. The Apple store, for example, is one of the key selling points behind the iPhone, with more than 5,000 applications already created.

&lt;p&gt;To attract this kind of ecosystem, you need to develop a strong platform. Apple have done this by porting Mac OS to the phone. Google have developed Android. Various other vendors have combined forces to develop LiMo, using Linux. Unfortunately for Nokia, their operating system Symbian is not popular and needs significant investment. Nokia have taken control and will open source the OS. But by the time it's complete, it may be too late.

&lt;p&gt;Nokia have pushed into software and services. "Comes with Music" is an innovative attempt to establish a new business model for digital music, but it's losing money. The purchase of Navteq enabled Nokia to move into location-based services. Neither has yet attracted much interest by the consumer. This is an uphill battle.

&lt;h4&gt;A new approach&lt;/h4&gt;
Nokia is still a profitable company, and it still has marketshare dominance. It just needs to follow the principles below:

&lt;dl&gt;
&lt;dt&gt;Device Convergence&lt;/dt&gt;
&lt;dd&gt;Now the platform is all-important, simplify the device portfolio. Nokia should be offering no more then 3-5 phones in each country, each based off the same platform. After all, Apple have only got one phone, but they're still the second biggest smartphone manufacturer in the world! 
&lt;p&gt;Also, now phones are becoming general purpose computers, why not merge with a PC company such as Acer or Dell? The platform should work across all shapes and sizes, perhaps extending upwards from mobile through the Netbook format.&lt;/dd&gt;
&lt;dt&gt;The web is your platform&lt;/dt&gt;
&lt;dd&gt;Fighting against Windows, Mac OS &lt;i&gt;and&lt;/i&gt; Linux is a fool's game. Instead, Nokia should align themselves to the biggest platform of all ... the web. Nokia should become a platinum sponsor of Firefox, who are writing an amazing-looking mobile browser, and make it the whole front end to their phones. Creating code for a Nokia phone would then be easy - any web designer could do it. 
&lt;p&gt;Nokia could create Firefox extensions to give the browser power over local features such as the microphone, camera and accelerometer. Nokia would instantly have the biggest group of developers and the most third-party innovation of any mobile platform, and they would have the future on their side.&lt;/dd&gt;
&lt;dt&gt;Partner with Silicon Valley&lt;/dt&gt;
&lt;dd&gt;The hotbed of software innovation is Silicon Valley. Writing applications is a totally different business to selling hardware, and Nokia is going to struggle with its services strategy. Nokia should partner, not compete, with Silicon Valley. Why create your own email application if you can just recommend GMail? Why create your own photo application if you can just recommend Flickr? Why not partner with Facebook and Twitter to provide the next level of communications? 
&lt;p&gt;Remember, the web is your platform, not the operating system. So please, no more do-it-yourself services after music and maps.&lt;/dd&gt;
&lt;/dl&gt;

&lt;p&gt;Each of these principles could be easily achieved in a year or so. But they would establish Nokia on the right side of the changes taking place in the mobile industry.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-5791599908299683343?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/5791599908299683343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=5791599908299683343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5791599908299683343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5791599908299683343'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/11/nokia.html' title='Nokia'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-4275557425270895633</id><published>2008-11-08T10:56:00.001Z</published><updated>2008-11-08T10:58:29.240Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='sensors'/><title type='text'>Web sensors</title><content type='html'>One of the big topics nowadays in client computing is sensors - from touch screens to GPS devices, webcams, microphones, proximity sensors, accelerometers, temperature sensors, etc. Now they are coming to the browser, which could radically change the web.

&lt;p&gt;Sensors provide information about the environment around the computer, and can make the user experience more natural (e.g. "pinching" a touch screen) or open up new features such as GPS navigation.

&lt;p&gt;Recently &lt;a href="http://blogs.zdnet.com/microsoft/?p=1447"&gt;Microsoft&lt;/a&gt;, &lt;a href="http://code.google.com/p/gears/wiki/CameraAPI"&gt;Google&lt;/a&gt; and of course &lt;a href="http://support.apple.com/kb/HT1636"&gt;Apple&lt;/a&gt; have improved their core support for sensors.

&lt;p&gt;But consider the progress made recently by browsers:
&lt;ul&gt;
&lt;li&gt;Apple create a &lt;a href="http://www.apple.com/iphone/features/safari.html"&gt;multi-touch browser&lt;/a&gt;. Touch events can be handled by Safari automatically or &lt;a href="http://www.sitepen.com/blog/2008/07/10/touching-and-gesturing-on-the-iphone/"&gt;handled&lt;/a&gt; by the web developer. &lt;a href="http://wiki.mozilla.org/Mobile"&gt;Firefox&lt;/a&gt; is not far behind.
&lt;li&gt;A new W3C &lt;a href="http://dev.w3.org/geo/api/spec-source.html"&gt;standard for geolocation&lt;/a&gt; with initial support by Apple Safari, Google Gears and Mozilla Firefox.
&lt;li&gt;&lt;a href="http://blog.mozilla.com/blassey/2008/09/23/camera-input-tag/"&gt;Firefox&lt;/a&gt; and &lt;a href="http://code.google.com/p/gears/wiki/CameraAPI"&gt;Google&lt;/a&gt; start work on camera and microphone support inside the browser.
&lt;/ul&gt;

&lt;p&gt;Even without an overarching &lt;a href="http://chrisfjay.blogspot.com/2007/05/sensors.html"&gt;sensor framework&lt;/a&gt;, support for geolocation, audio and video should have an incredible effect on the web:
&lt;ul&gt;
&lt;li&gt;Accessibility: dictate your search to Google, via a microphone
&lt;li&gt;Games: Play human pacman by watching on a map where your friends are in the city
&lt;li&gt;Communication: Make phone calls using your browser
&lt;li&gt;Market share: yet more reasons to use the web stack, rather than a client stack
&lt;li&gt;Security: We'll need strong security to prevent people from hacking in to your microphone
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-4275557425270895633?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/4275557425270895633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=4275557425270895633' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4275557425270895633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4275557425270895633'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/11/web-sensors.html' title='Web sensors'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-9204702978577522373</id><published>2008-10-30T12:51:00.004Z</published><updated>2008-11-08T11:44:47.943Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><title type='text'>Web services</title><content type='html'>Tim O'Reilly has written another great &lt;a href="http://radar.oreilly.com/2008/10/web-20-and-cloud-computing.html"&gt;essay&lt;/a&gt; explaining the three types of cloud computing: Utility Computing, Platform as a Service, and cloud-based end-user applications. 

&lt;p&gt;For now let's focus on just one consequence: "Web Services" finally get real. Let's go through the various services that are already emerging. Remember, these are not only services for consumers, but also a platform for developers.

&lt;p&gt;Most obviously, identity. This includes authorisation, authentication, presence, and basic user data e.g. email address. OpenID and OAuth are the emerging standards in this space, with support already from Google, MySpace, Microsoft, and Yahoo. 

&lt;p&gt;Secondly, social networking basics : Friends &amp; the Activity Stream. OpenSocial is the emerging standard here. 

&lt;p&gt;Third, basic content: Images, Videos, Audio, Blogs. The emerging standard here is Atom. However services will likely get enhancements; for example, the ability to manipulate the underlying files e.g. removing red-eye on photos or enhancing audio treble.

&lt;p&gt;Fourth, various additional services:
&lt;ul&gt;
&lt;li&gt;Location-based services e.g. Maps / GPS
&lt;li&gt;Time-based services e.g. calendars / tasklists / clocks
&lt;li&gt;Messaging (email, instant messaging, phone)
&lt;li&gt;Financial services (payments, credit checking, etc)
&lt;/ul&gt;

&lt;p&gt;Finally, professional content:
&lt;ul&gt;
&lt;li&gt;News
&lt;li&gt;Sport
&lt;li&gt;Financial
&lt;/ul&gt;

&lt;p&gt;All of these services already exist on the web, but they are in silos and can't easily be accessed by developers. Finally now, web application providers are rushing to become platforms for developers, opening up their data using standard patterns like REST and OAuth.

&lt;p&gt;For example, Paypal could offer to track your payments in Google Calendar. Or you could ask the BBC to enter any news items within 20 miles of your house into your Myspace Activity stream. Or you could put your phonecall history there. Or your project management system at work could put events into your personal calendar or task list.

&lt;p&gt;From the consumer perspective, the web will become a lot more connected and personalised. From the developer perspective, there will be a huge number of web services making user data available securely (photos, videos, friend list). Writing a web application will involve plugging in to these standard services. Finally, the vision of web services will become real.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-9204702978577522373?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/9204702978577522373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=9204702978577522373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/9204702978577522373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/9204702978577522373'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/10/web-services.html' title='Web services'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-6315463080485565274</id><published>2008-10-30T11:58:00.004Z</published><updated>2008-10-30T12:49:29.148Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><category scheme='http://www.blogger.com/atom/ns#' term='content management'/><title type='text'>Web Office suites are a dead end</title><content type='html'>So, Microsoft have &lt;a href="http://www.microsoft.com/Presspass/Features/2008/oct08/10-28PDCOffice.mspx"&gt;finally confirmed&lt;/a&gt; that a web-based version of Office is due soon.

&lt;p&gt;That's good news. It means that Microsoft are responding to competition from Google and Zoho; hopefully in turn Google and Zoho will improve their products, which can only benefit the end consumer. It also means that the web has finally broached the biggest consumer software market in the world, the office suite. Web 2.0 has won!

&lt;p&gt;However, while Web 2.0 might have won, I don't think the office suite will survive much longer. Microsoft, Google and Zoho may have faithfully reproduced the troika (word processor, spreadsheet, presentation) on the web, but its time has passed. 

&lt;p&gt;We've been stuck with these three applications for so long that it's difficult to see past them. But they've only survived due to network effects: everyone has them, because everyone else has them. It's time to re-examine their purpose.

&lt;p&gt;First, the rise of the long tail. Because the browser is a general purpose platform, all sorts of special-purpose applications can be used instead of an office suite. Why use Microsoft Word to manage your CV, if you can use jobsite.co.uk instead, which gives you CV advice and links you to employers? Why use Excel to manage your personal finances, if you can use Mint.com, which automatically downloads, categorises and charts your bank accounts for you? Why use Powerpoint to explain your business, if you have a business website that does the same and is accessible to millions?

&lt;p&gt;Second, the rise of the widget. Ever seen a video embedded in a spreadsheet, or an interactive calendar embedded in a presentation? I thought not! But because the browser is a general purpose platform, it's possible on the web. Many widgets like these that defy categorisation will spring up. Is it really a spreadsheet if you use it to post photos? Is it really a word processor if there is a table with formulas embedded? The spreadsheet, word processor and presentation will merge together into a single platform with many different widgets.

&lt;p&gt;Finally, of course, the rise of collaboration. To an elder generation, something you did with the Nazis. To the younger generation, the whole point of content. If you can't see your friends, and make your content available to them, then they won't want it. That applies at work even more than outside work. The web office will be embedded inside a social network. It'll look more like Facebook than Powerpoint. 

&lt;p&gt;Microsoft's screenshots of the web version of Office look like they've faithfully reproduced Office in the browser. I think this approach will lead to a dead end. The all-powerful office suite is fading fast, and even the web can't save it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-6315463080485565274?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/6315463080485565274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=6315463080485565274' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/6315463080485565274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/6315463080485565274'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/10/web-office-suites.html' title='Web Office suites are a dead end'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-2343010116017933161</id><published>2008-10-30T11:25:00.004Z</published><updated>2008-10-30T11:56:12.367Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='content management'/><title type='text'>Separating code from content and presentation</title><content type='html'>Most web designers nowadays know that content and presentation should be separated. There are still a few examples of HTML &amp;lt;table&amp;gt; and &amp;lt;br&amp;gt; elements used for layout, instead of CSS, but this is diminishing.

&lt;p&gt;The same can't be said of separating code (i.e. javascript) and presentation. I still see lots of examples of layout being set via javascript. It's even built into most javascript frameworks - for example, jQuery has a set of css methods to allow the likes of $('#div1').css("color: red").

&lt;/p&gt;&lt;p&gt;That's just wrong. You can't hope to maintain your website's style if you set CSS via javascript - it's difficult enough organising CSS files without having to wade through javascript as well to figure out why a certain style is set. Re-designing your site will require you to change all your code too!

&lt;/p&gt;&lt;p&gt;The best solution is to remove all javascript and simply use CSS, with pseudo-classes like :hover and :active to get more control.  However, if you're responding to a more complicated event, then you should use classes. Just do $('#div1').addClass('highlighted') instead. You can maintain the actual style in your CSS file, in this case div.highlighted {color: red}.

&lt;/p&gt;&lt;p&gt;Similarly, I always try to remove all HTML from my code. It's very easy to get caught up creating and inserting whole DOM trees via javascript alone. But this is inaccessible to search engines, and creates content management nightmares. Now you have to search all your javascript to find where the image came from, as well as the HTML files!

&lt;/p&gt;&lt;p&gt;The best solution to this is to remove all javascript and simply use HTML and CSS. However, if you're responding to a more complicated event, then you should have the additional markup already present in the HTML file, perhaps hidden using CSS display:none. You can simply turn it on in your code, without having to create it.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-2343010116017933161?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/2343010116017933161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=2343010116017933161' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2343010116017933161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2343010116017933161'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/10/separating-code-from-content-and.html' title='Separating code from content and presentation'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-312554965608776499</id><published>2008-04-23T20:48:00.001Z</published><updated>2008-04-23T20:48:31.685Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Atom'/><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><category scheme='http://www.blogger.com/atom/ns#' term='content management'/><title type='text'>Microsoft Mesh</title><content type='html'>&lt;p&gt;Details of &lt;a href="http://www.mesh.com"&gt;Microsoft Mesh&lt;/a&gt; are finally emerging through the fog of Microsoft's PR department, and I think it's going to be absolutely massive. They've found a way to extend their C: drive monopoly to the web.

&lt;p&gt;Basically, Mesh will turn your PC into an &lt;a href="http://www.xml.com/pub/a/2005/09/21/atom-store-web-database.html"&gt;Atom Store&lt;/a&gt;, publishing your C: drive to the internet as a set of feeds. You can publish any local Word Documents, images, videos, or even folders.

&lt;p&gt;What's more, your C: drive will obey the Atom Publishing Protocol, meaning other services will be able to post, edit or delete local files. This will be used to synchronise your local content with an online space, presumably a version of Sharepoint with developer APIs. Of course, this will turn every PC into a web server - I suspect the only connections allowed will be to Microsoft's servers.

&lt;p&gt;This is exactly the kind of service I had in mind &lt;a href="http://chrisfjay.blogspot.com/2007/01/connecting-digital-devices.html"&gt;here&lt;/a&gt;!

&lt;p&gt;Microsoft have finally found a way to extend their dominance of the PC to the web - via the C: drive. Now, your pictures in "My Pictures" will be automatically synched with Microsoft Live Photos whenever you turn your PC on. Why would you ever then manually upload them to Flickr? And your Office documents will be automatically synched with a personal Sharepoint that presumably enables document sharing. What's the point now of Google Apps?

&lt;p&gt;Mesh finally makes the slogan "software &lt;i&gt;plus&lt;/i&gt; services" meaningful. And they do it by using web standards - HTTP, ATOM and URLs. However, the remaining web standards - HTML, CSS and Javascript - are still being avoided on the client, in favour of binary files like Office documents. That will make it difficult to synch HTML documents created on the web (e.g. lists, and tables) back to the client.

&lt;p&gt;This is definitely a half-way house. The only reason synchronisation is such an issue is that we're still storing data locally on clients, rather than in the cloud. But 50% web technology is much better than 0%, which is what Microsoft provide at the moment. Mesh will protect their Office monopoly for a few more years, but it will still surely crumble eventually in the face of HTML5 and CSS3. Microsoft are betting that Mesh will carry them over until they develop more competitive web applications.

&lt;p&gt;Of course, if you have an Apple iPhone or Mac, or indeed use Linux, you will not synch with Microsoft. You will also have no need to synch with Microsoft if you already rely on full web technology, such as Google Apps. But if they can execute, Microsoft will once more be a force in Silicon Valley.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-312554965608776499?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/312554965608776499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=312554965608776499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/312554965608776499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/312554965608776499'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/04/microsoft-mesh.html' title='Microsoft Mesh'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-6596152550632286776</id><published>2008-04-06T10:31:00.009Z</published><updated>2008-04-07T22:51:27.488Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><title type='text'>Language services on the web</title><content type='html'>&lt;p&gt;Applications like Microsoft Word have embedded spelling and grammar checks for years. So Google's recent release of a web-based &lt;a href="http://code.google.com/apis/ajaxlanguage/"&gt;API for language translation&lt;/a&gt; made me think - just how far could these automated services go?

&lt;p&gt;There are huge benefits to hosting language services on the web, rather than installing them locally on each PC. The clearest is the availability of enormous data sets. For example, it turns out that Google's spell check service is &lt;a href="http://www.googleguide.com/spelling_corrections.html"&gt;totally automated&lt;/a&gt; - there is no manually maintained database of words, it simply searches the web for common character sequences. The top 10,000 sequences must surely be correctly spelt words!

&lt;p&gt;The same brute force data attacks could surely also provide a grammar check service. For automatic translation, you just need to analyse enough Rosetta Stones, where the same text is written in multiple languages. And Google has been operating a free telephone 411 service in the US, supposedly so that it &lt;a href="http://radar.oreilly.com/archives/2007/04/why-google-is-offering-411-ser.html"&gt;can gather enough data&lt;/a&gt; (through recording people's voices) to eventually deliver good speech recognition.

&lt;p&gt;It's also important whether a service is descriptive (merely the result of viewing how language is used) or prescriptive (defining rules for people to follow). The writers of the Oxford English Dictionary &lt;a href="http://www.oed.com/about/writing/"&gt;claim&lt;/a&gt; their work reflects the usage patterns of different words; entries in the dictionary are not meant as prescriptive rules, though it clearly helps if you want to be understood! This is important because a descriptive service could in theory be automated simply by analysing literary data, whereas descriptive services can't.

&lt;p&gt;Finally, services that require a semantic understanding of language are clearly some way off.

&lt;table&gt;
&lt;tr&gt;&lt;th&gt;Service&lt;/th&gt;&lt;th&gt;Authority&lt;/th&gt;&lt;th&gt;Enough Data&lt;/th&gt;&lt;th&gt;Semantics&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Spelling&lt;/td&gt;&lt;td&gt;Descriptive&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Grammar&lt;/td&gt;&lt;td&gt;Descriptive&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Speech recognition&lt;/td&gt;&lt;td&gt;Descriptive&lt;/td&gt;&lt;td&gt;Not yet&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Thesaurus&lt;/td&gt;&lt;td&gt;Descriptive&lt;/td&gt;&lt;td&gt;Not yet&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Translation&lt;/td&gt;&lt;td&gt;Descriptive&lt;/td&gt;&lt;td&gt;Not yet&lt;/td&gt;&lt;td&gt;Maybe&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Dictionary&lt;/td&gt;&lt;td&gt;Descriptive&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Encyclopedia&lt;/td&gt;&lt;td&gt;Prescriptive&lt;/td&gt;&lt;td&gt;Not yet&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;This table is saying that pretty much every service could be generated automatically simply by analysing huge amounts of data, without the need for understanding. The only exceptions are translations, dictionaries, and encyclopaedias - and for translations, as Google has proved, you can still get a useful part of the way there.

&lt;p&gt;The main takeaway is that there's one massively important side benefit of search engines that has yet to be fully appreciated; they revolutionise linguistics. In fact, they turn it from a mainly qualitative area into a quantitative science.

&lt;p&gt;We now have the tools to analyse language variations as they spread through time and geography, or to discover the common elements in every language, or to watch how language style depends on context, using as a data set the entire internet! 

&lt;p&gt;If there's one thing that makes us human, it's language. Computers will help us to understand ourselves!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-6596152550632286776?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/6596152550632286776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=6596152550632286776' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/6596152550632286776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/6596152550632286776'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/04/language-services-on-web.html' title='Language services on the web'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-2457735052839167642</id><published>2008-04-05T11:37:00.005Z</published><updated>2008-04-21T21:54:10.722Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='animation'/><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>On Apple's CSS animation proposal</title><content type='html'>&lt;p&gt;Apple recently published new proposals for CSS &lt;a title="transitions" href="http://webkit.org/specs/CSSVisualEffects/CSSTransitions.html" id="c_e-"&gt;transitions&lt;/a&gt; and &lt;a title="animations" href="http://webkit.org/specs/CSSVisualEffects/CSSAnimation.html" id="fe:k"&gt;animations&lt;/a&gt;. Having &lt;a title="spent some time" href="http://chrisfjay.blogspot.com/2007/02/my-proposal-functional-animation.html" id="nqip"&gt;spent some time&lt;/a&gt; reviewing approaches to animation on the web, I conclude that their animation proposal has serious shortcomings, and identify a better approach.
 
&lt;p&gt;Animation - controlling the evolution of styles like position, colour, size, fonts, and layout - has always been a crucial gap for the open web. That's why it's been a key selling point for plug-ins such as Flash, albeit in a proprietary way that doesn't integrate well with the rest of the page. Animation is a good thing and should be brought to the web asap.

&lt;p&gt;For more than ten years now, the W3C's answer to animation has been &lt;a id="tzlh" href="http://en.wikipedia.org/wiki/Synchronized_Multimedia_Integration_Language"&gt;SMIL&lt;/a&gt;. But SMIL has a fundamental problem - it can only animate XML. On the web, you don't want to animate &lt;span id="b.c:"&gt;&lt;i id="fa1x"&gt;content&lt;/i&gt;&lt;/span&gt; - you want to animate &lt;span id="xyuw"&gt;&lt;i id="q3bp"&gt;style&lt;/i&gt;&lt;/span&gt;. Style is not stored as XML, or even as markup - it's stored as CSS. Finally, Apple has &lt;a id="z03t" href="http://www.w3.org/blog/CSS/2008/04/04/resolutions_17"&gt;overcome &lt;/a&gt;the inertia with CSS animation. Now there is a chance to shape the way it works - hopefully this review will play a role!

&lt;P&gt;There are two fundamentally different ways to evolve style - transitions and animations. In &lt;span id="c9bv"&gt;&lt;i id="zjs_"&gt;transitions&lt;/i&gt;&lt;/span&gt;, you don't know in advance what the before and after styles are, you just want to control how quickly the transition takes place for each style property. For example, you could say that background-color always takes two seconds to change, rather than being instantaneous as normal. In &lt;span id="o_fv"&gt;&lt;i id="dhf2"&gt;animations&lt;/i&gt;&lt;/span&gt;, you control both the before and after styles, plus the path between them. 
&lt;h3 id="hh:0"&gt;Transitions&lt;/h3&gt;Apple's model for transitions is clear and straightforward - you simply apply a transition rule to the relevant CSS properties - for example, perhaps there is a delay of two seconds whenever the div's opacity changes:&lt;pre id="body"&gt;div {
   transition-property: opacity;
   transition-duration: 2s;
   transition-timing-function: linear;
}
&lt;/pre&gt;Transitions enable a huge number of simple effects, from context menus that slide out on mouse over to page sections that fade out when closed.

&lt;p&gt;I like this model because it's simple and orthogonal to all the other styles (you can't set the actual property values, only their timing), yet gives them even more power. Also, the new transition styles follow the proper cascading rules as they are applied through the DOM.
&lt;h4 id="eyd2"&gt;Apple's Animations
&lt;/h4&gt;Apple takes a very similar approach with animations. Using the same opacity example:
&lt;pre id="body"&gt;div {
   animation-name: div-opacity;
   animation-duration: 2s;
   animation-iteration-count: 1;
}

@keyframes 'div-opacity' {
  from {
    opacity: 0%;
    animation-timing-function: linear;
  }
  to {
    opacity: 100%;
  }
}
&lt;/pre&gt;Unlike transitions, animations set the exact values over time of the opacity style, using keyframes. This is where the problems arise.

&lt;p&gt;The first issue is orthogonality. Keyframes provide a new way to set the div's opacity, away from its normal position (under the div selector). This adds unnecessary confusion to parsing and understanding the CSS document - there are now two ways to set a style. It also requires several new CSSOM interfaces to control keyframes via script.

&lt;p&gt;As a result, keyframes have a much bigger issue - they don't cascade. Cascading is one of the most important characteristics of stylesheets - it's the C in CSS. Cascading sets a series of priorities for when to apply style rules, based on the DOM and where they are applied. Because keyframes are a totally separate part of CSS, cascading can't work its magic.

&lt;p&gt;For example, what happens if opacity was set in both the &lt;span id="tafx"&gt;&lt;i id="wt-l"&gt;div &lt;/i&gt;&lt;/span&gt;selector and the &lt;span id="gon1"&gt;&lt;i id="ut9e"&gt;keyframe&lt;/i&gt;&lt;/span&gt;? You could set an arbitrary rule to give one location priority, but it would be just that - arbitrary. And how does opacity apply to any elements inside the div? Apple have proposed that keyframes don't cascade. But this removes much of the power of CSS.
&lt;h4 id="g3vw"&gt;A better approach to animation
&lt;/h4&gt;There's a better approach to animation that respects both the orthogonality and cascading principles. I also think it's simpler - it certainly requires fewer lines of code. See an example below that does exactly the same as the animation example above:
&lt;pre id="body"&gt;div {
   opacity: calc(t / 2s * 100%);
}&lt;/pre&gt;There are two key elements to the solution: 
&lt;ul id="qu7:"&gt;&lt;li id="iroa"&gt;The CSS3 &lt;a title="calc" href="http://www.w3.org/TR/css3-values/#calc" id="c.q6"&gt;calc&lt;/a&gt; function, which enables simple mathematics like multiplication and division.&lt;/li&gt;&lt;li id="iroa"&gt;The new standard variable &lt;span id="uyo9" style="font-style: italic;"&gt;t&lt;/span&gt;, which measures elapsed time in seconds, starting at &lt;span id="k5sc" style="font-style: italic;"&gt;t=0&lt;/span&gt; when the style is first applied to the element
   &lt;/li&gt;&lt;/ul&gt;
In the example above, opacity would start at t=0 with a value of (0s / 2s) * 100%, which is 0%.  After exactly two seconds, opacity would have the value (2s / 2s) * 100%, which is 100%.
 
&lt;p&gt;Notice that since &lt;span id="l6s1" style="font-style: italic;"&gt;t&lt;/span&gt; is measured in seconds, we need to divide by a time unit (in this case 2s) in order to get the units right. I've also multiplied by 100% to return a percentage unit accepted by opacity.
 
&lt;p&gt;The benefits of this inline approach are that it maintains both orthogonality and cascading rules - in fact, animated styles cascade in exactly the same way as static ones. It's also easier (and much shorter) to read, and requires no additional CSSOM interfaces.
 
&lt;p&gt;To provide the complete picture you need additional animation functions, plus a few discretionary parameters. Following Apple's approach, I recommend the following:
&lt;ul id="qme3"&gt;&lt;li id="z.j0"&gt;animate-ease(time, iterationcount=1, direction=normal)&lt;/li&gt;&lt;li id="z.j0"&gt;animate-linear(time, iterationcount=1, direction=normal)&lt;/li&gt;&lt;li id="z.j0"&gt;animate-ease-in(time, iterationcount=1, direction=normal)&lt;/li&gt;&lt;li id="z.j0"&gt;animate-ease-out(time, iterationcount=1, direction=normal)&lt;/li&gt;&lt;li id="z.j0"&gt;animate-ease-in-out(time, iterationcount=1, direction=normal)&lt;/li&gt;&lt;/ul&gt;In addition, the following functions provide more control
&lt;ul id="y686"&gt;&lt;li id="q08-"&gt;animate-step(time) which is the step function, returning zero when time&lt;0s id="dh-l"&gt;&lt;/li&gt;&lt;li id="jm:-"&gt;animate-keyframes(time0 value0, time1 value1, time2 value2, ...), which returns a curve smoothly connecting the points via a bezier function.This negates the need for a separate cubic bezier function.  &lt;/li&gt;&lt;/ul&gt;
 For example, the following styles apply the same effect as above, but eased-in and stepped after 1s rather than linear:
 &lt;pre id="body"&gt;div.ease-in {
   opacity: calc(animate-ease(t / 2s) * 100%);
}
div.step {
   opacity: calc(animate-step(t / 1s - 1s) * 100%);
}&lt;/pre&gt; The following style iterates linearly every second four times in a row, alternating directions each time:
 &lt;pre id="body"&gt;div.iterate {
   opacity: calc(animate-linear(t / 1s, 4, alternate) * 100%);
}&lt;/pre&gt;  The following style illustrates more complicated animations, by moving an image downwards with uniform acceleration:
 &lt;pre id="body"&gt;div.gravity {
   top: calc(t*t / (1s*1s) * 1px);
}&lt;/pre&gt;  &lt;h3 id="f3.1"&gt;Synchronisation&lt;/h3&gt; Under this model, separate animations are implicitly synchronised. For example, consider the following animation:
 &lt;pre id="body"&gt;div.projectile {
   top: calc(t*t / (1s*1s) * 1px);
   left: calc(t / 1s * 1px)
}&lt;/pre&gt;  The instant a div element is given the projectile class, both animations will be set to t=0, and hence will be syncronised together.
 
&lt;p&gt;On the other hand, the following animations will not be automatically synchronised:
 &lt;pre id="body"&gt;&amp;lt;style&amp;gt;
div.moveright {
   left: calc(t / 1s * 1px);
}
div.movedown {
   top: calc(t / 1s * 1px);
}
&amp;lt;/style&amp;gt;
&amp;lt;script&amp;gt;
var div1 = document.getElementsByTagName("div")[0];
div1.className = div1.className + " moveright";
div1.className = div1.className + " movedown";
&amp;lt;/script&amp;gt;
&lt;/pre&gt; The classes have been set at slightly different times, one after the other, and therefore the animations will begin at slightly different times as well.
 &lt;h4 id="wqvj"&gt;Conclusion&lt;/h4&gt; Animation has the potential to turbo-charge style on the web. It's important that it's done in a way that enables the full power of CSS, including the principles of orthogonality and cascading. Apple's transitions model meets these principles, but their animations model does not, so I have proposed a replacement.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-2457735052839167642?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/2457735052839167642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=2457735052839167642' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2457735052839167642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2457735052839167642'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/04/on-apples-css-animation-proposal.html' title='On Apple&apos;s CSS animation proposal'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-5773332867535322803</id><published>2008-04-03T21:09:00.005Z</published><updated>2008-04-03T21:24:45.465Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Myspace Music</title><content type='html'>Finally, an iTunes competitor that might actually be worthy of the phrase - &lt;a href="http://www.theregister.co.uk/2008/04/03/myspace_music/"&gt;Myspace Music&lt;/a&gt;. 

&lt;p&gt;It's got &lt;a href="http://fistfulayen.com/blog/?p=127"&gt;context&lt;/a&gt; alongside the content - user reviews, shared playlists, band information, lyrics, etc. 

&lt;p&gt;It's got a business model that actually stands a chance (i.e. free to the consumer, with adverts alongside streaming music). What's more, they seem to have the right setup - Myspace and the record companies will share equity stakes in the business, so they will all share in its success.

&lt;p&gt;Technically, it's not restricted by crazy DRM. I like the dual options of both streaming and download - why not provide both, and see which works best?

&lt;p&gt;It sits atop a site already heaving with music discussions. In fact, you could say that a social network has finally provided something for its users to talk about!

&lt;p&gt;Here's hoping they can compete with iTunes, Apple's proprietary platform. I don't see anyone beating Apple for the iPod / iPhone, but it would be nice to have more competition for the content!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-5773332867535322803?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/5773332867535322803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=5773332867535322803' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5773332867535322803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5773332867535322803'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/04/myspace-music.html' title='Myspace Music'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-6384788431564608853</id><published>2008-03-30T18:12:00.003Z</published><updated>2008-03-30T18:41:53.985Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>iTunes: the adverts</title><content type='html'>&lt;p&gt;Surprising Apple rumours appeared last week from, of all places, the &lt;a href="http://www.ft.com/cms/s/0/e35a7404-f557-11dc-a21b-000077b07658.html"&gt;Financial Times&lt;/a&gt;. Apparently, 
&lt;blockquote&gt;Apple is in discussions with the big music companies about a radical new business model that would give customers free access to its entire iTunes music library in exchange for paying a premium for its iPod and iPhone devices.&lt;/blockquote&gt;

&lt;p&gt;It's surprising because Apple has been so successful with their existing business model. Why would they go through the risk of changing it, especially if competitors like Nokia already have similar models in place?

&lt;p&gt;I suspect that Apple sense a new market opportunity, and it comes from iTunes. If the iTunes store becomes free to consumers, then its usage will rocket by an astronomical amount - that's the basic law of pricing. Apple could monetize that usage by turning it into a website (rather than client application), and introducing adverts.

&lt;p&gt;Apple's new browser, Safari 3.1, already contains the key components to get this done - the new HTML5 &amp;lt;audio&amp;gt; and &amp;lt;video&amp;gt; elements, plus offline file storage for your music collection. They've been circulating Safari as widely as possible - even on Windows - and now we know why. Apple could make iTunes far more 'sticky' for consumers (and hence get more ad money) by adding context to the music - user reviews, lyrics, recommendation lists, and artist news.  For just $20 per iPod, Steve Jobs would be guaranteed one of the most lucrative websites on the internet.

&lt;p&gt;So, is iTunes finally coming to the web? We'll find out by the end of this year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-6384788431564608853?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/6384788431564608853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=6384788431564608853' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/6384788431564608853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/6384788431564608853'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/03/itunes-adverts.html' title='iTunes: the adverts'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-5264493092643057543</id><published>2008-03-23T11:27:00.003Z</published><updated>2008-03-23T12:19:08.904Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>The BBC's iPlayer</title><content type='html'>&lt;p&gt;What a success the BBC's streaming &lt;a href="http://www.bbc.co.uk/iPlayer"&gt;iPlayer&lt;/a&gt; has been. It's even managed to single-handedly increase streaming internet usage in the UK by &lt;a href="http://www.theregister.co.uk/2008/03/19/iplayer_content_delivery_networks/"&gt;200%&lt;/a&gt; in one month! Not bad for an application strung together in just a few months.

&lt;p&gt;I'm still not sure the BBC quite realises what a revolution it has started. The iPlayer frees the BBC from the &lt;a href="
http://chrisfjay.blogspot.com/2007/01/bbc.html"&gt;tyranny of the channel&lt;/a&gt;, which has foisted on us all prime-time game shows, padding TV to fills schedules, minority interests at midnight, and endless repeats of every programme except the one you really want to watch.

&lt;p&gt;I've written some ideas for enhancing the iPlayer down, to show just what's possible with this new platform.

&lt;dl&gt;
&lt;dt&gt;Increase the time limit from seven days to seventy years&lt;/dt&gt;
&lt;dd&gt;The BBC has the most incredible back catalog of any broadcaster in the world. But much of it is under historic rights agreements that prevent it from being freely available to the public. So the BBC must initiate an enormous program of identifying and publishing content that's already free, re-negotiating contracts to free up historic material, and ensuring that new material is produced under agreements that allow for endless iPlayer availability.&lt;/dd&gt;
&lt;dt&gt;Make search better&lt;/dt&gt;
&lt;dd&gt;The search function is pretty poor at the moment. Ideally it would be possible to search across actors, episodes, producers, time periods, or even scenes within a show, with the same ease of use as Google.&lt;/dd&gt;
&lt;dt&gt;High Definition&lt;/dt&gt;
&lt;dd&gt;The ISPs might not like it, but why not publish new material in a range of formats depending on bandwidth, including high definition?&lt;/dd&gt;
&lt;dt&gt;Add context&lt;/dt&gt;
&lt;dd&gt;The video themselves are not enough. As a basic next step, the BBC should embed each video in a page that also explains the credits (as per &lt;a href="http://www.imdb.com"&gt;IMDB&lt;/a&gt;). Next, they could add trivia, photos, transcripts, editor's comments, links to related material, and space for user-generated comments. This adds enormous value to the material, making the website far more 'sticky' as users navigate around, discovering related material and forming communities around niche content.&lt;/dd&gt;
&lt;dt&gt;Open up worldwide with adverts&lt;/dt&gt;
&lt;dd&gt;I see no reason why the BBC shouldn't make their content available globally, especially if it pays for itself via adverts for users outside the UK. In fact, this could be a massive new revenue source for the BBC, at no expense to UK citizens.&lt;/dd&gt;
&lt;/dl&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-5264493092643057543?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/5264493092643057543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=5264493092643057543' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5264493092643057543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5264493092643057543'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/03/bbcs-iplayer.html' title='The BBC&apos;s iPlayer'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-7782048751761513580</id><published>2008-03-23T11:05:00.003Z</published><updated>2008-03-23T11:25:23.461Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Satellite TV is a dying industry</title><content type='html'>&lt;p&gt;In the UK, BSkyB (the provider of Satellite TV) has been dominant for so long that it's difficult to imagine anything else - rival cable companies Telewest and NTL have even neared bankruptcy and been forced to merge. And yet, I expect the roles to be reversed five years from now, because of the web.

&lt;p&gt;Satellite TV is not compatible with the internet, because it's a broadcast technology - TV aerials can receive signals from satellites, but they can't transmit anything back. That makes it impossible to browse the web - how can the satellite know which webpage you want?

&lt;p&gt;BSkyB has two assets - a TV content business, and a satellite distribution pipeline. Its business model has always been to ruthlessly leverage each asset against the other, purchasing football rights to encourage satellite uptake, and then promoting new content to this audience.

&lt;p&gt;As content moves to the internet, BSkyB's business model will fail. It will be left with a legacy asset - the satellite distribution pipeline - that's no longer relevant. It will have to compete in the TV content business on an equal footing with its competitors. And it will have many new deep-pocketed competitors, including Apple and Google (via YouTube). 

&lt;p&gt;Rupert Murdoch is an incredible businessman but he will struggle against competition like this!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-7782048751761513580?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/7782048751761513580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=7782048751761513580' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7782048751761513580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7782048751761513580'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/03/satellite-tv-is-dying-industry.html' title='Satellite TV is a dying industry'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-7465135184746231559</id><published>2008-03-07T23:25:00.001Z</published><updated>2008-03-07T23:26:38.722Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Apple's new SDK</title><content type='html'>&lt;p&gt;Well, Apple's &lt;a href="http://developer.apple.com/iphone/"&gt;new SDK&lt;/a&gt; was quite a surprise. It's not just a &lt;a href="http://chrisfjay.blogspot.com/2007/11/new-iphone-sdk-will-be-safari.html"&gt;better version of Safari&lt;/a&gt;, though there is &lt;a href="http://arstechnica.com/journals/apple.ars/2008/02/10/upcoming-safari-3-1-to-get-speed-bump-other-changes"&gt;one coming&lt;/a&gt;. It's a native SDK with full-blown access to iPhone features like the touch screen, video, networking, and accelerometer.

&lt;p&gt;What does this mean? Firstly, it's now clear that "touch" is a new platform, not just a new phone. We'll definitely now see more Apple "touch" devices - not just phones, but perhaps &lt;a href="http://factoryjoe.com/blog/2007/11/05/apple-tablet-concept-the-ipad-touch/"&gt;tablets&lt;/a&gt; and &lt;a href="http://www.engadget.com/2007/09/06/savant-marries-a-touchscreen-with-itunes-calls-it-apple-surfac/"&gt;surfaces&lt;/a&gt;. All that SDK work is creating an ecosystem that other devices will slot into nicely.

&lt;p&gt;Who will develop native apps? Apple showed an array of different providers, from the enterprise (Salesforce) to messaging (AOL) and gaming (Sega and EA Games). Personally I think gamers will be the most keen - they will love the accelerometer, advanced graphics and OpenGL tooling.

&lt;h4&gt;The last platform&lt;/h4&gt;
&lt;p&gt;Over the years we've seen some great platforms - Windows, Mac, and Linux come to mind. Now we have the Apple Touch platform. But the Salesforce demo was very instructive; why write an iPhone app when you can just publish a website?

&lt;p&gt;If the Apple Touch SDK becomes very popular, it will be because it exploits the web's weaknesses (e.g. control over sensors such as accelerometers, and video quality animations). That's the other reason why gaming is a natural fit.

&lt;p&gt;This surely won't continue for much longer. The web is closing the gap (e.g. recent work on an HTML 3D canvas element, or my &lt;a href="http://chrisfjay.blogspot.com/2007/05/sensors.html"&gt;sensors proposal&lt;/a&gt;).

&lt;p&gt;Could the Apple Touch be the last great platform before the web subsumes even more? We'll just have to find out!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-7465135184746231559?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/7465135184746231559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=7465135184746231559' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7465135184746231559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7465135184746231559'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/03/apples-new-sdk.html' title='Apple&apos;s new SDK'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-2470631030077659229</id><published>2008-03-06T22:44:00.002Z</published><updated>2008-03-06T22:47:55.462Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><title type='text'>Firefox on the iPhone?</title><content type='html'>&lt;p&gt;Now we've seen the &lt;a href="http://developer.apple.com/iphone/"&gt;iPhone SDK&lt;/a&gt;, a quick thought - why not create Firefox for the iPhone?

&lt;p&gt;Since we already have Firefox on Mac, it shouldn't be too difficult to port - and it would help Firefox developers strengthen their approach for multi-touch.

&lt;p&gt;Personally I would love to use Firefox extensions on the iPhone...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-2470631030077659229?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/2470631030077659229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=2470631030077659229' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2470631030077659229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2470631030077659229'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/03/firefox-on-iphone.html' title='Firefox on the iPhone?'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-461851946072873242</id><published>2008-02-27T22:46:00.000Z</published><updated>2008-02-27T22:47:31.076Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mozilla'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Firefox distribution</title><content type='html'>&lt;p&gt;There's no doubt that Mozilla is on a roll. Their main product - Firefox 2.0 - is still increasing market share every month. Firefox 3.0 is due out very soon, and looks incredible - it absolutely blows the socks off any other browser I've used. With &lt;a href="http://labs.mozilla.com/2007/12/introducing-weave/"&gt;Weave&lt;/a&gt;, &lt;a href="http://labs.mozilla.com/2007/10/prism/"&gt;Prism&lt;/a&gt;, &lt;a href="http://wiki.mozilla.org/Mozilla_2"&gt;Mozilla 2&lt;/a&gt;, &lt;a href="http://wiki.mozilla.org/Mobile"&gt;Mobile Firefox&lt;/a&gt;, and &lt;a href="http://www.mozilla.com/en-US/press/mozilla-2008-02-19-faq.html"&gt;Mozilla Messaging&lt;/a&gt; in the pipeline, they have a string of blockbusters lined up for years to come.

&lt;p&gt;It's especially impressive given that Mozilla relies totally on downloads. All of their competitors come pre-installed on the major platforms (Internet Explorer on Microsoft Windows, Safari on Apple OSX, Opera on mobile phones). Mozilla have to work uphill, persuading every single user individually they need to download Firefox and register it as their default browser.

&lt;p&gt;Mozilla is an organisation with an intense focus on its mission - to improve the web for everyone. They have a unique and powerful culture that non-technologists find difficult to understand - they are passionate enough to treat their mission as a moral campaign. Firefox is just a means to deliver this mission.

&lt;p&gt;To achive their goals, Firefox must have a high market share, otherwise they can't influence the industry. Can downloads be enough? I think Mozilla should be more ambitious.
Firefox has gained a reputation as a secure, well designed, fast, intuitive browser.

&lt;h4&gt;Taking the next step: distribution strategies&lt;/h4&gt;
&lt;p&gt;Mozilla should persuade OEMs to distribute Firefox as the default browser. Everyone in Silicon Valley knows that Firefox is better than Internet Explorer. The likes of Dell, HP, Lenovo, Acer and Toshiba can surely be persuaded this too, especially by offering a cut of Mozilla's search engine funding.

&lt;p&gt;This would be money well spent. It would further the Mozilla mission by bringing the full power of the web to even more people around the world. Mozilla could target certain countries - for example China, where it only has a 2% market share but a freshly signed revenue agreement with a local search engine.

&lt;p&gt;The arrangement could also apply in the mobile space, where default applications are even more entrenched. What about an arrangement to ship Mobile Firefox with Symbian, Nokia or Sony Ericsson?

&lt;p&gt;Obviously, Mozilla should maintain their downloads channel. Starting an additional channel by signing agreements with manufacturers would take Firefox to the next level, helping them influence the industry with openness, standards and the power of the web.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-461851946072873242?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/461851946072873242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=461851946072873242' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/461851946072873242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/461851946072873242'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/02/firefox-distribution.html' title='Firefox distribution'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-1825980278971751391</id><published>2008-02-27T22:45:00.001Z</published><updated>2008-02-27T22:45:43.134Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>The Big Switch</title><content type='html'>&lt;p&gt;I finished reading Nicholas Carr's new book, the &lt;a href="http://www.nicholasgcarr.com/bigswitch/"&gt;Big Switch&lt;/a&gt;, which describes the rise of the 'cloud' (web applications like Google or Amazon) using an extended analogy from the electricity industry 100 years ago.

&lt;p&gt;Carr points out that companies originally had their own electricity departments generating power, but as the technology matured and economies of scale kicked in, they instead purchased electricity from dedicated utilities. In the same way, he argues that companies nowadays have their own IT departments managing software, but as web technologies mature, organisations will subscribe to websites managed by utilities instead.

&lt;p&gt;It's a powerful argument, and already conventional wisdom in Silicon Valley. Carr states it eloquently and clearly to a wider audience. Executives will love the arguments; IT departments have always been expensive and very difficult to manage, and the prospect of simply subscribing to websites instead will remove many a headache.

&lt;p&gt;Carr lists Google, Yahoo, Salesforce and Amazon as being at the forefront of this change. In fact, he implies that there is only space for three or four mega-suppliers of web applications. I reckon that's not true, and it's an area Carr could have spent more time.

&lt;p&gt;For example, the financial services industry still spends far more on technology than the search engine industry. Some of that is spent on email systems and word processors, which could be procured from Google instead. But the vast majority is spent on trading, lending, sales, securitisation and investment systems; Google is not a bank and therefore can't compete with this. Banks will never give these systems away because in financial services, knowledge is power. Citi and HSBC belong to Carr's list of mega web suppliers - it's not just Silicon Valley!

&lt;p&gt;The Big Switch is targeted at an executive level of readership, as you'd expect from a former editor of the Harvard Business Review. I think it hits the mark pretty well - it doesn't go into technical explanations (we're still missing that book!) but explains the likely social and organisational consequences of the web in a clear, engaging manner.

&lt;p&gt;I wasn't so impressed with the other sections of the book, which debunk the techno-utopians who assume society can only benefit from the cloud, and explain how the web is becoming a form of Artificial Intelligence. It might be well put, but it's not really &lt;i&gt;news&lt;/i&gt; - the web is hardly unique as a new technology in having winners and losers. Also I suspect Carr is overhyping the power of the web's AI.

&lt;p&gt;Overall I was impressed with the style and subject matter. Carr has hit on a fundamental transformation in IT and the book will help business executives - and IT managers - understand and prepare for the changes to come.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-1825980278971751391?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/1825980278971751391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=1825980278971751391' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1825980278971751391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1825980278971751391'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/02/big-switch.html' title='The Big Switch'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-2657349329896501901</id><published>2008-02-12T21:32:00.000Z</published><updated>2008-02-12T21:33:12.964Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><title type='text'>Too many mobile operating systems?</title><content type='html'>Vodafone's CEO, Arun Sarin, has used his Mobile Wireless Congress speech to call for &lt;a href="http://www.theregister.co.uk/2008/02/12/simple_wireless/"&gt;mobile OS consolidation&lt;/a&gt;. He's claiming it's a pain to develop for up to 30 different incompatible systems (though, in a clear reference to Microsoft, he also confirmed he didn't want just one).

&lt;p&gt;Smartphone operating systems are such a new and rapidly developing field that it's not surprising there are so many. There will naturally be consolidation as the big players invest.

&lt;p&gt;It's incredible to me that he just doesn't get the answer - develop in HTML, CSS and javascript! Modern browsers like Firefox 3 and Safari 3 contain all you need - including HTML5 offline storage - to deliver compelling applications. Sarin's developers are focused on the wrong layer in the stack.

&lt;p&gt;The theme of the 2008 Mobile Wireless Congress is supposed to be internet applications. That's a start, but still not clear enough. Let's hope the 2009 Mobile Wireless Congress theme should be &lt;i&gt;web&lt;/i&gt; applications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-2657349329896501901?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/2657349329896501901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=2657349329896501901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2657349329896501901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2657349329896501901'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/02/too-many-mobile-operating-systems.html' title='Too many mobile operating systems?'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-4588243284898172003</id><published>2008-02-05T23:20:00.000Z</published><updated>2008-02-06T00:00:52.349Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>Tabbed Browsing</title><content type='html'>Tabbed browsing has been one of the key recent improvements to the web. It's made it far easier to work with multiple pages - many people keep dozens of tabs open for days, waiting for the opportunity to read or complete them. It was one of the main selling points behind Internet Explorer 7. 

&lt;p&gt;And yet, tabbed browsing is terrible. You can't resize, reshape and move tabs, like you can normal windows - they're all stuck at the size of the browser window. You can't search across every tab. And they blatantly overlap with the taskbar, for those using Windows. 

&lt;p&gt;Is there a better approach than tabs? Sure - think how you organise pieces of paper on a desk. They're in piles, at various angles, and at any point you can bring them to the front and work on them. But hmm - pieces of paper tend to get lost or crumpled under others.

&lt;p&gt;I still don't think anyone has properly implemented a simple, powerful, and intuitive interface for working with multiple documents visually. That seems ridiculous - what on earth have we been doing for so long!

&lt;p&gt;We can guess at what a solution might look like - a multi-touch screen allowing document resize and zoom, a quick search function across open documents, some way to remember default document dimensions. Some combination of &lt;a href="http://people.mozilla.com/~vladimir/demos/photos.svg"&gt;Mozilla SVG photos&lt;/a&gt; and &lt;a href="http://www.perceptivepixel.com/"&gt;Jeff Han's multi-touch&lt;/a&gt;.

&lt;p&gt;In the meantime it's worth pointing out that, for all their advantages, tabbed browsers are only a quick and dirty fix to the problem of working across multiple documents.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-4588243284898172003?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/4588243284898172003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=4588243284898172003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4588243284898172003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4588243284898172003'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/02/tabbed-browsing.html' title='Tabbed Browsing'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-1255044904556310886</id><published>2008-02-01T19:34:00.001Z</published><updated>2008-02-01T19:34:44.345Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>MSFT!</title><content type='html'>So it happened. Microsoft finally took the plunge and &lt;a href="http://news.bbc.co.uk/1/hi/business/7222114.stm"&gt;made a offer&lt;/a&gt; to Yahoo! they couldn't refuse.

&lt;p&gt;Microsoft's &lt;a href="http://www.microsoft.com/presspass/press/2008/feb08/02-01CorpNewsPR.mspx"&gt;reasoning&lt;/a&gt; is straightforward - they want to catch up with Google in the search and advertising business, which will require tens of billions of dollars of capital investment in the next few years. Sharing that load is a no-brainer; this is a game where scale wins.

&lt;p&gt;Though Microsoft are focusing on the first two elements of Google's tagline &lt;a href="http://www.reuters.com/article/technology-media-telco-SP/idUSN1018550820070510"&gt;"search, ads and apps"&lt;/a&gt; with their acquisition, I find their apps strategy - "Live" far more interesting.

&lt;p&gt;Live has never seemed coherent. There is Microsoft live, Windows Live, and Office live. There is Hotmail Live, not to be confused with Windows Mail Live. All of these products overlap in confusing ways with their traditional client software equivalents. It's an utter mess, and it still seems to be going nowhere, perhaps due to cultural problems - Microsoft still don't seem to &lt;i&gt;get&lt;/i&gt; the web.

&lt;p&gt;Similarly, Yahoo's apps seem to have no connections or synergy between them, and they have a serious &lt;a href="http://online.wsj.com/public/article/SB116379821933826657-0mbjXoHnQwDMFH_PVeb_jqe3Chk_20061125.html"&gt;"peanut butter"&lt;/a&gt; prioritisation issue. However, in Yahoo's case, they at least own some incredible assets (Flickr, del.icio.us, Yahoo Mail, Yahoo Music), and some talented people that truly understand the web.

&lt;p&gt;Hopefully the merger will force both companies to list their apps and place them in a simple, overarching framework. For &lt;a href="http://chrisfjay.blogspot.com/2007/06/content-management.html"&gt;example&lt;/a&gt;, a matrix with &lt;i&gt;content types&lt;/i&gt; (text, raster images, vector images, audio, video) versus &lt;i&gt;functions&lt;/i&gt; (CRUD, publish, collaborate, version, syndicate, search, store). That would even beat Google at their goal of &lt;a href="http://seekingalpha.com/article/19064-google-building-new-features-not-products"&gt;features, not products&lt;/a&gt;. Because every month they dither, Google will move even further ahead.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-1255044904556310886?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/1255044904556310886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=1255044904556310886' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1255044904556310886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1255044904556310886'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/02/msft.html' title='MSFT!'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-4096465045687224503</id><published>2008-01-30T22:07:00.001Z</published><updated>2008-01-30T22:07:50.610Z</updated><title type='text'>Browser as information broker</title><content type='html'>The phrase "browser as information broker" has been around for a year or so, and finally some of the vision is becoming reality.

&lt;p&gt;My interpretation of that vision is that the browser will link data on a webpage to services that consume it. For example, if a date appears on a page you're browsing, you could drag it to your calendar application - or if a location appears, you can open it up in a map.

&lt;p&gt;It's a powerful vision, and it's actually part of the Semantic Web mission. As Tim Berners-Lee &lt;a href="http://dig.csail.mit.edu/breadcrumbs/blog/4"&gt;explains&lt;/a&gt;, we've already gone from linking computers to linking web-pages. Now we need to take that next step - linking data.

&lt;p&gt;There are three parts to solving this problem - semantics, services, and connections.

&lt;h4&gt;Semantics&lt;/h4&gt;
Firstly, web developers have to mark sections of a page with meaning - this is a location, that is a date, etc, in a standard way that computers can understand.

&lt;p&gt;There are several active approaches
&lt;ul&gt;
&lt;li&gt;HTML itself has existing elements (e.g. the "unordered list" element, &amp;lt;ol&amp;gt;) which indicate meaning, and more are being added in &lt;a href="http://www.whatwg.org/specs/web-apps/current-work/"&gt;HTML5&lt;/a&gt; - e.g. the &amp;lt;time&amp;gt; element. &lt;/li&gt;
&lt;li&gt;HTML has several attributes, especially "class", that can be used in a semantic way. People are trying to standardise class names and HTML structure to indicate data like dates and locations; this is called &lt;a href="http://en.wikipedia.org/wiki/Microformats"&gt;Microformats&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Groups can register protocols for various content types. For example, there is a common "mailto:" protocol in HTML links, which commonly opens up an email application. Protocols are established via internet standards.&lt;/li&gt;
&lt;li&gt;The W3C is pushing an ambitious new language, &lt;a href="http://en.wikipedia.org/wiki/Resource_Description_Framework"&gt;RDF&lt;/a&gt;, as the foundation of its Semantic Web vision&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In the wild, the first three approaches have good momentum, perhaps because they work well with existing technologies, though they seem to compete with each other. If they hit limitations, RDF will be the obvious choice!

&lt;h4&gt;Services&lt;/h4&gt;
People have to develop websites to manipulate data. Actually, a lot of this has already been done - what is Google Maps except a service to manipulate location data, or Microsoft Live Calendar except a service to manipulate dates &amp; times?

&lt;h4&gt;Connections&lt;/h4&gt;
The browser has to connect the user to relevant services when it spots data. For example, when it spots a location, it should present a nice interface that allows the user, if they desire, to view it in Google Maps.

&lt;p&gt;The forthcoming Firefox 3 enables these connections for protocol handlers. It implements the HTML5 &lt;a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/section-browser.html"&gt;API&lt;/a&gt; for registering protocol handlers against a particular website, which tells the browser to use (for example) Yahoo! Mail whenever it sees a "mailto:" link.

&lt;p&gt;It will be fascinating to see how this evolves. To become popular, web developers will have to be confident that high quality services exist around a protocol. What protocols will make the grade?

&lt;p&gt;There are no (or very limited) automated browser connections for any of the other semantic approaches (HTML tags, microformats, and RDF). I would therefore predict that protocols will become the favoured approach to marking up HTML with extra meaning, with perhaps the exception of HTML5 &amp;lt;time&amp;gt;, which will work great with web forms.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-4096465045687224503?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/4096465045687224503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=4096465045687224503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4096465045687224503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4096465045687224503'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/01/browser-as-information-broker.html' title='Browser as information broker'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-7209034670857952609</id><published>2008-01-26T11:49:00.001Z</published><updated>2008-01-26T11:49:25.558Z</updated><title type='text'>Browsers are slow</title><content type='html'>&lt;p&gt;When Safari 3 was announced, the marketing pitch centered around its 'blazing speed'. Steve Jobs even used precious keynote time explaining a chart comparing browser execution speeds for a javascript benchmark.

&lt;p&gt;That was great news, mostly because it refocus debate on the current shockingly poor state of browser performance. Take any site with a bit of Ajax code, e.g. Gmail, and it's guaranteed to be far slower than a client equivalent.

&lt;p&gt;In the past, javascript speed didn't matter. If you're using a dial-up modem, then the limiting factor is bandwidth, and you don't notice javascript performance. If you're accessing a Web 1.0 site with limited javascript, there won't be a delay.

&lt;p&gt;But the world has moved on. Modern client applications - such as games - ruthlessly use native processing power, including rich graphics and parallel threads. Browsers just haven't caught up.

&lt;p&gt;It's encouraging to see, particularly in the Mozilla community, some serious debate about how to speed things up. Work has started on &lt;a href="http://www.mozilla.org/projects/tamarin/"&gt;Tamarin&lt;/a&gt;, a project to compile javascript to native code on the fly. Firefox 3 will use the &lt;a href="http://en.wikipedia.org/wiki/Cairo_(graphics)"&gt;Cairo&lt;/a&gt; graphics software library, which can take advantage of hardware acceleration. And there's been great debate about making &lt;a href="http://weblogs.mozillazine.org/roc/archives/2007/09/parallel_browsi.html"&gt;parallel&lt;/a&gt;  browsers.

&lt;p&gt;It'll be a few years before most of these efforts come to fruition. In the meantime, Moore's law and a few performance tweaks will help a bit, but we'll be left with great web applications unwritten due to performance concerns.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-7209034670857952609?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/7209034670857952609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=7209034670857952609' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7209034670857952609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7209034670857952609'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/01/browsers-are-slow.html' title='Browsers are slow'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-5758431745646533193</id><published>2008-01-24T20:19:00.000Z</published><updated>2008-01-24T20:20:07.713Z</updated><title type='text'>Writing a browser in HTML</title><content type='html'>&lt;p&gt;Browsers contain two basic components - a rendering engine (which displays HTML, CSS and javascript), and the chrome (the browser interface, including back button, URL bar, favourites, settings, etc).

&lt;p&gt;Though web developers only worry about the rendering engine, users mostly care about the chrome. Tabbed browsing, the search bar, well organised history and favourites, and full page zoom controls are recent chrome innovations critical to improving the user experience.

&lt;p&gt;But how do browser makers write the chrome? Not using HTML, CSS and javascript - it's like they don't trust their own code!

&lt;p&gt;Instead, they use their own user interface frameworks - Mozilla, for example, has a markup language called XUL. If you look at XUL, it's pretty much a non-standard competitor for HTML5. It's been great for Mozilla until now, of course, but &lt;a href="http://adblockplus.org/blog/mozilla-developer-day-xul-vs-html"&gt;what's the point&lt;/a&gt; once you have HTML5 itself? Why maintain code for two separate markup languages?

&lt;p&gt;Using HTML5 to program the browser chrome would make extensions, such as the popular Firefox extensions or even single-use applications like Prism, vastly easier to develop. They would also simplify browser code and reduce its footprint.

&lt;p&gt;Finally, HTML browser chromes would be a real test of HTML5, CSS3 and javascript, overcoming the online / offline schism (the chrome appears even if you're offline) in a novel way.

&lt;p&gt;As HTML5 gets stronger support by browsers, we may see a new tipping point, where HTML becomes the default user interface framework even for local client applications. We'll see an HTML browser chrome in the next few years.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-5758431745646533193?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/5758431745646533193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=5758431745646533193' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5758431745646533193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5758431745646533193'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/01/writing-browser-in-html.html' title='Writing a browser in HTML'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-957225972826712763</id><published>2008-01-17T19:16:00.001Z</published><updated>2008-01-17T19:17:19.033Z</updated><title type='text'>Thoughts on OpenID</title><content type='html'>&lt;p&gt;Web single sign on has been the stuff of dreams for - well, for as long as the web has existed. Microsoft's much-derided &lt;a href="http://en.wikipedia.org/wiki/Windows_Live_ID"&gt;Passport&lt;/a&gt; - placing all control in the hands of that institution - was the last serious attempt. Now, finally, we have an open, distributed standard that puts control with the user - &lt;a href="http://openid.net/"&gt;OpenID&lt;/a&gt;.

&lt;p&gt;Yahoo's &lt;a href="http://openid.yahoo.com/"&gt;implementation&lt;/a&gt; of OpenID is a massive filip for the standard. Although Yahoo is only a &lt;i&gt;provider&lt;/i&gt; of accounts - it won't read accounts created elsewhere - yet it triples the ecosystem of OpenID accounts, making it ever more likely that the next generation of start-ups will consume these IDs.

&lt;p&gt;OpenID has a key architectural advantage - usernames are &lt;a href="http://factoryjoe.com/blog/2008/01/03/its-high-time-we-moved-to-url-based-identifiers/"&gt;URLs, not email addresses&lt;/a&gt;. That means you can tell someone your OpenID without getting spammed.

&lt;p&gt;Trouble is, if you are &lt;code&gt;JohnDoe99@yahoo.com&lt;/code&gt;, what is the Yahoo OpenID you'll want? &lt;code&gt;http://openid.yahoo.com/JohnDoe99&lt;/code&gt;, of course. And if you give that out, people will be able to guess your email account pretty easily...

&lt;p&gt;I have no idea how Yahoo (or anyone else) will prevent this. Perhaps the secret is to have a different email provider to your OpenID provider! If someone asks your email address, it feels impolite to ask them to look it up at your OpenID URL!

&lt;p&gt;It's a social issue as much as a technical one. OpenID has the chance to make lire on the internet so much better, let's hope it grabs its opportunity!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-957225972826712763?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/957225972826712763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=957225972826712763' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/957225972826712763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/957225972826712763'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/01/thoughts-on-openid.html' title='Thoughts on OpenID'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-5370104902443817600</id><published>2008-01-17T19:15:00.000Z</published><updated>2008-01-17T19:16:07.922Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>The TV and the Computer</title><content type='html'>&lt;p&gt;The fight for the digital living room continues. Apple TV, the XBox 360, Microsoft's Home Server, and the set top box all compete to provide multimedia services to the family.

&lt;p&gt;This is horribly wrong. I just can't see the value in having a whirring black box control center in the living room - it's a single point of failure, it's a closed solution (since everything else must plug into it), it's a bottleneck against content on the web, and it forces Dad to play system administrator!

&lt;p&gt;As William Gibson said, "the future is already here, it's just not uniformly distributed". Look at the &lt;a href="http://www.apple.com/imac/"&gt;iMac&lt;/a&gt;. Take away the keyboard and mouse, and what does it look like? A TV.

&lt;p&gt;Now imagine it only has one application - the browser - and that it boots up in 2 seconds, like an iPod. Your Flickr photos, Amazon Music and BBC iPlayer programmes are now available, on demand, from the web. You can purchase another TV, put it in the kitchen, and access the same websites - there's no need for a central controller or set top box.

&lt;p&gt;For the remote control, all you need is a wireless mouse! Instead of pressing channel numbers, you navigate between your browser favourites. You can type a new URL or search query using a simple onscreen popup keyboard (unless you really want to connect a full wireless keyboard)

&lt;p&gt;All this is surely feasible today. How much extra would it really cost to include a stripped down Linux OS with Firefox on a $1500 widescreen TV?

&lt;p&gt;The future is putting browsers in TVs. I really don't think that even Apple and Microsoft will be able to stop it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-5370104902443817600?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/5370104902443817600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=5370104902443817600' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5370104902443817600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5370104902443817600'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/01/tv-and-computer.html' title='The TV and the Computer'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-1147600578641631169</id><published>2008-01-15T22:50:00.000Z</published><updated>2008-01-15T23:48:20.942Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Apple's strategy: iTunes</title><content type='html'>&lt;p&gt;With their latest &lt;a href="http://www.apple.com/appletv/"&gt;Apple TV&lt;/a&gt; product, Apple's strategy is becoming ever clearer: tie everyone to iTunes.

&lt;p&gt;Want to synch your iPod or iPhone? Use iTunes. Purchase new music? Use iTunes. Rent movies? Display photos on your TV? Store your calender, address book and notes? iTunes is Apple's answer to every question about content.

&lt;p&gt;This unsettles me. Apple's customers are tying all their data into a proprietary, closed client application. You might be able now to import Flickr photos into iTunes, but what are your chances of ever exporting them back?

&lt;p&gt;At a time when openness is not just a buzzphrase, but a basic principle of many in Silicon Valley, Apple are probably the only major company still seriously trying to build a walled garden. They truly do 'think differently'!

&lt;p&gt;I personally hope their iTunes strategy doesn't succeed. Their fabulous hardware and awesome user interfaces - in particular, the iPod Touch -  are beguiling users into data hell.

&lt;p&gt;Companies like Yahoo and Amazon have a massive opportunity to build a competing stack, based in the browser using open technologies such as HTML, RSS, and even the forthcoming HTML5 audio and video elements. Ironically, these very technologies have superb support in Safari, Apple's browser.

&lt;p&gt;With iTunes, Apple are betting against the web. Time will tell whether this strategy works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-1147600578641631169?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/1147600578641631169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=1147600578641631169' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1147600578641631169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1147600578641631169'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/01/apples-strategy-itunes.html' title='Apple&apos;s strategy: iTunes'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-121721748425525844</id><published>2008-01-05T12:24:00.001Z</published><updated>2008-01-05T12:24:45.947Z</updated><title type='text'>Feeds, set theory, and an Atom DOM</title><content type='html'>Some time ago I wrote a &lt;a href="http://chrisfjay.blogspot.com/2007/05/maths-and-web-technology.html"&gt;brief study&lt;/a&gt; comparing internet computer science with fundamental maths. I argued that they should coincide, because fundamental maths represents thousands of years of experience about modelling concepts - which after all, is what computer science is all about too.

&lt;p&gt;Missing from the internet (I wrote) was one maths subject, probably the most fundamental of all - set theory, concerning unordered collections of objects. Basic set operations include cardinality (i.e. number of members), union, and intersect - remember those Venn diagrams!

&lt;p&gt;I've belatedly realised, of course, that there is a very important use indeed of set theory on the web - RSS. Feeds are sets! Originally designed to be a blogging platform, RSS (or equivalently, Atom, its better formed sibling) is showing up in all sorts of other places (tagging, email / calendar apps, photo sharing, ...) because it executes perfectly such a simple and powerful concept. The members of a feed set are URLs, which can represent anything - that's why RSS is so powerful.

&lt;p&gt;Indeed, libraries and services such as Yahoo! Pipes have emerged to offer many of the concepts of set theory, including the basics functions of cardinality, union, and intersect, plus slightly more &lt;a href="http://en.wikipedia.org/wiki/Set"&gt;advanced ones&lt;/a&gt;.

&lt;h4&gt;An Atom DOM&lt;/h4&gt;
&lt;p&gt;The one thing that maths teaches about sets are that they're critical to pretty much everything else. I would expect web developers to discover the same thing; I wouldn't be surprised if a native browser 'Atom DOM', offering the basic set functions, sprung up. After all, we already have a DOM for XML and HTML, the other two web formats!

&lt;p&gt;What would an Atom DOM look like?

&lt;p&gt;At its most basic level, you'd just need an object to represent the feed, exposing its properties and the elements in the feed, alongside perhaps the feed's cardinality. This alone would save lots of effort for Ajax developers!

&lt;p&gt;For me, the methods of the feed object would be more interesting. Membership, subsets (perhaps created via user-defined filters), union, intersect, cartesian products, power sets, sorts - each would provide a wealth of opportunities for developers.

&lt;p&gt;I doubt that an Atom DOM will exist for several years; the Atom working group has disbanded for a few years, having successfully published its version 1.0 recommendation.

&lt;p&gt;But if an Atom DOM were implemented, it would be tremendously powerful for web developers. Thousands of years of fundamental maths can't be wrong!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-121721748425525844?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/121721748425525844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=121721748425525844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/121721748425525844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/121721748425525844'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2008/01/feeds-set-theory-and-atom-dom.html' title='Feeds, set theory, and an Atom DOM'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-2273533555455775480</id><published>2007-12-31T18:05:00.000Z</published><updated>2007-12-31T18:16:31.091Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><title type='text'>The rise of Webkit</title><content type='html'>Webkit, the browser engine for Apple's browser Safari, has had an incredible six months. 

&lt;ul&gt;
&lt;li&gt;First, the iPhone - the first mobile device with proper internet access that people like to use, based on Webkit&lt;/li&gt;
&lt;li&gt;Safari was released for Windows, and bundled with iTunes, ensuring a huge distribution&lt;/li&gt;
&lt;li&gt;Webkit is the foundation for Google's new mobile platform, Android, which will surely be massive next year&lt;/li&gt;
&lt;li&gt;Nokia uses Webkit for its Series 60 browser in its flagship smartphones&lt;/li&gt;
&lt;li&gt;The KHTML open source Linux developers announced they are merging back in to Webkit&lt;/li&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;From a standing start of 3% of browser market share at the start of the year, Safari is already up to more than 5%. I wouldn't be surprised if it reached 15% by the end of 2008, if its momentum (and Apple's) continues.

&lt;p&gt;This is great for the internet. A popular open source project, a keen proponent of existing and forthcoming standards such as HTML5 and CSS3, the ability to innovate rapidly (including recently CSS animations and transformations!)

&lt;p&gt;Good luck to Webkit for next year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-2273533555455775480?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/2273533555455775480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=2273533555455775480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2273533555455775480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2273533555455775480'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/12/rise-of-webkit.html' title='The rise of Webkit'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-7180239487711403997</id><published>2007-12-31T17:18:00.000Z</published><updated>2007-12-31T17:45:13.222Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>2008: the mobile web</title><content type='html'>My prediction for 2008: it'll be the year of the mobile internet, the year when it suddenly became obvious that mobiles need the same access to the web as any other device.

&lt;p&gt;All the major device manufacturors will release businesses based on this idea:
&lt;ul&gt;
&lt;li&gt;Apple, with the iPhone and perhaps a new slimline tablet Mac using Webkit, the open source browser engine&lt;/li&gt;
&lt;li&gt;Google, with the rollout of Android, their mobile platform using Webkit&lt;/li&gt;
&lt;li&gt;Nokia, with their Symbian smartphones such as the N95 becoming a major part of their business, using Webkit&lt;/li&gt;
&lt;li&gt;Mozilla, with their new mobile version of Firefox&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In addition, there's the eagerly awaited spectrum auction in the US, the continued rollout of HSDPA mobile network speeds across the world, and moves around the world towards open network access.

&lt;p&gt;Even on the internet, businesses have to be planned several quarters in advance, and the four players above have been scrambling to execute during 2008. That will widen the gap with those still working on their current businesses, chief among them Microsoft.

&lt;p&gt;2008 will be the year that companies stopped spending time developing java-based mobile applications. They'll just post them on the web, and attract mobile users to browse to them instead. During 2008, we'll see the first mainstream mobile internet sites for
&lt;ul&gt;
&lt;li&gt;Address Book, SMS and Calendar&lt;/li&gt;
&lt;li&gt;Music and Video players&lt;/li&gt;
&lt;li&gt;Social Networking&lt;/li&gt;
&lt;li&gt;Email&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In other words, we'll see Silicon Valley catch up with the new opportunities presented by fast network access and sophisticated, easy to use devices.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-7180239487711403997?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/7180239487711403997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=7180239487711403997' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7180239487711403997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7180239487711403997'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/12/2008-mobile-web.html' title='2008: the mobile web'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-9140719484022762421</id><published>2007-12-23T17:54:00.001Z</published><updated>2007-12-23T17:54:57.174Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Microsoft's Internet Strategy</title><content type='html'>Microsoft is in a bind. It's just not competing with internet companies in search or advertising. It's having to compete against free and ever-improving open source applications like Firefox and Apache. Due to issues such as lack of standards compliance e.g. CSS, the company has lost its good reputation with web developers. It seems to be fighting too many battles, and hasn't convinced with its new suite of online applications, Live, which anyway could cannibalize some of its most profitable products.

&lt;p&gt;Most of all, Microsoft hasn't figured out how to capture the internet wave. It's being totally left behind on the web.

&lt;p&gt;I'd like to propose a solution. It's a web solution, and one that plays to values that Microsoft has always understood - &lt;a href="http://video.google.com/videoplay?docid=6304687408656696643"&gt;"developers, developers, developers"&lt;/a&gt;.

&lt;p&gt;Why not offer a web-based version of Visual Studio - call it Developer Live - that hosts web applications? Go the whole hog - different language choices, bug databases, software configuration management, test environments on the fly, GUI design tools. Charge by memory &amp; processor usage, with reduced rates for students.

&lt;p&gt;This strategy takes advantage of their incredible expertise for development tools and server systems.

&lt;p&gt;The market is enormous - every application in the world! It avoids open source, which can never pay for massive data centers. It builds a whole new developer ecosystem, and no-one else (except maybe Amazon) seems to be thinking about it.

&lt;p&gt;Microsoft would then offer three things - apps (e.g. Office), development (Developer Live), and clients (e.g. XBox / Vista). That's much cleaner than today's sprawl. And most importantly, they would regain clear leadership of the most important platform in the world - the web.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-9140719484022762421?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/9140719484022762421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=9140719484022762421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/9140719484022762421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/9140719484022762421'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/12/microsofts-internet-strategy.html' title='Microsoft&apos;s Internet Strategy'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-7883731706802102040</id><published>2007-12-20T17:21:00.000Z</published><updated>2007-12-20T18:26:19.487Z</updated><title type='text'>Open source's limitation</title><content type='html'>The last five years has seen the triumphant emergence of open source software. Linux, Apache, MySQL, and Firefox in particular have been huge forces for good across the industry. 

&lt;p&gt;By providing free reference code for key applications, open source has lowered costs for everyone else, encouraged innovation, and prevented vendor lock-in that seems so prevalent in IT.

&lt;p&gt;Open source is also part of a fascinating cultural movement, spreading the wonderful idea that ideas - including code - should be free from control by any organisation or individual.

&lt;p&gt;There is one limitation to this model - it only works for code (or system designs in general). If I want to actually &lt;i&gt;run&lt;/i&gt; the application, I need to purchase hardware. 

&lt;p&gt;This might seem a trivial limitation, but it's already becoming important. Can you imagine an open source version of Google? No, because you would need to invest tens of billions of dollars to even run it! How about an open source &lt;a href="http://www.expedia.com"&gt;Expedia&lt;/a&gt;, or &lt;a href="http://www.flickr.com"&gt;Flickr&lt;/a&gt;, or &lt;a href="http://www.facebook.com"&gt;Facebook&lt;/a&gt;? In fact, have you ever seen an open source website? Not even &lt;a href="http://en.wikipedia.org/wiki/Main_Page"&gt;Wikipedia&lt;/a&gt; - if someone copied their code and created a clone website, they'd be pretty angry!

&lt;p&gt;So far as I know, all these websites &lt;i&gt;run&lt;/i&gt; on open source technology - Linux, Apache, PHP, etc. But they aren't open source themselves.

&lt;p&gt;Some code only needs to be run once, for example, websites - the whole point of the URI is that you don't need two of them that do exactly the same thing! Other code can be re-used in many different places - I &lt;a href="http://chrisfjay.blogspot.com/2007/05/software.html"&gt;call this&lt;/a&gt; system software - operating systems and other applications 'under the hood'.

&lt;p&gt;And that's the fundamental limitation of open source - in a world of web applications, it's only used as system software. When all applications are web applications, you won't have an open source office suite, an open source graphics package, or indeed any open source consumer applications except the browser / operating system which is local to every client.

&lt;p&gt;It's not a bad thing - system software is what drives the entire internet - it just needs to be recognised that, on the web, open source's role will be restricted to under the hood.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-7883731706802102040?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/7883731706802102040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=7883731706802102040' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7883731706802102040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7883731706802102040'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/12/open-sources-limitation.html' title='Open source&apos;s limitation'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-4202709030095970912</id><published>2007-12-20T16:57:00.000Z</published><updated>2007-12-20T16:58:40.546Z</updated><title type='text'>Future of IT: data centres and web-based development tools</title><content type='html'>Continuing &lt;a href="http://chrisfjay.blogspot.com/2007/12/future-of-it-it-view.html"&gt;my&lt;/a&gt; &lt;a href="http://chrisfjay.blogspot.com/2007/10/future-of-it-business-view.html"&gt;series&lt;/a&gt; on the future of IT, I originally planned to write two more posts, one on the future of data centers, and the other on the future of application development. But they quickly become the same article, because I predict that the two will come together.

&lt;p&gt;Current application development tools, like Eclipse or Visual Studio, cover only a small part of the end-to-end process. What about business requirements, analysis, design, configuration management, testing, collaboration, release management, bug tracking, and hosting? It's spread across a huge range of systems that don't integrate effectively.

&lt;p&gt;It's been &lt;a href="http://chrisfjay.blogspot.com/2007/05/software-development-process.html"&gt;pointed out&lt;/a&gt; before, but probably the least automated process I can think of is application development. Imagine a website that stored your code and allowed you to edit it, compile it, manage software configurations and releases, maintain bug databases and create test environments on the fly, design user interfaces using WYSIWYG, and hosted the resulting application. Would you really go back to Visual Studio?

&lt;p&gt;Following the &lt;a href="http://aws.amazon.com"&gt;Amazon web services&lt;/a&gt; model, developers won't need to know anything about the underlying hardware - they would just see their memory, CPU, network bandwidth and storage usage, and be charged appropriately for each. The data center is totally behind the scenes and provided by the development tool vendor.

&lt;p&gt;Which brings me to the data center. In the last 18 months, the data center of the future has become very clear, and all the major vendors are rushing to deliver what can be described in one word: virtualisation.  Instead of building separate storage, database, and processing environments for each application, why not just build a farm for each, to be used by any application as it needs it? Simply add capacity every month by plugging in a few more servers, based on demand. Then any application can use it on demand.

&lt;p&gt;Call it data center 2.0 - the hardware has become totally commoditised, and the value has shifted to the management tools that plug everything together, which is why vendors like HP (with OpenView) and IBM (Tivoli) have been investing so heavily.

&lt;p&gt;Data center 3.0 is what happens when the management tools become commoditised too, as they surely will very quickly. Only Amazon, with its web services, is really positioning for this. Data center 3.0 is when the value shifts to the only place left - the development tools. Data center 3.0 is when developers outsource their data centers.

&lt;p&gt;Nicholas Carr is describing it in his book, &lt;a href="http://www.amazon.com/Big-Switch-Our-Digital-Destiny/dp/0393062287"&gt;The Big Switch&lt;/a&gt;. There will only be three or four major companies with public data centers globally - HP &amp; IBM, plus a few. Each will invest tens of billions of dollars in computing equipment, and between them, they'll host most applications in the world.

&lt;p&gt;In addition, a small number of massive corporations will maintain their own private data centers, in an effort to maintain a competitive edge. That will include the major investment banks, plus internet companies like Google. No one else will be able to compete with the shear investment and scale required.

&lt;p&gt;The benefits for developers will be huge. Logging into developer.hp.com and selecting your language of choice, having compilation and debugging reports done for you, test environments created on the fly via a web interface, a bug database linked to an automatically populated software configuration management tool, while not even have to worry about the data center - what an advantage.

&lt;p&gt;For corporations, the model offers a way to avoid having to manage complex and expensive data centers, and avoid capital expense in favour of monthly bills that scale with use.

&lt;p&gt;Traditionally, data centers have always existed for application hosting. In the future, they will be for application &lt;i&gt;management&lt;/i&gt; - not just hosting, but development, problem, configuration &amp; capacity management. That's where the value is. Development tools will become the developer's front end to data center 3.0.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-4202709030095970912?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/4202709030095970912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=4202709030095970912' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4202709030095970912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4202709030095970912'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/12/future-of-it-data-centres-and-web-based.html' title='Future of IT: data centres and web-based development tools'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-1856995854716825885</id><published>2007-12-18T20:13:00.001Z</published><updated>2007-12-18T20:13:58.883Z</updated><title type='text'>Driverless cars</title><content type='html'>Driverless cars have caught the imagination for years; mostly the conversation turns to advanced technology (satellite navigation, laser collision detection, automatic parking), but for me it's even more interesting to guess how technology might turn business models upside down.

&lt;p&gt;Once cars can drive themselves, taxis get far cheaper. That's because you're not paying a taxi driver's wage. Far more people will take taxis, which will mean there are more taxis on the roads, which in turn will shorten taxi waiting times, which will attract even more people to take taxis - a virtuous circle.

&lt;p&gt;I don't mean to imply that no one will drive cars or own them - there's satisfaction and freedom in driving on open roads that can't be beaten. But perhaps not for the weekly slog to the shops, or the commute, or the evening out, or the occasional traveler.

&lt;p&gt;What happens when a significant proportion of cars are driverless taxis? The rise of the taxi company - massive customers for Motown with the power to significantly negotiate prices down. What's the natural response? Motown buys the taxi companies. They will no longer sell machines - they'll sell the service of transporting people, it'll be Ford taxis versus Toyota taxis.

&lt;p&gt;Of course, for the next decade at least, we'll see only "assisted driving", not "no driving" - better aids to navigation, steering, breaking, and cruising to help the driver concentrate on reacting to the road.

&lt;p&gt;But the auto industry will surely learn the meaning of the phrase "disruptive innovation".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-1856995854716825885?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/1856995854716825885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=1856995854716825885' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1856995854716825885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1856995854716825885'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/12/driverless-cars.html' title='Driverless cars'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-4474126213346797177</id><published>2007-12-15T00:16:00.001Z</published><updated>2007-12-15T00:16:34.564Z</updated><title type='text'>HR and corporate identity management</title><content type='html'>&lt;p&gt;I've followed the recent surge of debate on identity management with interest. Massive &lt;a href="http://news.bbc.co.uk/1/hi/uk_politics/7104368.stm"&gt;government data loss&lt;/a&gt;, new &lt;a href="http://code.google.com/apis/opensocial/"&gt;social network APIs&lt;/a&gt;, and gains for &lt;a href="http://openid.net/"&gt;OpenID&lt;/a&gt; have shown the importance of identity management, and fundamentally changed its landscape.

&lt;p&gt;Technology nowadays seems generally led by consumer markets, not enterprise ones.  However, in the enterprise, many of the pieces are already in place, if unevenly distributed. For example, many corporations have purchased single sign on applications from the likes of IBM and CA. Similarly, HR suites from SAP and Oracle compete to automate the management of personal information, and most firms have a web-based corporate directory with people's contact details.

&lt;p&gt;What's missing are the connections between these tools. The HR suite - Peoplesoft, for example - should contain the corporate directory. Employees should be able to go in and update details via the directory page about them. And this page should also define their Single Sign On identity, via OpenID.

&lt;p&gt;In this picture, HR &lt;i&gt;is&lt;/i&gt; identity management. A breath of Web 2.0 should hit monolithic HR applications!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-4474126213346797177?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/4474126213346797177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=4474126213346797177' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4474126213346797177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4474126213346797177'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/12/hr-and-corporate-identity-management.html' title='HR and corporate identity management'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-5831507867403257648</id><published>2007-12-15T00:15:00.001Z</published><updated>2007-12-15T00:15:45.147Z</updated><title type='text'>Future of IT: the IT view</title><content type='html'>Continuing an &lt;a href="http://chrisfjay.blogspot.com/2007/10/future-of-it-business-view.html"&gt;occasional series&lt;/a&gt;, I'm taking a look at the IT department of 5-10 years from now.

&lt;p&gt;Most IT departments break down into four components - client support, development, operations, and IT management. Each will be radically changed by new technology and business models, focused around the web.

&lt;h4&gt;Client Support&lt;/h4&gt;
&lt;p&gt;If all applications are web applications, then all you need is a browser with broadband web connection. Client computing will therefore become much more straightforward; no more configuring hundreds of registry settings and data on local c: drives. It also may not really matter which computer anyone has, since they all have browsers.

&lt;p&gt;Similarly, with the focus on Software as a Service, application support will be given by third parties. I can only see a small role for client support within the IT department in future.

&lt;h4&gt;Software development&lt;/h4&gt;
&lt;p&gt;&lt;a href="http://chrisfjay.blogspot.com/2007/10/future-of-it-business-view.html"&gt;I already predicted&lt;/a&gt; that all applications will be web-based, and 80% of them hosted by a third party via Software as a Service - including the office suite, communications and collaboration.

&lt;p&gt;Therefore, hardly any software development will take place inside the IT department. Instead, business analysts and architects will be responsible for configuring and integrating third party web applications, using the vendor-provided tools. Most of this will not involve code, except perhaps a smattering of regular expressions to manage data in two dominant formats; the relational database, and the Atom feed.

&lt;p&gt;Any remaining software development will be enabled by an online tool. Imagine a website that stored your code, compiled it, helped you manage software configurations and releases, offered integrated bug databases and test environments, provided WYSIWYG user interface design, and hosted the resulting application. All client-based tools, like Eclipse and Visual Studio, would be replaced by web applications, with a full data centre to host your application behind them.

&lt;p&gt;Software developers wouldn't need to know anything about the underlying hardware - they would just see their memory, CPU, network and storage usage, and be charged appropriately for each. The data center is hosted by the software development tool vendor and totally behind the scenes.

&lt;h4&gt;Operations&lt;/h4&gt;
&lt;p&gt;Most organisations will have zero servers to maintain, so won't need to spend much effort on operations. As for network operations, many devices will be connected to the internet via 3G or 4G wireless networks operated by third parties. Desktop devices will still be connected to a LAN, for the sake of speed, but that will plug directly into the internet. Hence network operations costs are likely to be low too.

&lt;h4&gt;IT management&lt;/h4&gt;
&lt;p&gt;IT management won't have to focus so much on operations - however, they will have to improve their vendor relationship management processes, because of their reliance on Software as a Service. IT managers will decide which vendors to use, and build a framework of best of breed web applications tailored to their business.

&lt;p&gt;Because of this, IT managers will have less capital equipment to procure, and more subscription services to manage. They will have to learn the business more closely and take a more proactive role in determining the future of business oeprations.

&lt;h4&gt;Conclusion&lt;/h4&gt;
The IT department, it has to be said, will be smaller in future. CIOs will rely on a network of partners and suppliers to achieve their goals, and will become much closer to the business as their role becomes business process strategists.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-5831507867403257648?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/5831507867403257648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=5831507867403257648' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5831507867403257648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5831507867403257648'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/12/future-of-it-it-view.html' title='Future of IT: the IT view'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-2407436942667875810</id><published>2007-11-26T15:41:00.000Z</published><updated>2007-11-26T15:42:15.623Z</updated><title type='text'>Personal Data</title><content type='html'>Last week, the UK government revealed that it had lost personal information on 25 million people - all 7.5 million families in the country. The information included names, dates of birth, addresses, national insurance numbers (like US social security numbers), and bank account details.

&lt;p&gt;This catastrophe can hardly have been worse. It's potentially the worst loss to terrorists and criminals since the Jul 7th bombings, and even worse a loss to financial stability than Northern Rock. It abuses the trust of nearly 50% of the country.

&lt;p&gt;What's more, the institutional failings revealed are breathtaking. Why on earth was an obviously untrained 23 year old even allowed access to the data? Why didn't anyone - neither HMRC, the NAO or the IT company that provided it - seem to care that it wasn't encrypted? How could it possibly have been sent via the unregistered post? And why weren't the lessons learned from many similar, if smaller scale, recent incidents in the same government department?

&lt;p&gt;Once the dust has settled, and hopefully managers have been fired for rank incompetence, there are two basic lessons to learn - how to manage personal data, and how to secure identities.

&lt;h4&gt;Controlling personal data&lt;/h4&gt;
I already &lt;a href="http://chrisfjay.blogspot.com/2007/01/citizens-own-their-data-not-government.html"&gt;blogged&lt;/a&gt; that citizens should own and manage their own data, not the government. Citizens should also be able to see which government departments are using their data, and how, and when. Any time the government wants more access to my data, they should have to personally ask me - because it's mine!

&lt;h4&gt;Proving your identity&lt;/h4&gt;
In the age of MySpace and Google, whoever thinks that their date of birth is a secret? Or their home phone number and address? Because that's all you need to log into my phone banking service.

&lt;p&gt;This security model is absurd, we can't trust our identities to supposed 'secrets' that can be discovered by anyone in the world in 30 seconds flat. We must find something more trustworthy - whether physical (e.g. fingerprints), or mental (e.g. a password) - or ideally, both.

&lt;p&gt;It's outrageous that the government should abuse our trust by losing personal information about every family in the country. But it's also outrageous that this simple personal information is enough for serious identity fraud to take place.

&lt;p&gt;Some good can still come from the HMRC catastrophe, provided we learn the lessons and build a new security model for the 21st century - a model that places data control where it belongs (i.e. with each individual), and that provides a safer way to prove identity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-2407436942667875810?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/2407436942667875810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=2407436942667875810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2407436942667875810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2407436942667875810'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/11/personal-data.html' title='Personal Data'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-8848525215987147413</id><published>2007-11-25T00:09:00.001Z</published><updated>2007-12-03T22:56:56.302Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Convergence</title><content type='html'>One of the universally accepted themes of IT in the last few years is "convergence". Markets are merging, technology is standardising, and gadgets are getting common components, all driven by the internet.

&lt;p&gt;So what does "convergence" mean? Actually there are three different convergences taking place:

&lt;h4&gt;Device convergence&lt;/h4&gt;
&lt;p&gt;Firstly, devices. Phones, laptops, TVs, PCs, and even cameras and satellite navigation systems are increasingly sporting the same features (operating system, internet access, camera, touchscreen) and can access the same applications. Apple's use of Mac OS X across its complete product range - iPhone to 24" iMac - shows the way forward.

&lt;p&gt;Device convergence means that the consumer electronics industry is becoming something more cohesive - call it the "internet device" industry. The industry-spanning strategies of Sony and Apple will win - expect mobile phone companies (e.g. Motorola) to merge with PC companies (e.g. Lenovo) to compete. 

&lt;p&gt;Despite this standardisation, hardware is actually getting more important, not less - note the success of innovative products like the Wii and iPhone! 

&lt;h4&gt;Network convergence&lt;/h4&gt;
&lt;p&gt;The second type of convergence is for networks - the IP protocol has won. Broadband, phone line, cable, mobile have just become different ports into the internet. That explains the focus on the triple play (mobile, broadband, landline) - it's all becoming the same thing. 

&lt;p&gt;Networking is a utility industry, albeit one experiencing rapid technological evolution. The players - e.g. Vodafone, AT&amp;T - are terrified of becoming utilities, but there's nothing they can do to stop it.

&lt;h4&gt;Application convergence&lt;/h4&gt;
Silicon Valley has won this battle - applications are moving to the web. Simple old HTML and javascript have somehow beaten massive corporate creations like Java and dot net (not that many technologists outside Silicon Valley have realised it yet). 

&lt;p&gt;There are only two successful business models in Silicon Valley - adverts for consumers, and subscription (i.e. software as a service) for the enterprise.

&lt;h4&gt;Different industries&lt;/h4&gt;
&lt;p&gt;These three convergences are delivering three massive new industries - the internet device manufacturers, the networkers, and the application providers. They're very different industries, with different business models, regulations, capital investment patterns, and rates of change.

&lt;p&gt;So there's one type of convergence that I really can't see working - convergence across industries. That includes Nokia (Ovi applications will never compete against Adwords), Google (what do they know about operating a network?), Vodafone (spare me the "Vodafone live!" closed garden). Even Apple, so great at hardware design and OS software, haven't yet built a hugely successful website application.

&lt;p&gt;Next time you hear the "convergence" word, watch out for which industry is being mentioned. Though the internet might drive all three, they're very different!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-8848525215987147413?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/8848525215987147413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=8848525215987147413' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/8848525215987147413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/8848525215987147413'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/11/convergence.html' title='Convergence'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-1430787525449304726</id><published>2007-11-22T22:55:00.000Z</published><updated>2007-11-22T23:04:00.156Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='SVG'/><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>CSS Color Gradients</title><content type='html'>&lt;h3&gt;1. Introduction&lt;/h3&gt;This document proposes a new feature in CSS for creating color gradients. These gradients define an additional &amp;lt;color&amp;gt; value type for the CSS3 Color specification; as such, they can be used in place of a traditional color anywhere in CSS, e.g. as a background color gradient, a text color gradient, or a border color gradient.&lt;br&gt;&lt;br&gt;The proposals are based on the SVG specification. However, CSS color gradients could style any markup element, including HTML.&lt;p&gt;&lt;h3&gt;2. color-gradient-linear&lt;/h3&gt;Linear color gradients are created using the color-gradient-linear color value, which takes several parameters:&lt;br&gt;    color-gradient-linear(angle, offset1 color1, offset2 color2, ... , spreadmethod)&lt;br&gt;&lt;br&gt;&lt;i&gt;angle &lt;/i&gt;indicates the angle of the gradient from horizontal, moving clockwise so that an angle of 0 deg creates a gradient from left to right, and 90 deg creates a gradient from top to bottom.&lt;br&gt;&lt;br&gt;At least one &lt;i&gt;offset &lt;/i&gt;&amp;amp; &lt;i&gt;color &lt;/i&gt;pair must then follow. &lt;i&gt;offset &lt;/i&gt;indicates where to start the gradient, and can take any length unit. Draw a line through the containing element, following the gradient angle; &lt;i&gt;offset &lt;/i&gt;takes the values 0% and 100% where the line hits the element's inside border.&lt;br&gt;&lt;br&gt;For example, if &lt;i&gt;angle=0deg&lt;/i&gt;, then an offset of 0% indicates the gradient starts at the left hand border. If &lt;i&gt;angle=90deg&lt;/i&gt;, then an offset of 100% indicates the bottom border.&lt;br&gt;&lt;br&gt;&lt;i&gt;color &lt;/i&gt;can be any valid CSS3 color value, including rgba and hsla values that enable opacity.&lt;br&gt;&lt;br&gt;The &lt;i&gt;spreadmethod &lt;/i&gt;parameter, which is not required, can take three values -  "pad | reflect |         repeat". This indicates what happens if the gradient starts or ends         inside the bounds of the target element. Possible values are: &lt;i&gt;pad&lt;/i&gt;, which says to use the         terminal colors of the gradient to fill the remainder of         the target region, &lt;i&gt;reflect&lt;/i&gt;, which says to reflect         the gradient pattern start-to-end, end-to-start,         start-to-end, etc. continuously until the target element is filled, and &lt;i&gt;repeat&lt;/i&gt;, which says         to repeat the gradient pattern start-to-end, start-to-end,         start-to-end, etc. continuously until the target region is         filled. The default value is "pad".&lt;br&gt;&lt;br&gt;&lt;p&gt;Examples:  &lt;/p&gt;&lt;pre&gt;    /*linear gradient from green to blue, moving left to right*/&lt;br&gt;em { color: color-gradient-linear(0deg, 5% green, 95% blue) } &lt;br&gt;    /*linear gradient from a transparent red to solid purple, top to bottom*/&lt;br&gt;em { color: color-gradient-linear(90deg, 5px rgba(100,100,100, 0.5), 200px purple) }&lt;br&gt;    /*linear gradient from green to blue to yellow, right to left*/&lt;br&gt;em { color: color-gradient-linear(180deg, 3px green, 50% blue, 100% yellow) }&lt;br&gt;    /*linear gradient from green to blue to green to blue ..., left to right*/&lt;br&gt;em { color: color-gradient-linear(0deg, 0px green, 10px blue, reflect) }&lt;br&gt;&lt;/pre&gt;&lt;h3&gt;3. color-gradient-radial&lt;/h3&gt;Radial color gradients are created using the color-gradient-radial color value, which takes several parameters:&lt;br&gt;    color-gradient-radial(center-x center-y, radius1 color1, radius2 color2, ... , spreadmethod)&lt;br&gt;&lt;br&gt;&lt;i&gt;center-x &lt;/i&gt;and &lt;i&gt;center-y&lt;/i&gt; indicate the center of the radial gradient, offset from the top left corner of the element.&lt;br&gt;&lt;br&gt;At least one &lt;i&gt;radius &lt;/i&gt;&amp;amp; &lt;i&gt;color &lt;/i&gt;pair must then follow. &lt;i&gt;radius &lt;/i&gt;indicates where to start the gradient; it must be a positive length value, starting from the center of the circle. A value of 100% for &lt;i&gt;radius &lt;/i&gt;indicates that the gradient is equal in length with the element's width.&lt;br&gt;&lt;br&gt;The &lt;i&gt;spreadmethod &lt;/i&gt;parameter works exactly as for color-gradient-linear.&lt;br&gt;&lt;br&gt;Examples:&lt;br&gt;&lt;pre&gt;    /*radial gradient from green to blue, center outwards, starting at the element's center*/&lt;br&gt;em { background-color: color-gradient-radial(50% 50%, 0px green, 50px blue) } &lt;br&gt;    /*radial gradient from a transparent red to solid purple, center outwards, starting top left*/&lt;br&gt;em { background-color: color-gradient-radial(0px 0px, 5px rgba(100,100,100, 0.5), 200px purple) }&lt;br&gt;    /*radial gradient from green to blue five times, center outwards, starting at the element's center*/&lt;br&gt;em { background-color: color-gradient-radial(50% 50%, 0px green, 20% blue, reflect) &lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-1430787525449304726?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/1430787525449304726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=1430787525449304726' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1430787525449304726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1430787525449304726'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/11/css-color-gradients.html' title='CSS Color Gradients'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-1889243241324947878</id><published>2007-11-22T21:45:00.000Z</published><updated>2007-11-22T21:48:47.471Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><title type='text'>Social Graphs and Unsocial Graphs</title><content type='html'>Tim Berners-Lee just wrote a wonderful &lt;a href="http://dig.csail.mit.edu/breadcrumbs/node/215"&gt;note&lt;/a&gt; on the social graph. He points out that just as the "III" (net) connected computers, and the "WWW" (web) connected documents, the "GGG" (giant global graph) will connect real objects - including people.

&lt;p&gt;So let's return to OpenSocial, Google's new social networking API. I already &lt;a href="http://chrisfjay.blogspot.com/2007/11/opensocial-isnt-open-enough.html"&gt;commented&lt;/a&gt; that it might (just) be an open API, but it certainly doesn't open the data - connections between people - which is the important thing. It shouldn't be only Myspace widgets that can securely access this information, but any website.

&lt;p&gt;Tim's blog reveals a further issue - it's not just about connecting people, but connecting anything! OpenSocial doesn't seem to handle my CV, my possessions, my train tickets or what I ate for breakfast this morning. OpenSocial might be a small step forward, but it's not nearly the full answer - it only handles basic information about people.

&lt;p&gt;Tim has clearly found a huge and important issue to resolve, and more people in the industry should be paying attention. Unfortunately, I just don't think they are.

&lt;p&gt;Part of the issue is that he's way before his time - everyone is still focused on the document (HTML). Another issue is that his proposed solution, rdf, doesn't carry enough incentives for people to use it - I can't put adverts in rdf, I can't directly create compelling content with rdf, and anyway no applications take advantage of it yet. A third issue is that it's not clear how HTML (e.g. a Wikipedia entry on breakfasts) would sit alongside rdf (some XML technical markup that describes the same thing).

&lt;p&gt;There is a way out. Create a new open data format standard that describes a person (Google have made a start on this already with GData), and add it to OpenSocial. Make this data format compatible with RDF, e.g. &lt;a href="http://www.foaf-project.org/"&gt;FOAF&lt;/a&gt;. And finally, hand the data over to the user - it's theirs to manage.

&lt;p&gt;That way, at least one usage of RDF will take off - information about people and their connections. OpenSocial will gain new momentum, since the data will be free, not just the API. And finally we'll have a springboard for the graph - not just social ones, but any graph - to take off.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-1889243241324947878?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/1889243241324947878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=1889243241324947878' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1889243241324947878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1889243241324947878'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/11/social-graphs-and-unsocial-graphs.html' title='Social Graphs and Unsocial Graphs'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-8233768451376230029</id><published>2007-11-12T23:43:00.001Z</published><updated>2007-11-13T00:32:45.838Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><title type='text'>The new iPhone SDK will be Safari</title><content type='html'>Apple's recent announcement of a native iPhone SDK seemed a massive U-turn; first Steve Jobs promised pure web development, then he relented. But I suspect their native SDK will in fact be an upgraded version of Safari - web development on steroids!

&lt;p&gt;There are several reasons why web applications failed the iPhone:
&lt;ul&gt;
&lt;li&gt;Connectivity - endless waits for page load over slow and uncertain EDGE networks&lt;/li&gt;
&lt;li&gt;Presentation - browsers can't handle coverflow, smooth animation or rotations&lt;/li&gt;
&lt;li&gt;Awkward audio and video - no flash plugins lead to messy javascript solutions&lt;/li&gt;
&lt;li&gt;Memory access - you can't access the phone memory using javascript&lt;/li&gt;
&lt;li&gt;Sensor access - you can't control the camera, microphone, touch sensor or proximity sensor using javascript&lt;/li&gt;
&lt;li&gt;Cultural - people still expect the mobile web to be crap&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Within the last month, a series of announcements have led me to believe that Apple will chip away at all of these issues.

&lt;p&gt;Safari have already &lt;a href="http://webkit.org/blog/126/webkit-does-html5-client-side-database-storage/"&gt;announced&lt;/a&gt;  local SQL database support, which is part of the draft HTML 5 spec. Combined with other HTML 5 sections like caching, this would solve the connectivity and memory issues above, allowing offline access via local memory.

&lt;p&gt;David Hyatt, the lead Safari developer, has also &lt;a href="http://webkit.org/blog/130/css-transforms/#comments"&gt;hinted&lt;/a&gt; (see comments) that perspective transformations (enabling coverflow) will shortly become available in Safari. &lt;a href="http://webkit.org/blog/138/css-animation/"&gt;CSS animations&lt;/a&gt; and &lt;a href="http://webkit.org/blog/130/css-transforms/"&gt;affine transformations&lt;/a&gt;, including rotations, have also been added to the beta version of Safari.

&lt;p&gt;Now, Safari have announced support for &lt;a href="http://webkit.org/blog/140/html5-media-support/"&gt;HTML 5 media&lt;/a&gt;, bringing first-class audio and video to the iPhone's browser.

&lt;h4&gt;Putting two and two together&lt;/h4&gt;
&lt;p&gt;I just can't see why people aren't putting two and two together! The only remaining technical issue with using Safari as a client development platform is access to the iPhone's sensors - so I fully expect Steve Jobs to announce a javascript API in January's Macworld.

&lt;p&gt;It also provides another reason why Apple released Safari for Windows; they're building a browser competitor to Windows, and they need maximum distribution to persuade developers to use the new web SDK. 

&lt;p&gt;For Apple it makes good sense to convert the browser into an OS; they sell hardware, and they get to ride the internet wave. Safari as the client development platform is the classic disruptive innovation!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-8233768451376230029?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/8233768451376230029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=8233768451376230029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/8233768451376230029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/8233768451376230029'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/11/new-iphone-sdk-will-be-safari.html' title='The new iPhone SDK will be Safari'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-6974941128252002551</id><published>2007-11-07T22:44:00.000Z</published><updated>2007-11-07T22:56:35.313Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><category scheme='http://www.blogger.com/atom/ns#' term='content management'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>OpenSocial isn't open enough</title><content type='html'>Google's OpenSocial has attracted enormous publicity over the last week - it's seen as the entry of the big beast into social networking, fighting Facebook and Microsoft by transforming the rules of the game.

&lt;p&gt;But I honestly don't think it has changed the rules of the game. The API is only 'open' in the sense that lots of companies have signed up to using it - it does pretty much the same as Facebook's API, albeit using HTML rather than Facebook's weird proprietary markup.

&lt;p&gt;It's the basic premise that I disagree with - that social networks are 'container' applications, within which every other application is hosted, as a 'widget'.

&lt;p&gt;The problem with apps hosted INSIDE social networks is that you get data silos - not everyone I know is in Myspace, and they never will be.

&lt;p&gt;Instead, we need apps that work ACROSS social networks, gathering the relevant friends and details from each to provide the complete picture - e.g. a complete address book.

&lt;p&gt;Writing one of these apps is not about data storage, it's about data aggregation from all across the web. For example, a photo editing website should allow you to import your friends and colleagues from ANY social network, to allow you to collaborate on a picture. That's not possible with OpenSocial.

&lt;p&gt;Of course, I'm sure OpenSocial will be extended in future. Since Brad Fitzpatrick is reportedly behind both OpenID and OpenSocial, I wouldn't be surprised if we see some immediate progress on this front from his employers Google. If my URI for OpenID is the &lt;i&gt;same&lt;/i&gt; as my URI for OpenSocial, then whenever I log in someplace, it gets automatic controlled access to my details. 

&lt;p&gt;So OpenSocial gets us some of the way there, but the vision is still not complete - it may be a relatively open API, but it currently enforces a closed data model.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-6974941128252002551?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/6974941128252002551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=6974941128252002551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/6974941128252002551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/6974941128252002551'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/11/opensocial-isnt-open-enough.html' title='OpenSocial isn&apos;t open enough'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-5109006714257506456</id><published>2007-11-07T21:45:00.000Z</published><updated>2007-11-07T22:06:37.069Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Atom'/><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><category scheme='http://www.blogger.com/atom/ns#' term='content management'/><title type='text'>Web Communication</title><content type='html'>Technology is there to enable people to do things. So, if you want to write a successful application, it's worth asking what things people like to do! And there's one answer that has proved itself time and time again - people like to communicate.

&lt;p&gt;The killer apps of the internet have always been communication tools - starting with email, moving to webmail, instant messaging, blogging, Twitter streaming, and most recently social networking.

&lt;p&gt;So how far has the web come in enabling communications? I put chart together to work this out.

&lt;table style="width:90%"&gt;
&lt;caption&gt;Communication types&lt;/caption&gt;
&lt;thead&gt;&lt;tr&gt;
       &lt;th&gt;Timing&lt;/th&gt;
       &lt;th&gt;View&lt;/th&gt;
       &lt;th&gt;Add&lt;/th&gt;
       &lt;th&gt;Method&lt;/th&gt;
&lt;/tr&gt;&lt;/thead&gt;
&lt;tr&gt;
       &lt;td&gt;Asynchronous&lt;/td&gt;
       &lt;td&gt;Private&lt;/td&gt;
       &lt;td&gt;Private&lt;/td&gt;
       &lt;td&gt;Notebook&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
       &lt;td&gt;Asynchronous&lt;/td&gt;
       &lt;td&gt;Private&lt;/td&gt;
       &lt;td&gt;Public&lt;/td&gt;
       &lt;td&gt;Email / Voicemail&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
       &lt;td&gt;Asynchronous&lt;/td&gt;
       &lt;td&gt;Public&lt;/td&gt;
       &lt;td&gt;Private&lt;/td&gt;
       &lt;td&gt;Blog&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
       &lt;td&gt;Asynchronous&lt;/td&gt;
       &lt;td&gt;Public&lt;/td&gt;
       &lt;td&gt;Public&lt;/td&gt;
       &lt;td&gt;Wiki&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
       &lt;td&gt;Realtime&lt;/td&gt;
       &lt;td&gt;Private&lt;/td&gt;
       &lt;td&gt;Private&lt;/td&gt;
       &lt;td&gt;Dictaphone, CCTV&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
       &lt;td&gt;Realtime&lt;/td&gt;
       &lt;td&gt;Private&lt;/td&gt;
       &lt;td&gt;Public&lt;/td&gt;
       &lt;td&gt;Instant Message&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
       &lt;td&gt;Realtime&lt;/td&gt;
       &lt;td&gt;Public&lt;/td&gt;
       &lt;td&gt;Private&lt;/td&gt;
       &lt;td&gt;Twitter / TV / Radio / Webcam&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
       &lt;td&gt;Realtime&lt;/td&gt;
       &lt;td&gt;Public&lt;/td&gt;
       &lt;td&gt;Public&lt;/td&gt;
       &lt;td&gt;Phone / video conference&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;The most obvious thing to note is that every cell in the table has something in it, so there are no obvious gaps - but many are filled with very recent technology, and it's still changing very quickly. 

&lt;p&gt;Secondly, the table drives home just how important and useful the Atom Publishing Protocol is - starting from blogging, it is spreading to all the asynchronous types of communication. That shows some foresight from Google, who have based their architecture around the standard.

&lt;p&gt;Thirdly, realtime communications technology seems less mature. That's not a surprise - HTTP was designed for the asynchronous request / response pattern. So it will be interesting to see how this piece develops.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-5109006714257506456?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/5109006714257506456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=5109006714257506456' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5109006714257506456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5109006714257506456'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/11/web-communication.html' title='Web Communication'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-5148925902244532403</id><published>2007-10-29T19:21:00.001Z</published><updated>2007-10-29T19:26:06.028Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Future of IT: the business view</title><content type='html'>IT is getting more and more important to every business. It not only automates their operations, but also defines the face of the company to its customers, via its website. Whether executives want to squeeze more productivity out of the workforce, or move into new product areas and geographies, IT is the basic enabler. Many businesses are now in fact IT companies; think of your basic current account bank, which sells an online application for financial management.

&lt;p&gt;So what will corporate IT look like, in ten years time? Here are some predictions

&lt;ul&gt;
&lt;li&gt;There will be three shapes of computer: mobile, portable, and office; but all will consist of a browser and fast internet connection.&lt;/li&gt;
&lt;li&gt;Everything will be web-based. That means you will be able to connect to anything (your office phone, documents, email, business applications, etc) from anywhere in the world, by simply typing in the relevant URL.&lt;/li&gt;
&lt;li&gt;Everyone will procure an online communications, collaboration and office suite from a third party. That includes voice, email, wiki, document editing, and social networking. Google Apps will be used to create more documents than Microsoft Office and to access more voicemails than AT&amp;T.&lt;/li&gt;
&lt;li&gt;80% of software (e.g. HR, CRM, ERP) will be online services procured from third parties. Salesforce's revenues will go up by 50% annually for ten years.&lt;/li&gt;
&lt;li&gt;The other 20% will be online applications developed in-house, to provide a competitive advantage.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-5148925902244532403?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/5148925902244532403/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=5148925902244532403' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5148925902244532403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5148925902244532403'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/10/future-of-it-business-view.html' title='Future of IT: the business view'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-3690753865744191855</id><published>2007-10-28T11:51:00.001Z</published><updated>2007-10-28T12:12:47.798Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='SVG'/><title type='text'>SVG effects in CSS: Webkit transformations</title><content type='html'>Amazing news from webkit - they've &lt;a href="http://webkit.org/blog/130/css-transforms/"&gt;implemented CSS transformations&lt;/a&gt; on their nightly builds!

&lt;p&gt;The web's inability to do transformations - especially rotations - has been an embarrassing failure for years now. I believe the fact that vertical text is not possible has been a major driver behind proprietary "rich internet applications" like Flash.

&lt;p&gt;What's more, the Safari folk seem to have done it properly. They're not relying on SVG foreignobject support, like Firefox; they haven't restricted themselves to simple rotations, instead allowing general affine transformations; and they've started with a simple approach that doesn't affect layout.

&lt;h4&gt;Cherry-picking SVG&lt;/h4&gt;
No doubt they were able to implement this quickly because they've already done it once, in SVG. SVG is great as an image format, and for complicated shapes and paths; but there are surely parts of it that can be &lt;a href="http://chrisfjay.blogspot.com/2007/06/web-vector-graphics.html"&gt;brought to the web&lt;/a&gt;, via CSS.

&lt;p&gt;For example, how about colour gradients - why not extend the CSS3 color spec to enable the following:
&lt;pre&gt;&lt;code&gt;background-color: gradient(red 5%, green 55%, yellow 95%)&lt;/code&gt;&lt;/pre&gt;
which would color the relevant HTML elements with a gradient starting (left to right) with red at an offset of 5%, green at an offset of 55%, etc.

&lt;p&gt;All this would take is to define a new color type in the CSS3 spec, which takes other colors (including opacity via hsla and tbga) as parameters. It could then be used for background colors, border colors, and wherever color is used elsewhere in CSS.

&lt;p&gt;Cherry-picking SVG and putting it in CSS is a great approach. First, it adds style to the web, in a way that properly separates content from presentation. Second, it's tried and tested, so there should be less arguing about the specs. Third, it builds skills and knowledge of key SVG features, building momentum behind the full SVG spec.

&lt;p&gt;Well done, Safari - may the other browser makers learn from your approach.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-3690753865744191855?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/3690753865744191855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=3690753865744191855' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/3690753865744191855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/3690753865744191855'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/10/svg-effects-in-css-webkit.html' title='SVG effects in CSS: Webkit transformations'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-1977341795297069992</id><published>2007-10-25T21:14:00.000Z</published><updated>2007-10-25T22:11:04.110Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='content management'/><title type='text'>Blogs and online word processors</title><content type='html'>What's the difference between Google's &lt;a href="http://www.blogger.com/"&gt;Blogger&lt;/a&gt; and Google's &lt;a href="http://docs.google.com/"&gt;Docs&lt;/a&gt;?

&lt;p&gt;After all, they're both online text editors. They're also both document publishers, though by default Docs doesn't display your document to the world. They both have general document management, including tagging, though Docs also has version control. They both allow collaboration, though Blogger does it through comments and Docs through 'sharing'. They both allow insertion of images and hyperlinks, though in addition Blogger allows videos and Docs allows tables.

&lt;/p&gt;&lt;p&gt;None of these differences are major - in fact, I can see most of them being eliminated at some point through general upgrades.

&lt;/p&gt;&lt;p&gt;So why do Google have two different applications?

&lt;/p&gt;&lt;h4&gt;Different uses, same app&lt;/h4&gt;
They're different because of their history - they're from different cultures. Word processing comes from years of office work, with deeply embedded notions like folders, separate files, and the A4/letter paper size. Blogging comes from an online free-flowing diary format, technically minimalist, constantly added to, and aligned to the computer screen.

&lt;p&gt;That doesn't excuse the basic user interface confusion between the two systems, for example the different ways to edit the underlying HTML. At some point, surely, the solutions must converge.&lt;/p&gt;

&lt;p&gt;I can't see that the functionality requirements are different - it's just there are two different uses. Perhaps it's fine they're branded differently, like Proctor &amp; Gamble owning several major washing powder lines to segregate the market.

&lt;p&gt;While blogging tools start to take on advanced word processing features, document tools like Google Docs will improve in "content management" - versioning, publishing, collaboration, tagging, etc.

&lt;p&gt;Surely one tool that can handle both blogging and word processing will emerge soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-1977341795297069992?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/1977341795297069992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=1977341795297069992' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1977341795297069992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1977341795297069992'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/10/blogs-and-online-word-processors.html' title='Blogs and online word processors'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-4470762712685589834</id><published>2007-10-22T21:28:00.000Z</published><updated>2007-10-22T21:55:30.373Z</updated><title type='text'>SVG in browsers</title><content type='html'>A call to arms today from Mark Pilgrim - improving the level of SVG support in Firefox 3, the forthcoming browser. The features in focus include the use of SVG in img elements.

&lt;p&gt; 
If taken up, this would be excellent news. SVG still has a chance of becoming the most popular vector graphics language, which would be remarkable given the level of investment in Flash, Silverlight and JavaFX. 
&lt;p&gt;
It would be truly wonderful if SVG became a first class web citizen. There are some important, but technical debates about exactly how it could fit in, especially in the non-XML HTML 5 world. I feel that, much as CSS can be placed inline with HTML but is best positioned in a separate document, the same applies to SVG. That's because of the principle of separation of content from presentation - SVG is fundamentally about presentation (in fact much of SVG, for example rotation, gradients and filters, should be incorporated into CSS so it can be applied to any element).
&lt;p&gt;
Regardless of the technical details, it is great to see the defenders of open standards rise to the challenge of proprietary competition, and enable the next cycle of web innovation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-4470762712685589834?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/4470762712685589834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=4470762712685589834' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4470762712685589834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4470762712685589834'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/10/svg-in-browsers.html' title='SVG in browsers'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-3196408976061328566</id><published>2007-10-18T18:10:00.000Z</published><updated>2007-10-18T18:11:05.857Z</updated><title type='text'>Social address books</title><content type='html'>Over the last few months or so, Silicon Valley has finally cottoned on to the power of the address book. They've figured out that social networking sites are really glorified address boooks.

&lt;p&gt;Mark Zuckerberg of Facebook was the first to really get it - his term is the &lt;a href="http://blogs.zdnet.com/BTL/?p=5152"&gt;social graph&lt;/a&gt;, an online resource of people and relationships between them. He turned this data on people and their relationships into an online platform, and allowing third parties to access it has turned out to be an incredible success.

&lt;p&gt;The logic of Google's purchase of &lt;a href="http://www.techcrunch.com/2007/06/24/google-to-acquire-grand-central-for-50-million/"&gt;GrandCentral&lt;/a&gt; and &lt;a href="http://blogs.guardian.co.uk/technology/2007/10/09/google_sweeps_up_jaiku.html"&gt;Jaiku&lt;/a&gt;, not to mention Myspace's &lt;a href="http://ap.google.com/article/ALeqM5jMNZuLP8t7W6s-BqpygaMBJY_zgAD8SAM2LO0"&gt;deal&lt;/a&gt; with Skype, points firmly in the same direction.

&lt;p&gt;After all, the most important thing in our lives is our relationships with other people and with the communities we belong to. These relationships are what drives us, what makes us laugh or cry, what makes our lives rewarding or successful. Any tool that helps us maintain and develop these relationships is incredibly valuable - the address book was the start, and social networking is another advance.

&lt;p&gt;Currently, everything is tailored around the technology: we have a paper address book for house addresses, an email contacts list for email addresses, a phone address book for phone numbers, an IM address book for IM addresses, etc.

&lt;p&gt;Let's focus on people instead; it's far more natural! So there should be just one address book, integrated with all of these technologies. I could find my sister's homepage, and click to call her, text her, or email her, all within the same application.

&lt;p&gt;That's just the start, because the details for each contact should be maintained by them, rather than me. So I could also look up the friends of my friends, or where they are today. I could post messages, or pictures to my address book entry, to keep everyone up to date. So could anyone else!

&lt;p&gt;And I could create an organization home page, linking all the people into it and giving them immediate access to common photos, documents, and chat.

&lt;p&gt;There are several themes here
&lt;ul&gt;
       &lt;li&gt;Extra data: friends of friends, communities&lt;/li&gt;
       &lt;li&gt;Convergence of communications methods into a single web application&lt;/li&gt;
       &lt;li&gt;Convergence of collaboration and communication - the social network IS my photo editing application&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Initially, I thought social networks had a touch of "fad". In fact, they're the next great phase in software: applications that enrich our relationships. And that can only be a good thing!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-3196408976061328566?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/3196408976061328566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=3196408976061328566' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/3196408976061328566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/3196408976061328566'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/10/social-address-books.html' title='Social address books'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-4443596925163259562</id><published>2007-10-07T10:27:00.001Z</published><updated>2007-10-07T10:29:48.254Z</updated><title type='text'>URL syntax and folders</title><content type='html'>The directory, or folder, is a central feature of every operating system. Windows Explorer is one of the most used applications on the planet, showing the contents of each folder and allowing document navigation.

&lt;p&gt;And yet, on the web there is no such thing as a "folder". Click on "www.yahoo.com/finance/" and you don't see a list of all the documents in the finance folder - you see a webpage. If you're looking for a particular item, you don't navigate a hierarchy - you type a search.

&lt;p&gt;The only enforced hierarchy is in the domain name - "www" is part of the "yahoo" domain inside the "com" top level domain. This hierachy is part of DNS, and is used so that the correct server responds to your browser.

&lt;h4&gt;"/" is just another character&lt;/h4&gt;
&lt;p&gt;Check out the URL http://blog.jonudell.net/2007/05/24/restful-web-services/. Do you think that on Jon's server, there is a "2007" directory, under which there is a "05" directory? No - the complete path "2007/05/24/restful-web-services/" is just a string parsed by the server, so the relevant resource can be displayed programmatically.

&lt;p&gt;"/" is just another character in the URL path. Jon could have used "." instead, or even removed it altogether: "20070524restful-web-services". Everything is flat on the web.

&lt;p&gt;The only reason why Jon added the "/" is convention - when people see the URL, it helps them understand what they might get if they click on it. "/" is a common convention to indicate hierarchy.

&lt;p&gt;So the "/" does NOT represent directory structure.

&lt;h4&gt;What if I &lt;i&gt;want&lt;/i&gt; web folders?&lt;/h4&gt;
The main thing that folders provide is the ability to view the set of documents in a collection (e.g. all the pictures in an "images" folder).

&lt;p&gt;On the web, there's a technology that solves just this problem: RSS. And it's far more flexible than a one-dimensional directory hierarchy; you can have RSS feeds for
&lt;ul&gt;
&lt;li&gt;all photos of green flowers&lt;/li&gt;
&lt;li&gt;all photos of any green objects (including flowers)&lt;/li&gt;
&lt;li&gt;all photos of flowers of any colour&lt;/li&gt;
&lt;/ul&gt;
Try doing this with folders - it's impossible!

&lt;p&gt;In that respect, the URL and RSS feeds can support every navigation method: search, tagging, and hierarchy.

&lt;h4&gt;No more folders?&lt;/h4&gt;
There are two major issues with folders. The first has already been mentioned: they are one dimensional, and therefore don't support modern techniques such as search and tagging. The second issue is that they're not scalable; if you've got a million (or even a billion) documents, navigating up and down the hierarchy to find your file takes way too long.

&lt;p&gt;So it's a great thing that web was designed without folders. Instead, a combination of URL syntax conventions and RSS provides far better flexibility and power.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-4443596925163259562?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/4443596925163259562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=4443596925163259562' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4443596925163259562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4443596925163259562'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/10/url-syntax-and-folders.html' title='URL syntax and folders'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-5707229983297456847</id><published>2007-10-05T15:51:00.001Z</published><updated>2007-10-05T15:53:06.452Z</updated><title type='text'>Adobe revisited</title><content type='html'>Six months ago, I &lt;a href="http://chrisfjay.blogspot.com/2007/04/adobes-internet-strategy.html"&gt;said&lt;/a&gt; Adobe had better put together an internet strategy quickly, or risk going under. They delivered.

&lt;p&gt;Adobe have a new internet strategy, and very impressively managed it is - they're driving pretty aggressively to use their new AIR / Flex platform to build an array of online services. Just this last month we've had announcements about &lt;a href="http://www.news.com/8301-10784_3-9790168-7.html?tag=nefd.lede"&gt;online Photoshop Express&lt;/a&gt;, &lt;a href="http://www.pcworld.com/article/id,137986-c,asps/article.html"&gt;Online visual programming&lt;/a&gt;, &lt;a href="http://www.wired.com/software/coolapps/news/2007/10/adobe_acquisition"&gt;online word processing&lt;/a&gt;, &lt;a href="http://www.eweek.com/article2/0,1895,2191961,00.asp"&gt;online file sharing&lt;/a&gt;, and &lt;a href="http://www.pcworld.com/article/id,137997-c,webservices/article.html"&gt;online voice, messaging and presence&lt;/a&gt;.

&lt;p&gt;Apart from the sheer breadth and depth of these developments, they're impressive for being cleverly tailored to expose specific browser weaknesses: animation, pagination, and realtime communications.

&lt;h4&gt;The browser within the browser&lt;/h4&gt;
Most people see Microsoft's Silverlight and Sun's JavaFX as Adobe's chief competition. But they'll have a hell of a job catching up with Adobe's 93% market share, not to mention their best in class development and design tools. 

&lt;p&gt;No, the real competition for Flash is the browser itself. Adobe have two to three years until most browsers come with native &lt;a href="http://arstechnica.com/journals/linux.ars/2007/08/22/firefox-gets-experimental-support-for-the-video-element"&gt;video and audio players&lt;/a&gt;, and increasingly powerful 
&lt;a href="http://www.css3.info/"&gt;layout&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/ECMAScript#Fourth_edition"&gt;programming engines&lt;/a&gt;. They're rushing to fill this gap with their own proprietary technology, hoping to sell design and programming tools, not to mention Flash-based web applications.

&lt;p&gt;Flash is the browser within the browser - displaying text and images, in addition to diagrams, sound and videos. Some websites - e.g. &lt;a href="http://www.sonyericsson.com"&gt;Sony Ericsson&lt;/a&gt; - leave little room for HTML. 

&lt;p&gt;So Adobe look to be winning the "Rich Internet Application" market. The question is, how will RIAs fare against straight HTML / javascript? 

&lt;h4&gt;Betting against the internet?&lt;/h4&gt;
Adobe claims to be betting that the internet will beat client applications. Technically, they're correct - they're relying on TCP/IP, HTTP and the URI. But they're not betting on the web, because the web is about HTML and CSS, not proprietary Flash plugins.

&lt;p&gt;HTML/CSS vs Flash will be a fascinating race. It'll take about two years to know the winner; will Ogg/Theora beat Flash video? Can SVG ever compete for vector graphics? Can browsers handle animation natively? Will flash text and layout ever displace HTML?

&lt;p&gt;My heart says HTML/CSS will win; my head says it will come down to the wire.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-5707229983297456847?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/5707229983297456847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=5707229983297456847' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5707229983297456847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5707229983297456847'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/10/adobe-revisited.html' title='Adobe revisited'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-8568954667836614390</id><published>2007-09-27T19:23:00.000Z</published><updated>2007-09-27T19:28:40.507Z</updated><title type='text'>Holdout client applications</title><content type='html'>If the web is so great, why are there still client application hold-outs?

&lt;p&gt;Look at the popular PC applications of recent years: Skype, IM, Office 2007, iTunes, games. Why have they followed the client approach?

&lt;table style="width:100%; vertical-align:top"&gt;
&lt;tr&gt;&lt;th&gt;Application&lt;/th&gt;&lt;th&gt;Why client?&lt;/th&gt;&lt;th&gt;In two years&lt;/th&gt;&lt;/tr&gt;
&lt;tr style="vertical-align:top; text-align:left"&gt;
 &lt;td&gt;Skype, IM&lt;/td&gt;
 &lt;td&gt;Skype and IM require real-time communication between two parties. That's something that the HTTP request-response model of the web will never solve&lt;/td&gt;
 &lt;td&gt;Browser plug-ins are incorporating real-time technologies like XMPP - this will remove the need for separate client applications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="vertical-align:top; text-align:left"&gt;
 &lt;td&gt;Office 2007&lt;/td&gt;
 &lt;td&gt;Office 2007 has exploited its massive installed base, a far better user interface from the previous version, and certain browser weaknesses in page layout and editing.&lt;/td&gt;
 &lt;td&gt;Google Docs, Zoho and Wikis are already encroaching on Office's territory. These businesses will expand massively in the next couple of years, forcing less dominant Microsoft to lower prices.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="vertical-align:top; text-align:left"&gt;
 &lt;td&gt;iTunes&lt;/td&gt;
 &lt;td&gt;iTunes relies on an offline model, using downloads to iPods. It also relies on DRM, which browsers are not equipped to handle.&lt;/td&gt;
 &lt;td&gt;Both of these dependencies are crumbling (iPods are getting Wifi access, and DRM is fading) - I wouldn't be surprised if iTunes was replaced by iTunes.com soon.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="vertical-align:top; text-align:left"&gt;
 &lt;td&gt;Games&lt;/td&gt;
 &lt;td&gt;Most games rely on advanced graphics and animations, which browsers are not designed to support&lt;/td&gt;
 &lt;td&gt;I can't see browsers competing in the next few years, except perhaps for simple games like Tetris&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;Conclusion: except for games requiring powerful graphics engines, the web will continue to replace today's common client applications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-8568954667836614390?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/8568954667836614390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=8568954667836614390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/8568954667836614390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/8568954667836614390'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/09/holdout-client-applications.html' title='Holdout client applications'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-4531262279664514754</id><published>2007-09-22T10:31:00.001Z</published><updated>2007-09-22T10:42:39.016Z</updated><title type='text'>Hardware and Software</title><content type='html'>Throughout their histories, Microsoft and Apple have had different strategies. Microsoft sells only software (WIndows, Office) but Apple sells hardware too (iMac, iPod, iPhone).

&lt;p&gt;For a long time, Microsoft had the better strategy. It could focus on one thing - software - and build a dominating position in the space where most of the technology innovation happened. It could then dominate an ecosystem of hardware partners to help grow the PC market at double-digit growth.

&lt;p&gt;Times have changed, leaving Apple's approach looking better (at least on the client side):
&lt;ul&gt;&lt;li&gt;New form factors arose - e.g. the smartphone - that require different types of software, focused on battery power and communications&lt;/li&gt;
&lt;li&gt;Hardware innovation became as important as software innovation, for example the iPhone touch screen, camera phone, satellite navigation, and Wii controller, leaving Microsoft struggling to catch up&lt;/li&gt;
&lt;li&gt;The establishment of common standards (e.g. HTML, ODF, USB) and common user interface paradigms removed barriers to change for the end user&lt;/li&gt;
&lt;li&gt;Open source competed with much proprietary software, but not with proprietary hardware&lt;/li&gt;
&lt;li&gt;PC operating systems became commoditised; what you really need is a good browser, and a few basic productivity apps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The biggest change is surely the internet - the client OS is becoming the browser. That means on the client side, hardware is just as important than software.

&lt;p&gt;&lt;a href="http://news.zdnet.com/2100-9584_22-6205989.html"&gt;News in&lt;/a&gt;: Microsoft reconsiders its software only approach.
&lt;blockquote&gt;An integrated business model of making both device and software could make sense, executive tells investors at tech conference. Microsoft said on Tuesday that it is "not unreasonable" for the company to introduce a mobile phone combined with features of its Zune digital music player to compete with Apple's iPhone....&lt;/blockquote&gt;

&lt;p&gt;If that's true, Microsoft will have to turn the company on its head (again). And what about making their own laptops and PCs? Somehow I can't see it...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-4531262279664514754?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/4531262279664514754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=4531262279664514754' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4531262279664514754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4531262279664514754'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/09/hardware-and-software.html' title='Hardware and Software'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-7663860554194676932</id><published>2007-09-14T22:49:00.000Z</published><updated>2007-09-14T22:50:31.041Z</updated><title type='text'>gPhone based on Google Gears</title><content type='html'>The only way I can understand &lt;a href="http://googlesystem.blogspot.com/2007/09/10-questions-about-google-phone.html"&gt;current gPhone rumours&lt;/a&gt; is if the gPhone is based on Google Gears.

&lt;p&gt;The gPhone is Google's allegedly forthcoming mobile software platform. It's very unclear what it'll actually do, but it sounds like an API for Google and third party providers, presumably for applications such as maps, emails, photos, and videos.

&lt;h4&gt;But isn't Google an internet company?&lt;/h4&gt;

Trouble is, this doesn't sound very like Google. Didn't Eric Schmidt say &lt;a href="http://www.economist.com/theworldin/business/displayStory.cfm?story_id=8133511&amp;d=2007"&gt;"don't bet against the internet"&lt;/a&gt;? What are they doing building an API for the client? Can't they continue their strategy of developing stripped-down websites in HTML for small mobile browsers?

&lt;p&gt;Two major problems with mobile browsers are the lack of bandwidth and the intermittant connections. That's where Google Gears comes in - I think it was designed with phones specifically in mind.

&lt;h4&gt;That 8Gb phone memory is just a cache!&lt;/h4&gt;
For example, your phone's photo application could be a link to www.google.com/photos. If you're in a Wifi or HSDPA zone, the site will be pulled up over the net (and synched with your phone). If the connection speed is slower, then the local cache from your phone memory will display instead, using Google Gears.

&lt;p&gt;Similarly for email, maps, and even your phonebook contacts - to access them, you visit an internet site, but if the connection speed is too slow, the local cache is displayed instead via Google Gears.

&lt;h4&gt;Now it makes sense&lt;/h4&gt;
Using Google Gears, gPhone application development uses just URI, HTML, and javascript. All gPhone apps sit on the internet, and data is stored locally when your mobile browser accesses the site.

&lt;p&gt;Google is still betting on the internet - in fact it's making it work in an environment where network speed is uncertain.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-7663860554194676932?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/7663860554194676932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=7663860554194676932' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7663860554194676932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7663860554194676932'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/09/gphone-based-on-google-gears.html' title='gPhone based on Google Gears'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-9174937831263486911</id><published>2007-09-12T21:43:00.000Z</published><updated>2007-09-12T21:55:13.547Z</updated><title type='text'>Web Art</title><content type='html'>Walking through Greenwich market in London recently, I passed lots of stalls selling jewellery, cards, fabrics, and various pieces of art.

&lt;p&gt;It occurred to me that "web art" - digital multimedia produced by an artist and published online - is still in its infancy (with the exception, perhaps, of photography).

&lt;p&gt;Where is the art exchange selling beautiful SVG clockfaces for my desktop or wristwatch, or abstract paintings for my digital photoframe? Where can I purchase thoughtful and arty online cards, or "moody" background videos for plasma screens?

&lt;p&gt;This must be partly down to artists preferring traditional physical materials - and to be honest, given current display and design technology, I don't blame them. But in a couple of years, the market will be there.

&lt;h4&gt;Webifying art&lt;/h4&gt;

Art could be the next area to be turned upside down by the internet. If every piece of virtual art has a URI, this means perfect copying - if someone creates the next Mona Lisa online, everyone can see the "original" perfectly in their browser, and download it.

&lt;p&gt;It's similar to the music industry, - business models will have to change. What will it mean to "own" virtual art? Will anyone pay for it? How will the artists' rights be protected? In music, some suggest that the web will eliminate the record company - but art has never had the equivalent of record companies, and it still may have serious issues. 

&lt;p&gt;Of course, there will still be offline art. But it's already clear that the internet will change the world of art, just as it has for music.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-9174937831263486911?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/9174937831263486911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=9174937831263486911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/9174937831263486911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/9174937831263486911'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/09/web-art.html' title='Web Art'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-6026406126546289741</id><published>2007-09-08T09:29:00.000Z</published><updated>2007-09-08T09:50:13.005Z</updated><title type='text'>Browser-based wristwatches</title><content type='html'>Digital watches have never been the most fashionable accessory. But I think that will soon change, as display technology has developed in leaps and bounds.

&lt;p&gt;Imagine if your watch contained a screen like the new iPhone, showing an arty clockface that could be touched to reveal more (e.g. date/time, news headlines, weather, your latest calendar appointments).

&lt;p&gt;You could set this all up by registering at a website on your PC and customizing the look and feel - for example, setting the background to be a family photo.

&lt;p&gt;The technology is already all there - touch screen, 3G data, browser displaying HTML / SVG. Finally, the digital watch can overcome its geekiness.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-6026406126546289741?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/6026406126546289741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=6026406126546289741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/6026406126546289741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/6026406126546289741'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/09/browser-based-wristwatches.html' title='Browser-based wristwatches'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-3227973459206779470</id><published>2007-09-02T10:05:00.000Z</published><updated>2007-09-04T21:43:32.988Z</updated><title type='text'>Does Apple get the internet?</title><content type='html'>It might seem a silly question, but does Apple really understand the internet?

&lt;p&gt;After all, they're best known for producing hardware and personal operating systems (iPhone, iMac, iPod, Mac OS) and media applications (QuickTime and iTunes). These are all client-side; apple.com is just an old-fashioned download site, and mac.com is their only attempt at a modern web application, languishing as the &lt;a href="http://www.alexa.com/data/details/traffic_details?url=mac.com%2F"&gt;800th most popular site&lt;/a&gt;.

&lt;p&gt;Apple has had no success in converting iTunes into a community site, where people could share recommendations, music gossip and events, or post their own music. And with broadband now prevalant, why not store your music at iTunes.com, rather than on your c: drive - that way, you could access it from any computer, or directly from your iPhone.

&lt;p&gt;Finally, if Apple is not careful, sites like Photobucket, Picasa and the &lt;a href="http://news.com.com/2100-7345_3-6163015.html"&gt;forthcoming photoshop.com&lt;/a&gt; will steal its tradition in graphics.

&lt;h4&gt;Proving they understand the web&lt;/h4&gt;
Even Apple isn't immune to Silicon Valley start-ups, especially those competing with their key music and graphics applications.

&lt;p&gt;Apple have shown enormous flexibility in the last few years, transitioning to Intel processors and moving to touch screens from their famous clickwheel. They'll have to demonstrate it again by moving to web applications. 

&lt;p&gt;I've written some success measures for Apple, to demonstrate how far they've got to go in making use of the web:
&lt;ul&gt;
&lt;li&gt;Replace iTunes with iTunes.com, a browser-based social application&lt;/li&gt;
&lt;li&gt;Enable direct iPhone access to iTunes.com&lt;/li&gt;
&lt;li&gt;Create the best photo editing site&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Are Apple ready to create the next great online applications for graphics and music? If not, they'll be limited to selling internet devices.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-3227973459206779470?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/3227973459206779470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=3227973459206779470' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/3227973459206779470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/3227973459206779470'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/09/does-apple-get-internet.html' title='Does Apple get the internet?'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-1274084329347450386</id><published>2007-09-01T10:36:00.000Z</published><updated>2007-09-01T10:38:37.215Z</updated><title type='text'>Projects are social networks</title><content type='html'>Project management is natural for the web. That's because it's all about continually creating, maintaining and communicating project information - i.e. "collaboration" - so that the project remains on track. No one's found a better collaboration system than the web.

&lt;p&gt;Project management systems have been web-based for several years now - I've had experience with Planview and several internally developed applications. But they suffer commmon flaws - data is hard to find, hard to update, and too complicated (especially around time management, approvals and project workflow).

&lt;p&gt;What's missing is Web 2.0 - i.e. the use of simple, social web technologies. This will bring less focus on formal workflow, and more focus on straightforward collaboration. What could be easier than a Wiki-based project homepage, or a social network containing the project team?

&lt;p&gt;Below are some ideas for improvement that I haven't seen in any existing project management system.

&lt;table style="width:80%" align="center" border="1px solid black"&gt;
&lt;tr&gt;&lt;th&gt;Requirement&lt;/th&gt;&lt;th&gt;Web Technology&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;communicate project information&lt;/td&gt;&lt;td&gt;Wiki&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;maintain project plan&lt;/td&gt;&lt;td&gt;Wiki (using SVG / VML for Gantt view, hyperlinks for dependencies)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;track status changes&lt;/td&gt;&lt;td&gt;Wiki versioning&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;staff notifications&lt;/td&gt;&lt;td&gt;RSS feeds&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;time management&lt;/td&gt;&lt;td&gt;Microformat integration with calendar&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;system integration (e.g. with a financial or CAD tool)&lt;/td&gt;&lt;td&gt;RSS mashups or open web APIs&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;One unexplored opportunity is microformats. A project management system that expressed project plans using microformats would express the who, when and where in a machine-readable format, so all sorts of possibilities open up - linking to mapping software, people's calendars, or a corporate directory, for example.

&lt;p&gt;Another relatively unexplored opportunity for project management software is RSS (or Atom). Staff would subscribe to receive notifications when key pieces of information change (for example, project risks or milestone changes).

&lt;p&gt;And the work breakdown structure (a.k.a. plan) is just a widget that uses microformats to integrate with people's calendars and maps.

&lt;h4&gt;Projects are social networks&lt;/h4&gt;
What I like about these ideas is that they are simple ways to directly support project managers using today's technology.

&lt;p&gt;Enterprise Project Management systems started out as monolithic client-server applications. What they're turning into is social networks, because that's what a project team is!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-1274084329347450386?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/1274084329347450386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=1274084329347450386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1274084329347450386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1274084329347450386'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/09/projects-are-social-networks.html' title='Projects are social networks'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-7938965257494694059</id><published>2007-08-24T23:41:00.001Z</published><updated>2007-08-24T23:45:14.492Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Bill Gates on Personal Computing</title><content type='html'>You can tell Microsoft still don't understand the web, because they make comments like &lt;a href="http://news.zdnet.com/2100-3513_22-6199521-2.html?tag=st.next"&gt;this&lt;/a&gt;:

&lt;blockquote&gt;IBM is no longer at the center of the computer industry, he asserted, for two reasons. First, the industry is now centered on personal computing. "As much as IBM created the IBM PC, it was never their culture, their excellence," he said. "Their skill sets were never about personal computing."&lt;/blockquote&gt;

&lt;p&gt;Actually, personal computing dates from the 1990s. We're now entering a different era - call it "web computing" or "social computing", where the focus is on collaboration and networks of people.

&lt;p&gt;Facebook and Flickr are not personal computing - the world doesn't sit on your C: drive any more.

&lt;p&gt;Times have changed, and you have to ask whether Microsoft's "culture", "excellence" and "skill sets" are keeping pace.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-7938965257494694059?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/7938965257494694059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=7938965257494694059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7938965257494694059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7938965257494694059'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/08/bill-gates-on-personal-computing.html' title='Bill Gates on Personal Computing'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-7127631068983801691</id><published>2007-08-22T18:21:00.000Z</published><updated>2007-08-22T18:24:55.595Z</updated><title type='text'>Multi-touch and DOM events</title><content type='html'>The iPhone has highlighted a weakness with the HTML DOM - it has keyboard events and mouse events, but nothing for touch screens.

&lt;p&gt;You can try to kludge touch screens using the mouse interface, or if you're simply looking to code drag-and-drop or resize, you can wait until HTML 5 comes along and use its new attributes "draggable" and "resize".

&lt;p&gt;But if this doesn't work, you're stuck. And for other user interfaces, such as accelerometers in the Wii, the situation is even worse.

&lt;h4&gt;Sensors&lt;/h4&gt;
&lt;p&gt;So it's time to resuscitate my &lt;a href="http://chrisfjay.blogspot.com/2007/05/sensors.html"&gt;sensors proposal&lt;/a&gt;, which provides a framework for any sensor, not just a touch screen.

&lt;p&gt;What it takes is a single new HTML DOM javascript function - document.sensors() - which returns an XML document of all sensors that the page has access to, e.g.:
&lt;code&gt;
&lt;p&gt;&amp;lt;sensors xmlns="http://sensors.org/namespace"&amp;gt;
&lt;br&gt;&amp;lt;keyboard shift="" ctrl="" alt="" ins="" value="ab"/&amp;gt;
&lt;br&gt;&amp;lt;mouse x="20px" y="30px" left="down" right="none" middle="none"/&amp;gt;
&lt;br&gt;&amp;lt;touch pressure="30" x="150px" y="50px"/&amp;gt;
&lt;br&gt;&amp;lt;temperature value="23C"/&amp;gt;
&lt;br&gt;&amp;lt;video src="file://c/program%20files/webcam/webcam.mov"/&amp;gt;
&lt;br&gt;&amp;lt;accel x="2" y="0" z="0"/&amp;gt;
&lt;br&gt;&amp;lt;location latitude="37.386013" longitude="-122.082932"/&amp;gt;
&lt;br&gt;&amp;lt;/sensors&amp;gt;
&lt;/code&gt;

&lt;p&gt;This document is constantly being updated with the latest values - here, you can see there is a keyboard, mouse, touch screen, thermometer, webcam, accelerometer, and GPS. The namespace would define a standard basic set of sensors, but I'm sure that extra ones could evolve over time.

&lt;p&gt;So, any web designer can access the latest status of the environment, in an extensible, standard way, using javascript.

&lt;p&gt;In the case of a touch screen, you could place an onchange() listener on the &lt;touch&gt; element, to be notified of any movement. You could also watch out for multiple &lt;touch&gt; elements, if several fingers hit the screen.

&lt;h4&gt;Security&lt;/h4&gt;
&lt;p&gt;Some of the sensory information is private, so various security measures should be in place to protect prying eyes from getting access to it. I've listed a few ideas:
&lt;ul&gt;
&lt;li&gt;Only pages with focus can see the sensory data&lt;/li&gt;
&lt;li&gt;Browsers allow site-specific permission settings for each sensor&lt;/li&gt;
&lt;li&gt;Webcam and background sound files can't be posted back to web servers&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Conclusion&lt;/h4&gt;
The simple suggestion above provides a much more comprehensive approach to human computer interaction than today's HTML DOM events. It handles not just keyboards, mice and touch screens, but all types of sensors - from thermometers to accelerometers to webcams - in a standard, extensible way. And it brings the web into many new areas - from security cameras to production line control to satellite navigation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-7127631068983801691?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/7127631068983801691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=7127631068983801691' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7127631068983801691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7127631068983801691'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/08/multi-touch-and-dom-events.html' title='Multi-touch and DOM events'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-6885486020923877488</id><published>2007-08-15T19:57:00.000Z</published><updated>2007-08-19T19:11:45.131Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><title type='text'>CSS and XPath selectors</title><content type='html'>Many people have noticed the similarities between CSS selectors and XPath - and it's fair to say that XPath is far more powerful.
 
&lt;p&gt;In fact, XPath can do pretty much anything that CSS can, plus much more. 
 
&lt;dl&gt;
&lt;dt&gt;select the parents of all paragraphs:&lt;/dt&gt;
&lt;dd&gt;&lt;code&gt;//p..&lt;/code&gt;&lt;dd&gt;
&lt;dt&gt;select alternate list items:&lt;/dt&gt; 
&lt;dd&gt;&lt;code&gt;//ul/li[position() mod 2 = 0]&lt;/code&gt;&lt;/dd&gt;
&lt;dt&gt;select table cells with a value less than 10&lt;/dt&gt;
&lt;dd&gt;&lt;code&gt;//tr[number(td) &lt; 10]/td  &lt;/code&gt;&lt;/dd&gt;
&lt;/dl&gt;
  
&lt;h4&gt;Yet another CSS wish - XPath stylesheet selectors&lt;/h4&gt;
No existing browsers have XPath enabled inside stylesheets. But wouldn't it be great if they did? 
 
&lt;p&gt;All it takes is a new CSS selector - XPath(string), where string is an XPath expression. 
 
&lt;dl&gt;
&lt;dt&gt;For example, selecting paragraphs containing the word 'Chris':&lt;/dt&gt;
&lt;dd&gt;&lt;code&gt;XPath("//p[contains(., 'Chris')]")  {border: 1px solid black} &lt;/code&gt;&lt;/dd&gt;
&lt;/dl&gt;
 
&lt;p&gt;
&lt;dl&gt;
&lt;dt&gt;Of course, XPath doesn't itself handle pseudo-elements or pseudo-classes like :hover - but we can mix and match the XPath function with other CSS (e.g. colouring any hovered paragraphs containing two hyperlinks):&lt;/dt&gt;
&lt;dd&gt;&lt;code&gt;XPath("//p[count(.//a) = 2]") :hover {background-color:red}&lt;/code&gt;&lt;/dd&gt;
&lt;dt&gt;And it can work with other selectors too, e.g. finding &amp;lt;ul&amp;gt;s directly underneath any &amp;lt;p&amp;gt; element, and shading them alternate colours:&lt;/dt&gt;
&lt;dd&gt;&lt;code&gt;p XPath("ul/li[position() mod 2 = 0]") {background-color: white}
&lt;br&gt;p XPath("ul/li[position() mod 2 = 1]") {background-color: silver}&lt;/code&gt;&lt;/dd&gt;
&lt;/dl&gt;

&lt;p&gt;Following the usual CSS rules, if the XPath function contained mis-formed XPath, the style could be ignored. Also, it would be ignored if it returned anything other than element nodes (i.e. no attribute nodes or strings).  And the default starting node of the XPath query is the document element, unless clarified by preceding CSS selectors.
 
&lt;h4&gt;Why not implement it?&lt;/h4&gt;
As you can see, just by adding a single new selector, the CSS language is extended in so many ways. 
 
&lt;p&gt;XPath has already been agreed as a W3C recommendation, and has already been implemented in the major browsers.
 
&lt;p&gt;I therefore see no good reason, other than inertia, why such a powerful new feature can't be added as soon as possible!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-6885486020923877488?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/6885486020923877488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=6885486020923877488' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/6885486020923877488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/6885486020923877488'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/08/css-and-xpath-selectors.html' title='CSS and XPath selectors'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-5811288513957355115</id><published>2007-08-15T19:19:00.001Z</published><updated>2007-08-19T19:11:16.722Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>Browser User Interfaces</title><content type='html'>You can tell we've really begun to understand the web in the last five years, because while browsers have got more powerful, their user interfaces are now simpler and clearer.

&lt;p&gt;This isn't always the case; think back to the office suite wars in the 1990s, when Microsoft and others added endless cluttered options, menus and functions to every release of their word processors and spreadsheets.

&lt;p&gt;See the screenshots below of IE4 versus IE7 - the later release is much more streamlined.
&lt;p&gt;
&lt;img src="http://www.chasms.com/chasms2/IE4P2/Options0.gif"&gt;
&lt;img src="http://www.microsoft.com/library/media/1033/windows/images/products/winfamily/ie/72785_ie_NewLook_423x63.jpg"&gt;

&lt;p&gt;The next version of Firefox, v3.0, is simplifying even further by merging History and Bookmarks into a much more powerful, unified interface: &lt;a href="http://wiki.mozilla.org/Places"&gt;Places&lt;/a&gt;.

&lt;h4&gt;How far can this go?&lt;/h4&gt;

&lt;p&gt;Even further! I've listed some ideas below which would simplify and extend whole areas of browser design:

&lt;dl&gt;
&lt;dt&gt;Calendar&lt;/dt&gt;
&lt;dd&gt;Show the current time in the browser bar. When clicked, it opens your pre-defined calendar site (e.g. google calendar), and you can also drag text onto the clock from a webpage (e.g. "meet in Canary Wharf tonight at 7pm") to add events to your calendar.&lt;/dd&gt;
&lt;dt&gt;Location&lt;/dt&gt;
&lt;dd&gt;For devices with GPS. Show the current location in the browser bar (e.g. "Canary Wharf"). When clicked, it opens your pre-defined map site (e.g. google maps), and you can also drag text onto it from a webpage (e.g. "Canary Wharf") to view that place in a map.&lt;/dd&gt;
&lt;dt&gt;Style&lt;/dt&gt;
&lt;dd&gt;Subscribe to an external CSS stylesheet to control default and override settings like font name, font size, link underline, and audio volume. The stylesheet is cached locally and can be edited in a user-friendly manner via the subscribed website. Mozilla could set up their own stylesheet site as a start.&lt;/dd&gt;
&lt;dt&gt;Page Analysis&lt;/dt&gt;
&lt;dd&gt;Display page file size, security information, "view source", "view HTTP headers", error messages, and spelling or grammer checks. This could be done by posting the page to a subscribed analysis website, if security allows.&lt;/dd&gt;
&lt;dt&gt;Tabs and Windows&lt;/dt&gt;
&lt;dd&gt;Drag hyperlinks onto the tab bar to open them in a new tab, or drag them outside the browser window to open them in new window.&lt;/dd&gt;
&lt;/dl&gt;

&lt;p&gt;The goal is to reduce the browser interface down to a very few, powerful functions.

&lt;p&gt;There's a common theme with the ideas above: functionality that used to be part of the browser - e.g. default fonts, page information - is now provided by a website. You enter the website details in the browser, and the browser hands over the appropriate information.

&lt;p&gt;Websites are likely to be much better than the browser at certain tasks, because of the speed of application development and deployment on the web, the power of HTML and mashups, and the funding of Silicon Valley. It also allows browser makers to concentrate on page rendering, their core competency.

&lt;h4&gt;Security Considerations&lt;/h4&gt;

&lt;p&gt;Of course, the problem with handing features over to websites is security.

&lt;p&gt;The most obvious example is browsing history - this would be much more powerful if it was integrated with your search engine. The problem is, uploading personal information to a web server is arguably even more insecure than storing it on your local computer.

&lt;p&gt;Until privacy is improved on the internet, browsers will have to retain certain functions, like browsing history.

&lt;h4&gt;Conclusion&lt;/h4&gt;

&lt;p&gt;Experience has taught me that a few, simple, deep principles are always far better than many shallow ones. When I see something very complicated, I know it's just as likely to be a weakness in the design as in my understanding.

&lt;p&gt;So it's great that browser makers are able to simplify their products, while extending their features.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-5811288513957355115?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/5811288513957355115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=5811288513957355115' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5811288513957355115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5811288513957355115'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/08/browser-user-interfaces.html' title='Browser User Interfaces'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-2699704545632616288</id><published>2007-08-02T19:04:00.000Z</published><updated>2007-08-19T19:10:59.408Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='content management'/><title type='text'>Folders and File Categorisation</title><content type='html'>Microsoft's Vista, like XP, comes pre-built with folders called "My Documents", "My Photos", "My Music", "My Videos", and even "My Scans".
 
&lt;p&gt;They're useful for about 10 mins, and then you run into issues - it stops you from categorising your files any other way, for example by project or by customer. Something is very wrong.
 
&lt;p&gt;The best solution is multi-dimensional categorisation - being able to view your files by document type, project, customer, or any other cut.
 
&lt;p&gt;However, since &lt;a href="http://en.wikipedia.org/wiki/WinFS"&gt;WinFS&lt;/a&gt; was removed from Vista's feature list, it isn't possible to do this. But for online storage, like Google Apps, these features should be straightforward - right?
 
&lt;h4&gt;Google gets it wrong too&lt;/h4&gt;
Wrong. There's Google Docs &amp; Spreadsheets, Google Photos (a.k.a. Picasa), Google Videos (a.k.a. YouTube), Blogger, and many other tools.
 
&lt;p&gt;But there's still no way to group your files together into a "project folder".
 
&lt;p&gt;They've made a few stabs in that direction - for example, you can attach Picasa images to Blogger entries, and Google Search in the US now works across file types. But in general, it's even further behind Microsoft.
 
&lt;h4&gt;How it should work&lt;/h4&gt;
 
The obvious technology for combining all these file types is HTML.
 
&lt;p&gt;Imagine creating an online project homepage, with links to the appropriate photos, videos, blogs, emails, spreadsheets, or even calendars. You could either upload new files, or link to ones previously uploaded to sites like YouTube.
 
&lt;p&gt;The key point is that every perspective - project, file type, author, etc - should have its own homepage, allowing you to view or edit appropriate files. Many of these files will appear in several different places - the author's homepage, plus the project homepage, plus YouTube - but that's ok, because it reflects life!
 
&lt;h4&gt;Why WinFS didn't work&lt;/h4&gt;
Looked at this way, it's obvious why WinFS failed, and Vista still has those pre-built folders like "My Photos". You simply can't categorise files without web technology - the URL, the hyperlink, the homepage, mashups, even the Wiki.
 
&lt;p&gt;It's also a reminder that we're still at the foundation stages of computing - categorising files is a basic requirement that no one has truly accomplished yet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-2699704545632616288?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/2699704545632616288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=2699704545632616288' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2699704545632616288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2699704545632616288'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/08/folders-and-file-categorisation.html' title='Folders and File Categorisation'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-4858470279401984377</id><published>2007-08-02T18:51:00.000Z</published><updated>2007-08-19T19:10:34.406Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><title type='text'>Data mismatches</title><content type='html'>Over the years, each of the traditional system tiers  - database, web server, browser - has grown more powerful, reliable and manageable.

&lt;p&gt;The problem is, they still don't work with each other well!

&lt;p&gt;I still haven't seen an elegant way to create object oriented code from queries of relational tables (although LINQ comes closest).

&lt;p&gt;And using objects to manage semi-structured, hierarchical HTML doesn't work nicely either - that's  why the DOM is so ugly.

&lt;p&gt;Finally, placing (X)HTML neatly in a relational database is very awkward, although that hasn't stopped vendors from attempting it.

&lt;h4&gt;Different forms of data&lt;/h4&gt;
That's because they all use different approaches to model data - table, object, and document.

&lt;p&gt;Each approach has many advantages, each requires a different technical skill and personality type to use, and each works best in different circumstances. Unfortunately, they don't work together particularly well.

&lt;h4&gt;Can this last?&lt;/h4&gt;
At the moment there are a few creaks, but no cracks.

The creaks are
&lt;ul&gt;
&lt;li&gt;The success of scripting languages like PHP in managing documents, rather than formal object oriented code&lt;/li&gt;
&lt;li&gt;Buzz around REST, which uses URLs and HTTP to store (and even edit) data, hiding the underlying relational database&lt;/li&gt;
&lt;li&gt;Relational databases increasingly outputting XML, rather than proprietary data&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Another approach - REST, XQuery&lt;/h4&gt;
It is now (just) possible to use the document approach throughout every tier. It makes code enormously easy to write and maintain, and it fits perfectly into the web.

&lt;p&gt;You wouldn't want to do this for data-intensive applications, such as handling financial market data. But for document-intensive web applications, such as social networking, blogging and photo-sharing, it's perfect.

&lt;p&gt;The idea is to follow the REST approach:
&lt;ul&gt;
&lt;li&gt;carefully construct a URL for every resource important to your site&lt;/li&gt;
&lt;li&gt;decide which resources require create, review, update, and delete (CRUD) permissions&lt;/li&gt;
&lt;li&gt;enable HTTP PUT, GET, POST, and DELETE commands against these URLs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even if these resources are eventually stored in a relational database, this approach totally shields the relational viewpoint in favour of the document.

&lt;p&gt;You can even write most of the &lt;a href="http://www.xml.com/pub/a/2007/06/01/xquery-the-server-language.html"&gt;server-side code in XQuery&lt;/a&gt;. The advantage of doing this is that it fits perfectly with (X)HTML and REST - you can GET documents, extract the relevant parts using XPath, and insert them into page markup using straightforward inline code. No object orientation in sight!

&lt;p&gt;After all, server-side code does four things:

&lt;table style="width:80%" align="center" border="1px solid black"&gt;
&lt;tr&gt;&lt;th&gt;Action&lt;/th&gt;&lt;th&gt;Technology&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;read / update a database&lt;/td&gt;&lt;td&gt;REST, HTTP&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;get / set HTTP headers&lt;/td&gt;&lt;td&gt;&lt;a href="http://developer.marklogic.com/pubs/3.1/apidocs/AppServerBuiltins.html"&gt;XQuery functions&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;manage sessions&lt;/td&gt;&lt;td&gt;&lt;a href="http://developer.marklogic.com/pubs/3.1/apidocs/AppServerBuiltins.html"&gt;XQuery functions&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;construct HTML output&lt;/td&gt;&lt;td&gt;XQuery, HTML&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;It's very useful if you've got a huge number of URIs (as per REST) - you just have a central application that parses the URI and returns the appropriate mashed-up resources. XQuery is good at this parsing and returning.

&lt;h4&gt;One for the future&lt;/h4&gt;
Unfortunately, the technologies behind REST and XQuery are still very immature and there isn't much support from libraries, documentation, or tools.

&lt;p&gt;And given the immense standing base of relational databases and object-oriented code, and their use in so many different areas, I can't see their support diminishing soon.

&lt;p&gt;That's ok - the point is that new ideas are still bubbling forward for improving developer productivity. SQL and OOP both pre-date the web; they have survived well, but it's always worth taking a step back and asking if there's a better approach.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-4858470279401984377?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/4858470279401984377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=4858470279401984377' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4858470279401984377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4858470279401984377'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/08/data-mismatches.html' title='Data mismatches'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-2940740399281126429</id><published>2007-08-02T18:48:00.000Z</published><updated>2007-08-19T19:10:07.646Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='binding'/><category scheme='http://www.blogger.com/atom/ns#' term='SVG'/><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>Harry Potter technology: animated paintings</title><content type='html'>There's a great scene in the film Harry Potter and the Order of the Pheonix when Hogwart's caretaker, Argus Filch, is taking down an old tudor oil painting. As he twists the painting to remove it, the men in ruffs get angry, shaken from side to side, and eventually fall off the bottom.
 
&lt;p&gt;It's visually stunning, but also emotionally engaging - it gives the viewer a real connection with the men in the painting. Imagine owning a photo frame that did this!
 
&lt;p&gt;In fact, it must already be possible to create this effect for real, perhaps using the iPhone (since it has tilt sensors).
 
&lt;p&gt;Surely picture animation is the next huge area for art - a way to break out of the static image and into lifelike, arresting motion. Why shouldn't the next Lucian Freud create animated paintings?
 
&lt;p&gt;It's also one of the first digital art forms that isn't a direct copy of an analog one - unlike photography or film cartoons, you simply can't do it using paper. And it seems an even better idea than that other Harry Potter gem, the  &lt;a href="http://research.microsoft.com/sds/whereabouts_clock.aspx"&gt;whereabouts clock&lt;/a&gt;.
 
&lt;p&gt;All we need now is an open standard that describes &lt;a href="http://chrisfjay.blogspot.com/2007/02/animating-web-functional-styles.html"&gt;such animation&lt;/a&gt; - I don't think &lt;a href="http://en.wikipedia.org/wiki/Synchronized_Multimedia_Integration_Language"&gt;SMIL&lt;/a&gt; really cuts the mustard...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-2940740399281126429?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/2940740399281126429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=2940740399281126429' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2940740399281126429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2940740399281126429'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/08/harry-potter-technology-animated.html' title='Harry Potter technology: animated paintings'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-7821474503572204881</id><published>2007-08-02T18:46:00.000Z</published><updated>2007-08-19T19:09:31.650Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>From financial services to financial management</title><content type='html'>I don't think banks really help me manage my money. They might store it securely, give me interest, enable transactions, and offer statements, but that's a short list of services - it's not the whole picture.
 
&lt;p&gt;&lt;a href="http://chrisfjay.blogspot.com/2007/01/my-banks-website.html"&gt;For example:&lt;/a&gt; what about allowing tagging and categorizing of each statement entry, so I can see how much I spend in the supermarkets or on the gas bill each month?
 
&lt;p&gt;What about helping me with my tax? Or offering reporting and trending? Or providing financial planning tools? Or customized email / SMS alerts (or even customized financial transfers) when I reach various thresholds?
 
&lt;h4&gt;Drill-down and comparison&lt;/h4&gt;
I've got online accounts with various different utilities and retailors, but I've forgotten many passwords and don't get around to visiting them very often.
 
&lt;p&gt;So, imagine if I could click an entry in my statement, and be taken to the relevant website - e.g. click on an entry from the water company, to see my online account there. It just requires my bank to know the URL for common providers (or even store my usernames and passwords).
 
&lt;p&gt;That way, my bank is truly helping me organize my finances and track my expenditure. It's moving from offering basic banking services to helping me manage my bills.
 
&lt;p&gt;I could even pick a utility or shop, and view a timeline with all the money I'd spent there. It could link to a shopping comparison site, to help me understand the competition.
 
&lt;h4&gt;Financial Management is more than Financial Services&lt;/h4&gt;
I don't think they understand this, but banks are a long way from truly enabling people to manage their financials. They're stuck in a decades-long cycle of improving efficiencies, and it's time to open up new capabilities for their customers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-7821474503572204881?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/7821474503572204881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=7821474503572204881' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7821474503572204881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7821474503572204881'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/08/from-financial-services-to-financial.html' title='From financial services to financial management'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-2286793692352372620</id><published>2007-07-29T21:28:00.000Z</published><updated>2007-08-19T19:09:19.527Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>The mobile web: Fast Pipe, Always On, Get Out the Way</title><content type='html'>There have always been tensions in between mobile operators and manufacturors, because both want control over phone services like email, news and sports readers.
 
&lt;p&gt;Now, a third sector has entered the mix - Silicon Valley. Google, Yahoo and Microsoft are all racing to get their own services and applications - such as search engines or mapping tools - installed on phones.
 
&lt;p&gt;Consequently, there's confusion. Amid much publicity, Vodafone recently &lt;a href="http://www.phonecontent.com/bm/news/1848.shtml"&gt;annouced&lt;/a&gt; they were automatically reformatting web pages to fit mobile screens - and it quickly became clear that they were removing every advert and breaking many sites.
 
&lt;h4&gt;Fast Pipe, Always On, Get Out the Way&lt;/h4&gt;
There's only one clear approach to solving this, best summarised by &lt;a href="http://www.tbray.org"&gt;Tim Bray&lt;/a&gt;, and it relates to mobile operators:
 
&lt;q cite="http://www.tbray.org/ongoing/When/200x/2003/03/17/FastAlwaysOn"&gt;Fast pipe. Always on. Get out the way.&lt;/q&gt;
 
&lt;p&gt;In other words, mobile operators must resign themselves to being pure utilities, providing wireless data at ever-increasing speeds. They're wasting time and money creating their own software services for consumers, because Silicon Valley understand better what to provide, can innovate faster, and can scale better.
 
&lt;h4&gt;Back to the future...&lt;/h4&gt;
The mobile industry will go the same way as the PC industry. Initially, the only applications available were installed locally on the client. Then, basic web browsers became available. As network speeds increase, web applications became ever more popular. Eventually, people will live in the browser, wondering why any other applications even exist.
 
&lt;p&gt;Even Silicon Valley seems to be forgetting some of these lessons. Yahoo! Go is a java download for mobiles that displays email, internet search, and maps. Why aren't they just re-formatting their websites instead, especially as mobile browsers like Safari 3 and Opera 9 support features like Ajax?
 
&lt;h4&gt;Mobile operators ARE broadband providers&lt;/h4&gt;
The recent rush of mobile operators into providing home broadband is no surprise. It's a chance for them to learn the ropes before the mobile industry becomes fully IP-based too.
 
&lt;p&gt;Unfortunately, they've failed to learn a key lesson of the web: IP is stupid, and intentionally so. All the power lies at the edge, with the content. Providing good content and services is a very different business to managing an IP network, and I think they'll struggle to do both.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-2286793692352372620?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/2286793692352372620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=2286793692352372620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2286793692352372620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2286793692352372620'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/07/mobile-web-fast-pipe-always-on-get-out.html' title='The mobile web: Fast Pipe, Always On, Get Out the Way'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-3365212879982289374</id><published>2007-07-26T15:53:00.000Z</published><updated>2007-08-19T19:08:56.426Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>New types of computer: display and desk</title><content type='html'>For years, there have been three basic form factors for computers - the desktop, the laptop, and the PDA / smartphone. Now, finally, Moore's law and new display technology are changing things.
 
&lt;p&gt;I'm not referring here to the &lt;a href="http://www.apple.com/imac/"&gt;iMac&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Tablet_PC"&gt;Tablet PC&lt;/a&gt; or &lt;a href="http://www.apple.com/iphone/"&gt;iPhone&lt;/a&gt; - these follow traditional factors, albeit in a new way. I'm also not talking about the underlying functionality, which is converging for all factors towards internet access, phone, and camera.
 
&lt;p&gt;Instead, I'm saying computers will start to flourish in new environments. There are two in particular I've got in mind - the display, and the desk.
 
&lt;h4&gt;Display&lt;/h4&gt;
We'll soon see many display computers for the home. These are computers used for displaying information or art - usually wall-mounted, or sat on a table or mantelpiece.
 
&lt;p&gt;The first examples are &lt;a href="http://en.wikipedia.org/wiki/Digital_photo_frame"&gt;digital photo frames&lt;/a&gt;. Already, some are adding Wifi, to display photos from a home PC or from a photo sharing website like Flickr.
 
&lt;p&gt;Within a few years, they'll have touch screen web browsers too, enabling them to display any website.
 
&lt;p&gt;Imagine a display in your kitchen showing a clock, your up to date calendar, the latest weather information, and the news headlines.
 
&lt;p&gt;Or imagine a display in the living room connected to the British National Gallery website, rotating through their art collection.
 
&lt;p&gt;Or even imagine a display on the bedside table, showing a clock during the night, and tuning in to a TV to wake you up with the morning news.
 
&lt;p&gt;Although they'll be standard web browsers, people won't use them much to browse - mostly, they'll be connected to a single website, refreshing regularly to show the latest content.
 
&lt;h4&gt;Desk&lt;/h4&gt;
When you're in the office, you want more than a computer desktop - you want a computer desk. Watch the &lt;a href="http://www.microsoft.com/surface/"&gt;Microsoft Surface&lt;/a&gt; demonstration to get the idea, and imagine if your entire office desk was a touch screen computer. This replicates the physical paper and files scattered around your desk for the virtual world.
 
&lt;p&gt;Personally, I can imagine a computer desk being easier to use at an angle rather than horizontal, so you could reach documents further away.
 
&lt;p&gt;I'm sure the software and processing power for this is here today. We might have to wait a while for the display technology, though - after all, it requires massive, durable, high resolution touch screens. But the first prototypes are coming out now.
 
&lt;h4&gt;Fitting our lifestyles better&lt;/h4&gt;
People have been talking about the digital home for a long time. Finally, the vision is becoming clearer - touch screen web browsers, connected to personalized services in the cloud (the home server was a red herring).
 
&lt;p&gt;Now we have this vision, and most of the technology required to achieve it. It's a question of fitting it to our lifestyles - whether it's in the office, the kitchen, or the living room.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-3365212879982289374?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/3365212879982289374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=3365212879982289374' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/3365212879982289374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/3365212879982289374'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/07/new-types-of-computer-display-and-desk.html' title='New types of computer: display and desk'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-4575420822161843213</id><published>2007-07-25T20:52:00.000Z</published><updated>2007-08-19T19:08:35.919Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='SVG'/><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>SVG as image format</title><content type='html'>There are two common methods for adding SVG to a page - inline, via &amp;lt;svg&amp;gt;, and externally, via &amp;lt;object&amp;gt;.
 
&lt;p&gt;The &amp;lt;object&amp;gt; element is bad. It's not semantic - it may as well be called &amp;lt;other&amp;gt; or &amp;lt;miscellaneous&amp;gt;. Although useful in the short term for displaying SVG, I would hope that this use will diminish.
 
&lt;p&gt;The inline &amp;lt;svg&amp;gt; element is also bad, for the same reason - it's not semantic. It's the equivalent of having a &amp;lt;jpg&amp;gt; element, rather than using &amp;lt;img&amp;gt; - it's named after the format, rather than the purpose.
 
&lt;p&gt;From the semantic perspective, there are three potential uses of SVG.
&lt;ul&gt;
&lt;li&gt;Foreground images: use &amp;lt;img src="x.svg"&amp;gt; to point to an SVG file&lt;/li&gt;
&lt;li&gt;Background images: use CSS "background-image" to point to an SVG file&lt;/li&gt;
&lt;li&gt;Inline with connected DOM: use &amp;lt;iframe&amp;gt; to point to an SVG file.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These are much better because they re-use existing semantic elements.
 
&lt;p&gt;Unlike foregrounds or inline images, backgrounds should not enable any user interaction - events (e.g. mousedown), hyperlinks, pseudo-classes (e.g. :hover), etc. Some people say javascript should be turned off - this might be a rough and ready first implementation, but some javascript might be appropriate (e.g. random placement of shapes, or animation), so long as the "no user interaction" rule is followed.
 
&lt;p&gt;The other advantage of &amp;lt;img&amp;gt; and CSS background-image over &amp;lt;svg&amp;gt; is that you don't need to use XHTML. Standard HTML gets round a whole series of issues with mime types, browser control, and backwards compatibility.
 
&lt;h4&gt;Advantages of SVG as image format&lt;/h4&gt;
&lt;p&gt;SVG images fill a lot of gaps with HTML styling:
&lt;ul&gt;
&lt;li&gt;rounded rectangles, circles, and any polygon&lt;/li&gt;
&lt;li&gt;fancy borders (arcs, swirls, etc)&lt;/li&gt;
&lt;li&gt;opacity, color gradients and filters&lt;/li&gt;
&lt;li&gt;shape hyperlinks and :hover, rather than pixel maps&lt;/li&gt;
&lt;li&gt;interaction via the DOM (for foreground images)&lt;/li&gt;
&lt;li&gt;scaling of background images multiple backgrounds (in one SVG)&lt;/li&gt;
&lt;li&gt;background text (e.g. graffitti, murals, etc)&lt;/li&gt;
&lt;li&gt;intricate website 'themes' to each page&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The possibilities for graphical designers are huge.
 
&lt;h4&gt;Browser support&lt;/h4&gt;
&lt;p&gt;I'm very pleased to see that the next version of Opera will support SVG images via &amp;lt;img&amp;gt; and background-image. Unfortunately, it's not on the schedule for either Firefox 3 or Safari 3, although it's an aspiration for both teams.
 
&lt;p&gt;There are four possible methods of using SVG in a webpage - &amp;lt;svg&amp;gt;, &amp;lt;object&amp;gt;, &amp;lt;img&amp;gt;, and CSS backgrounds.
 
&lt;p&gt;The SVG implementation status for Firefox and Safari is &lt;a href="http://www.codedread.com/svg-support.php"&gt;marked&lt;/a&gt; at around 55%. Personally, while they only support two of these four methods, I'd hold them at half this - 22%.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-4575420822161843213?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/4575420822161843213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=4575420822161843213' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4575420822161843213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4575420822161843213'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/07/svg-as-image-format.html' title='SVG as image format'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-7623855280512467588</id><published>2007-07-25T19:34:00.000Z</published><updated>2007-08-19T19:08:20.819Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><title type='text'>Microsoft still don't get it</title><content type='html'>quote this week from their CEO:

&lt;blockquote cite="http://blogs.zdnet.com/microsoft/?p=567"&gt;&lt;p&gt;Ballmer explained that Microsoft already is rearchitecting its core platform to be more of a Web-centric one. As he told the Partner Conference audience, “the programming model stays .Net and Windows.” But beyond that, Microsoft is is redoing its products and business models from scratch.&lt;/blockquote&gt;

How do they expect to be Web-centric, if they're using tools for programming client-server? What's wrong with HTML, javascript, RSS, and dynamic server-side languages like PHP?

Google must be laughing all the way to the bank.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-7623855280512467588?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/7623855280512467588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=7623855280512467588' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7623855280512467588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7623855280512467588'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/07/microsoft-still-dont-get-it.html' title='Microsoft still don&apos;t get it'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-8220440752248023785</id><published>2007-07-10T17:56:00.000Z</published><updated>2007-08-19T19:08:01.593Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><category scheme='http://www.blogger.com/atom/ns#' term='content management'/><title type='text'>Free your data: use HTML tables</title><content type='html'>Recently I've concluded that spreadsheets are not an optimal way to manage tabular data.
 
&lt;p&gt;That's quite a claim - Excel earns billions for Microsoft every year, and the recent upsurge for OpenOffice is about standards and open source, not about form and functionality. Even Google has faithfully represented the spreadsheet as an online application.
 
&lt;p&gt;So, let's review the problems with spreadsheets:

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Page layout, text, and multimedia.&lt;/strong&gt; You can't simply relegate this to MS Word - people want to annotate, explain and display their data professionally. Spreadsheets are awful at this.
&lt;li&gt;&lt;strong&gt;WYSIWYG.&lt;/strong&gt; Spreadsheets display endless rows and columns, no matter the amount of data.
&lt;li&gt;&lt;strong&gt;Semantic.&lt;/strong&gt; You can't distinguish headers, footers, or captions, except through styling. That prevents spreadsheets from being properly computer readable.
&lt;li&gt;&lt;strong&gt;Storing data.&lt;/strong&gt; it's hidden in a binary or zip file, among heaps of formatting, configuration data, etc.
&lt;li&gt;&lt;strong&gt;Linking&lt;/strong&gt; to external data especially on the internet - if you can only analyse your own data, you're missing a lot out - e.g. mashups.
&lt;li&gt;&lt;strong&gt;Publishing&lt;/strong&gt; data If you give someone a spreadsheet, they can edit all the cells - unless you rely on hopelessly insecure password protection!
&lt;li&gt;&lt;strong&gt;Collaboration&lt;/strong&gt; - online discussions, versioning, and synchronous editing
&lt;/ol&gt;

&lt;p&gt;The first three issues are fundamental and inherent with any spreadsheet. The final three are inherent with client-based spreadsheets, but could be partially solved using online tools like Google Spreadsheets.

&lt;h4&gt;Using web standards for tabular data&lt;/h4&gt;
&lt;p&gt;Let's take a step back and categorize everything that spreadsheets do with tabular data, and whether there are any internet technologies with equivalent functionality:
 
&lt;table border=1 cellspacing=0 align="center" width="95%"&gt;
&lt;caption style="font-style:italic"&gt;Spreadsheet capabilities, Web technologies &lt;/caption&gt;
&lt;tr style="background:#CCCCCC" align="center"&gt;
  &lt;th&gt;Capability&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;th&gt;Web technology&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;th&gt;Store&lt;/th&gt;
  &lt;td&gt;Visually in cells, semantically in data format&lt;/td&gt;
  &lt;td&gt;HTML tables&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;th&gt;Transform&lt;/th&gt;
  &lt;td&gt;Sort, group, filter, pivot, consolidate, chart&lt;/td&gt;
  &lt;td&gt;DOM / XSL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;th&gt;Style&lt;/th&gt;
  &lt;td&gt;Borders, shading, text formatting&lt;/td&gt;
  &lt;td&gt;CSS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;th&gt;Model&lt;/th&gt;
  &lt;td&gt;Functions, calculated values, goal seek&lt;/td&gt;
  &lt;td&gt;Javascript, XPath&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
 
&lt;p&gt;All these use cases - with the possible exception of conditional formatting, where CSS falls short - can be simply achieved using HTML, CSS, XSL, and a bit of javascript. The browser can beat both MS Excel and OpenOffice - we can free our data.

&lt;h4&gt;So what does it look like?&lt;/h4&gt;
&lt;p&gt;The solution is an editable HTML table inside a web page. The table contains all the spreadsheet functionality you need - sorting, grouping, functions, etc - but rather than taking up the whole page, it's just part of the page, and only contains the amount of cells you need. This allows analysts to surround their data with website text, images, or video (solving problem 1).
 
&lt;p&gt;Only the appropriate number of rows and columns are displayed in the table - if you want more, you can add them (solving problem 2). This makes the page much more natural and avoids existing problems with people getting lost at the 64,000th row.
 
&lt;p&gt;HTML tables are the best semantic way to store tabular data (solving problem 3), since there are a range of elements - from rows, to columns, to header and footers and captions - to label the contents. And because it's a web page, all sorts of collaboration, linking, and publishing techniques are immediately available (solving problems 4-7).

&lt;h4&gt;New use cases&lt;/h4&gt;
&lt;p&gt;There are plenty of new opportunities once you use the web to manage tabular data. None are particularly feasible using spreadsheets:
&lt;ul&gt;
&lt;li&gt;mashups
&lt;li&gt;new widgets, e.g. maps
&lt;li&gt;embedded microformats (e.g. addresses, calendars, etc)
&lt;li&gt;version management (rather than endless versions on corporate C: drives)
&lt;li&gt;publishing and read-only tables
&lt;li&gt;extensibility - new functions &amp; transformations
&lt;li&gt;using the web as a database, e.g. DabbleDB
&lt;/ul&gt;

&lt;h4&gt;Web Data Management&lt;/h4&gt;
&lt;p&gt;I don't think this even requires a new online application. You can easily imagine it being part of a blogging website - when you insert a table into your blog entry, the spreadsheet functionality immediately becomes available.
 
&lt;p&gt;It's just a matter of imagination and time before this happens - and personally, I can't wait!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-8220440752248023785?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/8220440752248023785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=8220440752248023785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/8220440752248023785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/8220440752248023785'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/07/free-your-data-use-html-tables.html' title='Free your data: use HTML tables'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-5565891139607406661</id><published>2007-07-06T15:16:00.000Z</published><updated>2007-08-19T19:07:34.371Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='content management'/><title type='text'>Semantic text editors and Wikis</title><content type='html'>Most text editors nowadays (including Microsoft Word) provide a huge range of different styles for the user to present their documents - bold, alignment, indent, border, background-color, spacing, font color, and many more.

&lt;p&gt;As a result, their range of semantic elements is poor. As Ian Hixie &lt;a href="http://xhtml.com/en/future/conversation-with-x-html-5-team/"&gt;says&lt;/a&gt;, "People think visually. Trying to ask a Web designer to think in terms of (e.g.) headers instead of font sizes is just something that WYSIWYG implementers and UI researchers simply haven't solved yet."

&lt;h4&gt;Too much style, too little semantics&lt;/h4&gt;

&lt;p&gt;This doesn't matter too much in a stand-alone Word Document. But in a collaborative environment - like a corporate portal, or a web community - it's much more important. It enforces a consistent look and feel, it allows for re-styling of the entire site if required, it reduces storage size, and it aids search engines.

&lt;p&gt;The solution may be the Wiki. The Wiki designer selects site-wide CSS styles for each HTML element, with some options where necessary. For example, they may select:
&lt;ul&gt;
&lt;li&gt;standard paragraph font type, color, size&lt;/li&gt;
&lt;li&gt;three types of &amp;lt;emp&amp;gt; element, with bold, italic and underline&lt;/li&gt;
&lt;li&gt;standard header elements&lt;/li&gt;
&lt;li&gt;standard list types&lt;/li&gt;
&lt;li&gt;various different table options, e.g. header rows and cells, data rows and cells&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then end users must choose the relevant elements, rather than using arbitrary styling. By removing unnecessary options - for example, enforcing the Arial font - Wikis are also actually easier to use.

&lt;p&gt;The semantic text editor is an old vision. But new ideas about content management and user collaboration - specifically, Wikis, which will grow massively in usage - offer a solution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-5565891139607406661?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/5565891139607406661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=5565891139607406661' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5565891139607406661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/5565891139607406661'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/07/semantic-text-editors-and-wikis.html' title='Semantic text editors and Wikis'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-2584033846539528794</id><published>2007-07-01T22:39:00.000Z</published><updated>2007-08-19T19:07:11.363Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='binding'/><title type='text'>Functional Animation, revisited</title><content type='html'>Since my &lt;a href="http://chrisfjay.blogspot.com/2007/02/animating-web-functional-styles.html"&gt;blog post on Functional Animation&lt;/a&gt;, there's been some movement towards the idea of setting DOM nodes to equal functions of other (potentially varying) nodes.

&lt;p&gt;In fact, this idea already exists in XSL - see the code below, where the second paragraph is set to contain the same text as the first paragraph.

&lt;pre&gt;&lt;code&gt;
&amp;lt;?xml version="1.0" encoding="ISO-8859-1"?&amp;gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml/" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;p id="p1"&gt;p1 content&amp;lt;/p&amp;gt;
&amp;lt;p id="p2" title="{//p[@id='p1']}"&amp;gt;
          &amp;lt;xsl:value-of select="//p[@id='p1']"/&amp;gt;
&amp;lt;/p&amp;gt;
&amp;lt;a href="javascript:document.getElementById('p1').textContent 
  = 'test'"&amp;gt;Test&amp;lt;/a&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;When you click on the "Test" link, the value of p1 is changed - and p2 should automatically update too (both its content and its title attribute).

&lt;p&gt;Unfortunately, p2 doesn't update - it seems that browser makers don't automatically re-execute XSL stylesheets. Interestingly, CSS stylesheets do re-execute when you add or change nodes, and there's no mention of what should happen in the XSL spec. I don't see why browser makers couldn't extend their code.

&lt;h4&gt;An idea whose time has come&lt;/h4&gt;
This idea of Functional Animation is so useful and intuitive - probably replacing most awkward DOM Events code - that it's a real shame there aren't any widescale implementations.

&lt;p&gt;Having said that, I recently saw the idea cropping up in several places:
&lt;ul&gt;
&lt;li&gt;the bind keyword in &lt;a href="https://openjfx.dev.java.net/Getting_Started_With_JavaFX.html"&gt;Java FX scripts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;the "{ }" &lt;a href="http://www.adobe.com/devnet/flex/articles/paradigm.html"&gt;binders in Flex 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.google.co.uk/search?source=ig&amp;hl=en&amp;q=functional+reactive+programming&amp;meta="&gt;Functional Reactive Programming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;the &lt;a href="http://www.whatwg.org/specs/web-forms/current-work/#the-output"&gt;&amp;lt;output&amp;gt;&lt;/a&gt; form element in HTML 5&lt;/li&gt;
&lt;li&gt;the &lt;a href="http://www.w3.org/TR/xforms/slice2.html"&gt;&amp;lt;bind&amp;gt;&lt;/a&gt; element in XFoms &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Personally, I like the XSL approach with inline XPath, because it's much more natural at selectors. On the other hand, some might prefer javascript due to its familiarity and extra features (e.g. Math and String functions).

&lt;p&gt;Either way, it's clearly an idea whose time has come!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-2584033846539528794?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/2584033846539528794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=2584033846539528794' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2584033846539528794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2584033846539528794'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/07/functional-animation-revisited.html' title='Functional Animation, revisited'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-6404585765141452322</id><published>2007-07-01T22:32:00.000Z</published><updated>2007-08-19T19:06:57.472Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><title type='text'>REST, Ajax, and personalization</title><content type='html'>I didn't realise it until recently, but if you follow REST principles, then you're pretty much forced towards Ajax - the two come together. That's due to page personalization.
 
&lt;p&gt;When I navigate to www.amazon.com, several parts of the page are personalized. It says "Hello, Chris Jay" at the top, and offers recommendations for me, presumably based on purchases I've made in the past.
 
&lt;p&gt;Although it's a very nice touch, this bothers me. At first glance, following REST, shouldn't the URL www.amazon.com be the same for everyone? Otherwise it can't be cached!
 
&lt;h4&gt;Option 1: Separate URLs for everyone&lt;/h4&gt;
One option would be to redirect me immediately to something like www.amazon.com/ChrisJay/, containing my personalized homepage. This would require permissions, as set by the cookie - otherwise, other people could access this URL too. But that also holds for the current Amazon site.
 
&lt;p&gt;There are several benefits to this approach. Amazon and my ISP can now both cache my homepage, so when I access it again, I see it much more quickly. And it's obvious from the URL that the page is personalized.
 
&lt;p&gt;Unfortunately, following this option, the main body of the page - the bit that's not personalized - is not cached separately. It has to be produced again for every user.
 
&lt;h4&gt;Option 2: Same URLs for everyone, use Ajax&lt;/h4&gt;
Another approach would be to keep using www.amazon.com for everyone, but include some Ajax that scans the HTTP header, reads the current user id, uses it to GET another REST URL (e.g. /recommendations/ChrisJay), and displays it inline.
 
&lt;p&gt;That way, the homepage can be cached for anyone (including the Ajax code), the personalized bits can also be cached separately, and the REST architecture is still followed.
 
&lt;p&gt;For this reason, Option 2 is the better approach.
 
&lt;h4&gt;Designing your URLs&lt;/h4&gt;
The first step to building REST sites is to select your URLs.
 
&lt;p&gt;You might think the rule is "one URL for every page". But that's not necessarily true, as Option 2 shows, especially if you're offering personalized sections to a page.
 
&lt;p&gt;A better rule would be "one URL for every page and for every personalized section".
 
&lt;p&gt;Then you can use Ajax to tie the two up.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-6404585765141452322?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/6404585765141452322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=6404585765141452322' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/6404585765141452322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/6404585765141452322'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/07/rest-ajax-and-personalization.html' title='REST, Ajax, and personalization'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-7139051405994183809</id><published>2007-06-29T00:51:00.001Z</published><updated>2007-08-19T19:06:28.779Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='content management'/><title type='text'>Content Management</title><content type='html'>Content Management is one the most important categories of software. Two years ago, Microsoft Office was the inevitable choice, with various hosting applications like Sharepoint for the enterprise. But there's been a huge amount of change in the last two years - from OpenOffice to Google Spreadsheets to Youtube.
 
&lt;p&gt;It's now (just) possible to see what Content Management will be like in future - and it's already clear that no one is near yet.
 
&lt;h4&gt;About Content Management&lt;/h4&gt;
The first question is, what is content?
&lt;ul&gt;
&lt;li&gt;text (e.g. HTML, doc or xls) &lt;/li&gt;
&lt;li&gt;raster images (e.g. JPG, PNG)&lt;/li&gt; 
&lt;li&gt;vector images (e.g. SVG)&lt;/li&gt;
&lt;li&gt;audio (e.g. mp3) &lt;/li&gt;
&lt;li&gt;video (e.g. mpeg) &lt;/li&gt;
&lt;li&gt;structured data (e.g. various XML)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The last category is really a miscellaneous bucket, which I don't expect to contain much except for niche applications. Raw XML is great for data crunching and back-end configurations, but I don't see it being used much for content - we have more specific languages (like HTML and SVG) for that.
 
&lt;p&gt;The second question is, what is management?
&lt;ul&gt;
&lt;li&gt;CRUD (create, read, update, delete) &lt;/li&gt;
&lt;li&gt;publishing  &lt;/li&gt;
&lt;li&gt;collaboration (CRUD permissions, discussion tools) &lt;/li&gt;
&lt;li&gt;versioning &amp; audit trail &lt;/li&gt;
&lt;li&gt;syndication (subscribing to feed) &lt;/li&gt;
&lt;li&gt;search &lt;/li&gt;
&lt;li&gt;storage (includes records management)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Web Office Suites&lt;/h4&gt;
If you look through this list, Microsoft Office only really handles the first option. Sharepoint handles most of the rest, but that's only used in the enterprise - what about other people?
 
&lt;p&gt;That's why you can't rule out web office suites like Google Apps - they may be very basic at CRUD, but they can be excellent at management functions 2 through 7 - and how many people really want complicated document formatting options anyway?
 
&lt;p&gt;The most interesting content management technology is, of course, the Wiki. Wikis naturally cater for all seven management functions above. The only problem is, traditionally Wikis have been restricted to plain text and totally open permissions, but there's no reason why that couldn't change.
 
&lt;p&gt;For example, JotSpot was (until being acquired by Google) selling a Wiki for corporate use that included HTML calendars and spreadsheets as editable pages. And I don't see why you couldn't edit other media collaboratively using a Wiki - especially vector graphics.
 
&lt;h4&gt;Ideas for a Web Office&lt;/h4&gt;
Google has been suprisingly quiet about the future of JotSpot since acquiring it. If I'm right, their strategy will be to convert Google Apps into a Wiki suite that covers all types of content (1-6 above), and all types of management (1-7 above).
 
&lt;p&gt;For example, Youtube could become a Wiki, including video editing capability (with permissions settings). Picasa will become a Wiki-based competitor to Photoshop. They could be packaged up with general Wiki website editing functionality, and sold to corporates (or made available to consumers, supported by ads).
 
&lt;p&gt;To compete, Microsoft will have to cannibalize their existing Office suite, including Sharepoint. I'm still not sure they're ready for this yet. 
 
&lt;h4&gt;In summary&lt;/h4&gt;
The future of content management is Wikis, allowing management of all types of content: web pages, photos, vector diagrams and videos. It'll be based in the browser, using standard web technology like HTML, CSS, javascript and SVG. There'll be a lot more emphasis on collaboration, syndication, and search. And now the future is clear, there will be a race to achieve it - and Google has the head start.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-7139051405994183809?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/7139051405994183809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=7139051405994183809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7139051405994183809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/7139051405994183809'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/06/content-management.html' title='Content Management'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-8405241242655292552</id><published>2007-06-29T00:37:00.000Z</published><updated>2007-08-19T19:05:47.418Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><title type='text'>SonyEricsson W960 versus Apple iPhone</title><content type='html'>All the recent iPhone hype has removed focus from other manufacturors plans. In most cases, it doesn't matter, because most phones are just thinner versions of the previous model. 
 
&lt;p&gt;But I'm really surprised there hasn't been more buzz about the &lt;a href="http://www.allaboutsymbian.com/news/item/5440_Sony_Ericsson_W960i-WiFi_Walkm.php"&gt;Sony Ericsson W960&lt;/a&gt;, which will be released in Q4 - before the iPhone in its target markets (Europe and Asia).
 
&lt;p&gt;Check the table below to compare features.
 
&lt;table border="1" cellspacing="0px" cellpadding="2px"&gt;
&lt;tr&gt;&lt;th&gt;Feature&lt;/th&gt;&lt;th&gt;iPhone&lt;/th&gt;&lt;th&gt;W960&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Touch Screen&lt;/td&gt;&lt;td&gt;Y&lt;/td&gt;&lt;td&gt;Y&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Browser&lt;/td&gt;&lt;td&gt;Safari 3&lt;/td&gt;&lt;td&gt;Opera 9&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Music Player&lt;/td&gt;&lt;td&gt;Y&lt;/td&gt;&lt;td&gt;Y&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Video Player&lt;/td&gt;&lt;td&gt;Y&lt;/td&gt;&lt;td&gt;Y&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Memory&lt;/td&gt;&lt;td&gt;8Gb&lt;/td&gt;&lt;td&gt;8Gb&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Wifi&lt;/td&gt;&lt;td&gt;Y&lt;/td&gt;&lt;td&gt;Y&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Connection&lt;/td&gt;&lt;td&gt;2.5G&lt;/td&gt;&lt;td&gt;3G&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Camera&lt;/td&gt;&lt;td&gt;2 MPx&lt;/td&gt;&lt;td&gt;3.2 MPx&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Keyboard&lt;/td&gt;&lt;td&gt;Virtual&lt;/td&gt;&lt;td&gt;Physical + handwriting recognition&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Operator&lt;/td&gt;&lt;td&gt;AT&amp;amp;T&lt;/td&gt;&lt;td&gt;Any&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Development&lt;/td&gt;&lt;td&gt;Ajax&lt;/td&gt;&lt;td&gt;Ajax + client&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
 
&lt;p&gt;Note that the W960 phone will be available to all operators, developers have full access, it has a better camera, just as good a web browser, and it's 3G. Unfortunately, pricing information is not available, but it'll be interesting to see how it compares with the iPhone.
 
&lt;p&gt;I'd also be very surprised if the W960 didn't come with &lt;a href="www.omnifone.com/news_detail_musicstation_june_launch.htm"&gt;MusicStation&lt;/a&gt; installed - which means you can subscribe to a massive library of songs, and download them directly for free - without even touching a PC!
 
&lt;p&gt;At the very least it seems Steve Jobs was wrong about the iPhone being five years ahead of the industry ... it'll have a fight on its hands outside the US.&lt;em&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-8405241242655292552?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/8405241242655292552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=8405241242655292552' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/8405241242655292552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/8405241242655292552'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/06/sonyericsson-w960-versus-apple-iphone.html' title='SonyEricsson W960 versus Apple iPhone'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-3195817143977082277</id><published>2007-06-17T09:20:00.000Z</published><updated>2007-08-19T19:05:10.129Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Atom'/><title type='text'>Ajax and the iPhone: great, but what about RSS?</title><content type='html'>So, Apple announced that the iPhone will be programmable, but only using HTML, CSS and Javascript.

&lt;p&gt;Most people were pretty underwhelmed by this news - it sounds like Apple's quick fix to build a development community, and it probably is.

&lt;p&gt;But this is a massive story. We will finally have a popular device whose developers will have to rely entirely on internet standards. The internet will receive another boost, as developers realise how much they can achieve - even Google Spreadsheets - and, after the kicking and screaming has subsided, I don't believe they'll want to look back to proprietary client technology.

&lt;p&gt;After all, the desktop world is moving away from client applications towards the internet - and it's going to be the same on the smart phone.

&lt;h4&gt;Internet Apps, not Client Apps&lt;/h4&gt;

Steve Jobs mentioned making a call and sending an email via Safari - I assume this means they'll support &amp;lt;a href="mailto:x@y.com"&amp;gt;Email me&amp;lt;/a&amp;gt; and &amp;lt;a href="callto:+112345"&amp;gt;Call me&amp;lt;/a&amp;gt; via HTML. At once, seamless integration with CRM and corporate directories will be straightforward.

&lt;p&gt;Of course, this makes the decision to stick with GPRS, rather than 3G, even more strange. Download speeds will be pitiful once you're outside a Wifi connection. Surely they'll produce a 3G model soon, especially for Europe?

&lt;h4&gt;Offline RSS&lt;/h4&gt;

I'd love to see offline RSS in the iPhone. If it synched your RSS feeds every time you hit a Wifi zone, and stored them locally for offline access, that would be a tremendous win.

&lt;p&gt;After all, what is iTunes.com but a personalized RSS feed of music and video files? If your phone wirelessly synched up with iTunes.com, you wouldn't need to touch your PC!

&lt;p&gt;And offline RSS would also allow me to synchronize with corporate files, Google's Picasa, news, and much more.

&lt;p&gt;If that's not a good programming API, I don't know what is!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-3195817143977082277?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/3195817143977082277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=3195817143977082277' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/3195817143977082277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/3195817143977082277'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/06/ajax-and-iphone-great-but-what-about.html' title='Ajax and the iPhone: great, but what about RSS?'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-2184497461409817064</id><published>2007-06-09T09:51:00.001Z</published><updated>2007-08-19T19:04:34.403Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>The internet applications gold rush</title><content type='html'>The golden age for internet applications is now - surpassing even the dot-com era of the late 90s. The technology, infrastructure and understanding of the power of the internet has reached critical mass.

&lt;p&gt;I believe that for any industry, a couple of experts could put together - in a single day - a revolutionary business plan for automating its key processes, using the internet. It's that easy!

&lt;p&gt;All you have to do is map out existing tools against the end to end processes, spot the gaps, apply standard internet advantages (collaboration, accessibility, open standards) and keep an open mind, and inspiration will quickly strike.

&lt;p&gt;For example, retail banking: one of their critical business processes is fulfilling transactions. Why shouldn't I be able to

&lt;ul&gt;&lt;li&gt;subscribe to a secure RSS / Atom feed of my statement&lt;/li&gt;&lt;li&gt;tag, star, annotate, and search for each statement entry&lt;/li&gt;&lt;li&gt;click on hyperlinks from each statement entry to the relevant retailor's receipt and product description &lt;/li&gt;&lt;li&gt;use customized graphs, charts and tables to analyze my statement&lt;/li&gt;&lt;li&gt;use the same chip + pin security to log into my online statement as for when I make purchases&lt;/li&gt;&lt;li&gt;accept secure payments from anyone else, using chip + pin&lt;/li&gt;&lt;li&gt;make customized standing orders; for example, automatically transferring 70% of my balance every day, so long I have more than £1000&lt;/li&gt;&lt;li&gt;Be part of an online community for sharing financial advice, information, and transactions.&lt;/li&gt;&lt;li&gt;arrange private loans online with community members, facilitated with credit checks, legal agreements, online community-based reputation, loan insurance, and various interest rate options and calculations&lt;/li&gt;&lt;li&gt;allow community collaboration, so I can list other users that have view (filtered or full), add (make transactions), edit (annotate, tag, star my statement entries), or delete (cancel transactions) permissions to my statement. &lt;/li&gt;&lt;/ul&gt;

You might have thought financial services was pretty automated already. But based on a 10-minute brainstorm, it's clearly missing the internet touch!

&lt;p&gt;In this blog, I've already applied the same techniques to the media, telecommunications, and content management industries. That's just the start.

&lt;p&gt;But if I can do it, then other people can, too. Expect an avalanche of internet start-ups across a huge range of industries. This will revolutionize our world!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-2184497461409817064?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/2184497461409817064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=2184497461409817064' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2184497461409817064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2184497461409817064'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/06/internet-applications-gold-rush.html' title='The internet applications gold rush'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-9119870259841042240</id><published>2007-06-09T09:45:00.000Z</published><updated>2007-08-19T19:04:14.845Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>Replacing F1 through F12 with browser keys</title><content type='html'>Traditionally, keyboards come with function keys - F1 through F12.

&lt;p&gt;These keys are all wrong. It's not clear what they do, in any given application or OS. They take up valuable space and in my experience merely add confusion - they're way too abstract.

&lt;p&gt;I would advocate the following four keyboard buttons instead:

&lt;ul&gt;&lt;li&gt;Home&lt;/li&gt;&lt;li&gt;Back&lt;/li&gt;&lt;li&gt;Forward&lt;/li&gt;&lt;li&gt;Refresh&lt;/li&gt;&lt;/ul&gt;

These actions have proved their worth on the web. They're simple, easily understood, and very powerful. They exert pressure on the software developer to program the right way.

&lt;p&gt;Putting them clearly on the keyboard would make web browsing a much better experience, by reducing unnecessary use of the mouse.

&lt;p&gt;It would also increase consistency with smaller devices, such as the iPhone or Blackberry - even if you don't have a QWERTY keyboard, you still need to navigate around.

&lt;p&gt;And other applications - such as email on Blackberry - could easily use them too, bringing a standard user interface framework to computers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-9119870259841042240?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/9119870259841042240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=9119870259841042240' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/9119870259841042240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/9119870259841042240'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/06/replacing-f1-through-f12-with-browser.html' title='Replacing F1 through F12 with browser keys'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-577646008973874612</id><published>2007-06-03T22:42:00.000Z</published><updated>2007-06-04T18:52:57.682Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='SVG'/><title type='text'>Vector Graphics should belong to the web</title><content type='html'>There have always been two competing SVG visions.
 
&lt;p&gt;One camp sees SVG as a stand-alone XML format for graphical applications, such as graphical design tools or mobile phone user interfaces. 
 
&lt;p&gt;The other camp sees SVG as belonging to the web - an extension to HTML, and a way for web designers to add exciting new features to their pages. Sitting in this camp are the browser makers (and probably most of Silicon Valley, when they think about it).
 
&lt;p&gt;Of course, there is a spectrum of viewpoints between the two - but the W3C seems dominated by the stand-alone camp, who have seemingly neglected interoperability with HTML, CSS and current browsers.
 
&lt;p&gt;This is betting against the internet. The browser is the new platform, and HTML, CSS and javascript are the basic formats of choice. SVG must fit into that picture.
 
&lt;h4&gt;Silverlight and Flash are not the answer&lt;/h4&gt;
Microsoft and Adobe have proprietary vector graphics packages, using plug-ins (in fact, both also handle streaming video and audio). Adobe's Flash has a huge installed base, and both come with great design tools for creating compelling content.

&lt;p&gt;But they also have weaknesses. They follow proprietary standards, they are inaccessible (especially in their binary formats), they overlap with HTML functionality, they're not propertly part of the DOM, and they don't have CSS support.
 
&lt;p&gt;Therefore both Silverlight and Flash firmly belong to the stand-alone camp, not the "part of the web" camp.
 
&lt;h4&gt;SVG should be an extension to HTML, CSS and the DOM&lt;/h4&gt;
Another way of saying "part of the web" is to say "an extension to HTML, CSS and the DOM".
 
&lt;p&gt;That is, SVG should start with the existing web - our current browsers and websites - and provide additional elements, attributes, styles, and scripting power, to support vector graphics.
 
&lt;p&gt;In this spirit, I've listed ten principles that I think SVG should follow. Browser makers can follow these principles while maintaining compliance with SVG 1.1.
 
&lt;p&gt;For the examples, I've set XHTML as the default namespace, and I've linked "svg:" to the SVG namespace
 
&lt;h4&gt;1. No foreignobject required for HTML&lt;/h4&gt;
SVG has a &amp;lt;foreignobject&amp;gt; element, which you're meant to use for inline XHTML. Surely this isn't necessary - so long as elements have the right namespace, you should be able to mix them any way you want. Browsers should allow XHTML inside SVG, without &amp;lt;foreignobject&amp;gt;, e.g.
&lt;br&gt;        &amp;lt;svg:svg&amp;gt;
&lt;br&gt;        &amp;lt;svg:rect x="0" y="0" width="100px" height="100px"/&amp;gt;
&lt;br&gt;        &amp;lt;p&amp;gt;Hello&amp;lt;/p&amp;gt;
&lt;br&gt;        &amp;lt;/svg:svg&amp;gt;
&lt;p&gt;The HTML is positioned according to its parent, i.e. the &amp;lt;svg&amp;gt; element - see point 5 below.
 
&lt;h4&gt;2. Apply SVG layout to HTML&lt;/h4&gt;
HTML uses the box model for layout - everything is aligned to, and contained within, vertical and horizontal boxes.
 
&lt;p&gt;SVG allows transformations for scaling, rotating and shearing coordinates. This is much more powerful than the box model, and might seem to be inconsistent - but actually, it's not! You can &lt;a href="http://chrisfjay.blogspot.com/2007/04/internet-geometry.html"&gt;construct twisted HTML boxes&lt;/a&gt;, following the coordinate axes.
 
&lt;p&gt;So, browsers should allow things like:
&lt;br&gt;    &amp;lt;p svg:transform="rotate(45)"&amp;gt;Hello World&amp;lt;/p&amp;gt;
 
&lt;h4&gt;3. Apply SVG fills, strokes, gradients, filters, patterns, and painting to HTML&lt;/h4&gt;
You should be able to apply all the great SVG effects to plain old HTML. See the example below for an HTML paragraph that has been filled with a red to yellow gradient!
    &lt;p&gt;
&lt;br&gt;    &amp;lt;svg:defs&amp;gt; 
&lt;br&gt;      &amp;lt;svg:linearGradient id="MyGradient"&amp;gt;
&lt;br&gt;        &amp;lt;svg:stop offset="5%" stop-color="#F60" /&amp;gt;
&lt;br&gt;        &amp;lt;svg:stop offset="95%" stop-color="#FF6" /&amp;gt;
&lt;br&gt;      &amp;lt;/svg:linearGradient&amp;gt;
&lt;br&gt;    &amp;lt;/svg:defs&amp;gt;
&lt;br&gt;    &amp;lt;p svg:fill="url(#MyGradient)"&gt;Hello World&amp;lt;/p&amp;gt;

&lt;h4&gt;4. Apply SVG CSS to HTML&lt;/h4&gt;
If you look at the example above, the svg "fill" attribute carries out a similar role to the HTML "background-color" style. I don't see this as an issue - whenever present, it would take priority over CSS 2.1 styles. Similarly, SVG "strokes" would take priority over HTML "border" styles.
 
&lt;p&gt;This would also apply to external CSS files, as the example below shows:
&lt;br&gt;      p {stroke-width: 2px; fill-opacity: 0.5;}
 
&lt;p&gt;Not only do SVG styles overlap somewhat with HTML ones, but they use different conventions for units, too. In HTML, CSS values must have a unit; in SVG, they don't have to. Fortunately, the SVG "px" unit works the same as having no units, so browsers could define "px" as the default unit.
 
&lt;h4&gt;5. Apply HTML CSS to SVG&lt;/h4&gt;
The SVG &amp;lt;svg&amp;gt; element could follow the box model, allowing floating and automatic re-flow on page re-sizing. For example,
 &lt;p&gt;
&amp;lt;svg:svg&amp;gt;
&lt;br&gt;  &amp;lt;svg:circle cx="100" cy="100" r="50"/&amp;gt;
&lt;br&gt;  &amp;lt;/svg:svg&amp;gt;
&lt;br&gt;  &amp;lt;svg:svg style="float:left"&amp;gt;
&lt;br&gt;  &amp;lt;svg:circle cx="100" cy="100" r="50"/&amp;gt;
&lt;br&gt;  &amp;lt;/svg:svg&amp;gt;
 
&lt;br&gt;represents two circles that float next to each other, just as jpgs would on the page. Any HTML CSS style, including layout styles, can apply to the &amp;lt;svg&amp;gt; elements.
 
&lt;h4&gt;6. Allow HTML inside SVG shapes&lt;/h4&gt;
A common complaint with HTML is that everything appears boxed - you can't, for example, put a paragraph inside a circle. Well, with SVG you can - see below!
&lt;br&gt;        &amp;lt;svg:circle cx="100" cy="100" r="50"&amp;gt;
&lt;br&gt;          &amp;lt;p&amp;gt;Hello World&amp;lt;/p&amp;gt;
&lt;br&gt;        &amp;lt;/svg:circle&amp;gt;
&lt;p&gt;The browser should wrap the text inside the circle element. Standard CSS styles like margin and text should still be valid - for example, left-aligned text.
 
&lt;p&gt;What this means is that instead of plain old &amp;lt;div&amp;gt;, you can use &amp;lt;rect&amp;gt;, &amp;lt;circle&amp;gt;, &amp;lt;ellipse&amp;gt;, and &amp;lt;polygon&amp;gt; too. So long as the contents are pure HTML - no SVG, that would break the spec - this would help enormously.
 
&lt;h4&gt;7. Use HTML for text, not SVG&lt;/h4&gt;
Unlike SVG, HTML was specifically designed for text. SVG 1.1 doesn't have semantic text elements, like &amp;lt;p&amp;gt; for paragraph or &amp;lt;h1&amp;gt; for header or &amp;lt;ul&amp;gt; for bullet points. It doesn't even allow text wrapping!
 
&lt;p&gt;Once you've allowed SVG effects to be applied to HTML (points 2, 3 and 4 above), the only advantage to using SVG text is the &amp;lt;textpath&amp;gt; element - so let's allow that one too, as below!
 &lt;p&gt;
  &amp;lt;svg:defs&gt;
&lt;br&gt;    &amp;lt;svg:path id="MyPath"
&lt;br&gt;          d="M 100 200 C 200 100 300   0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100" /&amp;gt;
&lt;br&gt;  &amp;lt;/svg:defs&amp;gt;
&lt;br&gt;  &amp;lt;svg:textPath xlink:href="#MyPath"&amp;gt;
&lt;br&gt;      &amp;lt;p&amp;gt;We go up, then we go down, then up again&amp;lt;/p&amp;gt;
  &amp;lt;/svg:textPath&amp;gt;
&lt;p&gt;Imagine the power of this - you could have whole paragraphs, even &amp;lt;div&amp;gt; elements, following bendy paths! Again, this isn't inconsistent with the HTML box model - see point 2 above.
 
&lt;p&gt;The SVG &amp;lt;text&amp;gt; element is then totally redundant. You can still keep it in browsers, for backwards compatibility, but no one need use it.
 
&lt;h4&gt;8. Allow HTML animation&lt;/h4&gt;
SVG 1.1 includes elements from SMIL, allowing animation. This always struck me as slightly bizarre - why not just keep them in the SMIL spec, and reference them?
 
&lt;p&gt;Anyway, in a combined SVG / HTML document you should be able to apply animation to HTML elements too:

&lt;br&gt;   &amp;lt;svg:circle cx="100" cy="100" r="50"&amp;gt;
&lt;br&gt;      &amp;lt;p id="p1" fill-opacity="1"&amp;gt;Hello World&amp;lt;/p&amp;gt;
&lt;br&gt;   &amp;lt;/svg:circle&amp;gt;
&lt;br&gt;   &amp;lt;svg:animate xlink:href="#p1" attributeName="fill-opacity" attributeType="XML" 
&lt;br&gt;        begin="0s" dur="9s" fill="freeze" from="1.0" to="0.0" /&amp;gt;
&lt;br&gt;You could also animate the paragraph's position, by moving the containing circle around.
 
&lt;h4&gt;9. Browser-based SVG design tools&lt;/h4&gt;
There's a real lack of proper SVG design tools. Inkscape hasn't even reached version 1.0 yet, and it's holding back designers from using SVG.
 
&lt;p&gt;Rather than creating a client SVG design tool, why not just use the browser? Anyone could log on using Opera, Firefox, or WebKit, and create, edit, save, search, collaborate, and publish their designs. You can imagine it as part of the Google Apps suite. All the sophisticated rendering would be done by the browser - the editing is just javascript!
 
&lt;h4&gt;10. Keep the dream going&lt;/h4&gt;
The SVG community are not in good spirits. There is discontent at the W3C, who maintain the standard, especially from Mozilla and Apple who feel left out in favour of mobile phone vendors more interested in closed garden solutions. Adobe have dropped support for their plug-in, which was the best way to get SVG support in Internet Explorer. Mozilla have dropped several SVG elements from their forthcoming Firefox 3 browser, stating competing priorities. And Microsoft have announced their own proprietary, competing solution - Silverlight - to great fanfare.
 
&lt;p&gt;And yet, the dream remains tantalisingly close - in 9 months time, probably 20% of all desktop browsers, most smart phones, and many other devices (e.g. the Wii) will have pretty good SVG support. Can the slow, steady, and scattered progress of SVG overcome the might of Microsoft and Adobe?
 
&lt;p&gt;You bet it can. We just have to ditch stand-alone SVG, and ride the internet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-577646008973874612?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/577646008973874612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=577646008973874612' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/577646008973874612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/577646008973874612'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/06/web-vector-graphics.html' title='Vector Graphics should belong to the web'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-2553606040366486755</id><published>2007-06-02T16:53:00.000Z</published><updated>2007-08-19T19:03:46.055Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>HTML audio and video</title><content type='html'>HTML 5 will introduce new &amp;lt;audio&amp;gt; and &amp;lt;video&amp;gt; elements, for including these objects on a web page in a simple, standard way. Just as Netscape originally became successful due in part to the new &amp;lt;img&amp;gt; element, you can expect browser makers to quickly implement and take advantage of sound and video.

&lt;p&gt;Currently, sound and video is only available using the general purpose &amp;lt;object&amp;gt; element and various non-standard techniques for each plug-in (QuickTime, Silverlight, Flash, etc).

&lt;h4&gt;The new elements have several benefits:&lt;/h4&gt;
&lt;ul&gt;&lt;li&gt;accessible - to search crawlers, the visually impaired, etc&lt;/li&gt;
&lt;li&gt;standard API - consistent DOM, javascript, and HTML elements &amp;amp; attributes&lt;/li&gt;
&lt;li&gt;standard user interface - for play, pause, etc&lt;/li&gt;
&lt;li&gt;integrated with the web page - part of the DOM, controllable by javascript for play, pause, volume, etcclear scope -  just for video and audio, not for e.g. vector graphics&lt;/li&gt;&lt;/ul&gt;

&lt;h4&gt;Possible uses of them include:&lt;/h4&gt;
&lt;ul&gt;&lt;li&gt;Web page control of play, pause, fast forward, etc&lt;/li&gt;
&lt;li&gt;Web training videos with multiple choice tests on completion&lt;/li&gt;
&lt;li&gt;Video SVG filters (e.g. guassian blurs)&lt;/li&gt;
&lt;li&gt;Synchronized subtitles and sign language&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;Revealingly, both Flash and Silverlight don't neatly fit into this picture. They don't only enable video - they also handle vector graphics and html-like text. I suppose you could use the &amp;lt;video&amp;gt; element for Flash videos, and the &amp;lt;object&amp;gt; element for Flash graphics and text. But ideally you'd instead use html for text, and an element like &amp;lt;svg&amp;gt; or &amp;lt;vml&amp;gt; for vector graphics, in order to maintain the benefits above.

&lt;p&gt;Once you've got normal html, &amp;lt;video&amp;gt;, &amp;lt;audio&amp;gt;, and &amp;lt;svg&amp;gt;, is every type of multimedia covered? No - there's still a need for interactive gaming user interfaces and 3D, for a start. But you're much further, and there's always the &amp;lt;object&amp;gt; element for missing pieces.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-2553606040366486755?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/2553606040366486755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=2553606040366486755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2553606040366486755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2553606040366486755'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/06/html-audio-and-video.html' title='HTML audio and video'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-8268520286551875000</id><published>2007-06-02T16:23:00.000Z</published><updated>2007-08-19T19:03:04.130Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>Voice Browsing</title><content type='html'>There's a famous story about the Microsoft developers perfecting voice recognition for Windows - it worked great until one of them visited a friend's video website of someone shouting "Start - Run - Format C - OK".
 
&lt;p&gt;It's a great tale, but it's also a fundamental security issue that could derail most attempts at voice control of the client. The microphone should only be available to the application with focus (and not available for OS commands), and for privacy reasons, applications should always make it clear when they're listening and what they're likely to do with the data.
 
&lt;p&gt;These rules are pretty restrictive - but they fit very neatly onto the web!
 
&lt;h4&gt;The vocal web&lt;/h4&gt;
The web was designed with accessibility in mind - so that people with visual impairment could still access the web, by using voice browsers that read pages out load. There are even rarely used CSS styles for controlling vocal pitch, volume and tone.
 
&lt;p&gt;But the web isn't just for people to read data. What's missing is a standard way to write data using speech - especially filling out the standard HTML &amp;lt;input&amp;gt; and &amp;lt;textarea&amp;gt; elements.
 
&lt;p&gt;If this were possible, developers could create the following:
&lt;ul&gt;
&lt;li&gt;Mobile phone search engines - just talk to Google!&lt;/li&gt;
&lt;li&gt;Dictated web email, blogs, or private notes&lt;/li&gt;
&lt;li&gt;Full use of most applications - e.g. Amazon or eBay - for the visually impaired&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Vocal HTML&lt;/h4&gt;
Following the security rules above, any website could be speech-enabled in three steps:
&lt;ul&gt;
&lt;li&gt;Users adjust their browser settings to allow speech input (this could be a default on mobile phones)&lt;/li&gt;
&lt;li&gt;Developers prompt speech by styling input boxes with CSS 2.1 "cue-before" and "cue-after" styles&lt;/li&gt;
&lt;li&gt;Browsers vocally prompt form submission when they reach a submit element.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's it!
 
&lt;p&gt;There are two methods to do speech recognition:
&lt;ul&gt;
&lt;li&gt;Client-side: A browser plug-in converts speech to text, places the text in the relevant HTML element, then submits the form on request. &lt;/li&gt;
&lt;li&gt;Server-side: For POSTed forms, browsers simply attach an mp3 or audio file for translation by the server&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Despite the history, still lots of opportunity&lt;/h4&gt;
Voice recognition has been talked about for ages, but it's still a niche - many people probably still think it's a distant dream.
 
&lt;p&gt;But that will change, especially with the rise of the internet and mobile phones. And when it does, it won't only be the visually impaired that gains; it will be anyone accessing the internet without a good keyboard.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-8268520286551875000?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/8268520286551875000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=8268520286551875000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/8268520286551875000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/8268520286551875000'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/06/voice-browsing.html' title='Voice Browsing'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-436633936433789482</id><published>2007-05-24T22:35:00.000Z</published><updated>2007-05-24T22:40:28.952Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Software Development = Process Improvement</title><content type='html'>The point of enterprise applications is to enable business processes.

&lt;p&gt;Great developers understand their business process from end to end - the different departments and partners involved, the miss-steps and hand-offs, the data flows and human tasks at each stage. In fact, often they understand it better than the business managers!

&lt;p&gt;And the main role of many CIOs now is to own the process for improving business processes. This requires strong business skills and understanding of best practice in the marketplace.

&lt;h4&gt;Automating Process Improvement&lt;/h4&gt;
So it's pretty ironic that probably the least automated process I can think of is process improvement - it includes business requirements, analysis, design, coding, configuring, testing, communications, and release. Developers are meant to be the experts at automating processes, and they can't even figure out their own!

&lt;p&gt;As a result of this, you need a translation layer ("business analysts") between the business and software developers. The fact you need a translation layer really bugs me - it should be transparent.

&lt;p&gt;Developers all focus on programming languages and code techniques (Java versus .Net, or dynamic versus static, or REST versus WS-*), but this misses so much in the end to end process. For example, what if there was a website that
&lt;ul&gt;&lt;li&gt;hosted your application&lt;/li&gt;
&lt;li&gt;provided page design and mock-up functionality&lt;/li&gt;
&lt;li&gt;provided workflow design ability between different pages&lt;/li&gt;
&lt;li&gt;supported version management and code trunks&lt;/li&gt;
&lt;li&gt;created test environments on the fly&lt;/li&gt;
&lt;li&gt;produced automatic test scripts&lt;/li&gt;
&lt;li&gt;provided a security and permissions module&lt;/li&gt;
&lt;li&gt;handled auto-backups and disaster recovery&lt;/li&gt;
&lt;li&gt;handled Atom data sources&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Viewing Process Flow&lt;/h4&gt;
Developers want to create master process engines to direct workflows (e.g. Business Process Management Systems, or complex BPEL XML), but this misses the central lessons of the web: the URL, the stateless web page, the hyperlink, and the browser "back" button.

&lt;p&gt;I'm envisaging something a bit different: a 'page sorter view' for web pages, similar to Microsoft Powerpoint's ability to view presentation slides together. This could be used by site designers to:
&lt;ul&gt;&lt;li&gt;check completeness of the site&lt;/li&gt;
&lt;li&gt;ensure a consistent look and feel&lt;/li&gt;
&lt;li&gt;check which pages hyperlink to others (perhaps represented by arrows)&lt;/li&gt;
&lt;li&gt;check which pages view / edit data sources&lt;/li&gt;
&lt;li&gt;check page permissions&lt;/li&gt;
&lt;li&gt;view workflow from page to page&lt;/li&gt;
&lt;/ul&gt;

This way, much of the site design can be done before any development is even started, and in time for the business to validate it - it's a much better process for process improvement.

&lt;p&gt;You could even enable a REST style by guiding designers to select appropriate URLs up front, and promoting Atom for data sources.

&lt;h4&gt;Plenty of Room for Improvement&lt;/h4&gt;
Code writing is only a fraction of the end-to-end process for process improvement, which is generally very immature and un-automated.

&lt;p&gt;Just as Software as a Service (SAAS) providers are shaking up industries like account management, HR and Finance, I can see SAAS versions of Eclipse and Visual Studio taking over the market - not just for developers, but for designers and the business too.

&lt;p&gt;Only when developers have automated their own processes will they be able to turn their full power to enabling the business.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-436633936433789482?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/436633936433789482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=436633936433789482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/436633936433789482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/436633936433789482'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/05/software-development-process.html' title='Software Development = Process Improvement'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-4806275110697385064</id><published>2007-05-24T22:28:00.000Z</published><updated>2007-05-24T22:32:58.336Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet apps'/><title type='text'>Software</title><content type='html'>The internet is eroding many traditional application categories, and enabling many new ones.

&lt;p&gt;So it's worth revisiting what types of applications there are - which is another way of saying, "what is software for?".

&lt;p&gt;&lt;h4&gt;1. Content Management&lt;/h4&gt;
"Content" could be text, images, diagrams, videos, or sounds, whether produced by professionals or otherwise. Think of emails, phone calls, spreadsheets, organisation charts, books, newspaper articles, TV news, blogs, and shopping lists.

&lt;p&gt;"Management" includes
&lt;ul&gt;&lt;li&gt;creation (e.g. camera)&lt;/li&gt;
&lt;li&gt;editing (e.g. photo red-eye elimination)&lt;/li&gt;
&lt;li&gt;collaboration (e.g. discussing which bits to airbrush)&lt;/li&gt;
&lt;li&gt;versioning (e.g. knowing who, when and how it was edited)&lt;/li&gt;
&lt;li&gt;distribution (e.g. emailing photos, or publishing them to a website)&lt;/li&gt;
&lt;li&gt;consumption (e.g. viewing in a browser or digital photo frame)&lt;/li&gt;
&lt;li&gt;search (e.g. Google Images)&lt;/li&gt;
&lt;li&gt;storage (e.g. Photobucket online storage)&lt;/li&gt;
&lt;/ul&gt;

Microsoft Office ruled Content Management for over a decade. Now, the industry is moving towards the internet for distribution, web browsers for consumption, Google for search, and a host of online services - "Web 2.0" - for editing, collaboration, versioning, and storage. Although the revolution started in the consumer world, content management is moving to the enterprise too.

&lt;h4&gt;2. Consumer Services&lt;/h4&gt;
Many applications provide services (above and beyond content) for the general population. Examples include banking, shopping, dating, gaming, and travel websites.

&lt;p&gt;Consumer services was the focus of Web 1.0 and the first dot-com boom, with the awful moniker "disintermediation". Companies built websites on top of their back-end Process Management systems, to provide a cheap new way to reach their customers.

&lt;h4&gt;3. Process Management&lt;/h4&gt;
Process software is what keeps organizations ticking. "Process" includes HR, Finance, Sales, Supply Chain Management, and a host of industry-specific processes. "Management" involves driving workflow, enforcing business rules, managing data, providing reports and charts to track success, and offering tools to improve the process further.

&lt;p&gt;SAP and Oracle are the major providers of Process Management software, but many Software as a Service (SAAS) suppliers are challenging their business models using the internet as a distribution channel. Major corporations employ armies of software developers instead, to ensure a competitive advantage.

&lt;h4&gt;4. Environment Management&lt;/h4&gt;
Software is also used to sense and control the physical environment. Examples include thermostats, ABS braking in cars, production line robots, talking child's toys, oil rig drill systems, and vending machines.

&lt;p&gt;This is the area that the web hasn't yet reached - although TCP/IP is often used for device communications, and HTML displays are used as dashboards.

&lt;h4&gt;5. System Software&lt;/h4&gt;
System software is used internally in the IT industry to power the four application types above. Examples include operating systems, anti-virus tools, databases, and storage management systems.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-4806275110697385064?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/4806275110697385064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=4806275110697385064' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4806275110697385064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/4806275110697385064'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/05/software.html' title='Software'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-1629465700900240557</id><published>2007-05-16T20:55:00.000Z</published><updated>2007-05-16T21:04:16.392Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='business'/><title type='text'>Business Intelligence</title><content type='html'>Two years ago, the business intelligence market was pretty static. At the bottom end, tools like Microsoft Excel, ChartFX graphs and Crystal Reports were suitable for most data analysis. At the top end, Business Objects and Cognos ruled, incorporating data warehouses,  OLAP cubes and sophisticated data querying functionality.

&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Changes at the top end...&lt;/span&gt;
&lt;br&gt;Recently, the top end has completely changed as vendors realise they need to understand the business processes being analyzed. So it's merging with Business Process Management software - note the recent purchases by Tibco of Spotfire, and by Oracle of Hyperion. That's because there are common industry metrics and reports - like the click-through rate in the advertisement industry - which analysts want to see out of the box. Vendors also get a chance to move up the food chain and offer companies not just reports, but business advice too.

&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Opportunities at the bottom end&lt;/span&gt;
&lt;br&gt;
Meanwhile, the bottom end of the market has remained static. I think there is a massive opportunity here for innovative new tools based in the browser.
&lt;/p&gt;&lt;p&gt;That's because of two recent trends:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Most data is now available on the web, and if it isn't, many tools (e.g. bloggers) can easily get it there.&lt;/li&gt;&lt;li&gt;Browsers now support either SVG or VML, vector graphics formats that can be manipulated using javascript, in addition to Flash.&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Internet analysis&lt;/span&gt;
&lt;br&gt;
Imagine a website that you could log in to, type in a reference URL for your data, and immediately see all manner of customizable graphs and charts based on it. You can see it being part of an online suite of content management applications, alongside word processing, spreadsheets, and presentations.

&lt;/p&gt;&lt;p&gt;There are plenty of advantages compared to (for example) Microsoft Excel charts
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;You can easily analyse data stored elsewhere - in realtime - simply by typing in a URL&lt;/li&gt;&lt;li&gt;No need to download a client application, it can be done online&lt;/li&gt;&lt;li&gt;You can support a community of analysts, sharing chart types, techniques and advice&lt;/li&gt;&lt;li&gt;You can build up a library of chart types and styles, allow people to create favourites and apply them to many different data sources&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Moving business intelligence online&lt;/span&gt;
&lt;br&gt;
Many client applications are starting to move online - think of Google Docs, or MySpace blogs, or HP Snapfish - but they always take on a new twist. Often, this is in collaboration, storage and search.

&lt;/p&gt;&lt;p&gt;Low-end business intelligence - graphs, charts, and reports - is no exception. Expect a flurry of tools as Silicon Valley realises the power of web graphics.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-1629465700900240557?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/1629465700900240557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=1629465700900240557' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1629465700900240557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1629465700900240557'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/05/business-intelligence.html' title='Business Intelligence'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-2174215119798647462</id><published>2007-05-14T20:38:00.000Z</published><updated>2007-05-14T22:19:14.751Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>Paper versus computers</title><content type='html'>&lt;style&gt;
.cj_old {background: white}
.cj_recent {background: #CCCCCC}
.cj_next {background: #999999}
.cj_future {background: #666666}
td:first-child + td, td:first-child + td + td, th:first-child + th, th:first-child + th + th, .cj_align {text-align:center}
&lt;/style&gt;

The paperless office has been an IT dream for decades. But despite huge leaps in technology, it's still permanently a few years out, and most people prefer to use both, depending on the scenario.

&lt;p&gt;In order to understand why, and figure out whether, why or when this will ever change, I've listed the pros and cons for computers and paper.

&lt;br /&gt;
&lt;table border="1" padding="2" cellspacing="0"&gt;
&lt;colgroup span="3"&gt;&lt;col&gt;&lt;col class="cj_align" span="2"&gt;&lt;/colgroup&gt;
&lt;tr&gt;&lt;th&gt;Feature&lt;/th&gt;&lt;th&gt;Best medium&lt;/th&gt;&lt;th&gt;Automated&lt;/th&gt;&lt;/tr&gt;
&lt;tr class="cj_old"&gt;&lt;td&gt;Distribution costs&lt;/td&gt;&lt;td&gt;Computer&lt;/td&gt;&lt;td&gt;1990s&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="cj_old"&gt;&lt;td&gt;Marginal costs&lt;/td&gt;&lt;td&gt;Computer&lt;/td&gt;&lt;td&gt;1990s&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="cj_old"&gt;&lt;td&gt;Document Copy&lt;/td&gt;&lt;td&gt;Computer&lt;/td&gt;&lt;td&gt;1990s&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="cj_old"&gt;&lt;td&gt;Validation (spellcheck, form values)&lt;/td&gt;&lt;td&gt;Computer&lt;/td&gt;&lt;td&gt;1990s&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="cj_old"&gt;&lt;td&gt;Workflow&lt;/td&gt;&lt;td&gt;Computer&lt;/td&gt;&lt;td&gt;1990s&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="cj_old"&gt;&lt;td&gt;Document Editing (delete, move sections around, etc)&lt;/td&gt;&lt;td&gt;Computer&lt;/td&gt;&lt;td&gt;1990s&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="cj_recent"&gt;&lt;td&gt;Store &amp; search&lt;/td&gt;&lt;td&gt;Computer&lt;/td&gt;&lt;td&gt;2000s&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="cj_recent"&gt;&lt;td&gt;Accessibility&lt;/td&gt;&lt;td&gt;Computer&lt;/td&gt;&lt;td&gt;2000s&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="cj_next"&gt;&lt;td&gt;Collaboration&lt;/td&gt;&lt;td&gt;Paper&lt;/td&gt;&lt;td&gt;2000s&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="cj_next"&gt;&lt;td&gt;Doodles&lt;/td&gt;&lt;td&gt;Paper&lt;/td&gt;&lt;td&gt;2000s&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="cj_next"&gt;&lt;td&gt;Handwriting&lt;/td&gt;&lt;td&gt;Paper&lt;/td&gt;&lt;td&gt;2000s&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="cj_future"&gt;&lt;td&gt;Reading quality&lt;/td&gt;&lt;td&gt;Paper&lt;/td&gt;&lt;td&gt;2010s&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="cj_future"&gt;&lt;td&gt;Foldable&lt;/td&gt;&lt;td&gt;Paper&lt;/td&gt;&lt;td&gt;2010s&lt;/td&gt;&lt;/tr&gt;
&lt;tr class="cj_future"&gt;&lt;td&gt;Disposable&lt;/td&gt;&lt;td&gt;Paper&lt;/td&gt;&lt;td&gt;2010s&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;br /&gt;You can convert formats from computer to paper by printing, and vice versa by scanning. This helps you gain the benefits of that medium, but the conversion process is not perfect.

&lt;p&gt;&lt;b&gt;Recent changes&lt;/b&gt;
&lt;ul&gt;&lt;li&gt;Accessible - search engines can now crawl documents and automatically extract important data, because of open formats such as HTML. Browsers can display data according to the user profile (e.g. large fonts).&lt;/li&gt;
&lt;li&gt;Store &amp; Search - search engines have made a massive difference to tehe ability to find documents, and online services such as Photobucket and Google Documents enable online storage of information&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;Likely to change in the next five years&lt;/b&gt;
&lt;ul&gt;&lt;li&gt;Doodles - via pen / touch interface and standard vector graphics (Flash, Silverlight or SVG formats)&lt;/li&gt;
&lt;li&gt;Handwriting - via pen / touch interface, with OS support&lt;/li&gt;
&lt;li&gt;Collaboration - office suites and content management applications will be integrated with new collaboration features such as Wikis, Blogs, and Voice over IP.&lt;/li&gt;
&lt;/ul&gt;
So, soon you will scribble much fewer notes and diagrams on bits of paper as it becomes much more natural to use computers for these scenarios. However, you'll still need to print documents out to read them in high quality, since I can't see display technology getting as good as basic paper. 

&lt;p&gt;Paper is still better than monitors in many ways. When was the last time you quickly doodled a diagram on your computer? Or scrunched up your monitor to fit in your pocket? But videos, hyperlinks, storage, and search are all much better on a computer. With the advent of wikis, blogs, instant messaging, and other technologies, it's getting easier to work together on computers too.

&lt;p&gt;Paper will only be eliminated when computers have the edge for every feature and every person. This is not likely to happen soon, and in any case most people are very happy working in a world that combines the two.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-2174215119798647462?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/2174215119798647462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=2174215119798647462' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2174215119798647462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/2174215119798647462'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/05/paper-versus-computers.html' title='Paper versus computers'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-1749282735093008744</id><published>2007-05-14T20:30:00.000Z</published><updated>2007-05-14T22:19:38.730Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='maths'/><title type='text'>Maths and web technology</title><content type='html'>Like many in the IT industry, I studied maths and science at university. I got used to dealing with concepts fundamental to understanding the world, such as sets, functions, and logic - the same concepts that John Von Neumann and Alan Turing used to define the first computers.

&lt;p&gt;You might think these concepts would carry over to modern computer science - but actually, it's surprising how often the IT industry forgets them, to its own massive detriment.

&lt;p&gt;This might be down to Silicon Valley's eternal optimism that it can rip up the rule book and invent new ways of doing things. It might also be down to the random-walk way in which innovation occurs, or the legacy of many quick patches and minor tweaks.

&lt;p&gt;Either way, I've put together a map of internet technology against the fundamental areas in maths; the gaps show there are many opportunities for improving IT, especially in the areas of equality, geometry, and dynamics.

&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Sets, Lists, and Trees&lt;/span&gt;
&lt;br&gt;A set is probably the most fundamental mathematical concept - an unordered collection of objects. Basic set operations include order (i.e. number of members), union, and intersect.

&lt;p&gt;Sets are only rarely used on the web. Instead, special cases of ordered sets (i.e. lists), or hierarchical sets (i.e. trees), or linked sets (i.e. graphs) are used instead, most obviously in javascript arrays, HTML structure, and search engines respectively.

&lt;p&gt;That's because these extra properties give them more power, and cover most of the use cases. So in this area, web technology maps to maths pretty well.

&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Equality, Functions and Logic&lt;/span&gt;
&lt;br&gt;The equals sign is used so often in HTML and javascript that you might think equality is pretty much covered. But it's not - the equals sign is used to temporarily assign a value to a variable, rather than provide a definition that applies over time.

&lt;p&gt;For example, there is no direct way to say "keep the width of this HTML table at double the value typed in the input box", so that whenever the value changes, the table automatically re-jigs itself. You can do this in  spreadsheet formulas without programming events, so why not in javascript?

&lt;p&gt;What's needed is a functional approach to web programming - see my earlier &lt;a href="http://chrisfjay.blogspot.com/2007/02/animating-web-functional-styles.html"&gt;blog entry&lt;/a&gt; for more details.

&lt;p&gt;Without a decent foundation for equality, it becomes needlessly complex and awkward to program events and animation. You also end up with many statements controlling variable values, when really only one will do.

&lt;p&gt;One basic area of logic that the web doesn't cater for is automatically re-arranging equations. In the example above, if you manually stretched the HTML table, then the value in the input box should change in order to maintain the equality.

&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Fields&lt;/span&gt;
&lt;br&gt;Integers and real numbers are both examples of fields in maths - sets of numbers with two standard operators defined (addition and multiplication) and identities for each operator (0 and 1 respectively).

&lt;p&gt;I haven't seen any general approach to fields in a programming language - but by covering common special cases (such as integers and real numbers) using data types, I think they're ok.

&lt;p&gt;The obvious other special cases are complex numbers and multi-dimensional fields, e.g. three dimensional vectors. The first is pretty rare except in physics, the second can already be accomplished by manually creating a new data type and overloading the addition, multiplication and equality symbols.

&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Geometry&lt;/span&gt;
&lt;br&gt;The web is &lt;a href="http://chrisfjay.blogspot.com/2007/04/internet-geometry.html"&gt;pretty poor at basic geometry&lt;/a&gt;. Even though it's only two dimensional, HTML restricts itself to static vertical and horizontal coordinates - you can't specify angles, even though the concept is two and a half thousand years old!

&lt;p&gt;SVG is a bit better, in that it defines basic linear transformations (rotations, scaling, and shears). But there's no way to naturally apply these transformations to HTML elements, even in a compound SVG + HTML document. And even in SVG, you can't specify paths using a function like sin(x) - you have to produce a list of pre-calculated points, and rely on the renderer to join them up using a Bezier curve.

&lt;p&gt;Finally, SVG is really missing a trick in not allowing curvilinear coordinates. These allow pages and page elements to be stretched and squished in arbitrary ways. It's just the thing for graphic designers!

&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Calculus and Dynamics&lt;/span&gt;
&lt;br&gt;Calculus is obviously not possible on the web, except by manually creating complicated javascript libraries. There is only one area where it creeps in - in SMIL, you can edit the speed of an audio or video element, and do basic animations.

&lt;p&gt;This is probably because calculus has a reputation as a very technical subject, and the business value is not immediately clear.

&lt;p&gt;But there is one area where calculus' business value is immense - animations. You simply can't use speed and acceleration variables without some understanding of how they relate - which is governed by calculus.

&lt;p&gt;So I recommend a couple of advanced XPath functions
&lt;ul&gt;&lt;li&gt;speed(node_value) - sets / returns the rate of change of the node value&lt;/li&gt;&lt;li&gt;accel(node_value) - sets / returns the acceleration of the node value&lt;/li&gt;&lt;/ul&gt;
These functions really aren't that complicated, but they allow you to implement vastly more powerful dynamics than SMIL - as &lt;a href="http://chrisfjay.blogspot.com/2007/02/my-proposal-functional-animation.html"&gt;an earlier blog entry discusses&lt;/a&gt;.

&lt;p&gt;They're also reliant on functional programming, where an equation holds true over time. For example, imagine
  &lt;br&gt;accel(//div1/@css:left) = //gas_pedal/@value
&lt;br&gt;which would accelerate div1 to the right by the amount held in the gas_pedal node, which could alter with user input.

&lt;p&gt;You simply can't do this using SMIL!

&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Probability&lt;/span&gt;
&lt;br&gt;In mathematics and computer simulations, you often model situations with several possible outcomes. In javascript, the Math.random() function returns an unbiased random number between 0 and 1, which can be used in the modelling.

&lt;p&gt;This single feature is already enough for very powerful models. For example, imagine writing this:
&lt;br&gt;      &amp;lt div width="100 * Math.random() ^ 2"&amp;gt Hello World &amp;lt /div&amp;gt
&lt;br&gt;which assigns a probability distribution to the width, biased towards values near 0px.

&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Web Technology can learn from mathematics&lt;/span&gt;
&lt;br&gt;Even the simple mapping above shows that there are some big opportunities for further development of the web. Because they're based on fundamental mathematics, they're guaranteed to stand the course of time.

&lt;p&gt;Authors of current web specs (e.g. SVG and SMIL) should look at geometry, dynamics, and equality, and integrate centuries of learning into their approach.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-1749282735093008744?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/1749282735093008744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=1749282735093008744' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1749282735093008744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/1749282735093008744'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/05/maths-and-web-technology.html' title='Maths and web technology'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8378277197615257607.post-929865217708058283</id><published>2007-05-04T21:26:00.000Z</published><updated>2007-05-04T21:38:09.975Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='binding'/><title type='text'>Sensors</title><content type='html'>This week's Economist contains some predictions about machine-to-machine wireless communications. Most of the devices mentioned seemed to be sensors - whether used by the military, civil engineers, security guards, doctors, or retailers.

&lt;p&gt;This got me thinking about how sensors can be handled on the web. We're all used to dealing with mice and keyboards - what about location or pressure sensors, or thermometers, accelerometers and gyroscopes, which are already being integrated into phones?

&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Providing sensory data to the web&lt;/span&gt;
&lt;br&gt;My idea is that browsers should pull together all this information and make it available to web pages, in a standard way. Sensory information is becoming more and more important, especially in the mobile web, where knowledge of location, direction, and acceleration are vital to display great web pages.

&lt;p&gt;For example, imagine if the following XML fragment was accessible via a javascript sensors() function:
&lt;p&gt;

&amp;lt;sensors xmlns="www.sensors.org/namespace"&amp;gt
&lt;br&gt;&amp;lt;keyboard shift="" ctrl="" alt="" ins="" value="a"/&amp;gt
&lt;br&gt;&amp;lt;mouse x="20px" y="30px" left="down" right="none" middle="none"/&amp;gt
&lt;br&gt;&amp;lt;touch pressure="30" x="150px" y="50px"/&amp;gt
&lt;br&gt;&amp;lt;temperature value="23C"/&amp;gt
&lt;br&gt;&amp;lt;video src="file://c/program%20files/webcam/webcam.mov"/&amp;gt
&lt;br&gt;&amp;lt;accel x="2" y="0" z="0"/&amp;gt
&lt;br&gt;&amp;lt;location latitude="37.386013" longitude="-122.082932"/&amp;gt
&lt;br&gt;&amp;lt;/sensors&amp;gt

&lt;p&gt;Here, the browser is presenting all the information it can find about its environment from connected sensors - the A button is down on a keyboard, the mouse is being clicked, the screen is being touched, the temperature is being read, there is a connected webcam, the device is being accelerated, and it knows its position. All defined in a (fictitious) standard XML data format.

&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Using sensory data&lt;/span&gt;
&lt;br&gt;Different devices have different sensors - the Wii has an accelerometer, the Nokia N95 has GPS, my phone has a camera - so the sensory data will be different in each case. And there may be privacy implications - you might configure your browser to grant location data only to the emergency services and your favourite map website.

&lt;p&gt;So the web developer's first step will be to parse the data to find out which sensors are available. They could do this using XPath - for example sensors('//accel/@x') only returns a value if there is an accelerometer.

&lt;p&gt;Imagine using the following javascript:

&lt;p&gt;window.setTimeout($(div1).innerHTML = sensors('//location/@latitude'),10);

&lt;p&gt;which in a single line, updates the div1 tag to contain up to date latitude information every 10 milliseconds.

&lt;p&gt;The possibilities are endless
&lt;ul&gt;&lt;li&gt;satellite navigation in the browser&lt;/li&gt;
&lt;li&gt;scroll web pages using acceleration&lt;/li&gt;
&lt;li&gt;pen doodling on the web, using a touch screen and SVG / VML&lt;/li&gt;
&lt;li&gt;website games using local web cams.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Personalising your pages&lt;/span&gt;
&lt;br&gt;Sensory data is the ultimate way to personalize web pages. They can react in realtime to the local environment that web page visitors are experiencing.

&lt;p&gt;There is currently no standard framework for accessing this data - but the simple ideas above would bring the web to the next level.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8378277197615257607-929865217708058283?l=chrisfjay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chrisfjay.blogspot.com/feeds/929865217708058283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8378277197615257607&amp;postID=929865217708058283' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/929865217708058283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8378277197615257607/posts/default/929865217708058283'/><link rel='alternate' type='text/html' href='http://chrisfjay.blogspot.com/2007/05/sensors.html' title='Sensors'/><author><name>Chris Jay</name><uri>http://www.blogger.com/profile/09825586183577260997</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
