Aral Balkan: The state of the art Flash platform

  • Flash vs HTML - both sides’ prejudices are outdated
  • Aral founded and runs OSFlash.org

What is Flash?
* A platform
* A VM (Flash player), tools, servers, components, solutions etc etc
* A vibrant open source community
* People think it’s annoying intros, interstitial add etc
* But nowadays it is more likely to be Rich Internet Apps (RIAs)

Ajax? Pah!
* Flash can do what Ajax can do, but it’s been doing so since 2000 ;)
* Flash still needs a plugin, of course
* Aral thinks the browser is a plugin too, and that the OS will be where it’s at in the future

The state of the art
* K12 - the world’s first online school
* Opal SMS messaging platform
* Flash – not the app that you think of to make apps (in its timeline-based animation guise). Not maintainable or scalable.
* They wrote their own components to make Opal possible
* More options for authoring Flash now: Flex. Flexbuilder 1 is basically Dreamweaver. Flexbuilder 2 will be an Eclipse plugin :)
* Declarative UI design, like HTML. Tag soup HTML, that is Ok, it’s not that bad
* Proper architecture (ARP): business logic on the backend. Good separation of logic, structure and presentation.
* Loads of Open-source tools out there (*including Eclipse*). J2EE on the backend.
* They’re developing Flash apps without using the Flash IDE
* Flex is pricey though – £10,000 a licence.
* Mockup of UI was very fast using Flexbuilder’s design view
* Then switched to Eclipse to finish implentation.
* Flex – a Java servlet/tag library for making SWFs
* “a neat separation of concerns”
* Martin alert: he just said “Service Oriented Architecture” :)
* Flex looks like a good fit with our Java & Eclipse usage! Rich apps, anyone? Yes, I know Tim M was saying this a year ago, but still ;)

Cool tools
* Swfmill
* ASDT
* MTASC
* ARP, Cairngorm
* ActionStep, AsWing
* Red5, Laszlo

Tom Hume: Web everywhere?

  • From Future Platforms, which specialises in content delivery to mobile devices
  • Used to work in web development, but got sick of it in 1999 ;)
  • Got into mobile market instead
  • A different perspective, as he’s never done any Ajax ;)
  • Analyst quote. The gist: “there are lots and lots of mobile phones
  • Another view: convergence (Bill Gates)

What’s Web 2.0?
* Reminded of “new media”, “4G”, “Java 5″, “New Ariel” – they describe what they’re not, rather than what they are.
* It’s a marketing term of differentiation

What about mobiles?
* Open data formats? Check. Or open standards at least, implemented well (c.f. the adoption of “modern” browsers took w3 standards from nice theory to good in practice)
* No walled gardens? Erm, nope. But the gardens seem to work in the mobile world…
* Online – to be connected to 30%+ of the human race

What’s it all about?
* Communication between individuals, mostly pretty lowbrow ;)
* Glancing (“I’m thinking of you”), gifting (“I saw this and thought of you” – MMS)
* Personal entertainment. People want TV on their mobiles, for some reason! Also content production (camera phone direct to Flickr)
* Info. on the move – (e.g. Google Local Mobile)
* “I believe that the future of the Internet is mobile”

Web on mobile
* WML (native.or transcoded)
* XHTML-MP
* cHTML (NTTDoCoMo’s own standard)
* HTML (Opera browser on some mobiles)
* Ajax (not yet, but being talked about) Appropriate on mobile? What about Flash Lite? Is Ajax a step backwards in that it’s trying to replicate desktop apps?
* Google killed the pub quiz!
* Some technical overlap between mobile and desktop web
* The markup is only a small part of the pie
* Existing web agencies sometimes view the mobile web as print designers viewed the web in the 90s

How is mobile different?
* Network operators are very important – a love/hate relationship with the web industry
* Device diversity – far greater than in the desktop world. No standard form factor. Need adaptive services. WURFL is your friend
* Tight software/hardware integration – you can’t change your phone’s browser. Closed devices, without software upgrades and with slow hardware upgrade cycle.
* Truly mass market: possibly 100% penetration in UK, >100% in other countries. Broad demographic reach. Less arrogant language towards consumers than the web (you don’t have to understand it in order to use it). Usability & design more important. QA more important, as things get installed on handsets.
* Implicit commerciality. No “information wants to be free” ;) There’s a billing relationship: it’s commercial. Successful micropayment implementation. Economics are different due to limited radio spectrum
* Context of use: private, personal, anonymous? Anywhere, anytime. “Disposition towards goal-driven use”. Good fit with the provision of medical care/advice.
* “Wi-fi will destroy telcos”. “That’s balls” ;)

Web everywhere?
* Mobile is how people are connected today
* Web and mobile overlap but are distinct

No time for questions…

Ben Metcalfe: BBC Backstage

Ben’s presentation for download

What is backstage.bbc.co.uk?
* Content re-use, with robust licensing, so developers know where they stand
* Peer developer community
* platform to share bbc.co.uk content
* “Mutually beneficial relationship”

Why?
* part of greater “open BBC” push
* support creativity & innovation
* a “public service for the 21st century”

What’s on offer?
* RSS feeds
* travel XML
* (soon) weather data
* TV listings
* message board threads
* more to come. the BBC has loads of data…

What’s the deal?
* Non-commercial use only
* Mashing up with other services (Flickr, Google, Yahoo) is encouraged
* IP: copyright is retained by the creator of what’s built. Content copyright is retained by the BBC.
* Stuff is showcased on backstage.bbc.co.uk

How does the process work?
* Make something, tell backstage.bbc.co.uk, they check it over and if it’s OK they post to their blog about it.
* They help developers of prototypes to improve what they’ve built
* Really compelling work may get folded back into bbc.co.uk itself

It’s possible because…
* Available data: rights cleared and in open formats (RSS, Web 2.0)
* Passionate user base
* Support from the top

Star prototypes
* Travel delay maps / jam cams on maps
* Competition winner: www.mightyv.com
* Site diff tool

Web 2.0 @ BBC
* Mostly RSS; some people don’t think of this as Web 2.0
* Read/Write Web in a traditional read-only environment (*Sounds familiar…*)
* BBC doesn’t own the rights to all of “its” data
* Much data not in a CMS
* …but the BBC does “get it”

BBC programme catalogue
* First public demo!
* Think IMDB for the BBC’s programme content
* Experimental prototype to launch early next year
* Ruby on Rails, for rapid prototyping ;)
* RDF feeds, FOAF to describe relationships
* There will be a Web 2.0 API (probably REST) on top, to complement the web interface

Audience questions
* Will it link to media, at specific points in streams? No – it’s about metadata, not the content itself. Further plans for content-delivery platform next year though.
* Useful data, but BBC only? We want people to remix the BBC data with other offerings. We don’t have the rights or the data for other channels’ content.
* If rights weren’t an issue, could you do more? Definitely: a lot of the problems we face aren’t technical, but IP-related and political
* OT: why use Real for radio content streaming, rather than open formats? Real was the only streaming format in town back in the day (1998, when BBC streaming started). Podcasting is happening in a limited way.

Simon Willison: Ajax and the Flickr API

  • Flickr: totally buzzword compliant (“Social software, Tags/Folksonomies, Web Services, Ajax”)
  • The developers said: “we wouldn’t trust a service with no export option”
  • Don’t want to build an export tool
  • Built an API instead – let the users build an export tool
  • No-one’s built one yet, though they have built loads of other cool things
  • Related tags browser
  • Flickr upload tools: iPhoto plugin; various Linux ones; FlickrFS – virtual filesystem for Linux!
  • The ultimate geo-spatial mashup! magic tags in photos: geo-long, geo-lat, geotagged XXX

Web services
* Lets software talk to other software over the web
* SOAP and XML-RPC – magic function calls
* REST
* Flickr API calls made by sending named parameters to an endpoint
* Required: method, api_key
* All data is expected to be UTF-8, if not, it’s converted from iso-8859-1
* Public, private and authentication-dependent methods
* API Explorer
* Community API kits in various languages

Scrümjax! (Flickr’s own buzzword)
* Inline editing – titles, descriptions, tags
* Notes
* Misc. niceties
* All uses the public web services API!! (Martin: this is SOA on speed…)
* They’re eating their own dogfood :)
* Firefox LiveHttpHeaders extension is useful for debugging Ajax apps.

Benefits of adding web services to apps
* User trust
* External innovation & creativity
* Encourages better app design
* XMLHttpRequest and REST make a great combination
* www.flickr.com/services/
* If you only want read-only, there are also RSS feeds

Audience questions
* What percentage of usage is via the API? Not sure, but Flickr is the biggest user of its own API.
* How much load is introduced by exposing the API? Absolutely loads, as some queries are really expensive.
* How has the API design evolved? Simon’s only been there three weeks, but he thinks the API has been there from very early on.
* Server-side tech? PHP/MySQL (!). Loads of caching used, plus some java to distribute photos between servers. Performance-intensive stuff in C/C++.
* Organizr uses the API? Yes, but the XML-RPC version.
* What stops someone building their own site on top? API keys, and Ts&Cs

Stuart Langridge: DOM Scripting & Ajax

  • Ajax makes for better, more usable, more interactive UIs
  • Interaction can be designed
  • JavaScript is a bit of a dirty word for many people, because of the useless fluff (and required code forking) of old-school JS
  • However – CSS & valid HTML are a whole new world
  • JS is a tool – not for evil. It’s not DHTML, with all the browser-specificity that implies.
  • Make the web work better
  • CSS - separation of structure & presentation. Not until the CSS Zen Garden was the concept properly articulated
  • Different design – unchanging base. This is incredibly powerful. Sites (should) still work without CSS - and this concept is mostly taken for granted now (or is it? there are loads of rubbish presentationally-marked-up sites out there still). Is the message getting through.
  • E.g. S5 – just plain HTML, plus a layer of CSS (presentation), plus DOM Scripting (behaviour/interactivity). The result: PowerPoint (!).
  • The behaviour layer: control users’ interactions. No longer limited by the way browser makers have made browsers work.
  • No page refreshes – no more long waits for servers to return the same page with a bit of an update
  • Fade in/out notes to alert users of changes (Yellow Fade Technique)
  • Buy a book! Jeremy Keith’s or Stuart’s (got this one already).

Scripting: should be unobtrusive.
* Layer the interactivity over a solid base. If the base is solid and well-structured, then the data can be used in ways other than the site’s own UI.
* Gmail is a good example of what not to do: the Ajax and plain HTML versions are separate, rather than one being an enhancement of the other. It does have an open API though.
* Amazon recommendations page is better: it works without scripting, but you get extra whizzy stuff (rating of products) if you have scripting turned on. This is a feature that wouldn’t be practical or usable without Ajax.
* The little touches turn the good into the great: this is as true of interaction design as of visual design.
* Design how you want the web to work
* The universality of the web got the web off the ground in 95 onwards. Jakob alert you can do things that are outside what’s “normal”…
* Build your scripts unobstrusively. Don’t mix script and HTML. No inline event handlers etc etc, certainly no href=”javascript:” !!
* CSS is easier – the browser hooks the style to the page for you
* Scripting is harder – you have to do the hooking yourself.
* JS is event-driven
* Need to register your actions with an event
* Good scripting is unobtrusive
* What can we do? Anything you can inagine in HTML!
* Rewrite the HTML as you see fit.
* DOM+Ajax – no more waiting!
* In a survey, people thought that the web=”click a button, wait 10 seconds”
* It doesn’t have to be this way

Use other people’s code
* E.g. sortable table column headers – this is something the client can do, and should do. You already have the data, you’re only changing its presentation.
* E.g. Real-time comment previews on blogs. (*commenting on articles!*). Saves the submit/wait.
* Disable submit buttons on click – saves double submissions.
* These are good, useful enhancements, not fluff! The small things that turn the good into the great…
* “You don’t have to write GMail” :)

Evolution, not Revolution
* Make the existing web better
* Don’t rewrite everything from scratch
* The web’s best days are ahead, not behind
* Go and make a difference – we’re at the forefront
* “Change the web, change the world”.

Audience question
* Inline scripting still necessary on image-heavy pages if you want to do stuff before all the images have loaded. DOMContentLoaded event is in Gecko, not in IE, but Dean Edward’s IE7 code may implement this.

Andy Budd: What is Web 2.0?

  • Web 2.0: definitely a buzzword, but it’s still a useful term
  • Good for non-techies? Mmm. Not sure about that…
  • Ajax – the coining of the term helped to speed its adoption
  • “Web 2.0 isn’t a thing; it’s a state of mind”

Features of Web 2.0*
* Open data formats (e.g. RSS)
* No data lock-in or walled gardens
* User-created data

Architecture of Participation – buzzword alert!
* Provide a service, not a product
* Collective intelligence (PageRank, folksonomies, popularity)
* Re-use and re-mix
* Customer self-service
* Community & sense of ownership

Rich user experience
* Easy, pleasurable to use
* More like desktop app
* Device independence & cross-platform (my add)

Cool Web 2.0 apps
* OnOneMap
* Netvibes.com
* Backpack
* Meebo.com – web-based IM
* Writely – Online word processing

Core tech
* Open data – APIs & services

But…”where’s the revolution”
* We’ve been here before / “we can already do all that”
* Industrial Revolution – steam engine was a 1st century Greek toy, but was only used “in anger” in 18th C. UK.
* Use existing tech in new & interesting ways
* Renewed energy on the web – it’s fun to be a web developer right now

Warning Alert Achtung!!
* Mistakes of 2000 being made again
* Standards, usabilty, accessibility being thrown out for whizzy UIs
* Solutions looking for a problem
* Business models!
* Just another bubble? Andy thinks not; time will tell. People are prepared to pay for good-quality services
* “Forget the hype and build cool stuff”

The Web: from document delivery system to application platform
* Subs vs one-off payment

What next?
* Ajax
* Widgets (Dashboard, Konfabulator)
* Flex
* OpenLazlo
* XUL apps
* Smart clients / Avalon – goal of MS is to liberate web apps from the browser

Audience questions
* Where do Microformats fit in? They’re hacking XHTML to fulfil a need, because XHTML development has stalled somewhat
* How do I convince the client/boss? Just do it – build the best app you can. Show people the cool stuff – show, not tell
* Your data is stored on someone else’s servers – how do you feel about that? It’s a trust issue. Instill trust by show contact details; don’t put critical data into a company that’s only been around a couple of months.
* Should Ajax apps degrade gracefully? Absolutely – build a working app without scripting, then layer it on top. Same with CSS - should be an addition, not a requirement.
* From a manager’s perspective: the extra cost involved in (say) Ajax aren’t as easy to sell to clients as valid XHTML/CSS etc. It’s a bit unquantifiable, but the benefits to user experience are there.

Ubuntu 5.10: “Breezy Badger”

I downloaded the latest version of everyone’s favourite Linux distribution yesterday, in both its install and Live CD versions. The install went on an old laptop I was donated, a Dell Inspiron 7000 (Pentium II 333 MHz, 128MB RAM). I installed at work, without a network card in the PC card slot, then popped the NIC in later. Ubuntu detected the card and I set up and activated it in about 30 seconds. Yay for the hardware abstraction layer!

I’m writing this from my work PC, which I’ve just booted from the Live CD. It’s a quick experiment to see how I’m likely to get on next month when I attend dConstruct (“The UK’s first grass-roots Web 2.0 Conference!”). Our new Powerbook is unlikely to have arrived by then, so I’ve ordered a loan laptop from work. The thing is, running a Windows laptop is likely to be the geek equivalent of social death. I’m kidding, of course: it won’t be that bad. In fact I may even be a source of interest and entertainment; as Apple laptops are so prevalent at tech conferences the presence of a “Pee-cee” might be a bit of a novelty. However, I’m much more comfortable when I’ve got a CLI to play with (and I won’t be allowed to install anything on the laptop) so it’s Ubuntu Live CD all the way, baby!

Update

I should have mentioned that the Dell laptop has a borked keyboard. One place in the US does replacements for $34.99, but the cheapest I could find here was £39.99 on eBay, or £70+ (as high as £110!) at laptop parts shops. This makes it slightly uneconomical to repair, but I could always plug in a PS/2 keyboard.

What the Flock?

I signed up for Flock’s newsletter, and last night received an invitation to download the developer preview version of their “social browser”. “What’s a social browser?” I hear you cry. Well, as far as I can tell, it’s a version of Mozilla that includes a blog-posting tool, Del.icio.us social bookmark integration, and Flickr photo integration.

It seems to work. The Del.icio.us bookmark browser is nice, and I’m writing this post from the blog tool. The appearance is funkier than Firefox, too.

I’m not really sure how they’re going to make money, though. Advertising? Paid-for downloads? It’s all good Web 2.0 stuff (APIs, read/write etc etc) but, if they’re pitching as something more than a fork of the open-source Mozilla project, then the future looks a little unclear.

Information overload

I’ve recently discovered a thing called GTD. It’s a philosophy based on a book by David Allen, which I haven’t read, but which talks about “Stress-Free Productivity”.

Thanks to a weblog called 43 Folders, and an article at O’Reilly by Giles Turnbull I’ve discovered some Mac-friendly GTD stuff. Apparently it takes some time to set yourself up to use GTD methods, but once you do, it’s well worth it.

So far I’ve just implemented a Hipster PDA – a stack of 3×5″ index cards and a bull clip. It’s already made a difference, though: when I think of things, I write them down rather than mulling them over and not sleeping. I then have a record of the thought, and can obviously recall it.

Another weblog of note is Life Hacker – lots of great tips there, like How to quiet noisy pipes.

Oh, and Stu: it was ace to chat to you last night. You need to get a web site, pal ;)